EA201791482A1 20180131 Номер и дата охранного документа [PDF] EAPO2018\PDF/201791482 Полный текст описания [**] EA201791482 20160211 Регистрационный номер и дата заявки US62/115,089 20150211 Регистрационные номера и даты приоритетных заявок US2016/017499 Номер международной заявки (PCT) WO2016/130771 20160818 Номер публикации международной заявки (PCT) EAA1 Код вида документа [PDF] eaa21801 Номер бюллетеня [**] СИГНАЛИЗАЦИЯ РАБОЧИХ ТОЧЕК ДЛЯ ПЕРЕДАЧИ РАСШИРЕНИЙ HEVC Название документа [8] H04N 21/235, [8] H04N 21/435 Индексы МПК [US] Хендри Фну, [US] Чэнь Ин, [US] Ван Е-Куй Сведения об авторах [US] КВЭЛКОММ ИНКОРПОРЕЙТЕД Сведения о заявителях
 

Патентная документация ЕАПВ

 
Запрос:  ea201791482a*\id

больше ...

Термины запроса в документе

Реферат

[RU]

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


Полный текст патента

(57) Реферат / Формула:

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


Евразийское (2D 201791482 <13> А1
патентное
ведомство
(12) ОПИСАНИЕ ИЗОБРЕТЕНИЯ К ЕВРАЗИЙСКОЙ ЗАЯВКЕ
(43) Дата публикации заявки (51) Int. Cl. H04N21/235 (2011.01)
2018.01.31 H04N 21/435 (2011.01)
(22) Дата подачи заявки 2016.02.11
(54) СИГНАЛИЗАЦИЯ РАБОЧИХ ТОЧЕК ДЛЯ ПЕРЕДАЧИ РАСШИРЕНИЙ HEVC
(31) 62/115,089; 15/040,418
(32) 2015.02.11; 2016.02.10
(33) US
(86) PCT/US2016/017499
(87) WO 2016/130771 2016.08.18
(71) Заявитель:
КВЭЛКОММ ИНКОРПОРЕЙТЕД
(US)
(72) Изобретатель:
Хендри Фну, Чэнь Ин, Ван Е-Куй (US)
(74) Представитель:
Медведев В.Н. (RU)
(57) Первый дескриптор описывает рабочую точку. Второй дескриптор представляет собой дескриптор иерархии или дескриптор расширения иерархии. Второй дескриптор имеет значение индекса слоя иерархии, равное значению второго синтаксического элемента. Первое значение первого синтаксического элемента в первом дескрипторе определяет, что в список следует добавить элементный поток, указываемый вторым синтаксическим элементом в первом дескрипторе, если он отсутствует в списке элементарных потоков, и элементарный поток, указанный индексом во втором дескрипторе, если он отсутствует в списке, следует добавить в список. В ответ на определение, что первый синтаксический элемент имеет второе значение, отличающееся от первого значения, добавляют в список элементарный поток, указанный вторым синтаксическим элементом, если он отсутствует в списке, но не элементарный поток, указанный индексом во втором дескрипторе.
ПРИНЯТЬ ТРАНСПОРТНЫЙ ПОТОК, КОТОРЫЙ ВКЛЮЧАЕТ В СЕБЯ ПЕРВЫЙ ДЕСКРИПТОР, ВТОРОЙ ДЕСКРИПТОР И МНОЖЕСТВО ЭЛЕМЕНТАРНЫХ ПОТОКОВ
ДЕКОДИРОВАТЬ ПЕРВЫЙ СИНТАКСИЧЕСКИЙ ЭЛЕМЕНТ В ПЕРВОМ ДЕСКРИПТОРЕ
ДЕКОДИРОВАТЬ ВТОРОЙ СИНТАКСИЧЕСКИЙ ЭЛЕМЕНТ В ПЕРВОМ ДЕСКРИПТОРЕ
ОПРЕДЕЛИТЬ, ЧТО ПЕРВЫЙ СИНТАКСИЧЕСКИЙ ЭЛЕМЕНТ ИМЕЕТ ВТОРОЕ ЗНАЧЕНИЕ
ДОБАВИТЬ ЭЛЕМЕНТАРНЫЙ ПОТОК В СПИСОК ЭЛЕМЕНТАРНЫХ ПОТОКОВ, НОНЕ ЭЛЕМЕНТАРНЫЙ ПОТОК, УКАЗАННЫЙ ИНДЕКСОМ ВЛОЖЕННОГО СЛОЯ ВО ВТОРОМ ДЕСКРИПТОРЕ
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
2420-544141ЕА/011
СИГНАЛИЗАЦИЯ РАБОЧИХ ТОЧЕК ДЛЯ ПЕРЕДАЧИ РАСШИРЕНИЙ HEVC
[0001] Настоящая заявка испрашивает приоритет по предварительной заявке на патент США 62/115,089, поданной 11 февраля 2015г, включенной в настоящее описание во всей своей полноте в виде ссылки.
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ [0002] Данное раскрытие относится к видеокодированию и, более конкретно, к передаче кодированных видеоданных. УРОВЕНЬ ТЕХНИКИ
[0003] Возможности цифрового видео могут быть включены в широкий спектр устройств, включая цифровые телевизоры, системы цифрового прямого вещания, беспроводные широковещательные системы, персональные цифровые помощники (PDA), ноутбуки или настольные компьютеры, планшетные компьютеры, электронные книги, цифровые камеры, устройства цифровой записи, цифровые медиаплееры, устройства для видеоигр, игровые приставки, сотовые или спутниковые радиотелефоны, так называемые "смартфоны", устройства для проведения видеоконференций, устройства для потоковой передачи видео и т. п. Цифровые видеоустройства реализуют способы кодирования видео, например способы, описанные в стандартах, определенных MPEG-2, MPEG-4, ITU-T Н.263, ITU-T Н.264/MPEG-4, часть 10, Усовершенствованное Видеокодирование
(AVC), стандарт кодирования высокого качества (HEVC) и в расширениях таких стандартов. Реализуя такие способы кодирования видео, видеоустройства могут более эффективно передавать, принимать, кодировать, декодировать и/или хранить цифровую видеоинформацию.
[0004] Способы видеокодирования включают пространственное
(внутрикадровое) предсказание и/или временное (межкадровое) предсказание для уменьшения или удаления избыточности, присущей видеопоследовательностям. Для блочного видеокодирования видеофрагмент (например, видеокадр или часть видеокадра) может быть разделен на видеоблоки, которые также могут упоминаться как древовидные блоки, единицы кодирования (CU) и/или узлы
кодирования. Видеоблоки в фрагменте изображения, кодированного с внутренним предсказанием, кодируются с использованием пространственного предсказания относительно опорных выборок в соседних блоках на одном изображении. Видеоблоки во фрагменте изображения, кодированном с внешним предсказанием (Р или В), могут использовать пространственное предсказание относительно опорных выборок в соседних блоках в одном и том же изображении или временное предсказание относительно опорных выборок в других опорных изображениях. Изображения могут упоминаться как кадры, а опорные изображения могут упоминаться как опорные кадры.
[0005] Пространственное или временное предсказание приводит к предсказанному блоку для кодируемого блока. Остаточные данные представляют различия в пикселях между исходным блоком, который должен быть закодирован, и предсказанным блоком. Блок, кодированный с внешним предсказанием, кодируется в соответствии с вектором движения, который указывает на блок опорных выборок, формирующих предсказанный блок, и остаточными данными, указывающими разницу между кодированным блоком и предсказанным блоком. Блок, кодированный с внутренним предсказанием, кодируется в соответствии с режимом кодирования с внутренним предсказанием и остаточными данными. Для дальнейшего сжатия остаточные данные могут быть преобразованы из пиксельного домена в домен преобразования, что приводит к остаточным коэффициентам преобразования, которые затем могут быть квантованы. Квантованные коэффициенты преобразования, первоначально расположенные в двумерном массиве, могут сканироваться для получения одномерного вектора коэффициентов преобразования, а для достижения еще большего сжатия может применяться энтропийное кодирование.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[ООО б] В целом, настоящее раскрытие описывает способы, которые могут улучшить конструкцию дескриптора рабочей точки HEVC в транспортном потоке MPEG-2 (экспертная группа по движущимся изображениям) транспортного потока (TS) для передачи. Транспортировка кодированных видеоданных также может упоминаться как передача кодированных видеоданных. Способы настоящего
раскрытия могут использоваться для транспортировки кодированных видеоданных для расширения стандарта видеокодирования, например, для расширения стандарта высокоэффективного видеокодирования
(HEVC). Такие расширения могут включать в себя многовидовые расширения (например, MV-HEVC), масштабируемые расширения
(например, SHVC) и трехмерные расширения (например, 3D-HEVC). Однако следует понимать, что способы этого раскрытия также могут использоваться с другими транспортными потоками и/или другими способами сжатия видео.
[0007] В одном из аспектов настоящее раскрытие описывает способ обработки видеоданных, содержащий: прием транспортного потока, который включает в себя первый дескриптор, второй дескриптор, и множество элементарных потоков, причем первый дескриптор представляет собой дескриптор рабочей точки видеоданных, второй дескриптор представляет собой либо дескриптор иерархии, либо дескриптор расширения иерархии; декодирование первого синтаксического элемента и второго синтаксического элемента в первом дескрипторе, причем: список элементарных потоков представляет собой список элементарных потоков транспортного потока, которые являются частью рабочей точки, второй дескриптор имеет значение индекса слоя иерархии, равное значению второго синтаксического элемента, первое значение первого синтаксического элемента определяет, что: элементарный поток, указываемый вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, при этом элементарный поток, указываемый вторым синтаксическим элементом, является одним из упомянутого множества элементарных потоков, и элементарный поток, указываемый индексом вложенного слоя во втором дескрипторе, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, при этом элементарный поток, указываемый индексом вложенного слоя во втором дескрипторе, является одним из упомянутого множества элементарных потоков, и, в ответ на определение, что первый синтаксический элемент имеет второе значение, отличное от упомянутого первого значения, добавление в список элементарных
потоков элементарного потока, указываемого вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, при этом не выполняется добавление в список элементарных потоков элементарного потока, указываемого индексом вложенного слоя во втором дескрипторе.
[0008] В другом аспекте настоящее раскрытие описывает способ обработки видеоданных, содержащий: генерацию первого дескриптора, причем первый дескриптор представляет собой дескриптор рабочей точки видеоданных; генерацию второго дескриптора, причем второй дескриптор представляет собой либо дескриптор иерархии, либо дескриптор расширения иерархии; причем генерация первого дескриптора содержит: включение первого синтаксического элемента и второго синтаксического элемента в первый дескриптор, причем: список элементарных потоков представляет собой список элементарных потоков, которые являются частью рабочей точки, второй дескриптор имеет значение индекса слоя иерархии, равное значению второго синтаксического элемента, первое значение первого синтаксического элемента определяет, что: элементарный поток, указываемый вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, и элементарный поток, указываемый индексом вложенного слоя во втором дескрипторе, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, и второе значение первого синтаксического элемента определяет, что элементарный поток, указываемый вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, без добавления элементарного потока, указываемого индексом вложенного слоя во втором дескрипторе; и включение первого дескриптора и второго дескриптора в транспортный поток.
[0009] В другом аспекте настоящее раскрытие описывает устройство для обработки видеоданных, содержащее: входной интерфейс выполненный с возможностью приема информации, включающей в себя транспортный поток, который включает в себя первый дескриптор, второй дескриптор, и множество элементарных
потоков, причем первый дескриптор представляет собой дескриптор рабочей точки видеоданных, второй дескриптор представляет собой либо дескриптор иерархии, либо дескриптор расширения иерархии; и один или более процессоров, выполненных с возможностью: декодирования первого синтаксического элемента и второго синтаксического элемента в первом дескрипторе, причем: список элементарных потоков представляет собой список элементарных потоков транспортного потока, которые являются частью рабочей точки, второй дескриптор имеет значение индекса слоя иерархии, равное значению второго синтаксического элемента, первое значение первого синтаксического элемента определяет, что: элементарный поток, указываемый вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, при этом элементарный поток, указываемый вторым синтаксическим элементом, является одним из упомянутого множества элементарных потоков, и элементарный поток, указываемый индексом вложенного слоя во втором дескрипторе, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, при этом элементарный поток, указываемый индексом вложенного слоя во втором дескрипторе, является одним из упомянутого множества элементарных потоков, и, в ответ на определение, что первый синтаксический элемент имеет второе значение, отличное от упомянутого первого значения, добавления в список элементарных потоков элементарного потока, указываемого вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, при этом не выполняется добавление в список элементарных потоков элементарного потока, указываемого индексом вложенного слоя во втором дескрипторе.
[0010] В другом аспекте настоящее раскрытие описывает устройство для обработки видеоданных, содержащее: один или более процессоров, выполненных с возможностью: генерации первого дескриптора, причем первый дескриптор представляет собой дескриптор рабочей точки видеоданных; генерации второго дескриптора, причем второй дескриптор представляет собой либо дескриптор иерархии, либо дескриптор расширения иерархии; причем
упомянутые один или более процессоров выполнены таким образом, что, как часть генерации первого дескриптора, упомянутые один или более процессоров: включают первый синтаксический элемент и второй синтаксический элемент в первый дескриптор, причем: список элементарных потоков представляет собой список элементарных потоков, которые являются частью рабочей точки, второй дескриптор имеет значение индекса слоя иерархии, равное значению второго синтаксического элемента, первое значение первого синтаксического элемента определяет, что: элементарный поток, указываемый вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, и элементарный поток, указываемый индексом вложенного слоя во втором дескрипторе, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, и второе значение первого синтаксического элемента определяет, что элементарный поток, указываемый вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, без добавления элементарного потока, указываемого индексом вложенного слоя во втором дескрипторе; и включают первый дескриптор и второй дескриптор в транспортный поток; и выходной интерфейс, выполненный с возможностью вывода кодированной версии видеоданных.
[ООН] В другом аспекте настоящее раскрытие описывает устройство для обработки видеоданных, содержащее: средство для приема транспортного потока, который включает в себя первый дескриптор, второй дескриптор, и множество элементарных потоков, причем первый дескриптор представляет собой дескриптор рабочей точки видеоданных, второй дескриптор представляет собой либо дескриптор иерархии, либо дескриптор расширения иерархии; средство для декодирования первого синтаксического элемента и второго синтаксического элемента в первом дескрипторе, причем: список элементарных потоков представляет собой список элементарных потоков транспортного потока, которые являются частью рабочей точки, второй дескриптор имеет значение индекса слоя иерархии, равное значению второго синтаксического элемента,
первое значение первого синтаксического элемента определяет, что: элементарный поток, указываемый вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, при этом элементарный поток, указываемый вторым синтаксическим элементом, является одним из упомянутого множества элементарных потоков, и
элементарный поток, указываемый индексом вложенного слоя во втором дескрипторе, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, при этом элементарный поток, указываемый индексом вложенного слоя во втором дескрипторе, является одним из упомянутого множества элементарных потоков, и средство для добавления, в ответ на определение, что первый синтаксический элемент имеет второе значение, отличное от упомянутого первого значения, в список элементарных потоков элементарного потока, указываемого вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, при этом не выполняется добавление в список элементарных потоков элементарного потока, указываемого индексом вложенного слоя во втором дескрипторе.
[0012] В другом аспекте настоящее раскрытие описывает устройство для обработки видеоданных, содержащее: средство для генерации первого дескриптора, причем первый дескриптор представляет собой дескриптор рабочей точки видеоданных; средство для генерации второго дескриптора, причем второй дескриптор представляет собой либо дескриптор иерархии, либо дескриптор расширения иерархии; причем средство для генерации первого дескриптора содержит: средство для включения первого синтаксического элемента и второго синтаксического элемента в первый дескриптор, причем: список элементарных потоков представляет собой список элементарных потоков, которые являются частью рабочей точки, второй дескриптор имеет значение индекса слоя иерархии, равное значению второго синтаксического элемента, первое значение первого синтаксического элемента определяет, что: элементарный поток, указываемый вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, и элементарный
поток, указываемый индексом вложенного слоя во втором дескрипторе, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, и второе значение первого синтаксического элемента определяет, что элементарный поток, указываемый вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, без добавления элементарного потока, указываемого индексом вложенного слоя во втором дескрипторе; и средство для включения первого дескриптора и второго дескриптора в транспортный поток.
[0013] В еще одном аспекте настоящее раскрытие описывает машиночитаемый носитель данных содержащий сохраненные на нем инструкции, которые, при их исполнении, приводят к тому, что устройство для обработки видеоданных выполняет способы, указанные выше и описанные в настоящем раскрытии.
[0014] Подробное описание одного или более примеров приведено на сопутствующих чертежах и ниже в описании. Другие признаки, задачи и преимущества очевидны из описания и чертежей, а так же из формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0015] Фиг.1 представляет собой блок-схему, иллюстрирующую пример системы кодирования и декодирования, которая может использовать способы транспортировки видеоданных, кодированных в соответствии с расширениями стандарта видеокодирования.
[0016] Фиг.2 представляет собой блок-схему, иллюстрирующую видеокодер, который может осуществить способы транспортировки видеоданных, кодированных в соответствии с расширениями стандарта видеокодирования.
[0017] Фиг.3 представляет собой блок-схему, иллюстрирующую видеодекодер, который может осуществить способы транспортировки видеоданных, кодированных в соответствии с расширениями стандарта видеокодирования.
[0018] Фиг.4 представляет собой блок-схему
последовательности операций, иллюстрирующую пример работы устройства, генерирующего транспортный поток, в соответствии со способами, описанными в настоящем раскрытии.
[0019] Фиг.5 представляет собой блок-схему
последовательности операций, иллюстрирующую пример работы устройства, которое принимает транспортный поток, в соответствии со способами, описанными в настоящем раскрытии.
[0020] Фиг.б представляет собой блок-схему
последовательности операций, иллюстрирующую пример работы устройства, генерирующего транспортный поток, в соответствии с примером способа, описанного в настоящем раскрытии.
[0021] Фиг.7 представляет собой блок-схему
последовательности операций, иллюстрирующую пример работы устройства, которое принимает транспортный поток, в соответствии с примером способа, описанного в настоящем раскрытии.
ПОДРОБНОЕ ОПИСАНИЕ
[0022] В целом, настоящее раскрытие описывает способы,
относящиеся к данным слоя систем Экспертной группы по вопросам
движущихся изображений (MPEG)-2 для медиаданных. Спецификация
систем MPEG-2 в целом описывает, как два или более потока данных
мультиплексируются для формирования единого потока данных.
Настоящее раскрытие описывает способы, относящиеся к данным
систем MPEG-2 для многослойных видеоданных. Например, настоящее
раскрытие описывает изменения, которые потенциально могут
улучшить конструкцию дескриптора рабочей точки
высокоэффективного кодирования видеоизображений (HEVC) в транспортных потоках MPEG-2 (TS) для передачи расширений HEVC. Однако способы настоящего раскрытия не обязательно ограничиваются MPEG-2 TS или HEVC.
[0023] Исключительно для простоты описания способы настоящего раскрытия в целом описываются для передачи (например, транспортировки) видеоданных, закодированных в соответствии с расширением стандарта видеокодирования (например, с расширением HEVC, также называемым ITU-T Н.2 65). Такие расширения могут включать в себя многовидовые, трехмерные и/или масштабируемые расширения. Таким образом, способы настоящего раскрытия могут быть применены к многовидовому HEVC (MV-HEVC), трехмерному HEVC (3D-HEVC) и масштабируемому HEVC (SHVC).
[0024] Многослойные видеоданные, например многовидовые
видеоданные и/или видеоданные с несколькими масштабируемыми слоями, могут включать в себя выделенные рабочие точки. В целом, рабочая точка описывает подмножество слоев (например, видов) полного набора слоев многослойных видеоданных. Рабочая точка также может идентифицировать целевые выходные слои, то есть слои, для которых должны выводиться данные. В некоторых случаях данные слоя могут быть включены в рабочую точку только для использования в качестве опорного слоя, и, следовательно, такой слой не будет считаться целевым выходным слоем. Опорный слой может быть слоем, на который ссылается другой слой для кодирования и декодирования.
[0025] Рабочие точки HEVC обычно сигнализируются в дескрипторе рабочей точки HEVC путем указания ссылок на элементарные потоки, как описано более подробно ниже. Однако некоторые конструкции дескриптора рабочей точки HEVC позволяют, чтобы список элементарных потоков для целевой рабочей точки включал в себя слой или элементарный поток дважды. Кроме того, в некоторых случаях не все слои, которые необходимо декодировать, сигнализируются в некоторых конструкциях дескриптора рабочей точки HEVC, поскольку информация для таких слоев доступна в другом месте. В некоторых примерах, поскольку конкретный слой не сигнализируется, некоторые синтаксические элементы, связанные со слоем, могут быть недоступны для видеодекодера.
[0026] Способы, описанные в настоящем раскрытии, могут решать одну или несколько проблем, описанных выше. Тем не менее, эти способы не обязательно решают описанные выше проблемы. Например, раскрытие описывает примеры, которые могут гарантировать, что элементный поток/слой не включается несколько раз в список элементарных потоков рабочей точки. В раскрытии также описаны примеры включения информации в принимаемый видеодекодером битовый поток, который включает в себя синтаксические элементы, связанные со слоем, даже если этот слой явно не сигнализирован как находящийся в списке элементарных потоков рабочей точки.
[0027] Фиг. 1 - блок-схема, иллюстрирующая пример системы кодирования и декодирования видеосигнала, которая может
использовать способы для транспортировки видеоданных, закодированных в соответствии с расширениями стандарта видеокодирования. Как показано на фиг. 1, система 10 включает в себя устройство-источник 12, которое обеспечивает кодированные видеоданные, которые позднее будут декодированы целевым устройством 14. В частности, устройство-источник 12 предоставляет видеоданные целевому устройству 14 через машиночитаемый носитель 16. Устройство-источник 12 и целевое устройство 14 могут содержать любое из широкого спектра устройств, включая настольные компьютеры, ноутбуки (например, лэптопы), планшетные компьютеры, телевизионные приставки, телефонные трубки, например как так называемые "умные" телефоны, планшеты, телевизоры, камеры, устройства отображения, цифровые медиаплееры, консоли для видеоигр, устройства потоковой передачи видео и т.п. В некоторых примерах устройство-источник 12 и целевое устройство 14 могут быть оборудованы для беспроводной связи. Таким образом, в некоторых примерах устройство-источник 12 и целевое устройство 14 являются устройствами беспроводной связи.
[0028] В примере на фиг. 1, устройство-источник 12 включает в себя видеоисточник 18, видеокодер 20, мультиплексор 21 и выходной интерфейс 22. В некоторых примерах выходной интерфейс 22 включает в себя модулятор/демодулятор (модем) и/или передатчик. Видеоисточник 18 может включать в себя такой источник, как устройство захвата видео, например видеокамеру, видеоархив, содержащий ранее захваченное видео, интерфейс видеопотока для приема видео от поставщика видеоконтента и/или компьютерную графическую систему для генерации данных компьютерной графики в качестве исходного видео, или комбинацию таких источников. Однако способы, описанные в настоящем раскрытии, могут быть применимы к видеокодированию в целом и могут применяться к беспроводным и/или проводным приложениям.
[0029] Видеокодер 20 может кодировать захваченные, предварительно захваченные или созданные компьютером видеоданные. Устройство-источник 12 может передавать кодированные видеоданные непосредственно в целевое устройство 14
через выходной интерфейс 22 устройства-источника 12. Закодированные видеоданные могут также (или альтернативно) сохраняться на запоминающее устройство для последующего доступа целевым устройством 14 или другими устройствами для декодирования и/или воспроизведения. Затем закодированная видеоинформация может выводиться выходным интерфейсом 22 на машиночитаемый носитель 16.
[0030] Целевое устройство 14 включает в себя интерфейс 28 ввода, демультиплексор 29, видеодекодер 30 и устройство 32 отображения. В некоторых примерах интерфейс 2 8 ввода может включать в себя приемник и/или модем. Входной интерфейс 2 8 устройства 14 назначения принимает кодированные видеоданные по линии 16 связи. Кодированные видеоданные, переданные по линии 16 или предоставленные на устройстве 33 хранения, могут включать в себя множество синтаксических элементов, генерируемых видеокодером 20, для использования видеодекодером, таким как видеодекодер 30, при декодировании видеоданных. Такие синтаксические элементы могут быть включены в кодированные видеоданные, передаваемые по среде связи, сохраненные на носителе данных или сохраненные на файловом сервере.
[0031] Целевое устройство 14 может принимать подлежащие декодированию кодированные видеоданные через машиночитаемый носитель 16. Машиночитаемый носитель 16 может содержать любой тип носителя или устройства, способного перемещать кодированные видеоданные из устройства-источника 12 в целевое устройство 14. В одном примере машиночитаемый носитель 16 может содержать среду связи, чтобы обеспечить возможность устройству-источнику 12 передавать кодированные видеоданные непосредственно в целевое устройство 14 в режиме реального времени. Кодированные видеоданные могут модулироваться в соответствии со стандартом связи, таким как протокол беспроводной связи, и передаваться в целевое устройство 14. Среда связи может содержать любую беспроводную или проводную среду связи, такую как радиочастотный (RF) спектр или одну или несколько физических линий передачи. Среда связи может быть частью сети на основе пакетной передачи данных, такой как локальная сеть, глобальная сеть или глобальная
сеть, такая как Интернет. Среда связи может включать в себя маршрутизаторы, коммутаторы, базовые станции или любое другое оборудование, которое может быть полезно для облегчения связи устройства-источника 12 с целевым устройством 14.
[0032] В некоторых примерах кодированные данные могут
выводиться из выходного интерфейса 22 на запоминающее
устройство. Например, устройство-источник 12 может включать в
себя устройство хранения, выполненное с возможностью хранения
кодированных видеоданных. В некоторых примерах кодированные
данные могут быть доступны из устройства хранения через
интерфейс ввода 28. Устройство хранения может включать в себя
любой из множества распределенных или локально доступных
носителей данных, таких как жесткий диск, диски Blu-ray, DVD-
диски, CD-ROM, флэш-память, энергозависимая или
энергонезависимая память или любое другое подходящее цифровое
хранилище для хранения кодированных видеоданных. В следующем
примере запоминающее устройство может соответствовать файловому
серверу или другому промежуточному запоминающему устройству,
которое может хранить кодированное видео, сгенерированное
устройством-источником 12. Целевое устройство 14 может
осуществлять доступ к сохраненным видеоданным с устройства
хранения посредством потоковой передачи или загрузки. Файловым
сервером может быть любой тип сервера, способный хранить
кодированные видеоданные и передавать эти закодированные
видеоданные в целевое устройство 14. Примеры файловых серверов
включают веб-серверы (например, для веб-сайта), FTP-серверы,
сетевые устройства хранения (NAS) или локальные диски или другие
серверы, настроенные для предоставления файлов. Целевое
устройство 14 может осуществлять доступ к кодированным
видеоданным через любое стандартное соединение для передачи
данных, включая подключение к Интернету. Это может включать в
себя беспроводной канал (например, соединение Wi-Fi), проводное
соединение (например, DSL-модем, кабельный модем) или их
комбинацию, подходящую для доступа к закодированным видеоданным,
хранящимся на файловом сервере. Передача закодированных
видеоданных из устройства хранения может представлять собой
поточную передачу, передачу в виде загрузки или их комбинацию.
[0033] Машиночитаемый носитель 16 может включать в себя переходные среды, такие как беспроводная широковещательная или проводная сетевая передача, или носитель данных (то есть постоянный носитель данных), такой как жесткий диск, флэш-накопитель, компакт-диск, цифровой видеодиск, Blu-ray-диск или другой машиночитаемый носитель. В некоторых примерах сетевой сервер (не показан) может принимать кодированные видеоданные из устройства-источника 12 и предоставлять кодированные видеоданные целевому устройству 14, например, посредством сетевой передачи. Аналогично, вычислительное устройство установки по изготовлению носителей данных, такой как средство штамповки дисков, может принимать кодированные видеоданные из устройства-источника 12 и создавать диск, содержащий кодированные видеоданные. Следовательно, в различных примерах машиночитаемый носитель 16 можно понимать как включающий в себя один или несколько машиночитаемых носителей различных форм.
[0034] Способы настоящего раскрытия необязательно ограничиваются беспроводными приложениями или устройствами. Эти способы могут применяться к видеокодированию в рамках любого из множества мультимедийных приложений, таких как эфирные телевизионные трансляции, передачи кабельного телевидения, передачи спутникового телевидения, потоковое видео в Интернете, например динамическая адаптивная потоковая передача по HTTP (DASH), цифровое видео, которое кодируется на носитель данных, декодирование цифрового видео, хранящегося на носителе данных, или другие приложения. В некоторых примерах система 10 может быть выполнена с возможностью поддержки односторонней или двухсторонней передачи видео для поддержки таких приложений, как потоковое видео, воспроизведение видео, видеовещание и/или видеотелефония.
[0035] В примере на фиг. 1, в соответствии с настоящим раскрытием, мультиплексор 21 устройства-источника 12 может быть выполнен с возможностью применения способов транспортировки видеоданных, закодированных в соответствии с расширениями стандарта кодирования видео, тогда как демультиплексор 29 может
принимать такие данные для обработки и может пересылать обработанное видеоданные на другое устройство или компонент, например видеодекодер 30. В других примерах устройство-источник и целевое устройство могут включать в себя другие компоненты или устройства. Например, устройство-источник 12 может принимать видеоданные от внешнего видеоисточника 18, такого как внешняя камера. Аналогичным образом, целевое устройство 14 может взаимодействовать с внешним устройством отображения, а не включать в себя интегрированное устройство отображения.
[0036] Система 10, показанная на фиг. 1, представляет собой всего лишь один пример. Способы транспортировки видеоданных, закодированных в соответствии с расширениями стандарта кодирования видеосигнала, могут выполняться с помощью любого устройства кодирования и/или декодирования цифрового видео. Хотя, как правило, способы настоящего раскрытия выполняются устройством видеокодирования, способы также могут выполняться видеокодером/видеодекодером, обычно называемым "кодеком". Устройство-источник 12 и целевое устройство 14 являются просто примерами таких устройств кодирования, в которых устройство-источник 12 генерирует кодированные видеоданные для передачи в целевое устройство 14. В некоторых примерах устройства 12 и 14 могут функционировать, по существу, симметрично, так что каждое из устройств 12 и 14 включает в себя компоненты кодирования и декодирования видео. Таким образом, система 10 может поддерживать одностороннюю или двухстороннюю передачу видеосигнала между видеоустройствами 12, 14, например, для потоковой передачи видео, воспроизведения видео, видеовещания или видеотелефонии.
[0037] Входной интерфейс 28 целевого устройства 14 принимает информацию от машиночитаемого носителя 16. Информация машиночитаемого носителя 16 может включать в себя синтаксическую информацию, определенную видеокодером 20, которая также используется видеодекодером 30, который включает в себя синтаксические элементы, описывающие характеристики и/или обработку блоков и других кодированных единиц.
[0038] Устройство 32 отображения может быть интегрировано
или может быть внешним по отношению к целевому устройству 14. В некоторых примерах целевое устройство 14 может включать в себя интегрированное устройство отображения и также может быть выполнено с возможностью взаимодействия с внешним устройством отображения. В других примерах целевое устройство 14 может быть устройством отображения. Устройство 32 отображения отображает декодированные видеоданные пользователю и может содержать любое из множества устройств отображения, таких как электронно-лучевая трубка (CRT), жидкокристаллический дисплей (LCD), плазменный дисплей, дисплей на органических светоизлучающих диодах (OLED) или другой тип устройства отображения.
[0039] Каждый из видеокодера 20, мультиплексора 21, демультиплексора 29 и видеодекодера 30 могут быть реализованы в виде любой из множества подходящих схем кодера или декодера, таких как один или несколько микропроцессоров, процессоров цифровых сигналов (DSP), специализированных интегриральных схем (ASIC), программируемых пользователем вентильных матриц (FPGA), дискретная логики, программное обеспечение, аппаратное обеспечение, встроенное программное обеспечение или любые их комбинации. Если способы частично реализованы в виде программного обеспечения, устройство может хранить инструкции для программного обеспечения в подходящем постоянном машиночитаемом носителе и выполнять инструкции на аппаратных средствах с использованием одного или нескольких процессоров для выполнения способов настоящего раскрытия. Каждый из видеокодера 2 0 и видеодекодера 3 0 может быть включен в один или несколько кодеров или декодеров, каждый из которых может быть интегрирован как часть объединенного кодера/декодера (кодека) в соответствующем устройстве.
[0040] Настоящее раскрытие может в целом ссылаться на видеокодер 20, который "сигнализирует" или "передает" определенную информацию на другое устройство, такое как видеодекодер 30. Термин "сигнализация" или "передача" в целом может относится к передаче синтаксических элементов и/или других данных, используемых для декодирования сжатых видеоданных. Такая передача может выполняться в реальном или почти реальном
времени. В качестве альтернативы такая передача может происходить через определенный промежуток времени, например, при хранении синтаксических элементов на машиночитаемом носителе данных в кодированном потоке битов во время кодирования, который затем может быть извлечен устройством декодирования в любое время после их сохранения на этом носителе. Таким образом, хотя видеодекодер 3 0 может упоминаться как "принимающий" определенную информацию, прием информации не обязательно происходит в реальном или почти реальном времени и может выполняться с носителя через некоторое время после сохранения.
[0041] Кроме того, хотя это конкретно не показано на фиг. 1, некоторые из примеров способов, описанных в настоящем раскрытии, могут быть реализованы с помощью некоторых внешних средств, таких как сетевой элемент, поддерживающий медиа (MANE). MANE может принимать видеоданные из видеокодера 2 0 и передавать битовый поток, который принимает видеодекодер 30. В некоторых примерах MANE может получать и обрабатывать транспортный поток. Соответственно, иногда, когда настоящее раскрытие описывает сигнализацию, такая сигнализация может выполняться видеокодером 2 0 или некоторыми внешними средствами, такими как MANE.
[0042] Видеокодер 20 и видеодекодер 30 могут работать в соответствии со стандартом кодирования видео. Например, видеокодер 20 и видеодекодер 30 могут работать в соответствии с другими проприетарными или отраслевыми стандартами, такими как стандарт ITU-T Н.2 64, альтернативно называемый MPEG 4, часть 10, расширенное кодирование видео (AVC) или расширениями таких стандартов. Однако способы настоящего раскрытия не ограничиваются каким-либо конкретным стандартом кодирования. Другие примеры стандартов кодирования видео включают MPEG-2 и ITU-T Н.2 63. Стандарт ITU-T H.2 64/MPEG-4 (AVC) был сформулирован Экспертной группой по видеокодированию (VCEG) ITU-T совместно с экспертной группой по движущимся изображениям ISO/IEC (MPEG) как продукт коллаборации, известной как совместная группа JVT. В некоторых аспектах способы, описанные в настоящем раскрытии, могут применяться к устройствам, которые в целом соответствуют стандарту Н.2 64. Стандарт Н.2 64 описан в ITU-T Рекомендации
Н.2 64, Advanced Video Coding для аудиовизуальных услуг общего характера, исследовательской группой ITU-T в марте 2005 года, которая в настоящем документе может называться стандартом Н.2 64 или спецификацией Н.2 64, или стандартом или спецификацией H.2 64/AVC. Совместная группа (JVT) продолжает работать над расширениями к H.2 64/MPEG-4 AVC. В более общем плане стандарты видеокодирования включают ITU-T Н.261, ISO/IEC MPEG-1 Visual, ITU-T H.262 или ISO/IEC MPEG-2 Visual, ITU-T H.263, ISO/IEC MPEG-4 Visual и ITU-T Н.264 (также известный как ISO/IEC MPEG-4 AVC) , включая расширения для масштабируемого видеокодирования (SVC) и многовидового видеокодирования (MVC).
[0043] В другом примере видеокодер 20 и видеодекодер 30 могут кодировать и декодировать видеоданные, используя другой стандарт видеокодирования, такой как стандарт видеокодирования высокого качества (HEVC), также называемый стандартом видеокодирования Н.2 65. HEVC был завершен Совместной группой сотрудничества по видеокодированию (JCT-VC) Группы экспертов по кодированию видеоматериалов ITU-T (VCEG) и Группэ экспертов по движущимся изображениям ISO/IEC (MPEG). Последняя спецификация проекта HEVC далее упоминается как HEVC WD.
[0044] Кроме того, JCT-3V также разрабатывает многовидовое расширение для HEVC, а именно MV-HEVC. Масштабируемое расширение для HEVC, называемое SHVC, также разрабатывается JCT-VC. Последний документ, включающий спецификацию HEVC, расширения диапазона HEVC, SHVC и MV-HEVC, можно найти по адресу http://phenix.int-
evry.fг/j сt/doc_end_user/documents/18_Sapporo/wgl1/JCTVC-R1013-v6.zip,
[0045] В стандартах HEVC и других стандартах видеокодирования видеосигнал обычно включает в себя серию изображений. Изображения также могут упоминаться как "кадры". Чтобы сформировать кодированное представление изображения, видеокодер 2 0 может генерировать набор единиц дерева кодирования (CTU) . Каждый из CTU может быть единицей дерева кодирования выборок яркости, двумя соответствующими единицами дерева кодирования выборок цветности и синтаксическими структурами,
используемыми для кодирования выборок единиц дерева кодирования. Единица дерева кодирования может быть блоком выборки NxN. CTU также может упоминаться как "блок дерева" или "наибольшая единица кодирования" (LCU).
[0046] Для генерации закодированного CTU видеокодер 20 может делить блоки дерева кодирования CTU на блоки кодирования, отсюда и название "единицы дерева кодирования". CU может быть блоком кодирования выборок яркости и двумя соответствующими блоками кодирования выборок цветности изображения, который имеет массив выборки яркости, массив выборок СЬ и массив выборок Cr, а также синтаксические структуры, используемые для кодирования выборок блоков кодирования. Видеокодер 2 0 может разбивать блок кодирования CU на один или несколько предсказываемых блоков. Предсказываемый блок может представлять собой прямоугольный (т. е. квадратный или неквадратный) блок выборок, в отношении которого применяется такое же предсказание. Предсказываемый блок (PU) CU может быть предсказываемым блоком выборок яркости, двумя соответствующими предсказываемыми блоками выборок цветности изображения и синтаксическими структурами, используемыми для предсказания выборок предсказываемого блока. Видеокодер 2 0 может генерировать предсказываемую яркость, блоки СЬ и Сг для яркости, предсказываемые блоки СЬ и Сг каждого PU из CU. Видеокодер 2 0 может использовать внутреннее предсказание или внешнее предсказание для генерации предсказываемых блоков для ПУ.
[0047] После того, как видеокодер 20 генерирует предсказательные блоки для одного или более PU из CU, видеокодер 2 0 может генерировать остаточные блоки для CU. Каждая выборка в остаточном блоке CU может указывать разницу между выборкой в предсказательном блоке PU CU и соответствующей выборкой в блоке кодирования CU. Кроме того, видеокодер 2 0 может разложить остаточные блоки CU на один или несколько блоков преобразования. Блок преобразования (TU) CU может быть блоком преобразования выборок яркости, двумя соответствующими блоками преобразования выборок цветности и синтаксическими структурами, используемыми для преобразования выборок блока преобразования. Видеокодер 2 0 может применять одно или несколько преобразований к блоку
преобразования для формирования блока коэффициентов для TU.
После формирования блока коэффициентов видеокодер 2 0 может
выполнить квантование блока коэффициентов. После того как
видеокодер 2 0 выполнит квантование блока коэффициентов,
видеокодер 2 0 может выполнить энтропийное кодирование
синтаксических элементов, указывающих коэффициенты
преобразования квантования. Например, видеокодер 2 0 может выполнять контекстно-адаптивное двоичное арифметическое кодирование (САВАС) на синтаксических элементах, указывающих коэффициенты преобразования квантования. Видеокодер 2 0 может выводить синтаксические элементы, закодированные с помощью энтропийного кодирования, в битовый поток. Битовый поток может также включать в себя синтаксические элементы, к которым не применялось энтропийное кодирование.
[0048] Битовый поток может включать в себя последовательность битов, которая формирует представление кодированных изображений и связанных данных. Битовый поток может содержать последовательность единиц уровня абстракции сети (NAL) . Каждая из единиц NAL включает в себя заголовок единицы NAL и инкапсулирует полезную нагрузку необработанной байтовой последовательности (RBSP). RBSP может представлять собой синтаксическую структуру, содержащую целое число байтов, которая инкапсулируется в блок NAL. В некоторых случаях RBSP включает в себя нулевые биты.
[0049] Различные типы блоков NAL могут инкапсулировать различные типы RBSP. Например, первый тип блока NAL может инкапсулировать RBSP для набора параметров изображения (PPS), второй тип блока NAL может инкапсулировать RBSP для кодированного фрагмента, третий тип блока NAL может инкапсулировать RBSP для дополнительной информации улучшения (SEI) ит. д. Единицы NAL, которые инкапсулируют RBSP для данных видеокодирования (в отличие от RBSP для наборов параметров и сообщений SEI), могут упоминаться как единицы NAL видеокодирования (VCL).
[0050] Видеодекодер 30 может принимать битовый поток, генерируемый видеокодером 20. Кроме того, видеодекодер 3 0 может
получать синтаксические элементы из битового потока. Например, видеодекодер 3 0 может анализировать битовый поток для декодирования синтаксических элементов из битового потока. Видеодекодер 30 может восстанавливать изображения видеоданных, основанные, по меньшей мере частично, на синтаксических элементах, полученных (например, декодированных) из битового потока. Процесс восстановления видеоданных может быть, в целом, обратным процессу, выполняемому видеокодером 20. Видеодекодер 3 0 может восстанавливать блоки кодирования текущего CU путем добавления выборок блоков предсказательных выборок для PU текущего CU к соответствующим выборкам блоков преобразования TU текущего CU. Реконструируя блоки кодирования для каждого CU изображения, видеодекодер 30 может восстановить изображение.
[0051] При многовидовом кодировании может быть несколько
видов одной и той же сцены с разных точек обзора. В контексте
многозадачного кодирования термин "блок доступа" может
использоваться для обозначения набора изображений,
соответствующих одному и тому же экземпляру времени. Таким образом, видеоданные могут быть концептуализированы как серия единиц доступа, происходящих в течении времени. "Компонент вида" может быть закодированным представлением вида в одной единице доступа. В этом раскрытии "вид" может относиться к последовательности компонентов вида, связанных с одним и тем же идентификатором вида. В некоторых примерах компонент вида может представлять собой компонент вида текстуры (т. е. изображение текстуры) или компонент вида глубины (то есть изображение глубины).
[0052] В MV-HEVC и SHVC видеокодер может генерировать
битовый поток, который содержит серию единиц NAL. Различные
единицы NAL битового потока могут быть связаны с разными слоями
битового потока. Слой может быть определен как набор единиц NAL
VCL и связанных с ним единиц NAL, отличных от VCL, которые имеют
один и тот же идентификатор слоя. Слой может быть эквивалентен
виду в многовидовом кодировании. При многовидовом
видеокодировании слой может содержать все компоненты вида одного
и того же слоя с разными временными экземплярами. Каждый компонент представления может быть кодированным изображением видео сцены, относящейся к определенному виду в конкретном временном экземпляре. В некоторых примерах многозадачного или трехмерного кодирования видео слой может содержать либо все кодированные изображения глубины определенного изображения, либо кодированные текстурные изображения определенного вида. В других примерах трехмерного кодирования видео слой может содержать как компоненты представления текстуры, так и компоненты представления глубины определенного вида. Аналогично, в контексте масштабируемого видеокодирования слой обычно соответствует кодированным изображениям, имеющим характеристики видео, отличные от кодированных изображений в других слоях. Такие видео характеристики обычно включают в себя пространственное разрешение и уровень качества (например, отношение сигнал-шум). В HEVC и его расширениях временная масштабируемость может быть достигнута в пределах одного слоя путем определения группы изображений с определенным временным слоем в качестве подслоя.
[0053] Для каждого соответствующего слоя битового потока данные в нижнем слое могут быть декодированы без ссылки на данные в любом более высоком слое. В масштабируемом кодировании видео, например, данные в базовом слое могут быть декодированы без ссылки на данные в слое улучшения. В общем случае единицы NAL могут инкапсулировать данные только одного слоя. Таким образом, единицы NAL, инкапсулирующие данные самого высокого оставшегося слоя битового потока, могут быть удалены из битового потока, не затрагивая возможность декодирования данных в оставшихся слоях битового потока. При многовидовом кодировании более высокие слои могут включать в себя дополнительные компоненты представления. В SHVC более высокие слои могут включать в себя данные улучшения отношения сигнал/шум (SNR) , данные пространственного усиления и/или данные временного улучшения. В MV-HEVC и SHVC слой может упоминаться как "базовый слой", если видеодекодер может декодировать изображения в слое без ссылки на данные любого другого уровня. Базовый слой может
соответствовать базовой спецификации HEVC (например, Рекомендация ITU-T Н.265 | ISO/IEC 23008 2) .
[0054] В масштабируемом видеокодировании слои, отличные от
базового слоя, могут упоминаться как "слои улучшения" и могут
предоставлять информацию, которая улучшает визуальное качество
видеоданных, декодированных из битового потока. Масштабируемое
кодирование видео может повысить пространственное разрешение,
отношение сигнал/шум (то есть качество) или временную скорость.
При масштабируемом видеокодировании (например, SHVC)
"представление слоя" может представлять собой кодированное представление пространственного слоя в едином блоке доступа. Для удобства объяснения это раскрытие может относиться к компонентам представления и/или представлениям слоя как "представление компонентов/представление слоев" или просто "изображения".
[0055] Многовидовое кодирование поддерживает межвидовое предсказание. Межвидовое предсказание похоже на внешнее предсказание, используемое в HEVC, и может использовать те же синтаксические элементы. Однако, когда видеокодер выполняет межвидовое предсказание на текущей единице видеосигнала (например, ПУ) , видеокодер 20 может использовать, в качестве опорного изображения, изображение, которое находится в той же единице доступа в качестве текущей единице видео, но в другом виде. Напротив, обычное внешнее предсказание использует только изображения в разных единицах доступа в качестве опорных изображений.
[0056] В многовидовом кодировании вид может упоминаться как "базовый вид", если видеодекодер (например, видеодекодер 30) может декодировать изображения в виде без ссылки на изображения в любом другом виде. При кодировании изображения в одном из небазовых представлений видеокодер (такой как видеокодер 2 0 или видеодекодер 30) может добавить изображение в список контрольных изображений, если изображение находится в другом представлении, но в пределах одного экземпляра времени (т.е. блок доступа) в качестве изображения, которое кодирует видеокодер. Как и другие опорные изображения внешнего предсказания, видео кодер может вставить опорное изображение межвидового предсказания в любом
месте списка опорных изображений.
[0057] Например, единицы NAL могут включать в себя заголовки (т. е. заголовки единиц NAL) и полезные нагрузки (например, RBSP). Заголовки блока NAL могут включать в себя синтаксические элементы nuh_reserved_zero_6bits, которые также могут упоминаться как синтаксические элементы nuh_layer_id. Единицы NAL, у которых есть синтаксические элементы nuh_layer_id, которые указывают разные значения, принадлежат разным "слоям" битового потока. Таким образом, в многовидовом кодировании MV-HEVC, SVC или SHVC синтаксический элемент nuh_layer_id блока NAL определяет идентификатор слоя (то есть ID слоя) tlbybws NAL. Синтаксический элемент nuh_layer_id единицы NAL равен 0, если блок NAL относится к базовому слою в многовидовом кодировании, MV-HEVC или SHVC. Данные на базовом слое битового потока могут быть декодированы без ссылки на данные в любом другом слое битового потока. Если единица NAL не относится к базовому слою в многовидовом кодировании, MV-HEVC или SHVC, синтаксический элемент nuh_layer_id может иметь ненулевое значение. При многовидовом кодировании разные слои битового потока могут соответствовать различным видам. В SVC или SHVC слои, отличные от базового слоя, могут упоминаться как "слои улучшения" и могут предоставлять информацию, которая улучшает визуальное качество видеоданных, декодированных из битового потока.
[0058] Кроме того, некоторые изображения внутри слоя могут быть декодированы без ссылки на другие изображения внутри того же слоя. Таким образом, единицы NAL, инкапсулирующие данные определенных изображений слоя, могут быть удалены из битового потока, не затрагивая возможность декодирования других изображений в слое. Удаление единиц NAL, инкапсулирующих данные таких изображений, может снизить частоту кадров битового потока. Подмножество изображений внутри слоя, которое может быть декодировано без ссылки на другие изображения внутри слоя, может упоминаться здесь как "подслой" или "временный подслой". Таким образом, одним из видов масштабируемого измерения является временное измерение.
[0 059] Например, при временной масштабируемости набор видеоданных может поддерживать различные частоты кадров или скорости воспроизведения, например, 15 кадров в секунду (FPS), 30 FPS, 60 FPS и 120 FPS. Данный временной уровень может включать в себя все изображения на этом уровне и на более низких уровнях. Например, продолжая предыдущий пример, временный уровень 0 может соответствовать 15 FPS, временный уровень 1 может включать в себя изображения временного уровня 0, а также изображения на временном уровне 1 для поддержки 3 0 FPS, временный уровень 2 может включают в себя изображения временных уровней 0 и 1, а также изображения на временном уровне 2 для поддержки 60 FPS и т. д.
[0060] Временной идентификатор или TemporallD может сигнализироваться как представление временного уровня, которому принадлежит конкретное изображение. Например, блоки NAL могут включать синтаксические элементы timeal_id. Синтаксический элемент temporal_id блока NAL указывает временный идентификатор блока NAL. Временной идентификатор блока NAL идентифицирует временный подслой, с которым связан узел NAL. Таким образом, каждый временный подслой для потока битов может быть связан с другим временным идентификатором. Если временный идентификатор первого блока NAL меньше, чем временный идентификатор второго блока NAL, данные, инкапсулированные первым блоком NAL, могут быть декодированы без ссылки на данные, инкапсулированные вторым блоком NAL.
[0061] Битовый поток может быть связан с множеством рабочих точек. В некоторых примерах каждая рабочая точка битового потока может быть связана с набором идентификаторов слоя (т. е. набором значений nuh_reserved_zero_6bits или значений nuh_layer_id) и временным идентификатором. Набор идентификаторов слоя может быть обозначен как OpLayerldSet, а временный идентификатор может быть обозначен как TemporallD. Если идентификатор слоя единицы NAL находится в наборе идентификаторов слоя рабочей точки, а временный идентификатор блока NAL меньше или равен временному идентификатору рабочей точки, единица NAL связан с рабочей точкой. Таким образом, рабочая точка может быть битовым потоком,
созданным из другого битового потока, посредством работы процесса извлечения двоичного потока с этим другим битовым потоком, целевым наивысшим TemporalId и списком идентификаторов целевого слоя в качестве входов в процесс извлечения битового потока. Рабочая точка может включать в себя каждую единицу NAL, которая связана с рабочей точкой. В некоторых примерах рабочая точка не включает единицы VAL NCL, которые не связаны с рабочей точкой.
[00 62] Как указано выше, рабочая точка описывает подмножество слоев (например, представлений) полного набора слоев многослойных видеоданных. Рабочая точка может также идентифицировать целевые выходные слои, то есть слои, для которых должны выводиться данные (например, декодированные изображения). В некоторых случаях данные слоя могут быть включены в рабочую точку только для использования в качестве опорного слоя (например, только для межслоевого или межвидового предсказания для слоя или вида, которые должны отображаться, где опорный слой или вид не отображается), и, следовательно, такой слой не будет считаться целевым выходным слоем.
[00 63] HEVC и другие стандарты кодирования видео определяют
профили, эшелоны и уровни. Профили, эшелоны и уровни определяют
ограничения на битовые потоки и, следовательно, ограничивают
возможности, необходимые для декодирования битовых потоков.
Профили, эшелоны и уровни могут также использоваться для
указания точек функциональной совместимости между конкретными
реализациями декодера. Каждый профиль определяет подмножество
алгоритмических функций и инструментов, представленных в
стандарте видеокодирования. Таким образом, "профиль"
представляет собой подмножество полного синтаксиса битового
потока, который определен применимым стандартом
видеокодирования. Видеокодерам не требуется использовать все функции, поддерживаемые профилем. Каждый уровень эшелона может указывать набор ограничений на значения, которые могут иметь синтаксические элементы и переменные. Таким образом, "уровень" соответствует ограничениям потребления ресурсов декодера, таким как, например, память декодера и вычисление, которые связаны с
разрешением изображений, скоростью передачи битов и скоростью обработки блоков. Тот же набор определений эшелона и уровня может использоваться со всеми профилями, но отдельные реализации могут поддерживать различные эшелоны и внутри эшелона другие уровни для каждого поддерживаемого профиля. Для любого заданного профиля уровень эшелона может в целом соответствовать конкретной нагрузке декодера и возможностям памяти. Возможности видеодекодеров могут быть определены с точки зрения возможности декодирования видеопотоков, соответствующих ограничениям конкретных профилей, эшелонов и уровней. Для каждого такого профиля также может быть выражен эшелон и уровень, поддерживаемые для этого профиля. Некоторые видеодекодеры могут не иметь возможности декодировать определенные профили, эшелоны или уровни.
[00 64] Настоящее раскрытие описывает способы, которые могут улучшить дескриптор рабочей точки HEVC в транспортном потоке MPEG-2 (TS) для передачи битовых потоков расширения HEVC. Например, в соответствии со способами настоящего раскрытия мультиплексор 21 и/или демультиплексор 2 9 могут быть выполнены с возможностью транспортировки видеоданных (то есть отправки или приема видеоданных), которые кодируются в соответствии со стандартом видеокодирования, таким как HEVC, расширение стандарта видеокодирования (например, расширения стандарта HEVC, такие как SHVC или MV-HEVC) или другие, еще не разработанные стандарты видеокодирования. В целом, мультиплексор 21 может инкапсулировать кодированные видеоданные для формирования потока данных, например, по существу, в соответствии с системами MPEG-2 и способами этого раскрытия, тогда как демультиплексор 2 9 может принимать и декапсулировать инкапсулированные данные, например видеоданные, закодированные в соответствии с расширением стандарта видеокодирования.
[0065] Последней спецификацией TS MPEG-2 является рекомендация ITU-T Н.222.0, версия от июня 2012г., в которой предусмотрена поддержка AVC и расширений AVC. Также была разработана поправка к MPEG-2 TS для HEVC. Последний документ,
"Text of ISO/IEC 13818-1: 2013/Final Draft Amendment 3 Transport of HEVC video over MPEG-2 Systems,", доступен из документа MPEG wl3656, июль 2013 года. Недавно была начата работа над поправкой к TS-MPEG-2 для передачи многослойного HEVC, называемого TS MPEG-2 для L-HEVC. Последний документ "Text of ISO/IEC 13818-1:2013/DAM 3 - Carriage of Layered HEVC", далее - "DANG". Термин "многослойный HEVC" относится к расширениям стандарта HEVC, которые используют несколько слоев, например, SHVC, MV-HEVC и 3D-HEVC.
[00 66] Спецификация систем MPEG-2 описывает, как сжатые мультимедийные (видео- и аудио) потоки данных могут быть мультиплексированы вместе с другими данными для формирования единого потока данных, подходящего для цифровой передачи или хранения. Спецификация систем MPEG-2 описывает элементарный поток, который представляет собой единый, закодированный в цифровом виде (возможно, сжатый в формате MPEG) компонент программы (также иногда называемый "программой"). Например, элементарным потоком может быть кодированная видео или аудио часть программы. Элементарный поток сначала преобразуется в пакетный элементарный поток (PES) перед мультиплексированием в поток программы или транспортный поток. В рамках одной и той же программы синтаксический элемент stream_id используется для различения PES-пакетов, принадлежащих одному элементарному, потоку от других. Каждый пакет PES может содержать один или несколько блоков NAL, или блок NAL можно разделить на несколько PES-пакетов.
[0067] В спецификации MPEG-2 Systems потоки программ и транспортные потоки представляют собой два альтернативных мультиплекса, предназначенных для разных приложений. Потоки программ смещены для хранения и отображения одной программы из службы цифрового хранения, и поток программы предназначен для использования в безошибочных средах, поскольку он может быть восприимчивым к ошибкам.
[00 68] Поток программы включает в себя принадлежащие ему элементарные потоки и обычно содержит пакеты с переменной
длиной. В потоке программы PES-пакеты, производные от входящих элементарных потоков, организованы в "модули". Модуль включает в себя заголовок модуля, необязательный системный заголовок и любое количество PES-пакетов, взятых из любого входящего элементарного потока, в любом порядке. Системный заголовок содержит сводку характеристик потока программы, например: максимальную скорость передачи данных; количество входящих видео и аудио элементарных потоков; и дополнительную информацию о времени. Видеодекодер 30 может использовать информацию, содержащуюся в системном заголовке, чтобы определить, способен ли видеодекодер 30 декодировать поток программы или нет.
[0069] Транспортные потоки предназначены для одновременной доставки нескольких программ по потенциально подверженным ошибкам каналам. Транспортный поток представляет собой мультиплекс, предназначенный для многопрограммных приложений, таких как широковещательная передача, так что один транспортный поток может содержать множество независимых программ. Транспортный поток включает в себя последовательность транспортных пакетов, и каждый из транспортных пакетов имеет длину 188 байтов. Использование коротких пакетов с фиксированной длиной означает, что транспортный поток не так восприимчив к ошибкам, как поток программы. Кроме того, каждому транспортному пакету длиной 188 байт легко обеспечивается дополнительная защита от ошибок, посредством его обработки стандартным способом защиты от ошибок, например кодированием Рида-Соломона. Повышенная устойчивость к ошибкам транспортного потока означает, например, что у него есть больше шансов пройти по подверженным ошибкам каналам в широковещательной среде. Может показаться, что транспортный поток, безусловно, лучше двух мультиплексов с его повышенной устойчивостью к ошибкам и возможностью одновременной передачи нескольких программ. Однако транспортный поток представляет собой более сложный мультиплекс, чем поток программы, и, следовательно, его сложнее создавать и демультиплексировать.
[0070] Первый байт транспортного пакета представляет собой
байт синхронизации, который в некоторых случаях равен 0x47. Один транспортный поток может содержать множество различных программ, каждый из которых содержит множество пакетированных элементарных потоков. Поле идентификатора пакета (PID) используется для различения транспортных пакетов, содержащих данные одного элементарного потока, от тех, которые содержат данные других элементарных потоков. В некоторых случаях PID составляет 13 бит. Мультиплексор 21 может отвечать за то, чтобы гарантировать, что каждому элементарному потоку присваивается уникальное значение PID.
[0071] Хотя исходя из значения PID ясно, к какому элементному потоку относится транспортный пакет, видеодекодеру 30 может потребоваться знать, какие элементарные потоки принадлежат какой программе. Соответственно, транспортный поток содержит информацию о конкретной программе (PSI), чтобы явно определять отношения между программами и составляющими элементарными потоками. Другими словами, транспортный поток может включать в себя транспортные пакеты, содержащие PSI.
[0072] PSI может включать в себя таблицу ассоциации программ (PAT). Таблица ассоциации программ включает полный список всех программ, доступных в транспортном потоке. В некоторых примерах значение PAT всегда имеет значение PID 0. Каждая программа указана вместе со значением PID транспортных пакетов, которые содержат таблицу отображения программы.
[0073] Кроме того, PSI может включать в себя одну или несколько таблиц отображения программ (РМТ). Каждая программа, передываемая в транспортном потоке, имеет связанный РМТ. PAT может указывать значение PID транспортных пакетов, которые содержат РМТ для программы. РМТ для программы дает подробную информацию о программе и элементарных потоках, входящих в программу. Например, РМТ для программы с номером программы 3 может указывать, что программа содержит транспортные пакеты с значениями PID 33, 57 и 60. В этом примере транспортные пакеты со значениями PID, равными 33, могут включать в себя элементарный поток, содержащий кодированные видеоданные,
транспортные пакеты с значениями PID, равными 57, могут включать в себя английские аудиоданные, а транспортные пакеты с значениями PID, равными 60, могут включать в себя китайские аудиоданные, РМТ может включать в себя детали, касающиеся более чем одной программы.
[0074] Основной РМТ для программы может включать в себя некоторые из множества дескрипторов, указанных в спецификации системы MPEG-2. Такие дескрипторы несут дополнительную информацию о программе или ее составляющих элементарных потоках. Дескрипторы могут включать в себя параметры кодирования видео, параметры кодирования звука, идентификацию языка, информацию панорамирования и сканирования, данные условного доступа, информацию об авторских правах и так далее. Передатчик или другой пользователь может определить дополнительные частные дескрипторы, если это необходимо.
[0075] Дескрипторы отделены от кодированных видеоданных. Таким образом, устройство, такое как сетевой элемент, поддерживающий медиа (MANE) или видеодекодер, может использовать дескриптор для выполнения различных функций в транспортных потоках и программных потоках без декодирования или иного анализа кодированных видеоданных. Например, если видеоданные закодированы с использованием HEVC, устройство не нужно настраивать для декодирования видеоданных, кодированных HEVC, чтобы использовать дескриптор для выполнения определенных функций в транспортных потоках или потоках программ. Например, устройство может использовать дескрипторы как часть процесса, чтобы определить, следует ли пересылать определенные элементы программы на целевое устройство или декодировать определенные элементарные потоки.
[0076] Дескрипторы для программы, содержащей элементарные
потоки компонент, связанных с видео, могут включать в себя один
или несколько дескрипторов иерархии. Дескриптор иерархии
предназначен для сигнализации иерархии битовых подпотоков
различных элементарных потоков. Дескриптор иерархии
предоставляет информацию, идентифицирующую элементы программы, содержащие компоненты иерархически кодированных видео, аудио и
частных потоков. Частные потоки могут включать метаданные, такие как поток информации о конкретной программе. В целом, элемент программы является одним из данных или элементарных потоков, включенных в программу (т. е. составляющим элементарным потоком программы). В транспортных потоках MPEG-2 элементы программы обычно пакетируются. В потоках программ MPEG-2 элементы программы не пакетируются.
[0077] В некоторых случаях каждый соответствующий временный подслой каждого соответствующего слоя программы может соответствовать другому компоненту (например, элементарному потоку) программы. В других случаях каждый соответствующий слой программы соответствует другому элементарному потоку. Кроме того, в некоторых случаях два или более элементарных потока могут соответствовать различным временным подслоям одного и того же слоя программы, в то время как один элементарный поток может соответствовать всем временным подслоям другого слоя той же самой программы. Как указано выше, дескрипторы могут включать в себя дескрипторы иерархии. Каждый соответствующий дескриптор иерархии предоставляет информацию о соответствующем компоненте программы (т. е. элементарном потоке). Например, дескриптор иерархии, соответствующий конкретному элементарному потоку, может включать в себя синтаксический элемент, определяющий другой элементарный поток, необходимый для декодирования видеоданных конкретного элементарного потока. В одном примере дескриптор иерархии, соответствующий элементарному потоку для конкретного временного подслоя, может включать в себя синтаксический элемент, определяющий вложенный временный подслой, необходимый для декодирования конкретного временного подслоя.
[0078] Встроенный временный подслой может быть "вложен" в том смысле, что декодирование вложенного временного подслоя требуется для успешного декодирования конкретного временного подслоя. Кроме того, дескриптор иерархии может включать в себя синтаксические элементы, определяющие, поддерживает ли временный подслой, соответствующий дескриптору иерархии, временную масштабируемость (например, увеличивает частоту кадров)
относительно вложенного временного подслоя, обеспечивает ли пространственную масштабируемость (например, увеличивает разрешение изображения) по отношению к вложенному временному подслою, обеспечивает ли качественную масштабируемость (например, улучшает качество сигнала или точность сигнала по отношению к вложенному временному подслою и т. д.).
[0079] Ниже в таблице 2-49 описан синтаксис дескриптора иерархии, как определено в DAM3.
[0080] В таблице 2-49, hierarchy_layer_index представляет собой б-битовое поле, которое определяет уникальный индекс связанного элемента программы в таблице иерархии слоев кодирования. Индексы должны быть уникальными в пределах одного
определения программы. Для битовых видео подпотоков видеопотоков HEVC, соответствующих одному или нескольким профилям, определенным в Приложении F к Рек. ITU Т Н.265 | ISO/IEC 230082, это индекс элемента программы, который присваивается таким образом, что порядок битового потока будет правильным, если связанные зависящие слои видеоподпотоков одной и той же единицы доступа HEVC будут повторно собраны в порядке возрастания hierarchy_layer_index. Другими словами, hierarchy_layer_index дескриптора иерархии идентифицирует элемент программы (т. е. элементарный поток), который соответствует дескриптору иерархии.
[0081] Кроме того, в таблице 2-49,
hierarchy_embedded_layer_index представляет собой б-битовое
поле, определяющее hierarchy_layer_index элемента программы,
который должен быть доступен, и должен присутствовать в порядке
декодирования перед декодированием элементарного потока,
связанного с этим hierarchy_descriptor.
Hierarchy_embedded_layer_index не определен, если значение
hierarchy_type равно 15. Другими словами,
hierarchy_embedded_layer_index дескриптора иерархии
идентифицирует элементарный поток, от которого зависит элементарный поток, соответствующий дескриптору иерархии.
[0082] В дополнение к одному или нескольким дескрипторам
иерархии дескрипторы, сигнализируемые в транспортном потоке или
потоке программы MPEG-2, могут включать в себя один или
несколько дескрипторов расширения иерархии. Каждый
соответствующий дескриптор расширения иерархии в транспортном или потоке программы MPEG-2 может соответствовать соответствующему элементарному потоку. Каждый дескриптор расширения иерархии может предоставлять дополнительную информацию относительно соответствующего элементарного потока. Как указано выше, элементарный поток может соответствовать одному или нескольким временным подслоям или может соответствовать слою в целом. Другими словами, элементарный поток может включать в себя кодированные видеоданные одного или нескольких временных подслоев или может соответствовать слою в целом. Следовательно, дескриптор расширения иерархии может
соответствовать элементарному потоку, соответствующему одному или более временным подслоям, или может соответствовать слою в целом.
[0083] Если присутствует дескриптор расширения иерархии,
дескриптор расширения иерархии используется для определения
зависимостей элементарного потока, соответствующим элементарному
потоку. Например, дескриптор расширения иерархии,
соответствующий конкретному элементарному потоку, может указывать на несколько элементарных потоков, которые должны быть декодированы для успешного декодирования элементарного потока, соответствующего дескриптору расширения иерархии. Напротив, дескриптор иерархии способен указывать только один элементарный поток, необходимый для успешного декодирования элементарного потока, соответствующего дескриптору иерархии. Ниже, в Таблице 2-103deciens, описан синтаксис дескриптора расширения иерархии, как определено в DAM3.
Таблица 2-103deciens - дескриптор расширения иерархии HEVC
Синтакс
Кол-во битов
мнемоника
HEVC_hierarchy_extension_descriptor() {
extensiondimensionbits
bslbf
hierarchylayerindex
uimsbf
temporalid
uimsbf
nuhlayerid
uimsbf
tref present flag
bslbf
reserved
bslbf
numembeddedlayers
uimsbf
reserved
bslbf
hierarchychannel
uimsbf
for (i = 0 ; i < num_embedded_layers; i++) {
reserved
bslbf
hierarchy_ext_embedded_layer_index[i]
uimsbf
[0084] В таблице 2-103deciens, hierarchy_layer_index
представляет собой б-битовое поле, которое определяет уникальный
индекс связанного элемента программы в таблице иерархии слоя
кодирования. Индексы должны быть уникальными в пределах одного
определения программы. Для битовых видеоподпотоков видеопотоков
HEVC, соответствующих одному или нескольким профилям,
определенным в Приложении G или Н Rec. ITU Т Н.2 65 | ISO/IEC
23008-2, это индекс элемента программы, который назначается
таким образом, что порядок битового потока будет правильным,
если связанные зависящие слои битовых видеоподпотоков одной и
той же единицы доступа будут повторно собраны в порядке
возрастания hierarchy_layer_index. Таким образом,
hierarchy_layer_index дескриптора расширения иерархии
идентифицирует элементарный поток, соответствующий дескриптору
расширения иерархии.
[0085] Nuh_layer_id - это б-битовое поле, указывающее наивысший nuh_layer_id единиц NAL в элементарном потоке, связанном с этим HEVC_hierarchy_extension_descriptor().
[0086] Temporal_id - это 3-битовое поле, указывающее наивысший Temporalid единиц NAL в элементарном потоке, связанном с этим HEVC_hierarchy_extension_descriptor().
[0087] Num_embedded_layers - это б-битовое поле, указывающее количество непосредственно зависимых элементов программы, которые должны быть доступны, и присутствовать в порядке декодирования перед декодированием элементарного потока, связанного с этим HEVC_hierarchy_extension_descriptor ().
[0088] Hierarchy_ext_embedded_layer_index - это б-битовое
поле, определяющее hierarchy_layer_index элемента программы, к
которому необходимо получить доступ, и который должен
присутствовать в порядке декодирования перед декодированием
элементарного потока, связанного с этим
hierarchy_extension_descriptor. Это поле не определено, если значение hierarchy_type равно 15.
[008 9] В дополнение к дескриптору иерархии и дескрипторам расширения иерархии, транспортный поток может включать в себя дескриптор рабочей точки HEVC. Рабочие точки HEVC сигнализируются в дескрипторе рабочей точки HEVC путем указания ссылок на элементарные потоки, соответствующие слоям в рабочих точках. Как описано в DAM3, дескриптор рабочей точки HEVC предоставляет способ указания профиля и уровня для одной или нескольких рабочих точек HEVC. Целевое устройство 14 может использовать дескрипторы рабочей точки, включенные в битовый поток, для выбора одной из рабочих точек, которые должны быть декодированы и, в конечном счете, представлены (например, показаны) пользователю. Вместо того, чтобы передавать данные для всех видов или слоев в видеодекодер 30 после приема, целевое устройство 14 может отправлять в видеодекодер 30 только виды выбранной рабочей точки. Например, целевое устройство 14 может отбрасывать данные для видов, которые не будут декодироваться. Дополнительно или альтернативно, промежуточное сетевое
устройство (например, сетевой элемент, поддерживающий медиа (MANE)) может отбрасывать данные для видов или слоев, которые не соответствуют запрошенной рабочей точке (например, для лучшего использования полосы пропускания) . Целевое устройство 14 может выбирать рабочую точку на основе наивысшего качества, поддерживаемого одной из рабочих точек для битового потока и/или на основе доступной полосы пропускания сети.
[0090] Ниже, в таблице 2-103noniens, описан синтаксис дескриптора рабочей точки HEVC, как определено в DAM3.
Таблица 2-103noniens - дескриптор рабочей точки HEVC
Синтакс
Кол-во битов
мнемонике
HEVC_operationj3oint_descriptor() {
numptl
uimsbf
for ( i = 0; i < num_ptl; i++, i++ ) {
profiletierlevelinfo [i]
operationpointscount
bslbf
uimsbf
for ( i = 0; i < operationjDoints count; i++ ) {
target_ols[i]
uimsbf
ES count[i]
uimsbf
for (j = 0; j < ES count; j++ ) {
output_layer_flag[i] [j]
bslbf
prependdependencies [i] [j]
bslbf
ES_reference[i] [j]
uimsbf
ptl_ref_idx[i][j]
uimsbf
j

reserved
bslbf
avg_bit_rate_info_flag[i]
bslbf
max_bit_rate_info_flag[i]
bslbf
constant_frame_rate_info_idc[i]
uimsbf
applicable_temporal_id[i]
uimsbf
if ( constant_frame_rate_info_idc[i] > 0 ) {
reserved
bslbf
frame_rate_indicator[i]
if ( avg_bit_rate_info_flag[i] == ' Г ) {
uimsbf
avg_bit_rate[i]
uimsbf
if (max_bit_rate_info_flag[i] == ' Г ) {
max_bit_rate[i]
uimsbf
[0091] В дизайне DAM3 могут быть определенные проблемы для дескриптора рабочей точки HEVC (т. е. синтаксической структуры дескриптора рабочей точки HEVC). В следующих параграфах описываются две проблемы в текущем дизайне дескриптора рабочей точки HEVC, определенного в DAM3.
[0092] Во-первых, как показано в таблице 2-103noniens, дескриптор рабочей точки HEVC включает в себя синтаксические элементы preend_dependencies [i] [j] . Однако в DAM3 отсутствует семантика для prepend_dependencies [i][j], равных 0. Кроме того, в дизайне DAM3 возможно, что элементарный поток (например, элементарный поток, соответствующий слою) дважды включается в список элементарных потоков для целевой рабочей точки. Проблема более чем одного включения может возникнуть в любом из следующих сценариев:
1. Когда слой в явном виде сигнализируется как часть
рабочей точки, путем сигнализации его значения ES_reference [i]
[j], и в то же время он также является опорным слоем для другого
слоя, который имеет значение prepend_dependencies [i] [j] равное
2. Когда слой является опорным слоем для двух других слоев
в одной и той же рабочей точке, причем оба имеют
preend_dependencies [i][j], равные 1.
[0093] Вторая проблема в дизайне DAM3 для дескриптора рабочей точки HEVC может заключаться в том, что для рабочей точки не все слои, которые требуется декодировать видеодекодером 3 0 для рабочей точки HEVC, должны быть сигнализированны в явном виде, потому что некоторые слои (элементарные потоки) могут зависеть от других, и такая информация присутствует в другом месте (например, в дескрипторе иерархии или дескрипторе
расширения иерархии). Если значение синтаксического элемента prepend_dependencies [i] [j] равно 1, другие слои, от которых зависит j-ый слой, могут быть выведены, и поэтому они не сигнализируются в явном виде для i-й рабочей точки HEVC. Однако в рабочей точке HEVC производный слой отсутствует в цикле явных слоев (как указано в тексте между тегами " " и " в таблице 2-103noniens выше). Поэтому в настоящее время нет способа узнать значения следующих синтаксических элементов для производного слоя: output_layer_flag [i][j] и ptl_ref_idx [i] [j], хотя элементарный поток производного слоя может быть идентифицирован дескриптором иерархии и/или дескриптором расширения иерархии. Другими словами, при сигнализации слоев рабочей точки со ссылками на элементарные потоки, и несколько слоев не сигнализируются явно, а выводятся (когда значение синтаксического элемента prepend_dependencies [i][j] равно 1), такая информация, как является ли слой выходным слоем и профиль, эшелон и уровень для этих производных уровней, отсутствует.
[0094] Выходная рабочая точка в многослойном HEVC определяется на основе набора выходных слоев. Однако, знание, является ли слой выходным слоем, может потребоваться для определения соответствия в многослойном HEVC и каждый необходимый слой (то есть слой, который является либо выходным слоем, либо слой, который прямо или косвенно ссылается на выходной слой внутри рабочей точки или оба варианта) должен быть связаны с набором информации профиля, эшелона и уровня (PTL) в соответствии со спецификацией MV-HEVC/SHVC. Следовательно, может быть необходимо знать, является ли слой целевым выходным слоем. Например, может потребоваться знать значение синтаксического элемента output_layer_flag [i] [j] . Однако синтаксический элемент output_layer_flag [i] [j] также может отсутствовать в битовом потоке для производных слоев, потому что цикл "for", заключенный между тегами " " и " " в таблице 2-103noniens выше, может применяться только для слоев, сигнализируемых в явном виде.
[0095] Кроме того, многослойный HEVC по своему дизайну требует наличия информации профиля, эшелона и уровня для каждого необходимого слоя (то есть слоя, который является либо целевым выходным слоем, либо необходимым для декодирования целевого выходного слоя). В дизайне DAM3 отсутствует такая информация для производных слоев. Кроме того, для ненужного слоя (то есть слоя, который не является необходимым слоем) информация PTL не сигнализируется в соответствии с спецификацией кодирования, и поэтому в дизайне передачи транспортного потока всегда будет проблематичной сигнализация PTL для ненужных слоев, поскольку этих слоев отсутствует информация о PTL, которая должна сигнализироваться.
[0096] Ниже описываются примеры способов, которые могут
решить вышеупомянутые проблемы. Однако то что описанные ниже
способы решают вышеупомянутые проблемы не следует рассматривать
в качестве требования. Иллюстративные способы могут быть
осуществлены видеокодером 20, мультиплексором 21,
демультиплексором 29, промежуточным устройством (например, MANE) или другим устройством в качестве части создания битового потока, который в конечном итоге принимает видеодекодер 30, или могут быть осуществлены видеодекодером 3 0 или другим устройством в качестве части декодирования видеоданных для создания отображаемых изображений. Некоторые из способов могут применяться независимо, а некоторые из них могут применяться в комбинации. Кроме того, хотя настоящее раскрытие описывает дескрипторы рабочей точки HEVC и по умолчанию относится к HEVC, способы настоящего раскрытия могут быть применимы к стандартам видеокодирования, отличным от HEVC.
[0097] В соответствии с первым способом настоящего раскрытия для каждого элементарного потока (ЕБ)/слоя в рабочей точке HEVC сигнализируется флаг, чтобы указать, является ли или нет ES/слой необходимым слоем. В настоящем раскрытии, ссылки на ES/слой или слой/ ES относятся к элементарному потоку, соответствующему слою или временному подслою слоя. Следовательно, данные, идентифицирующие элементарный поток, могут использоваться для идентификации соответствующего слоя и
наоборот. Например, видеокодер 20, мультиплексор 21 или
промежуточное устройство может выдавать (например,
сигнализировать) флаг (например, necessary_layer_flag[i][k], описанный ниже) в битовом потоке для каждого элементарного потока или слоя в рабочей точке, указывая, является ли элементарный поток или слой необходимым или нет. Видеодекодер 30 может принимать такой флаг и использовать этот флаг для декодирования битового потока. Другими словами, видеодекодер 30 может декодировать рабочую точку на основе принятого флага.
[0098] В соответствии со вторым способом настоящего раскрытия семантика prepend_dependencies [i] [j] обновляется, чтобы уточнить, что включение ES/слоя в список элементарных потоков для рабочей точки будет применяться только тогда, когда ES еще нет в списке. Например, добавлена семантика prepend_dependencies [i] [j], равная 0, и поясняется, что слой/элементарный поток будет включен в список элементарных потоков для целевой рабочей точки, только если слой/элементарный поток еще отсутствует в списке.
[0099] Таким образом, в некоторых примерах устройство, такое как видеокодер 20, генерирует первый дескриптор, такой как дескриптор рабочей точки. Кроме того, устройство может генерировать второй дескриптор, такой как дескриптор иерархии или дескриптор расширения иерархии. В качестве части генерирования первого дескриптора устройство может включать в первый дескриптор первый синтаксический элемент и второй синтаксический элемент. По меньшей мере в некоторых таких примерах список элементарных потоков представляет собой список элементарных потоков, которые являются частью рабочей точки, а второй дескриптор имеет значение индекса слоя иерархии, равное значению второго синтаксического элемента. Первое значение первого синтаксического элемента указывает, что элементарный поток, указанный вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, должен быть добавлен в список элементарных потоков, и элементарный поток, указанный индексом вложенного слоя во втором дескрипторе, если он отсутствует в списке элементарных потоков, должен быть добавлен
в список элементарных потоков. Второе значение первого синтаксического элемента указывает, что элементарный поток, указанный вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, должен быть добавлен в список элементарных потоков, но не элементарный поток, указанный индексом вложенного слоя во втором дескрипторе. Устройство может включать первый дескриптор и второй дескриптор в транспортный поток.
[0100] В похожем примере устройство, такое как видеодекодер 30, принимает транспортный поток, который включает в себя первый дескриптор, второй дескриптор и множество элементарных потоков. Первый дескриптор может быть дескриптором рабочей точки видеоданных. Второй дескриптор может быть одним из: дескриптора иерархии или дескриптора расширения иерархии. Устройство может декодировать первый синтаксический элемент и второй синтаксический элемент в первом дескрипторе. По меньшей мере в некоторых таких примерах список элементарных потоков представляет собой список элементарных потоков транспортного потока, которые являются частью рабочей точки, а второй дескриптор имеет значение индекса слоя иерархии, равное значению второго синтаксического элемента. Кроме того, в таких примерах первое значение первого синтаксического элемента указывает, что: элементарный поток, указанный вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, должен быть добавлен в список элементарных потоков, при этом элементарный поток, указанный вторым синтаксическим элемент является одним из множества элементарных потоков, и элементный поток, указанный индексом вложенного слоя во втором дескрипторе, если он отсутствует в списке элементарных потоков, должен быть добавлен в список элементарных потоков, причем элементарный поток указанный индексом вложенного слоя во втором дескрипторе является одним из множества элементарных потоков. В ответ на определение, что значение первого синтаксического элемента имеет второе значение, отличающееся от первого значения, устройство может добавлять элементарный поток, указанный вторым синтаксическим элементом, если он отсутствует в списке
элементарных потоков, в список элементарных потоков, но не добавлять элементарный поток, указанный индексом вложенного слоя во втором дескрипторе, в список элементарных потоков.
[0101] В соответствии с третьим способом настоящего раскрытия, добавляется ограничение на значение ES_reference [i] [j], так что один и тот же элементарный поток не будет явно передаваться более одного раза для любой конкретной рабочей точки. Другими словами, предлагается дополнительно наложить ограничение на то, чтобы один и тот же элементарный поток не указывался явным образом более одного раза для какой-либо конкретной рабочей точки. Например, видеокодер 20 или промежуточное устройство могут быть выполнены таким образом, что один и тот же элементарный поток не будет явно сигнализироваться более одного раза.
[0102] Кроме того, настоящее раскрытие описывает несколько примеров способов, которые решают вторую проблему, описанную выше (т. е. проблему невозможности определения значения определенных синтаксических элементов для производного слоя, например, проблему отсутствия информации о флаге выходного слоя и PTL) . В некоторых таких способах решения второй проблемы предлагается сохранить функциональность вывода слоев для рабочей точки, сигнализировать недостающую информацию для производных слоев, но не сигнализировать PTL для ненужных слоев.
[0103] В первом примере способа для решения второй проблемы синтаксические элементы prepend_dependencies [i] [j] удаляются, и все слои всегда сигнализируются в явном виде.
[0104] Во втором примере способа для решения второй проблемы вводятся два цикла для слоев одной рабочей точки в дескрипторе рабочей точки HEVC. Один цикл содержит синтаксические элементы ES_reference [i][j] и синтаксические элементы prepend_dependencies [i] [j] для слоев, которые явно связаны со ссылкой на элементарный поток (ES_reference [i] [j]) . Другой цикл содержит синтаксические элементы output_layer_flag [i] [к] и синтаксические элементы ptl_ref_idx [i] [к] всех слоев. Видеокодер 20, мультиплексор 21, демультиплексор 29, видеодекодер 30, промежуточное устройство и/или другое
устройство могут реализовать эти примерные циклы для кодирования или декодирования дескриптора рабочей точки HEVC.
[0105] В одном варианте второго примера способа для решения
второй проблемы устройство может быть выполнено с возможностью
выполнения первого цикла для генерации или декодирования
множества экземпляров (например, наборов) первого
синтаксического элемента (например, ES_reference [i] [j]) в дескрипторе рабочей точки HEVC. Первый синтаксический элемент указывает значение индекса слоя иерархии, присутствующее в дескрипторе иерархии или дескрипторе расширения иерархии HEVC, которое идентифицирует элементарный поток рабочей точки. В первом цикле устройство также генерирует или декодирует несколько экземпляров второго синтаксического элемента (например, prepend_dependencies [i] [j]) . Второй синтаксический элемент указывает, элементарные потоки из каких структур должны быть включены в список элементарных потоков для рабочей точки, как части работы первого цикла. Кроме того, в этом примере устройство может выполнять второй цикл для генерации или декодирования нескольких экземпляров третьего синтаксического элемента (например, output_layer_flag [i][к]), который указывает, какой элементный поток рабочей точки является выходным. Кроме того, во втором цикле устройство может генерировать или декодировать несколько экземпляров четвертого синтаксического элемента (например, ptl_ref_idx [i][к]), который указывает индекс для определения профиля, эшелона или уровня элементарного потока рабочей точки. В некоторых случаях устройство может генерировать транспортный поток, включающий дескриптор рабочей точки HEVC или декодировать рабочую точку на основе одного или нескольких первого, второго, третьего и четвертого синтаксических элементов.
[0106] В третьем примере способа для решения второй проблемы два цикла вышеприведенного второго примера способа для решения второй проблемы могут быть объединены, при этом флаг для каждого слоя указывает, сигнализируется ли этот слой явным или неявным образом. В этом примере предполагается, что слои, полученные с помощью дескриптора иерархии или дескриптора
расширения иерархии, идентифицированного с помощью ES_reference [i][j]г образуют определенный порядок, так что слои, упорядоченные во втором цикле, могут отображать каждый из явно сигнализированных слоев на слои, как они сигнализируется или выводится в первом цикле.
[0107] Четвертый пример способа для решения второй проблемы все еще позволяет работать с помощью синтаксического элемента prepend_dependencies [i][j], но когда он применяется, то, является ли производный слой выходным слоем, определяется значением по умолчанию. Например, когда prepend_dependencies [i] [j] равно 1, устройство может сделать вывод о том, что значение синтаксического элемента output_layer_flag [i] [j] равно значению по умолчанию. Такое значение по умолчанию, например, 0 или 1, может сигнализироваться для текущей рабочей точки. Профиль, эшелон и уровень производного слоя устанавливаются таким же как для того же уровня, который ранее явно указывался в другой рабочей точке.
[0108] Чтобы не сигнализировать PTL для ненужных слоев, настоящее раскрытие предлагает сигнализировать флаг для каждого ES/слоя в рабочей точке HEVC, чтобы указать, является ли ES/слой необходимым слоем или нет. В сигнализации используется бит, который в противном случае был бы зарезервирован, поэтому никаких дополнительных служебных данных не вводится, при этом сигнализация позволяет избежать сложного процесса вывода, который в противном случае необходимо определить. Например, устройство (например, видеокодер 20, мультиплексор 21, демультиплексор 29, видеодекодер 30, промежуточное устройство или другое устройство) могут быть выполнены с возможностью определения элементарных потоков или слоев рабочей точки, определения флага (например, necessary_layer_flag[i][k], описанный ниже) для каждого элементарного потока или слоя в рабочей точке, где флаг указывает, является ли соответствующий элементарный поток или слой необходимым потоком или слоем и создает битовый поток, который включает в себя элементарные потоки и соответствующие флаги.
[0109] На фиг. 2 показана блок-схема, иллюстрирующая пример
видеокодера 20, который может реализовывать способы транспортировки видеоданных, закодированных в соответствии с расширениями стандарта видеокодирования. Видеоданные могут включать в себя несколько (например, два или более) слоев улучшения на базовый слой, где слои улучшения могут соответствовать разным размерностям масштабируемости.
[ОНО] В примере на фиг. 2, видеокодер 2 0 включает в себя память 4 9 видеоданных, блок 4 0 выбора режима, буфер 64 декодированного изображения (DPB), сумматор 50, блок 52 преобразования, блок 54 квантования и блок 56 энтропийного кодирования. Блок 4 0 выбора режима, в свою очередь, включает в себя блок 44 компенсации движения, блок 42 оценки движения, блок 4 6 внутреннего предсказания и блок 4 8 разделения. Для реконструкции видеоблока видеокодер 2 0 также включает в себя блок 58 обратного квантования, блок 60 обратного преобразования и сумматор 62.
[0111] Память 4 9 видеоданных может хранить видеоданные, подлежащие кодированию компонентами видеокодера 20. Видеоданные, хранящиеся в памяти 4 9 видеоданных, могут быть получены, например, из видеоисточника 18. DPB 64 может представлять собой память опорного кадра, которая хранит опорные видеоданные для использования при кодировании видеоданных с помощью видеокодера 20, например, в режимах интра- или интер-кодирования. Память видеоданные 4 9 и DPB 64 могут быть сформированы любым из множества запоминающих устройств, таких как динамическое оперативное запоминающее устройство (DRAM), включая синхронную DRAM (SDRAM), магниторезистивное ОЗУ (MRAM), резистивное ОЗУ (RRAM) или другое типы запоминающих устройств. Память 4 9 видеоданных и DPB 64 могут быть обеспечены одним и тем же запоминающим устройством или отдельными запоминающими устройствами. В различных примерах память 4 9 видеоданных может быть встроенной на микросхеме с другими компонентами видеокодера 2 0 или может быть выполнена отдельно от этих компонентов.
[0112] Во время процесса кодирования видеокодер 20 принимает видеокадр или фрагмент, подлежащий кодированию. Кадр или фрагмент можно разделить на несколько видеоблоков. Блок 42
оценки движения и блок 4 4 компенсации движения выполняют кодирование с внешним предсказанием принятого видеоблока относительно одного или нескольких блоков в одном или более опорных кадрах для обеспечения временного предсказания. Блок 4 6 внутреннего предсказания может альтернативно выполнять кодирование с внутренним предсказанием принятого видеоблока относительно одного или более соседних блоков в одном и том же кадре или фрагменте в качестве блока, подлежащего кодированию для обеспечения пространственного предсказания. Видеокодер 2 0 может выполнять несколько проходов кодирования, например, для выбора соответствующего режима кодирования для каждого блока видеоданных.
[0113] Кроме того, блок 48 разделения может разделять блоки видеоданных на подблоки, например, на основе оценки предыдущих схем разделения в предыдущих проходах кодирования. Например, блок 4 8 разделения может сначала разбивать кадр или фрагмент на LCU и разбивать каждый из LCU на суб-CU на основе анализа скорость-искажения (например, оптимизации соотношения скорость-искажения) . Блок 4 0 выбора режима может дополнительно создавать структуру данных квадранта, указывающую на разделение LCU на суб-CU. Линейные CU квадрантов могут включать в себя один или несколько PU и один или несколько TU.
[0114] Блок 4 0 выбора режима может выбирать один из режимов кодирования, интра- или интер-, например, на основе результатов оценки ошибки, и может предоставлять результирующий блок с внешним или внутренним предсказанием в сумматор 50 для генерации данных остаточного блока и в сумматор 62 для реконструкции кодированный блок для использования в опорном кадре. Блок 4 0 выбора режима также предоставляет синтаксические элементы, такие как векторы движения, индикаторы интра режима, информацию о разделении и другую подобную синтаксическую информацию, в блок 5 6 энтропийного кодирования.
[0115] Оценка движения, выполняемая блоком 42 оценки движения, представляет собой процесс генерации векторов движения, которые оценивают движение для видеоблоков. Блок 42 оценки движения может вычислять вектор движения для PU
видеоблока в фрагменте с внутренним кодированием, сравнивая положение PU и положение предсказанного блока опорного изображения. Опорное изображение может быть выбрано из первого списка опорных изображений (RefPicList0) или второго списка опорных изображений (RefPicList1), каждый из которых идентифицирует один или несколько опорных изображений, сохраненных в DPB 64. Блок 42 оценки движения отправляет вычисленный вектор движения в блок 5 6 энтропийного кодирования и блок 4 4 компенсации движения. Компенсация движения, выполняемая блоком 44 компенсации движения, может включать в себя извлечение или создание предсказанного блока на основе вектора движения, определенного блоком 42 оценки движения. Сумматор 50 формирует остаточный видеоблок путем вычитания значений пикселей предсказанного блока из значений пикселей текущего видеоблока, в отношении которого выполняется кодирование, формируя значения разности пикселей, как обсуждается ниже. Блок 4 0 выбора режима может также генерировать синтаксические элементы, связанные с видеоблоками, и фрагмент видео для использования видеодекодером 30 при декодировании видеоблоков видеофрагмента.
[0116] Блок 4 6 внутреннего прогнозирования может выполнить внутреннее предсказание для текущего блока в качестве альтернативы внешнему предсказанию, выполняемому блоком 42 оценки движения и блоком 4 4 компенсации движения, как описано выше. После выбора для блока режима внутреннего предсказания, блок 4 6 внутреннего предсказания может предоставлять информацию, указывающую выбранный режим внутреннего предсказания для блока 5 6 энтропийного кодирования. Блок 5 6 энтропийного кодирования может кодировать информацию, указывающую выбранный режим внутреннего предсказания.
[0117] Видеокодер 20 может формировать остаточный видеоблок путем вычитания данных прогнозирования из блока 4 0 выбора режима из исходного видеоблока, в отношении которого выполняется кодирование. Сумматор 50 представляет компонент или компоненты, которые выполняют указанную операцию вычитания. Блок 52 обработки преобразования может применять преобразование, такое как дискретное косинусное преобразование (DCT) или концептуально
подобное преобразование, к остаточному блоку, создавая видео-
блок, содержащий значения коэффициента остаточного
преобразования. Блок 54 квантования может квантовать
коэффициенты преобразования для дальнейшего уменьшения скорости
передачи битов. После квантования блок 56 энтропийного
кодирования может выполнять энтропийное кодирование
синтаксических элементов, указывающих квантованные коэффициенты
преобразования. Например, блок 56 энтропийного кодирования может
выполнять контекстно-зависимое адаптивное кодирование с
переменной длиной кодового слова (CAVLC), контекстно-адаптивное
двоичное арифметическое кодирование (САВАС), контекстно-
адаптивное бинарное арифметическое кодирование на основе
синтаксиса (SBAC), энтропийное кодирование секторов вероятности
(PIPE) или другое энтропийное кодирование. После выполнения энтропийного кодирования блоком 5 6 энтропийного кодирования кодированный битовый поток может быть передан другому устройству
(например, видеодекодеру 30) или архивирован для последующей передачи или извлечения.
[0118] Блок 58 обратного квантования и блок 60 обратного преобразования применяют обратное квантование и обратное преобразование, соответственно, для восстановления остаточного блока в пиксельном домене, например, для последующего использования в качестве опорного блока. Блок 44 компенсации движения может вычислять опорный блок, добавляя остаточный блок в предсказанный блок одного из кадров DPB 64. Сумматор 62 может добавить восстановленный остаточный блок в предсказанный блок с компенсацией движения, созданный модулем 4 4 компенсации движения, для создания восстановленного видеоблока для хранения в DPB 64. Восстановленный видеоблок может использоваться блоком 42 оценки движения и блоком 44 компенсации движения в качестве опорного блока для внешнего кодирования блока в последующем видеокадре.
[0119] В некоторых примерах видеокодер 2 0 по фиг. 2 генерирует первый дескриптор, такой как дескриптор рабочей точки. Кроме того, видеокодер 20 может генерировать второй дескриптор, такой как дескриптор иерархии или дескриптор
расширения иерархии. В качестве части генерирования первого
дескриптора видеокодер 2 0 может включать первый синтаксический
элемент и второй синтаксический элемент в первый дескриптор. По
меньшей мере в некоторых таких примерах список элементарных
потоков представляет собой список элементарных потоков, которые
являются частью рабочей точки, а второй дескриптор имеет
значение индекса слоя иерархии, равное значению второго
синтаксического элемента. Первое значение первого
синтаксического элемента указывает, что элементарный поток, указанный вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, должен быть добавлен в список элементарных потоков, а элементарный поток, указанный индексом вложенного слоя во втором дескрипторе, если он отсутствует в списке элементарных потоков, должен быть добавлен в список элементарных потоков. Второе значение первого синтаксического элемента указывает, что элементарный поток, указанный вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, должен быть добавлен в список элементарных потоков, но не элементарный поток, указанный индексом вложенного слоя во втором дескрипторе. Видеокодер 2 0 может включать первый дескриптор и второй дескриптор в транспортный поток.
[0120] На Фиг. 3 представлена блок-схема, иллюстрирующая пример видеодекодера 30, который может реализовывать способы транспортировки видеоданных, закодированных в соответствии с расширениями стандарта видеокодирования. В примере на фиг. 3, видеодекодер 30 включает в себя память 69 видеоданных, блок 70 энтропийного декодирования, блок 72 компенсации движения, блок 74 внутреннего предсказания, блок 7 6 обратного квантования, блок 78 обратного преобразования, буфер 82 декодированного изображения (DPB) и сумматор 80.
[0121] Память 69 видеоданных может хранить кодированные видеоданные, такие как кодированный битовый видеопоток, которые должны быть декодированы компонентами видеодекодера 30. Кодированные видеоданные, хранящиеся в памяти 69 видеоданных, могут быть получены, например, из машиночитаемого носителя 16, например, из локального видеоисточника, такого как камера,
посредством проводной или беспроводной пкркдачи видеоданных или путем доступа к физическим носителям данных. Память 69 видеоданных может формировать буфер кодированного изображения (СРВ), который хранит кодированные видеоданные из кодированного битового видеопотока. DPB 82 может представлять собой память опорного кадра, которая хранит ссылки на видеоданные для использования при декодировании видеоданных видеодекодером 30, например, в режимах внешним или внутренним кодированием. Память
69 видеоданных и DPB 82 может быть сформирована любым из
множества запоминающих устройств, таких как динамическое
оперативное запоминающее устройство (DRAM), включая синхронную
DRAM (SDRAM), магниторезистивное ОЗУ (MRAM), резистивное ОЗУ
(RRAM) или другое типы запоминеющих устройств. Память 69
видеоданных и DPB 82 могут быть обеспечены одним и тем же
запоминающим устройством или отдельными запоминающими
устройствами. В различных примерах память 69 видеоданных может
быть встроенной на кристалле с другими компонентами
видеодекодера 3 0 или может быть выполнена отдельно от этих
компонентов.
[0122] Память 69 видеоданных может принимать и сохранять кодированные видеоданные (например, единицы NAL) битового потока. Блок 7 0 энтропийного декодирования может принимать кодированные видеоданные (например, единицы NAL) из памяти 69 видеоданных и может анализировать блоки NAL для декодирования синтаксических элементов. Во время процесса декодирования видеодекодер 3 0 принимает кодированный битовый видеопоток, который представляет видеоблоки кодированного видеофрагмента и связанные с ним синтаксические элементы из видеокодера 20. Блок
70 энтропийного декодирования видеодекодера 30 декодирует
битовый поток для генерации квантованных коэффициентов,
индикаторов режима внутреннего предсказания и других
синтаксических элементов.
[0123] Блок 74 внутреннего предсказания может генерировать данные предсказания для видеоблока текущего видеофрагмента на основе сигнализированного режима внутреннего предсказания и данных из ранее декодированных блоков текущего кадра или
изображения. Блок 72 компенсации движения создает предсказанные блоки для видеоблока текущего видеофрагмента на основе векторов движения и других синтаксических элементов, принятых из блока 7 0 энтропийного декодирования. Предсказанные блоки могут быть получены из одного из опорных изображений в одном из списков опроных изображений. Блок 72 компенсации движения может определять информацию предсказания для видеоблока с использованием информации предсказания и может генерировать предсказанные блоки для текущего декодируемого видеоблока.
[0124] Блок 7 6 обратного квантования может выполнять обратное квантование квантованных коэффициентов преобразования, предоставляемых в битовом потоке, и декодированных блоком 7 0 энтропийного декодирования. Блок 7 8 обратного преобразования может применять обратное преобразование, например обратное DCT, обратное целочисленное преобразование или концептуально подобный процесс обратного преобразования, к коэффициентам преобразования для создания остаточных блоков в пиксельном домене.
[0125] После того, как блок 72 компенсации движения генерирует предсказанный блок для текущего видеоблока на основе векторов движения и других синтаксических элементов, видеодекодер 3 0 может сформировать декодированный видеоблок путем суммирования остаточных блоков из блока 7 8 обратного преобразования с соответствующими предсказанными блоками, генерируемых блоком 72 компенсации движения. Сумматор 8 0 представляет компонент или компоненты, которые выполняют эту операцию суммирования. Декодированные видеоблоки в данном кадре или изображении затем сохраняются в DPB 82, который хранит опорные изображения, используемые для последующей компенсации движения. DPB 82 также хранит декодированное видео для последующего представления на устройстве отображения, таком как устройство 32 отображения по фиг. 1.
[0126] В некоторых примерах видеодекодер 30 принимает транспортный поток, который включает в себя первый дескриптор, второй дескриптор и множество элементарных потоков. Первый дескриптор может быть дескриптором рабочей точки видеоданных. Второй дескриптор может быть одним из: дескриптор иерархии или
дескриптор расширения иерархии. Видеодекодер 3 0 может декодировать первый синтаксический элемент и второй синтаксический элемент в первом дескрипторе. По меньшей мере в некоторых таких примерах список элементарных потоков представляет собой список элементарных потоков транспортного потока, которые являются частью рабочей точки, а второй дескриптор имеет значение индекса слоя иерархии, равное значению второго синтаксического элемента. Кроме того, в таких примерах первое значение первого синтаксического элемента указывает, что: элементарный поток, указанный вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, должен быть добавлен в список элементарных потоков, при этом элементарный поток, указанный вторым синтаксическим элементом является одним из множества элементарных потоков, а элементный поток, указанный индексом вложенного слоя во втором дескрипторе, если он отсутствует в списке элементарных потоков, должен быть добавлен в список элементарных потоков, причем указанный элементарный поток, указанный индексом вложенного слоя во втором дескрипторе, является одним из множества элементарных потоков. В ответ на определение первого синтаксического элемента как имеющего второе значение, отличающееся от первого значения, видеодекодер 30 может добавить элементарный поток, указанный вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, в список элементарных потоков, но при этом в список элементарных потоков не добавляется элементарный поток, указанный индексом вложенного слоя во втором дескрипторе.
[0127] Фиг.4 представляет собой блок-схему
последовательности операций, иллюстрирующую пример работы устройства, генерирующего транспортный поток, в соответствии со способом настоящего раскрытия. Блок-схемы последовательности операций этого раскрытия представлены в качестве примеров работы. Другие примеры работы в соответствии со способами настоящего раскрытия могут включать в себя большее, меньшее количество или другие операции или могут выполнять такие операции в отличающемся порядке или параллельно. В примере на фиг. 4, устройство может быть устройством-источником 12 или
другим типом устройства для обработки видеоданных. Последовательность операций по фиг. 4 может реализовать решение второй проблемы, описанной выше (т. е. проблему невозможности определения значений некоторых синтаксических элементов для производного слоя).
[0128] В примере на фиг. 4 устройство генерирует первый дескриптор (например, дескриптор рабочей точки HEVC) (150). Первый дескриптор представляет собой дескриптор рабочей точки. Список элементарных потоков (например, OperationPointESList [i]) представляет собой список элементарных потоков транспортного потока, которые являются частью рабочей точки. Устройство, принимающее или обрабатывающее поток, может генерировать список элементарных потоков путем добавления элементарных потоков в список элементарных потоков. Кроме того, устройство генерирует второй дескриптор (152). Второй дескриптор является одним из: дескриптор иерархии или дескриптор расширения иерархии. Устройство может включать первый дескриптор и второй дескриптор в транспортный поток (154) . Например, устройство может выводить последовательность битов, представляющих первый дескриптор, и второй дескриптор в транспортный поток.
[0129] Кроме того, в примере на фиг. 4, как часть генерации
первого дескриптора, устройство включает первый синтаксический
элемент (например, prepend_dependencies [i][j]) в первый
дескриптор (156). Кроме того, в качестве части генерирования
первого дескриптора устройство включает второй синтаксический
элемент (например, ES_reference [i] [j]) во вторй дескриптор
(158) . Второй дескриптор имеет значение индекса слоя иерархии
(например, hierarchy_layer_index), равное значению второго
синтаксического элемента. Когда устройство включает
синтаксический элемент в дескриптор, устройство может хранить значение синтаксического элемента в памяти таким образом, чтобы это значение было частью дескриптора, например, как часть структуры данных.
[0130] В примере на фиг. 4 первое значение (например, 1) первого синтаксического элемента указывает, что элементарный поток, указанный вторым синтаксическим элементом, если он
отсутствует в списке элементарных потоков, должен быть добавлен в список элементарных потоков. Кроме того, первое значение первого синтаксического элемента указывает, что элементарный поток, обозначенный индексом вложенного слоя (например, hierarchy_embedded_layer_index или hierarchy_ext_embedded_layer_index) во втором дескрипторе, если он отсутствует в списке элементарных потоков, должен быть добавлен в список элементарных потоков. Второе значение первого синтаксического элемента указывает, что элементарный поток, указанный вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, должен быть добавлен в список элементарных потоков, но не элементарный поток, указанный индексом вложенного слоя во втором дескрипторе.
[0131] На фиг. 5 представлена блок-схема последовательности операций, иллюстрирующая пример работы устройства, которое принимает транспортный поток, в соответствии со способом настоящего раскрытия. В примере на фиг. 5, устройством может быть целевое устройство 14, устройство MANE или другое устройство для обработки видеоданных. Последовательность операций по фиг. 5 может реализовать решение второй проблемы, описанной выше (т.е. проблема неспособности определения значений некоторых синтаксических элементов для производного слоя).
[0132] В примере на фиг. 5 устройство принимает транспортный поток, который включает в себя первый дескриптор (например, дескриптор рабочей точки HEVC), второй дескриптор и множество элементарных потоков (2 00). Первый дескриптор является дескриптором рабочей точки. Второй дескриптор является одним из: дескриптор иерархии или дескриптор расширения иерархии. В некоторых примерах транспортный поток принимает входной интерфейс 2 8.
[0133] Кроме того, устройство может декодировать первый синтаксический элемент (например, prepend_dependencies [i][j]) в первом дескрипторе (202) . Другими словами, устройство может определять значение первого синтаксического элемента. Примеры способов декодирования синтаксического элемента могут включать в себя синтаксическое вычленение синтаксического элемента из
последовательности битов, применение алгоритма энтропийного
декодирования или какой-либо иной способ получения значения
синтаксического элемента. Кроме того, устройство может
декодировать второй, другой синтаксический элемент (например,
ES_reference [i] [j]) в первом дескрипторе (204) . Другими
словами, устройство может определять значение второго
синтаксического элемента, например, путем синтаксического
вычленения второго синтаксического элемента из битов первого
дескриптора. Список элементарных потоков (например,
OperationPointESList [i]) представляет собой список элементарных потоков транспортного потока, которые являются частью рабочей точки. Второй дескриптор имеет значение индекса слоя иерархии
(например, hierarchy_layer_index), равное значению второго синтаксического элемента.
[0134] В примере на фиг. 5, первое значение (например, 1) первого синтаксического элемента указывает, что в список элементарных потоков должен быть добавлен элементный поток, указанный вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков. Элементарный поток, указанный вторым синтаксическим элементом, может быть одним из множества элементарных потоков, принятых устройством. Кроме того, первое значение первого синтаксического элемента указывает, что элементарный поток, обозначенный индексом вложенного слоя
(например, hierarchy_embedded_layer_index или
hierarchy_ext_embedded_layer_index) во втором дескрипторе, если он отсутствует в списке элементарных потоков, должен быть добавлен в список элементарных потоков. Элементарный поток, обозначенный индексом вложенного слоя во втором дескрипторе, может быть одним из множества элементарных потоков, принятых устройством. Второе значение (например, 0) первого синтаксического элемента указывает, что элементарный поток, указанный вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, должен быть добавлен в список элементарных потоков, но не элементарный поток, указанный индексом вложенного слоя во втором дескрипторе.
[0135] Таким образом, в некоторых случаях, например, в
примере на фиг. 5, устройство может определить, что первый синтаксический элемент имеет второе значение (20 6) . В ответ на определение первого синтаксического элемента как имеющего второе значение, устройство может добавить элементарный поток, указанный вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, в список элементарных потоков, но при этом в список элементарных потоков не добавляется элементарный поток, указанный индексом вложенного слоя во втором дескрипторе (208) . Например, устройство может добавлять элементарный поток в список, сохраняя ссылку на элементарный поток в местоположении в памяти способом, который указывает, что элементарный поток находится в списке, например, добавляя ссылку на элементарный поток в связанный список или массив.
[0136] Хотя это не показано в примере на фиг. 5, устройство может отбрасывать данные для слоев, которые не соответствуют рабочей точке. Например, устройство может отбрасывать транспортные пакеты элементарных потоков, соответствующие слоям, которые не соответствуют рабочей точке. Устройство может пересылать оставшиеся данные (например, транспортные пакеты элементарных потоков, соответствующие слоям рабочей точки) в другое устройство или видеодекодер, например видеодекодер 30.
[0137] Следующий текст описывает некоторые примеры способов реализации аспектов, описанных выше. Детали реализации описаны в терминах изменений в DAM3. В текстовых изменениях этих реализаций добавляется или изменяется текст, заключенный в теги " " и " " (например, вставленный или измененный текст ), в то время как удаленный текст заключен в теги " " и " " (например, удаленный текст ).
[0138] В соответствии с первым примером реализации способа, таблица 1 и ее синтаксические элементы описывают подробные модификации DAM3 для первого, второго и третьего примеров для решения первой проблемы, описанной выше, и второго примера для решения второй проблемы, описанной выше.
Таблица 1
Синтакс
Кол-во битов
мнемоника
HEVC_operation_point_descriptor() {
reserved
2
bslbf
numptl
6
uimsbf
for (i = 0: i < num_ptl; i++, i++) {
profiletierlevelinfo [i]
bslbf
operationpointscount
uimsbf
for ( i = 0; i < operation_points_count; i++) {
target_ols[i]
uimsbf
ES count [i]
uimsbf
for (j = 0; j < ES_count [i] ; j++
output_layer_fiag [i] [j ]
K/dlt>
bslbf
prepend_dependencies[i] [j]
bslbf
ES_reference[i][j]
uimsbf
reserved[i] [j]
l
bslbf
ptl_ref_idx [i] [j ]
8
uimsbf


for ( k = 0; k < NumESinOP[i]; k++ )
necessary_layer_flag[i] [к] output layer flag[i] [к] ptl ref idx[i] [k]

reserved
avgbitrateinfoflag [i] max_bit_rate_info_flag[i] constant_frame_rate_info_idc[i] applicable_temporal_id[i]
if ( constant_frame_rate_info_idc[i] > 0 ) { reserved
frame_rate_indicator[i]
if ( avg_bit_rate_info_flag[i] == 'Г ) { avg_bit_rate[i]
if (max_bit_rate_info_flag[i] == ' Г ) { max_bit_rate[i]
K/ins> l 6
1 1 1 2 3
24 bslbf bslbf uimsbf
bslbf
bslbf
bslbf uimsbf uimsbf
bslbf uimsbf
uimsbf
uimsbf
[0139] Следующий текст указывает на модификации семантики в соответствии с первым примером реализации.
Num_ptl - это поле длинной 8-bit 6-bit
указывает количество структур профиля, эшелона и уровня,
сигнализированных в этом дескрипторе. nycTb
OperationPointESList [i] будет списком ES, которые являются частью i-ой рабочей точки HEVC.

Prepend_dependencies [i] [j] - этот флаг, если установлен в 1 yKa3biBaeT определяет, что ES, указанный ES_reference [i] [j], если он отсутствует в OperationPointESList [i], следует добавить в OperationPointESList [i] и что ES указаное с помощью синтаксического элемента hierarchy embedded layer index в дескрипторе иерархии
или всех ESs , указанных с помощью синтаксического
элемента hierarchy_ext_embedded_layer_index в дескрипторе
расширения иерархии HEVC с индексом слоя иерархии, указанным в
следующем синтаксическом элементе: ES_reference [i] [j] ,
если он отсутствует в OperationPointESList [i],
должен
быть добавлен к элементарным потокам для целевой рабочей
точки
в OperationPointLayerList [i] непосредственно
перед ES сигнализируемый ES_reference [i] [j] в
порядке возрастания значения их связанного
hierarchy_embedded_layer_index или
hierarchy_ext_embedded_layer_index. Если значение
prepend_dependencies [i] [j] равно 0, в OperationPointESList [i] добавляется только ES, обозначенная ES_reference [i][j], если он отсутствует OperationPointESList [i]. ES, указанный ES_reference [i] [m] , помещается раньше (то есть с более меньшим индексом) в OperationPointESList [i], чем ES, обозначенный ES_reference [i] [n], если m меньше n.

ПРИМЕЧАНИЕ. Порядок ES в OperationPointESList [i] должен быть в порядке возрастания их значений hierarchy_layer_index.
ES_reference [i][j] - это б-битовое поле указывает значение индекса слоя иерархии, присутствующее в дескрипторе иерархии или дескрипторе расширения иерархии HEVC, которое идентифицирует элементарный поток. Значение ES_reference [i] [m] и ES_reference [i] [n] для m, не равного n, не должно быть одинаковым.
Пусть NumESinOP [i] будет количеством ES в OperationPointESList [i] после того, как все ES, которые являются частью i-ой рабочей точки HEVC, были включены в OperationPointESList [i] (т. е. после разбора ES_reference [i] [ES_count [i] - 1]).
necessary_layer_flag[i][k] - этот флаг, если установлен в '1', указывает, что k-й ES в OperationPointESList [i] является необходимым слоем, как определено в 23008-2, i-ой рабочей точки. Этот флаг, равный "0", указывает, что k-й ES в OperationPointESList [i] не является необходимым слоем, как
определено в 23008-2, i-й рабочей точки.

Output_layer_flag [i] [k] - этот флаг, если установлен в '1', указывает, что k ES в OperationPointESList [i] < Dlt> i-й рабочей точки HEVC, определенной в этом дескрипторе
, является выходным слоем. В противном случае, если установлено значение "0", это означает, что к ES в слое OperationPointESList [i] i-й рабочей точки HEVC, определенной в этом дескриптор не является выходным. Если значение necessary_layer_flag[i][к] равно 0, значение output_layer_flag [i][k] игнорируется.
Ptl_ref_idx [i][k] - 8-битовое б битовое поле, которое указывает индекс х элемента profile_ tier_level_infо[х] profile_tier_level_array, который применяется к k -му ES в OperationPointESList [i] i-й рабочей точки HEVC, определенной в этом дескрипторе . Если значение necessary_layer_flag[i][к] равно 0, значение ptl_ref_idx [i][k] игнорируется.
[0140] Фиг. 6 представляет собой блок-схему
последовательности операций, иллюстрирующую пример работы устройства для генерирования транспортного потока в соответствии с примером способа по настоящему раскрытию. Например, последовательность операций по фиг. 6 может выполняться в соответствии с первым примером реализации способа по настоящему раскрытию, который обсуждался выше (т.е. способу, описанному выше в отношении Таблицы 1). Последовательность операций по фиг. 6 может выполняться устройством-источником 12 или другим устройством. Последовательность операций по фиг. 6 может быть расширенной версией последовательность операций по фиг. 4.
[0141] В примере на фиг. 6, устройство может генерировать набор вторых дескрипторов (250). Каждый соответствующий второй дескриптор набора вторых дескрипторов может быть одним из: дескриптора иерархии или дескриптора расширения иерархии. Набор вторых дескрипторов может включать в себя "второй дескриптор", описанный в отношении фиг. 4.
[0142] Кроме того, устройство может генерировать первый
дескриптор (например, дескриптор рабочей точки HEVC) (252) . В качестве части генерирования первого дескриптора устройство может включать синтаксический элемент счетчика элементарных потоков (например, ES_count) в первый дескриптор (254) . Синтаксический элемент счетчика элементарных потоков может указывать на количество элементарных потоков.
[0143] Кроме того, в качестве части генерирования первого дескриптора устройство может включать первый синтаксический элемент (например, prepend_dependencies [i] [j]) в первый дескриптор (256). Кроме того, в качестве части генерирования первого дескриптора устройство может включать набор вторых синтаксических элементов (например, ES_reference [i] [j]) в первый дескриптор (258) . Количество первых синтаксических элементов в наборе первых синтаксических элементов и количество вторых синтаксических элементов в наборе вторых синтаксических элементов равно значению синтаксического элемента счетчика элементарных потоков. Набор первых синтаксических элементов может включать в себя "первый синтаксический элемент", упомянутый со ссылкой на фиг. 4. Набор вторых синтаксических элементов может включать в себя "второй синтаксический элемент", упомянутый со ссылкой на фиг. 4.
[0144] В некоторых примерах набор вторых синтаксических элементов ограничен тем, что никакие два вторых синтаксических элемента набора вторых синтаксических элементов не имеют одинаковые значения. Другими словами, как указано в изменениях в DAM3 выше, значение ES_reference [i] [m] и ES_reference [i] [n] для m, не равного n, не должно быть одинаковым.
[0145] Для каждого соответствующего первого синтаксического элемента набора первых синтаксических элементов соответствующий второй синтаксический элемент множества вторых синтаксических элементов относится к соответствующему первому синтаксическому элементу. Например, первый синтаксический элемент и второй синтаксический элемент с одинаковыми значениями i и j соответствуют друг другу. Соответствующий второй дескриптор набора вторых дескрипторов имеет значение индекса слоя иерархии (например, hierarchy_layer_id) , равное значению соответствующего
второго синтаксического элемента.
[014 6] В примере, показанном на фиг.6, первое значение (например, 1) соответствующего первого синтаксического элемента определяет, что элементарный поток, указанный соответствующим вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, должен быть добавлен в список элементарных потоков, а элементарный поток, указанный индексом вложенного слоя в соответствующем втором дескрипторе, когда он отсутствует в списке элементарных потоков рабочей точки, должен быть добавлен в список элементарных потоков. Второе значение (например, 0) соответствующего первого синтаксического элемента определяет, что соответствующий элементарный поток, указанный соответствующим вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, должен быть добавлен в список элементарных потоков, но не соответствующий элементарный поток, указанный индексом вложенного слоя в соответствующем втором дескрипторе.
[0147] Кроме того, в примере на фиг. 6, устройство может включать набор синтаксических элементов флага необходимого слоя (например, necessary_layer_flag[i][к]) в первый дескриптор (260) . Каждый соответствующий синтаксический элемент в наборе синтаксических элементов флага требуемого слоя может относится к соответствующему элементарному потоку в списке элементарных потоков. Каждый соответствующий синтаксический элемент набора синтаксических элементов флага необходимого слоя указывает, является ли элементарный поток, относящийся к соответствующему синтаксическому элементу набора синтаксических элементов флага требуемого слоя, необходимым слоем. Необходимый слой может быть определен как слой в выходной рабочей точке, связанной с набором выходных слоев, причем слой является выходным слоем набора выходных слоев или опорным слоем выходного слоя набора выходных слоев.
[014 8] Устройство также может включать набор синтаксических элементов флага выходного слоя (например, output_layer_flag [i] [к]) в первый дескриптор (262) . Каждый соответствующий синтаксический элемент в наборе выходных синтаксических
элементов может относится к соответствующему элементарному потоку в списке элементарных потоков. Каждый соответствующий синтаксический элемент набора синтаксических элементов флага выходного слоя может указывать, является ли элементарный поток, относящийся к соответствующему синтаксическому элементу набора синтаксических элементов флага выходного слоя, выходным.
[014 9] Кроме того, устройство может включать набор синтаксических элементов индекса опорных PTL (например, ptl_ref_idx [i][к]) в первый дескриптор (264). Каждый соответствующий синтаксический элемент в наборе синтаксических элементов индекса опорных PTL может относится к соответствующему элементарному потоку в списке элементарных потоков. Каждый соответствующий синтаксический элемент в наборе синтаксических элементов индекса опорных PTL может указывать индекс для определения профиля, эшелона, или уровня элементарного потока, относящегося к соответствующему синтаксическому элементу набора синтаксических элементов индекса опорных PTL.
[0150] В примере на фиг. б, устройство может включать первый дескриптор и второй дескриптор в транспортный поток (266) . Например, устройство может генерировать набор транспортных пакетов, содержащих первый дескриптор и второй дескриптор. Транспортный поток может дополнительно включать в себя один или несколько элементарных потоков. В других примерах одна или несколько операций фиг. 6 могут быть опущены.
[0151] На фиг.7 показана блок-схема последовательности операций, иллюстрирующая пример работы устройства, которое принимает транспортный поток в соответствии с примером способа по настоящему раскрытию. Например, последовательность операций по фиг. 7 может соответствовать первому примеру реализации способа, рассмотренному выше. Последовательность операций по фиг. 7 может быть расширенной версией последовательности операций по фиг. 5.
[0152] В примере на фиг. 7 устройство принимает транспортный поток, который включает в себя первый дескриптор (например, дескриптор рабочей точки HEVC), набор вторых дескрипторов и множество элементарных потоков (300) . Набор
вторых дескрипторов может включать в себя "второй дескриптор", упомянутый выше в отношении фиг. 5. Каждый соответствующий второй дескриптор набора вторых дескрипторов может быть одним из: дескриптора иерархии или дескриптора расширения иерархии.
[0153] Кроме того, в примере на фиг. 7, устройство может декодировать синтаксический элемент счетчика элементарных потоков (например, ES_count, который может упоминаться в формуле изобретения как "третий синтаксический элемент") в первом дескрипторе. Синтаксический элемент счетчика элементарных потоков указывает на количество элементарных потоков.
[0154] Кроме того, в примере на фиг. 7, устройство может декодировать набор первых синтаксических элементов (например, prepend_dependencies [i] [j]) в первом дескрипторе (302) . Кроме того, в примере на фиг. 7, устройство может декодировать набор вторых синтаксических элементов (например, ES_reference [i] [j]) в первом дескрипторе (304) . Количество первых синтаксических элементов в наборе первых синтаксических элементов и количество вторых синтаксических элементов в наборе вторых синтаксических элементов равно значению третьего синтаксического элемента. Набор первых синтаксических элементов может включать в себя "первый синтаксический элемент", упомянутый в отношении фиг. 5. Набор вторых синтаксических элементов может включать в себя "второй синтаксический элемент", упомянутый в отношении фиг. 5.
[0155] В некоторых примерах набор вторых синтаксических элементов ограничен тем, что никакие два вторых синтаксических элемента из набора вторых синтаксических элементов не имеют одинакового значения. Другими словами, как указано в изменениях в DAM3 выше, значение ES_reference [i] [m] и ES_reference [i] [n] для m, не равного n, не должно быть одинаковым.
[0156] Для каждого соответствующего первого синтаксического элемента набора первых синтаксических элементов соответствующий второй синтаксический элемент набора вторых синтаксических элементов относится к соответствующему первому синтаксическому элементу. Например, первый синтаксический элемент и второй синтаксический элемент с одинаковыми значениями i и j соответствуют друг другу. Соответствующий второй дескриптор
набора вторых дескрипторов имеет значение индекса слоя иерархиии (например, hierarchy_layer_id), равное значению соответствующего второго синтаксического элемента.
[0157] Как показано на фиг.7, первое значение (например, 1) соответствующего первого синтаксического элемента определяет, что элементарный поток, указанный соответствующим вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, должен быть добавлен в список элементарных потоков, а элементарный поток, указанный индексом вложенного слоя в соответствующем втором дескрипторе, если он отсутствует в списке элементарных потоков рабочей точки, должен быть добавлен в список элементарных потоков. Элементарный поток, указанный соответствующим вторым синтаксическим элементом, может быть одним из множества элементарных потоков. Второе значение (например, 0) соответствующего первого синтаксического элемента определяет, что соответствующий элементарный поток, указанный соответствующим вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, должен быть добавлен в список элементарных потоков, но не соответствующий элементарный поток, указанный индексом вложенного слоя в соответствующем втором дескрипторе. Элементарный поток, обозначенный индексом вложенного слоя в соответствующем втором дескрипторе, может быть одним из множества элементарных потоков.
[0158] Для каждого соответствующего первого синтаксического элемента набора первых синтаксических элементов набор из одного или более индексов вложенного слоя включен в соответствующий второй дескриптор. Кроме того, в примере на фиг. 7, на основе соответствующего первого синтаксического элемента, имеющего первое значение, устройство может добавлять в порядке возрастания значения набора индексов вложенного слоя элементарные потоки, указанные набором индексов вложенного слоя, в список элементарных потоков непосредственно перед элементарным потоком, указанным соответствующим вторым синтаксическим элементом (308). Другими словами, в ответ на определение того, что соответствующий первый синтаксический элемент имеет второе значение, устройство может добавить соответствующий элементарный
поток, указанный соответствующим вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, в список элементарных потоков, но не добавляет соответствующий элементарный поток, указанный индексом вложенного слоя в соответствующем втором дескрипторе, в список элементарных потоков.
[0159] В примере на фиг. 7, устройство может декодировать набор синтаксических элементов флага необходимого слоя (например, necessary_layer_flag[i][к]) в первом дескрипторе (310) . Каждый соответствующий синтаксический элемент в наборе синтаксических элементов флага необходимого слоя может относится к соответствующему элементарному потоку в списке элементарных потоков. Каждый соответствующий синтаксический элемент набора синтаксических элементов флага необходимого слоя может указывать, является ли элементарный поток, относящийся к соответствующему синтаксическому элементу набора синтаксических элементов флага необходимого слоя, необходимым слоем. Как описано выше, необходимый слой определяется как слой в выходной рабочей точке, связанной с набором выходных слоев, причем слой является выходным слоем набора выходных слоев или опорным слоем выходного слоя набора выходных слоев.
[0160] Кроме того, в примере на фиг. 7, устройство может декодировать набор синтаксических элементов флага выходного слоя (например, output_layer_flag [i] [к]) в первом дескрипторе (312) . Каждый соответствующий синтаксический элемент в наборе синтаксических элементов флага выходного слоя может относится к соответствующему элементарному потоку в списке элементарных потоков. Каждый соответствующий синтаксический элемент набора синтаксических элементов флага выходного слоя указывает, является ли элементарный поток, относящийся к соответствующему синтаксическому элементу набора синтаксических элементов флага выходного слоя, выходным слоем.
[0161] Кроме того, устройство может декодировать набор синтаксических элементов индекса опорных PTL в первом дескрипторе (314). Каждый соответствующий синтаксический элемент в наборе синтаксических элементов индекса опорных PTL может
относится к соответствующему элементарному потоку в списке элементарных потоков. Каждый соответствующий синтаксический элемент набора синтаксических элементов индекса опорных PTL может указывать индекс для определения профиля, эшелона, или уровня элементарного потока, относящегося к соответствующему синтаксическому элементу набора синтаксических элементов индекса опорных PTL.
[0162] В примере на фиг. 7, устройство может отбрасывать данные для слоев, которые не являются частью рабочей точки (316) . Другими словами, устройство может отбрасывать данные для слоев, которые не соответствуют рабочей точке. В других примерах одна или несколько операций по фиг. 7 могут быть опущены.
[0163] В соответствии со вторым примером реализации способа, таблица 2 и ее синтаксические элементы описывают подробные модификации DAM3 для третьего примера способа для решения второй проблемы, описанной выше.
Таблица 2
Синтакс
Кол-во битов
Мнемоника
HEVC_operationj)oint_descriptor() { reserved numptl
for ( i = 0; i < num_ptl; i++, i++ ) { profiletierlevelinfo [i]
operationpointscount
for ( i = 0; i < operationjDoints count; i++
target_ols[i] ES count[i]
for(j = 0;j < ES_count [i] ; j++ ) {
output_layer_flag[i] [j] ptl_ref_idx[i] [j] es_present_flag[i] [j] if (esj3resent_flag[i][j]) {
reserved[i] [j]

2 6
8 8
6 l
bslbf uimsbf
bslbf
uimsbf
uimsbf uimsbf
bslbf
uimsbf bslbf
bslbf
> 0){
prepend_dependencies[i][j] ES_reference[i] [j]
ptl ref idx[i] [j]
reserved
avg_bit_rate_info_flag[i] max bit rate info flag[i] constant_frame_rate_info_idc[i] applicable_temporal_id[i]
if ( constant_frame_rate_info_idc[i]
reserved
frame_rate_indicator[i]
if ( avg_bit_rate_info_flag[i] == ' Г
1 6
8
1 1 1 2 3
12 bslbf uimsbf
<
dlt> uimsbf

bslbf
bslbf
bslbf uimsbf uimsbf
bslbf uimsbf
avg_bit_rate[i]
uimsbf
max_bit_rate[i]
uimsbf
[0164] Следующий текст указывает на модификации семантики в соответствии со вторым примером реализации способа.
es_present_flag [i] [j] указывает, существуют ли ES_reference [i] [j] и prepend_dependencies [i] [j] для j-го слоя i-ой рабочей точки. Если es_present_flag [i] [j] равен 0, значение ES_reference [i] [j] выводится на основе информации в дескрипторе иерархии или дескрипторе расширения иерархии ранее сигнализированного слоя в i-й рабочей точке со значениями es present flag, равными 1, и значениями prepend dependencies,
равными 1. Если es_present_flag [i] [j] равен 0, значение prepend_dependencies [i] [j] выводится как 0. Значение es_present_flag [i][0] не должно быть равно 0.

Prepend_dependencies [i] [j] - этот флаг, если установлен в
1, указывает, что ES, сигнализируемый синтаксическим элементом
hierarchy_embedded_layer_index в дескрипторе иерархии или все
ES, сигнализируемые синтаксическим элементом
hierarchy_ext_embedded_layer_index в дескрипторе расширения иерархии HEVC, со значением индекса слоя иерархии, указанным в следующем синтаксическом элементе ES_reference [i] [j] следует добавить в список элементарных потоков для целевой рабочей точки до после ES, сигнализируемого ES_reference [i][j].
ПРИМЕЧАНИЕ. При заполнении списка элементарных потоков для целевой рабочей точки он должен быть перестроен в порядке возрастания их значений hierarchy_layer_index.
Следует отметить, что решения для проблем необходимого слоя и возможного дублирования включения ES в список ES для последовательности операций HEVC могут быть применены и к этой альтернативе.
[0165] В соответствии с третьим примером реализации способа, таблица 3 и ее синтаксические элементы описывают подробные модификации DAM3 для четвертого примера способа для решения второй проблемы, описанной выше.

0){
target_ols[i]
reserved[i] ES count[i]
default_output_ref_layer[i]
for(j = 0;j reserved
avg bit rate info flag[i] max bit rate info flag[i] constant_frame_rate_info_idc[i] applicable_temporal_id[i]
if ( constant_frame_rate_info_idc[i] >
reserved
frame_rate_indicator[i]
if ( avg_bit_rate_info_flag[i] =='!')
l 6 l
1 1 6 8
1 1 1 2 3
12 uimsbf
bslbf uimsbf
bslbf
bslbf bslbf uimsbf uimsbf
bslbf bslbf bslbf uimsbf uimsbf
bslbf uimsbf
avg_bit_rate[i]
uimsbf
if (max_bit_rate_info_flag[i] =='!')
max_bit_rate[i]
uimsbf
[0166] Следующий текст указывает на модификации соответствии с третьим примером реализации способа.
семантики
Prepend_dependencies [i] [j] - этот флаг, если установлен в
1, указывает, что ES, сигнализируемый синтаксическим элементом
hierarchy_embedded_layer_index в дескрипторе иерархии или все
ES, указанные синтаксическим элементом
hierarchy_ext_embedded_layer_index в дескрипторе расширения иерархии HEVC, со значением индекса слоя иерархии, указанным в следующем синтаксическом элементе ES_reference [i] [j], следует добавить в список элементарных потоков для целевой рабочей точки до ES, сигнализируемой ES_reference [i][j].
Если prepend_dependencies [i][j] равно 1, для каждого элементарного потока esA, который сигнализируется синтаксическим элементом hierarchy_embedded_layer_index в дескрипторе иерархии или всех элементарных потоков, сигнализированными синтаксическим элементом hierarchy_ext_embedded_layer_index в дескрипторе расширения иерархии HEVC с индексом слоя иерархии, указанным в следующем синтаксическом элементе ES_reference [i] [j], применяются следующие правила:
• Если default_output_ref_layer [i] равен 0, слой, связанный с esA, не является выходным слоем i-ой рабочей точки HEVC; в противном случае слой, связанный с esA, является выходным слоем i-ой рабочей точки HEVC.
• Должна быть, по крайней мере, одна рабочая точка HEVC орХ
с индексом между 0 и i-1, которая также содержала esA. Если для
орХ имеется более одного кандидата, то используется тот, который
имеет самый большой индекс. Индекс элемента
profile_tier_level_inf о [х] profile_tier_level_array, который
применяется к esA в i-й рабочей точке HEVC, представляет собой
набор, равный индексу элемента profile_tier_level_infо [х]
profile_tier_level_array, который применяется к esA в орХ.

[0167] Кроме того, чтобы избежать ненужного усложнения, prepend_dependencies может сигнализироваться на уровне рабочей точки, а не на уровне слоя. К этой альтернативе могут быть также применены решения проблем необходимого слоя и возможности дублирования включения ES в список ES для последовательности операций HEVC.
Prepend_dependencies [i] - этот флаг, если он установлен в
1, указывает, что ES сигнализируемый синтаксическим элементом
hierarchy_embedded_layer_index в дескрипторе иерархии или все
ES, сигнализируемые синтаксическим элементом
hierarchy_ext_embedded_layer_index в дескрипторе расширения иерархии HEVC, с индексом слоя иерархии, указанным в следующем синтаксическом элементе ES_reference [i] [j], следует добавить в список элементарных потоков для целевой рабочей точки до ES сигнализируемого ES_reference [i] [j] для каждого элементарного потока, указанного ES_reference [i][j] i-й рабочей точки.
Если prepend_dependencies [i] равен 1, для каждого элементарного потока esA, который сигнализируется синтаксическим элементом hierarchy_embedded_layer_index в дескрипторе иерархии или всех элементарных потоков, сигнализированными синтаксическим элементом hierarchy_ext_embedded_layer_index в дескрипторе расширения иерархии HEVC, с индексом соля иерархии, указанным в следующем синтаксическом элементе ES_reference [i] [j], применяются следующие правила:
• Если default_output_ref_layer [i] равен 0, слой, связанный с esA, не является выходным слоем i-ой рабочей точки HEVC; в противном случае слой, связанный с esA, является выходным слоем i-ой рабочей точки HEVC.
• Должна быть, по крайней мере, одна рабочая точка HEVC орХ
с индексом между 0 и i-1, которая также содержала esA. Если для
орХ имеется более одного кандидата, то используется тот, который
имеет самый большой индекс. Индекс элемента
profile_tier_level_inf о [х] profile_tier_level_array, который
применяется к esA в i-й рабочей точке HEVC, представляет собой
набор, равный индексу элемента profile_tier_level_infо [х]
profile_tier_level_array, который применяется к esA в орХ.

[0168] В дополнение к проблеме в DAM3, описанной выше, когда многослойный битовый поток HEVC содержит один или несколько вспомогательных слоев, отсутствует механизм для описания вспомогательного улучшения в дескрипторе иерархии или
дескрипторе расширения иерархии. Вспомогательное изображение представляет собой изображение, которое не оказывает нормального влияния на процесс декодирования первичных изображений и с величиной nuh_layer_id такой, что Auxld [nuh_layer_id] больше 0. Вспомогательный слой представляет сбой слой, содержащий вспомогательные изображения. Для решения этой проблемы предлагается включить описание для вспомогательной иерархии в Таблицу 2-50 и для вспомогательного улучшения в Таблицу 2-103.
[0169] Для обработки вспомогательных слоев многослойный HEVC поддерживает наличие вспомогательных слоев в битовом потоке. Вспомогательный слой может содержать, например, альфа-канал или представление глубины. В текущем тексте ISO/IEC 13818-l:201x/DAM 3 Carriage of Layered HEVC не указан механизм описания вспомогательных слоев. Передача вспомогательных слоев SHVC/MV-HEVC в элементарном потоке с конкретным типом потока (например, 0х1Е, то есть вспомогательный видеопоток, как определено в ISO/IEC 23002-3) не является достаточным решением, поскольку до сих пор нет способа описать иерархию этого элементарного потока и других элементарных потоков, особенно потока, с которым вспомогательный слой связан в программе. Кроме того, текущая модель буфера L-HEVC не обрабатывает типы потоков, отличные от 0x27 ~ 0х2А, поэтому это решение (с использованием определенного типа потока) может потребовать дополнительной модификации модели буфера.
[017 0] Чтобы преодолеть вышеуказанную проблему, настоящее раскрытие описывает включение типа вспомогательной иерархии в таблицу 2-50 и включение вспомогательного улучшения в таблицу 2103undeciens, приведенную ниже. С этими модификациями нет необходимости назначать конкретный тип потока для вспомогательных слоев, отсутствует необходимость обновлять буферный режим, а вспомогательный слой может передаваться в элементарном потоке с типом потока в диапазоне от 0x27 ~ 0х2А.
[0171] Предлагаемое изменение текста к Таблице 2-50 выглядит следующим образом:
Замените в таблице 2-50 описание значений 8 , 10
Предлагаемое изменение текста в таблице 2-103undeciens: Таблица 2-103undeciens - семантика битов расширения размерности
Индекс битов
Описание
Многовидовое улучшение
Пространственная масштабируемость, включая SNR
Улучшение глубины
Временное улучшение
4
< ins Дополнительное улучшение
5-15
Зарезервировано
[0172] Следующие параграфы предоставляют дополнительные примеры этого раскрытия.
[0173] В некоторых примерах видеодекодер 3 0 может быть выполнен с возможностью приема первого синтаксического элемента (например, prepend_dependencies [i] [j]) для рабочей точки,
причем первое значение синтаксического элемента определяет, что элементарный поток, указанный вторым синтаксическим элементом (например, ES_reference [i][j]), если он отсутствует списке рабочих точек (например, OperationPointESList [i]), должен быть добавлен в список рабочих точек и второе значение синтаксического элемента определяет, что только элементный поток, указанный вторым синтаксическим элементом, если он еще не представлен в списке операций, должен быть добавлен в список рабочих точек, и с возможностью декодирования рабочей точки на основе принятого первого синтаксического элемента.
[0174] В некоторых примерах видеодекодер 3 0 может быть выполнен с возможностью осуществления первого цикла для декодирования нескольких экземпляров первого синтаксического элемента (например, ES_reference [i] [j]), который указывает значение индекса слоя иерархии, присутствующее в дескрипторе иерархии или дескрипторе расширения иерархии HEVC, который идентифицирует элементарный поток рабочей точки и/или с возможностью декодирования нескольких экземпляров второго синтаксического элемента (например, prepend_dependencies [i][j]), который указывает, из каких структур элементарные потоки должны быть включены в список элементарных потоков для рабочей точки, как часть работы первого цикла, выполненяя второй цикл для декодирования нескольких экземпляров третьего синтаксического элемента (например, output_layer_flag [i] [k]), который указывает, какой элементный поток рабочей точки представляет собой выходной слой и/или с возможностью декодирования нескольких экземпляров четвертого синтаксического элемента (например, ptl_ref_idx [i] [к]), который указывает индекс для определения профиля, эшелона или уровня элементарного потока рабочей точки и возможностью декодирования рабочей точки на основе одного или нескольких первого, второго, третьего и четвертого синтаксических элементов.
[0175] В некоторых примерах видеокодер 2 0 или промежуточное устройство (например, MANE) может быть выполнено с возможностью реализации примеров, описанных в этом раскрытии. Например, видеокодер 2 0 или промежуточное устройство (или их комбинация)
могут быть выполнены с возможностью определения элементарных потоков или слоев рабочей точки, определения флага (например, necessary_layer_flag[i][к], описанный ниже) для каждого элементарного потока или слоя в рабочей точке, причем флаг указывает, является ли соответствующий элементарный поток или слой необходимым потоком или слоем и создает поток битов, который включает в себя элементарные потоки и соответствующие флаги.
[017 6] В одном примере видеокодер 2 0 или промежуточное устройство (или их комбинация) могут быть выполнены с возможностью определения первого синтаксического элемента
(например, prepend_dependencies [i] [j]) для рабочей точки, причем первое значение синтаксического элемента определяет, что элементарный поток, указанный вторым синтаксическим элементом
(например, ES_reference [i] [j]), если он отсутствует в списке рабочих точек (например, OperationPointESList [i]), должен быть добавлен в список рабочих точек и второе значение синтаксического элемента указывает, что в список рабочих точек следует добавить только элементарный поток, указанный вторым синтаксическим элементом, если он отсутствует в списке операций, и с возможностью создать битовый поток, который включает в себя информацию о рабочей точке, включая определенный первый синтаксический элемент.
[0177] В одном примере видеокодер 2 0 или промежуточное устройство (или комбинация из указанных двух устройств) могут быть выполнены с возможностью осуществления первого цикла для определения нескольких экземпляров первого синтаксического элемента (например, ES_reference [i] [j]) который указывает значение индекса слоя иерархи, присутствующее в дескрипторе иерархии или дескрипторе расширения иерархии HEVC, который идентифицирует элементарный поток рабочей точки и/или для определения нескольких экземпляров второго синтаксического элемента (например, prepend_dependencies [i][j]), который указывает, из каких структур элементарные потоки должны быть включены в список элементарных потоков для рабочей точки, в качестве части работы первого цикла, выполняя второй цикл для
определения нескольких экземпляров третьего синтаксического элемента (например, output_layer_flag [i] [к]), который указывает, какой элементарный поток рабочей точки является выходным слоем и/или определяет несколько экземпляров четвертого синтаксического элемента (например, ptl_ref_idx [i][к]), который указывает индекс для определения профиля, эшелона или уровня элементарного потока рабочей точки и с возможностью создания битового потока, который включает в себя один или несколько из первого, второго, третьего и четвертого синтаксических элементов для рабочей точки.
[017 8] Следует отметить, что в зависимости от примера некоторые действия или события любого из описанных здесь способов могут быть выполнены в другой последовательности, могут быть добавлены, объединены или полностью опущены (например, не все описанные действия или события необходимы для осуществления этих способов). Более того, в некоторых примерах действия или события могут выполняться одновременно, например, посредством многопоточной обработки, обработки прерываний или использования нескольких процессоров, а не последовательно.
[017 9] В одном или нескольких примерах описанные функции могут быть реализованы с помощью аппаратного обеспечения, программного обеспечения, встроенного программного обеспечения или любой их комбинации. При реализации в виде программного обеспечения, функции могут храниться или передаваться в виде одной или нескольких инструкций или кода на машиночитаемом носителе и выполняться аппаратным процессором. Машиночитаемые носители могут включать в себя машиночитаемый носитель данных, который соответствует материальному средству, такому как носитель для хранения данных, или средствам связи, включая любой носитель, который облегчает передачу компьютерной программы из одного места в другое, например, согласно протоколу связи. Таким образом, машиночитаемый носитель обычно может соответствовать (1) материальному машиночитаемому носителю данных, который не является временным, или (2) среде связи, такой как сигнал или несущая волна. Носителями данных могут быть любые доступные носители, к которым можно получить доступ одним или несколькими
компьютерами или одним или несколькими процессорами для извлечения инструкций, кодов и/или структур данных для реализации способов, описанных в настоящем раскрытии. Компьютерный программный продукт может включать в себя машиночитаемый носитель.
[0180] В качестве примера, а не ограничения, такой машиночитаемый носитель данных может содержать RAM, ROM, EEPROM, CD-ROM или другое хранилище на оптических дисках, хранилище на магнитных дисках или другие магнитные запоминающие устройства, флэш-память или любые другие носители, которые можно использовать для хранения программного кода в виде инструкций или структур данных и доступ к которому может получить компьютер. Кроме того, любое соединение правомерно называть машиночитаемым носителем. Например, если инструкции передаются с веб-сайта, сервера или другого удаленного источника с использованием коаксиального кабеля, оптоволоконного кабеля, витой пары, цифровой абонентской линии (DSL) или беспроводных технологий, таких как инфракрасные, радио и микроволновые, тогда коаксиальный кабель, волоконно-оптический кабель, витая пара, DSL или беспроводные технологии, такие как инфракрасные, радио и микроволновые, включены в определение носителя. Однако следует понимать, что машиночитаемые носители данных и носители данных не включают в себя соединения, несущие волны, сигналы или другие преходящие носители, относятся к непереходным материальным носителям. Термин диск, используемый в настоящем документе, включает компакт-диск (CD) , лазерный диск, оптический диск, цифровой универсальный диск (DVD), гибкий диск и диск Blu-ray, где магнитные диски обычно воспроизводят данные с помощю магнитных устройств, в то время как оптические диски воспроизводят данные с помощью лазеров. Комбинации вышеизложенного также должны быть включены в объем машиночитаемых носителей.
[0181] Инструкции могут выполняться одним или несколькими процессорами, такими как один или несколько цифровых сигнальных процессоров (DSP), микропроцессоры общего назначения, специализированные интегральные схемы (ASIC), программируемые
логические массивы (FPGA), или другие эквивалентные интегрированные или дискретные логические схемы. Соответственно, термин "процессор", используемый здесь, может относиться к любой из вышеперечисленных структур или любой другой структуре, подходящей для реализации описанных здесь способов. Кроме того, в некоторых аспектах описанная здесь функциональность может быть предоставлена в рамках специализированных аппаратных и/или программных модулей, выполненных с возможностью кодирования и декодирования, или встроенных в комбинированный кодек. Кроме того, способы могут быть полностью реализованы в одной или нескольких схемах или логических элементах.
[0182] Способы настоящего раскрытия могут быть реализованы в самых разных устройствах или устройствах, включая беспроводную гарнитуру, интегральную схему (1С) или набор микросхем. Различные компоненты, модули или устройства описаны в этом раскрытии, чтобы подчеркнуть функциональные аспекты устройств, выполненных с возможностью осуществления раскрытых способов, но необязательно требуют реализации различными аппаратными блоками. Скорее, как описано выше, различные блоки могут быть объединены в аппаратный блок кодека или снабжены набором взаимодействующих аппаратных блоков, включая один или несколько процессоров, как описано выше, в сочетании с подходящим программным обеспечением и/или встроенным программным обеспечением.
[0183] Были описаны различные примеры. Эти и другие примеры находятся в рамках следующей формулы изобретения.
ФОРМУЛА ИЗОБРЕТЕНИЯ
1. Способ обработки видеоданных, содержащий:
прием транспортного потока, который включает в себя первый дескриптор, второй дескриптор, и множество элементарных потоков, причем первый дескриптор представляет собой дескриптор рабочей точки видеоданных, второй дескриптор представляет собой либо дескриптор иерархии, либо дескриптор расширения иерархии;
декодирование первого синтаксического элемента и второго синтаксического элемента в первом дескрипторе,
причем:
список элементарных потоков представляет собой список элементарных потоков транспортного потока, которые являются частью рабочей точки,
второй дескриптор имеет значение индекса слоя иерархии, равное значению второго синтаксического элемента,
первое значение первого синтаксического элемента определяет, что:
элементарный поток, указываемый вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, при этом элементарный поток, указываемый вторым синтаксическим элементом, является одним из упомянутого множества элементарных потоков, и
элементарный поток, указываемый индексом вложенного слоя во втором дескрипторе, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, при этом элементарный поток, указываемый индексом вложенного слоя во втором дескрипторе, является одним из упомянутого множества элементарных потоков, и
в ответ на определение, что первый синтаксический элемент имеет второе значение, отличное от упомянутого первого значения, добавляют в список элементарных потоков элементарный поток, указываемый вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, при этом не выполняется добавление в список элементарных потоков элементарного потока, указываемого индексом вложенного слоя во втором дескрипторе.
2. Способ по п. 1, дополнительно содержащий:
прием набора вторых дескрипторов в транспортном потоке, причем набор вторых дескрипторов включает в себя упомянутый второй дескриптор, при этом каждый соответствующий второй дескриптор набора вторых дескрипторов представляет собой либо дескриптор иерархии, либо дескриптор расширения иерархии;
декодирование третьего синтаксического элемента в первом дескрипторе, причем третий синтаксический элемент указывает количество элементарных потоков;
декодирование набора первых синтаксических элементов в первом дескрипторе; и
декодирование набора вторых синтаксических элементов в первом дескрипторе, причем:
количество первых синтаксических элементов в наборе первых синтаксических элементов и количество вторых синтаксических элементов в наборе вторых синтаксических элементов равно значению третьего синтаксического элемента,
набор первых синтаксических элементов включает в себя упомянутый первый синтаксический элемент,
набор вторых синтаксических элементов включает в себя упомянутый второй синтаксический элемент,
для каждого соответствующего первого синтаксического элемента набора первых синтаксических элементов:
соответствующий второй синтаксический элемент набора вторых синтаксических элементов относится к соответствующему первому синтаксическому элементу,
соответствующий второй дескриптор набора вторых дескрипторов имеет значение индекса слоя иерархии, равное значению упомянутого соответствующего второго синтаксического элемента,
первое значение соответствующего первого синтаксического элемента определяет, что:
элементарный поток, указываемый соответствующим вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, при этом элементарный поток, указываемый соответствующим вторым синтаксическим элементом, является одним
из упомянутого множества элементарных потоков, и
элементарный поток, указываемый индексом вложенного слоя в соответствующем втором дескрипторе, если он отсутствует в списке элементарных потоков рабочей точки, следует добавить в список элементарных потоков, при этом элементарный поток, указываемый индексом вложенного слоя в соответствующем втором дескрипторе, является одним из упомянутого множества элементарных потоков, и
в ответ на определение, что соответствующий первый синтаксический элемент имеет второе значение, добавляют в список элементарных потоков соответствующий элементарный поток, указываемый соответствующим вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, при этом не выполняется добавление в список элементарных потоков соответствующего элементарного потока, указываемого индексом вложенного слоя в соответствующем втором дескрипторе.
3. Способ по п.2, дополнительно содержащий:
для каждого соответствующего первого синтаксического элемента набора первых синтаксических элементов:
набор из одного или более индексов вложенного слоя включен в соответствующий второй дескриптор, и
основываясь на соответствующем первом синтаксическом элементе, имеющем первое значение, добавляют, в порядке увеличения значения набора индексов вложенного слоя, элементарные потоки, указываемые набором индексов вложенного слоя, в список элементарных потоков непосредственно перед элементарным потоком, указываемым соответствующим вторым синтаксическим элементом.
4. Способ по п.1, дополнительно содержащий:
декодирование набора синтаксических элементов в первом
дескрипторе, при этом каждый соответствующий синтаксический
элемент в наборе синтаксических элементов относится к
соответствующему элементарному потоку в списке элементарных
потоков, при этом каждый соответствующий синтаксический элемент
набора синтаксических элементов указывает, является ли
элементарный поток, соответствующий соответствующему
синтаксическому элементу набора синтаксических элементов,
необходимым слоем,
причем необходимый слой определен как слой в выходной рабочей точке, связанной с набором выходных слоев, при этом упомянутый слой представляет собой выходной слой набора выходных слоев или опорный слой выходного слоя набора выходных слоев.
5. Способ по п.1, дополнительно содержащий:
декодирование первого набора синтаксических элементов в первом дескрипторе, при этом каждый соответствующий синтаксический элемент в первом наборе синтаксических элементов относится к соответствующему элементарному потоку в списке элементарных потоков, каждый соответствующий синтаксический элемент первого набора синтаксических элементов указывает является ли элементарный поток, относящийся к соответствующему синтаксическому элементу первого набора синтаксических элементов, выходным слоем; и
декодирование второго набора синтаксических элементов в первом дескрипторе, при этом каждый соответствующий синтаксический элемент во втором наборе синтаксических элементов относится к соответствующему элементарному потоку в списке элементарных потоков, при этом каждый соответствующий синтаксический элемент второго набора синтаксических элементов указывает индекс для определения профиля, эшелона, или уровня элементарного потока, относящегося к соответствующему синтаксическому элементу второго набора синтаксических элементов.
6. Способ по п.1, дополнительно содержащий:
прием набора вторых дескрипторов в транспортном потоке, при этом набор вторых дескрипторов включает в себя упомянутый второй дескриптор, при этом каждый соответствующий второй дескриптор набора вторых дескрипторов представляет собой либо дескриптор иерархии, либо дескриптор расширения иерархии; и
декодирование набора вторых синтаксических элементов в первом дескрипторе, причем:
набор вторых синтаксических элементов включает в себя упомянутый второй синтаксический элемент,
при этом каждый соответствующий второй синтаксический
элемент набора вторых синтаксических элементов указывает значение индекса слоя иерархии, присутствующего в дескрипторе набора вторых дескрипторов, и
набор вторых синтаксических элементов ограничен таким образом, чтобы любые два вторых синтаксических элемента набора вторых синтаксических элементов не принимали одинаковые значения.
7. Способ по п.1 дополнительно содержащий отбрасывание
данных для слоев, которые не являются частью рабочей точки.
8. Устройство для обработки видеоданных, содержащее:
входной интерфейс выполненный с возможностью приема
информации, включающей в себя транспортный поток, который включает в себя первый дескриптор, второй дескриптор, и множество элементарных потоков, причем первый дескриптор представляет собой дескриптор рабочей точки видеоданных, второй дескриптор представляет собой либо дескриптор иерархии, либо дескриптор расширения иерархии; и
один или более процессоров, выполненных с возможностью: декодирования первого синтаксического элемента и второго синтаксического элемента в первом дескрипторе, причем:
список элементарных потоков представляет собой список элементарных потоков транспортного потока, которые являются частью рабочей точки,
второй дескриптор имеет значение индекса слоя иерархии, равное значению второго синтаксического элемента,
первое значение первого синтаксического элемента определяет, что:
элементарный поток, указываемый вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, при этом элементарный поток, указываемый вторым синтаксическим элементом, является одним из упомянутого множества элементарных потоков, и
элементарный поток, указываемый индексом вложенного слоя во втором дескрипторе, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, при
этом элементарный поток, указываемый индексом вложенного слоя во втором дескрипторе, является одним из упомянутого множества элементарных потоков, и
в ответ на определение, что первый синтаксический элемент имеет второе значение, отличное от упомянутого первого значения, добавления в список элементарных потоков элементарного потока, указываемого вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, при этом не выполняется добавление в список элементарных потоков элементарного потока, указываемого индексом вложенного слоя во втором дескрипторе.
9. Устройство по п. 8, в котором упомянутые один или более процессоров выполнены с возможностью:
приема набора вторых дескрипторов в транспортном потоке, причем набор вторых дескрипторов включает в себя упомянутый второй дескриптор, при этом каждый соответствующий второй дескриптор набора вторых дескрипторов представляет собой либо дескриптор иерархии, либо дескриптор расширения иерархии;
декодирования третьего синтаксического элемента в первом дескрипторе, причем третий синтаксический элемент указывает количество элементарных потоков;
декодирования набора первых синтаксических элементов в первом дескрипторе; и
декодирования набора вторых синтаксических элементов в первом дескрипторе, причем:
количество первых синтаксических элементов в наборе первых синтаксических элементов и количество вторых синтаксических элементов в наборе вторых синтаксических элементов равно значению третьего синтаксического элемента,
набор первых синтаксических элементов включает в себя упомянутый первый синтаксический элемент,
набор вторых синтаксических элементов включает в себя упомянутый второй синтаксический элемент,
для каждого соответствующего первого синтаксического элемента набора первых синтаксических элементов:
соответствующий второй синтаксический элемент набора вторых
синтаксических элементов относится к соответствующему первому синтаксическому элементу,
соответствующий второй дескриптор набора вторых дескрипторов имеет значение индекса слоя иерархии равное значению упомянутого соответствующего второго синтаксического элемента,
первое значение соответствующего первого синтаксического элемента определяет, что:
элементарный поток, указываемый соответствующим вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, при этом элементарный поток, указываемый соответствующим вторым синтаксическим элементом, является одним из упомянутого множества элементарных потоков, и
элементарный поток, указываемый индексом вложенного слоя в соответствующем втором дескрипторе, если он отсутствует в списке элементарных потоков рабочей точки, следует добавить в список элементарных потоков, при этом элементарный поток, указываемый индексом вложенного слоя в соответствующем втором дескрипторе, является одним из упомянутого множества элементарных потоков, и
в ответ на определение, что соответствующий первый синтаксический элемент имеет второе значение, добавляют в список элементарных потоков соответствующий элементарный поток, указываемый соответствующим вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, при этом не выполняется добавление в список элементарных потоков соответствующего элементарного потока, указываемого индексом вложенного слоя в соответствующем втором дескрипторе.
10. Устройство по п.9, в котором
для каждого соответствующего первого синтаксического элемента набора первых синтаксических элементов:
набор из одного или более индексов вложенного слоя включен в соответствующий второй дескриптор, и
упомянутые один или более процессоров выполнены таким образом, что, основываясь на соответствующем первом синтаксическом элементе, имеющем первое значение, упомянутые
один или более процессоров добавляют, в порядке увеличения значения набора индексов вложенного слоя, элементарные потоки, указываемые набором индексов вложенного слоя, в список элементарных потоков непосредственно перед элементарным потоком, указываемым соответствующим вторым синтаксическим элементом.
11. Устройство по п. 8, в котором упомянутые один или более процессоров выполнены с возможностью:
декодирования набора синтаксических элементов в первом
дескрипторе, при этом каждый соответствующий синтаксический
элемент в наборе синтаксических элементов относится к
соответствующему элементарному потоку в списке элементарных
потоков, при этом каждый соответствующий синтаксический элемент
набора синтаксических элементов указывает, является ли
элементарный поток, соответствующий соответствующему
синтаксическому элементу набора синтаксических элементов, необходимым слоем,
причем необходимый слой определен как слой в выходной рабочей точке, связанной с набором выходных слоев, при этом упомянутый слой представляет собой выходной слой набора выходных слоев или опорный слой выходного слоя набора выходных слоев.
12. Устройство по п. 8, в котором упомянутые один или более процессоров выполнены с возможностью:
декодирования первого набора синтаксических элементов в
первом дескрипторе, при этом каждый соответствующий
синтаксический элемент в первом наборе синтаксических элементов
относится к соответствующему элементарному потоку в списке
элементарных потоков, причем каждый соответствующий
синтаксический элемент первого набора синтаксических элементов указывает является ли элементарный поток, относящийся к соответствующему синтаксическому элементу первого набора синтаксических элементов, выходным слоем; и
декодирования второго набора синтаксических элементов в первом дескрипторе, при этом каждый соответствующий синтаксический элемент во втором наборе синтаксических элементов относится к соответствующему элементарному потоку в списке элементарных потоков, при этом каждый соответствующий
синтаксический элемент второго набора синтаксических элементов указывает индекс для определения профиля, эшелона, или уровня элементарного потока, относящегося к соответствующему синтаксическому элементу второго набора синтаксических элементов.
13. Устройство по п. 8, в котором упомянутые один или более процессоров выполнены с возможностью:
приема набора вторых дескрипторов в транспортном потоке, при этом набор вторых дескрипторов включает в себя упомянутый второй дескриптор, каждый соответствующий второй дескриптор набора вторых дескрипторов представляет собой либо дескриптор иерархии, либо дескриптор расширения иерархии; и
декодирования набора вторых синтаксических элементов в первом дескрипторе, причем:
набор вторых синтаксических элементов включает в себя упомянутый второй синтаксический элемент,
при этом каждый соответствующий второй синтаксический элемент набора вторых синтаксических элементов указывает значение индекса слоя иерархии, присутствующего в дескрипторе набора вторых дескрипторов, и
набор вторых синтаксических элементов ограничен таким образом, чтобы любые два вторых синтаксических элемента набора вторых синтаксических элементов не принимали одинаковые значения.
14. Устройство по п. 8 в котором упомянутые один или более процессоров дополнительно выполнены с возможностью отбрасывания данных для слоев, которые не являются частью рабочей точки.
15. Устройство для обработки видеоданных, содержащее:
средство для приема транспортного потока, который включает
в себя первый дескриптор, второй дескриптор, и множество элементарных потоков, причем первый дескриптор представляет собой дескриптор рабочей точки видеоданных, второй дескриптор представляет собой либо дескриптор иерархии, либо дескриптор расширения иерархии;
средство для декодирования первого синтаксического элемента и второго синтаксического элемента в первом дескрипторе,
причем:
список элементарных потоков представляет собой список элементарных потоков транспортного потока, которые являются частью рабочей точки,
второй дескриптор имеет значение индекса слоя иерархии, равное значению второго синтаксического элемента,
первое значение первого синтаксического элемента определяет, что:
элементарный поток, указываемый вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, при этом элементарный поток, указываемый вторым синтаксическим элементом, является одним из упомянутого множества элементарных потоков, и
элементарный поток, указываемый индексом вложенного слоя во втором дескрипторе, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, при этом элементарный поток, указываемый индексом вложенного слоя во втором дескрипторе, является одним из упомянутого множества элементарных потоков, и
средство для добавления, в ответ на определение, что первый синтаксический элемент имеет второе значение, отличное от упомянутого первого значения, в список элементарных потоков элементарного потока, указываемого вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, при этом не выполняется добавление в список элементарных потоков элементарного потока, указываемого индексом вложенного слоя во втором дескрипторе.
16. Устройство по п. 15, дополнительно содержащее:
средство для приема набора вторых дескрипторов в транспортном потоке, причем набор вторых дескрипторов включает в себя упомянутый второй дескриптор, при этом каждый соответствующий второй дескриптор набора вторых дескрипторов представляет собой либо дескриптор иерархии, либо дескриптор расширения иерархии;
средство для декодирования третьего синтаксического элемента в первом дескрипторе, причем третий синтаксический
элемент указывает количество элементарных потоков;
средство для декодирования набора первых синтаксических элементов в первом дескрипторе; и
средство для декодирования набора вторых синтаксических элементов в первом дескрипторе, причем:
количество первых синтаксических элементов в наборе первых синтаксических элементов и количество вторых синтаксических элементов в наборе вторых синтаксических элементов равно значению третьего синтаксического элемента,
набор первых синтаксических элементов включает в себя упомянутый первый синтаксический элемент,
набор вторых синтаксических элементов включает в себя упомянутый второй синтаксический элемент,
для каждого соответствующего первого синтаксического элемента набора первых синтаксических элементов:
соответствующий второй синтаксический элемент набора вторых синтаксических элементов относится к соответствующему первому синтаксическому элементу,
соответствующий второй дескриптор набора вторых дескрипторов имеет значение индекса слоя иерархии, равное значению упомянутого соответствующего второго синтаксического элемента,
первое значение соответствующего первого синтаксического элемента определяет, что:
элементарный поток, указываемый соответствующим вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, при этом элементарный поток, указываемый соответствующим вторым синтаксическим элементом, является одним из упомянутого множества элементарных потоков, и
элементарный поток, указываемый индексом вложенного слоя в соответствующем втором дескрипторе, если он отсутствует в списке элементарных потоков рабочей точки, следует добавить в список элементарных потоков, при этом элементарный поток, указываемый индексом вложенного слоя в соответствующем втором дескрипторе, является одним из упомянутого множества элементарных потоков, и
устройство содержит средство для добавления, в ответ на
определение, что соответствующий первый синтаксический элемент
имеет второе значение, в список элементарных потоков
соответствующего элементарного потока, указываемого
соответствующим вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, но при этом не выполняется добавление в список элементарных потоков соответствующего элементарного потока, указываемого индексом вложенного слоя в соответствующем втором дескрипторе.
17. Устройство по п.16, дополнительно содержащее:
для каждого соответствующего первого синтаксического элемента набора первых синтаксических элементов:
набор из одного или более индексов вложенного слоя включен в соответствующий второй дескриптор, и
устройство содержит средство для добавления, основываясь на соответствующем первом синтаксическом элементе, имеющем первое значение, в порядке увеличения значения набора индексов вложенного слоя, элементарных потоков, указываемых набором индексов вложенного слоя, в список элементарных потоков непосредственно перед элементарным потоком, указываемым соответствующим вторым синтаксическим элементом.
18. Устройство по п.15, дополнительно содержащее: средство для декодирования набора синтаксических элементов
в первом дескрипторе, причем каждый соответствующий синтаксический элемент в наборе синтаксических элементов относится к соответствующему элементарному потоку в списке элементарных потоков, при этом каждый соответствующий синтаксический элемент набора синтаксических элементов указывает, является ли элементарный поток, соответствующий соответствующему синтаксическому элементу набора синтаксических элементов, необходимым слоем,
причем необходимый слой определен как слой в выходной рабочей точке, связанной с набором выходных слоев, при этом упомянутый слой представляет собой выходной слой набора выходных слоев или опорный слой выходного слоя набора выходных слоев.
19. Устройство по п.15, дополнительно содержащее:
19.
средство для декодирования первого набора синтаксических элементов в первом дескрипторе, причем каждый соответствующий синтаксический элемент в первом наборе синтаксических элементов относится к соответствующему элементарному потоку в списке элементарных потоков, при этом каждый соответствующий синтаксический элемент первого набора синтаксических элементов указывает является ли элементарный поток, относящийся к соответствующему синтаксическому элементу первого набора синтаксических элементов, выходным слоем; и
средство для декодирования второго набора синтаксических элементов в первом дескрипторе, причем каждый соответствующий синтаксический элемент во втором наборе синтаксических элементов относится к соответствующему элементарному потоку в списке элементарных потоков, при этом каждый соответствующий синтаксический элемент второго набора синтаксических элементов указывает индекс для определения профиля, эшелона, или уровня элементарного потока, относящегося к соответствующему синтаксическому элементу второго набора синтаксических элементов.
20. Устройство по п.15, дополнительно содержащее:
средство для приема набора вторых дескрипторов в транспортном потоке, причем набор вторых дескрипторов включает в себя упомянутый второй дескриптор, при этом каждый соответствующий второй дескриптор набора вторых дескрипторов представляет собой либо дескриптор иерархии, либо дескриптор расширения иерархии; и
средство для декодирования набора вторых синтаксических элементов в первом дескрипторе, причем:
набор вторых синтаксических элементов включает в себя упомянутый второй синтаксический элемент,
при этом каждый соответствующий второй синтаксический элемент набора вторых синтаксических элементов указывает значение индекса слоя иерархии, присутствующего в дескрипторе набора вторых дескрипторов, и
набор вторых синтаксических элементов ограничен таким образом, чтобы любые два вторых синтаксических элемента набора
вторых синтаксических элементов не принимали одинаковые значения.
21. Устройство по п. 15 дополнительно содержащее средство
для отбрасывания данных для слоев, которые не являются частью
рабочей точки.
22. Устройство для обработки видеоданных, содержащее:
один или более процессоров, выполненных с возможностью:
генерации первого дескриптора, причем первый дескриптор
представляет собой дескриптор рабочей точки видеоданных;
генерации второго дескриптора, причем второй дескриптор представляет собой либо дескриптор иерархии, либо дескриптор расширения иерархии;
причем упомянутые один или более процессоров выполнены таким образом, что, как часть генерации первого дескриптора, упомянутые один или более процессоров:
включают первый синтаксический элемент и второй синтаксический элемент в первый дескриптор, причем:
список элементарных потоков представляет собой список элементарных потоков, которые являются частью рабочей точки,
второй дескриптор имеет значение индекса слоя иерархии, равное значению второго синтаксического элемента,
первое значение первого синтаксического элемента определяет, что:
элементарный поток, указываемый вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, и
элементарный поток, указываемый индексом вложенного слоя во втором дескрипторе, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, и
второе значение первого синтаксического элемента определяет, что элементарный поток, указываемый вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, без добавления элементарного потока, указываемого индексом вложенного слоя во втором дескрипторе; и
включают первый дескриптор и второй дескриптор в
транспортный поток; и
выходной интерфейс, выполненный с возможностью вывода кодированной версии видеоданных.
23. Устройство по п.22, в котором:
упомянутые один или более процессоров выполнены с возможностью генерации набора вторых дескрипторов, причем набор вторых дескрипторов включает в себя упомянутый второй дескриптор, при этом каждый соответствующий второй дескриптор набора вторых дескрипторов представляет собой либо дескриптор иерархии, либо дескриптор расширения иерархии;
упомянутые один или более процессоров выполнены таким образом, что как часть генерации первого дескриптора, упомянутые один или более процессоров:
включают третий синтаксический элемент в первый дескриптор, причем третий синтаксический элемент указывает количество элементарных потоков;
включают набор первых синтаксических элементов в первый дескриптор; и
включают набор вторых синтаксических элементов в первый дескриптор, причем:
количество первых синтаксических элементов в наборе первых синтаксических элементов и количество вторых синтаксических элементов в наборе вторых синтаксических элементов равно значению третьего синтаксического элемента,
набор первых синтаксических элементов включает в себя упомянутый первый синтаксический элемент,
набор вторых синтаксических элементов включает в себя упомянутый второй синтаксический элемент,
для каждого соответствующего первого синтаксического элемента набора первых синтаксических элементов:
соответствующий второй синтаксический элемент набора вторых синтаксических элементов относится к соответствующему первому синтаксическому элементу,
соответствующий второй дескриптор набора вторых дескрипторов имеет значение индекса слоя иерархии, равное значению упомянутого соответствующего второго синтаксического
элемента,
первое значение соответствующего первого синтаксического элемента определяет, что:
элементарный поток, указываемый соответствующим вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, и
элементарный поток, указываемый индексом вложенного слоя в соответствующем втором дескрипторе, если он отсутствует в списке элементарных потоков рабочей точки, следует добавить в список элементарных потоков, и
второе значение соответствующего первого синтаксического элемента определяет, что соответствующий элементарный поток, указываемый соответствующим вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, без добавления соответствующего элементарного потока, указываемого индексом вложенного слоя в соответствующем втором дескрипторе.
24. Устройство по п.23, в котором упомянутые один или более процессоров выполнены таким образом, что, как часть генерации первого дескриптора, упомянутые один или более процессоров:
включают набор синтаксических элементов в первый дескриптор, причем каждый соответствующий синтаксический элемент в наборе синтаксических элементов относится к соответствующему элементарному потоку в списке элементарных потоков, при этом каждый соответствующий синтаксический элемент набора синтаксических элементов указывает, является ли элементарный поток, относящийся к соответствующему синтаксическому элементу набора синтаксических элементов, необходимым слоем,
причем необходимый слой определен как слой в выходной рабочей точке, связанной с набором выходных слоев, при этом упомянутый слой представляет собой выходной слой набора выходных слоев или опорный слой выходного слоя набора выходных слоев.
25. Устройство по п.22, в котором упомянутые один или более процессоров выполнены таким образом, что, как часть генерации первого дескриптора, упомянутые один или более процессоров:
25.
включают первый набор синтаксических элементов в первый
дескриптор, причем каждый соответствующий синтаксический элемент
в первом наборе синтаксических элементов относится к
соответствующему элементарному потоку в списке элементарных
потоков, при этом каждый соответствующий синтаксический элемент
первого набора синтаксических элементов указывает, является ли
элементарный поток, относящийся к соответствующему
синтаксическому элементу первого набора синтаксических элементов, выходным слоем; и
включают второй набор синтаксических элементов в первый дескриптор, причем каждый соответствующий синтаксический элемент во втором наборе синтаксических элементов относится к соответствующему элементарному потоку в списке элементарных потоков, при этом каждый соответствующий синтаксический элемент второго набора синтаксических элементов указывает индекс для определения профиля, эшелона, или уровня элементарного потока, относящегося к соответствующему синтаксическому элементу второго набора синтаксических элементов.
26. Устройство по п.22, в котором:
упомянутые один или более процессоров дополнительно выполнены с возможностью включения набора вторых дескрипторов в транспортный поток, причем набор вторых дескрипторов включает в себя упомянутый второй дескриптор, при этом каждый соответствующий второй дескриптор набора вторых дескрипторов представляет собой либо дескриптор иерархии, либо дескриптор расширения иерархии; и
упомянутые один или более процессоров выполнены таким образом, что, как часть генерации первого дескриптора, упомянутые один или более процессоров:
включают набор вторых синтаксических элементов в первый дескриптор, причем:
набор вторых синтаксических элементов включает в себя упомянутый второй синтаксический элемент,
при этом каждый соответствующий второй синтаксический элемент набора вторых синтаксических элементов указывает значение индекса слоя иерархии, присутствующего в дескрипторе
набора вторых дескрипторов, и
набор вторых синтаксических элементов ограничен таким образом, чтобы любые два вторых синтаксических элемента набора вторых синтаксических элементов не принимали одинаковые значения.
По доверенности
ИЗМЕНЕННАЯ ФОРМУЛА ИЗОБРЕТЕНИЯ, ПРЕДЛОЖЕННАЯ ЗАЯВИТЕЛЕМ ДЛЯ РАССМОТРЕНИЯ
1. Способ обработки видеоданных, содержащий:
прием транспортного потока, который включает в себя первый дескриптор, второй дескриптор, и множество элементарных потоков, причем первый дескриптор представляет собой дескриптор рабочей точки видеоданных, второй дескриптор представляет собой либо дескриптор иерархии, либо дескриптор расширения иерархии;
декодирование первого синтаксического элемента и второго синтаксического элемента в первом дескрипторе,
причем:
список элементарных потоков представляет собой список элементарных потоков транспортного потока, которые являются частью рабочей точки,
второй дескриптор имеет значение индекса слоя иерархии, равное значению второго синтаксического элемента,
первое значение первого синтаксического элемента определяет, что:
элементарный поток, указываемый вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, при этом элементарный поток, указываемый вторым синтаксическим элементом, является одним из упомянутого множества элементарных потоков, и
элементарный поток, указываемый индексом вложенного слоя во втором дескрипторе, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, при этом элементарный поток, указываемый индексом вложенного слоя во втором дескрипторе, является одним из упомянутого множества элементарных потоков, и
в ответ на определение, что первый синтаксический элемент имеет второе значение, отличное от упомянутого первого значения, добавление в список элементарных потоков элементарного потока, указываемого вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, при этом не выполняется добавление в список элементарных потоков элементарного потока, указываемого индексом вложенного слоя во
втором дескрипторе.
2. Способ по п. 1, дополнительно содержащий:
прием набора вторых дескрипторов в транспортном потоке, причем набор вторых дескрипторов включает в себя упомянутый второй дескриптор, при этом каждый соответствующий второй дескриптор набора вторых дескрипторов представляет собой либо дескриптор иерархии, либо дескриптор расширения иерархии;
декодирование третьего синтаксического элемента в первом дескрипторе, причем третий синтаксический элемент указывает количество элементарных потоков;
декодирование набора первых синтаксических элементов в первом дескрипторе; и
декодирование набора вторых синтаксических элементов в первом дескрипторе, причем:
количество первых синтаксических элементов в наборе первых синтаксических элементов и количество вторых синтаксических элементов в наборе вторых синтаксических элементов равно значению третьего синтаксического элемента,
набор первых синтаксических элементов включает в себя упомянутый первый синтаксический элемент,
набор вторых синтаксических элементов включает в себя упомянутый второй синтаксический элемент,
для каждого соответствующего первого синтаксического элемента набора первых синтаксических элементов:
соответствующий второй синтаксический элемент набора вторых синтаксических элементов относится к соответствующему первому синтаксическому элементу,
соответствующий второй дескриптор набора вторых дескрипторов имеет значение индекса слоя иерархии, равное значению упомянутого соответствующего второго синтаксического элемента,
первое значение соответствующего первого синтаксического элемента определяет, что:
элементарный поток, указываемый соответствующим вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных
потоков, при этом элементарный поток, указываемый соответствующим вторым синтаксическим элементом, является одним из упомянутого множества элементарных потоков, и
элементарный поток, указываемый индексом вложенного слоя в соответствующем втором дескрипторе, если он отсутствует в списке элементарных потоков рабочей точки, следует добавить в список элементарных потоков, при этом элементарный поток, указываемый индексом вложенного слоя в соответствующем втором дескрипторе, является одним из упомянутого множества элементарных потоков, и
в ответ на определение, что соответствующий первый синтаксический элемент имеет второе значение, добавление в список элементарных потоков соответствующего элементарного потока, указываемого соответствующим вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, при этом не выполняется добавление в список элементарных потоков соответствующего элементарного потока, указываемого индексом вложенного слоя в соответствующем втором дескрипторе.
3. Способ по п.2, дополнительно содержащий:
для каждого соответствующего первого синтаксического элемента набора первых синтаксических элементов:
набор из одного или более индексов вложенного слоя включен в соответствующий второй дескриптор, и
основываясь на соответствующем первом синтаксическом элементе, имеющем первое значение, добавление, в порядке увеличения значения набора индексов вложенного слоя, элементарных потоков, указываемых набором индексов вложенного слоя, в список элементарных потоков непосредственно перед элементарным потоком, указываемым соответствующим вторым синтаксическим элементом.
4. Способ по п.1, дополнительно содержащий:
декодирование набора синтаксических элементов в первом дескрипторе, при этом каждый соответствующий синтаксический элемент в наборе синтаксических элементов относится к соответствующему элементарному потоку в списке элементарных потоков, при этом каждый соответствующий синтаксический элемент набора синтаксических элементов указывает, является ли
элементарный поток, соответствующий соответствующему
синтаксическому элементу набора синтаксических элементов, необходимым слоем,
причем необходимый слой определен как слой в выходной рабочей точке, связанной с набором выходных слоев, при этом упомянутый слой представляет собой выходной слой набора выходных слоев или опорный слой выходного слоя набора выходных слоев.
5. Способ по п.1, дополнительно содержащий:
декодирование первого набора синтаксических элементов в первом дескрипторе, при этом каждый соответствующий синтаксический элемент в первом наборе синтаксических элементов относится к соответствующему элементарному потоку в списке элементарных потоков, каждый соответствующий синтаксический элемент первого набора синтаксических элементов указывает является ли элементарный поток, относящийся к соответствующему синтаксическому элементу первого набора синтаксических элементов, выходным слоем; и
декодирование второго набора синтаксических элементов в первом дескрипторе, при этом каждый соответствующий синтаксический элемент во втором наборе синтаксических элементов относится к соответствующему элементарному потоку в списке элементарных потоков, при этом каждый соответствующий синтаксический элемент второго набора синтаксических элементов указывает индекс для определения профиля, эшелона или уровня элементарного потока, относящегося к соответствующему синтаксическому элементу второго набора синтаксических элементов.
6. Способ по п.1, дополнительно содержащий:
прием набора вторых дескрипторов в транспортном потоке, при этом набор вторых дескрипторов включает в себя упомянутый второй дескриптор, при этом каждый соответствующий второй дескриптор набора вторых дескрипторов представляет собой либо дескриптор иерархии, либо дескриптор расширения иерархии; и
декодирование набора вторых синтаксических элементов в первом дескрипторе, причем:
набор вторых синтаксических элементов включает в себя
упомянутый второй синтаксический элемент,
при этом каждый соответствующий второй синтаксический элемент набора вторых синтаксических элементов указывает значение индекса слоя иерархии, присутствующего в дескрипторе набора вторых дескрипторов, и
набор вторых синтаксических элементов ограничен таким образом, чтобы любые два вторых синтаксических элемента набора вторых синтаксических элементов не принимали одинаковые значения.
7. Способ по п.1 дополнительно содержащий отбрасывание
данных для слоев, которые не являются частью рабочей точки.
8. Устройство для обработки видеоданных, содержащее:
входной интерфейс, выполненный с возможностью приема
информации, включающей в себя транспортный поток, который включает в себя первый дескриптор, второй дескриптор, и множество элементарных потоков, причем первый дескриптор представляет собой дескриптор рабочей точки видеоданных, второй дескриптор представляет собой либо дескриптор иерархии, либо дескриптор расширения иерархии; и
один или более процессоров, выполненных с возможностью: декодирования первого синтаксического элемента и второго синтаксического элемента в первом дескрипторе, причем:
список элементарных потоков представляет собой список элементарных потоков транспортного потока, которые являются частью рабочей точки,
второй дескриптор имеет значение индекса слоя иерархии, равное значению второго синтаксического элемента,
первое значение первого синтаксического элемента определяет, что:
элементарный поток, указываемый вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, при этом элементарный поток, указываемый вторым синтаксическим элементом, является одним из упомянутого множества элементарных потоков, и
элементарный поток, указываемый индексом вложенного слоя во
втором дескрипторе, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, при этом элементарный поток, указываемый индексом вложенного слоя во втором дескрипторе, является одним из упомянутого множества элементарных потоков, и
в ответ на определение, что первый синтаксический элемент имеет второе значение, отличное от упомянутого первого значения, добавления в список элементарных потоков элементарного потока, указываемого вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, при этом не выполняется добавление в список элементарных потоков элементарного потока, указываемого индексом вложенного слоя во втором дескрипторе.
9. Устройство по п. 8, в котором упомянутый один или более процессоров выполнены с возможностью:
приема набора вторых дескрипторов в транспортном потоке, причем набор вторых дескрипторов включает в себя упомянутый второй дескриптор, при этом каждый соответствующий второй дескриптор набора вторых дескрипторов представляет собой либо дескриптор иерархии, либо дескриптор расширения иерархии;
декодирования третьего синтаксического элемента в первом дескрипторе, причем третий синтаксический элемент указывает количество элементарных потоков;
декодирования набора первых синтаксических элементов в первом дескрипторе; и
декодирования набора вторых синтаксических элементов в первом дескрипторе, причем:
количество первых синтаксических элементов в наборе первых синтаксических элементов и количество вторых синтаксических элементов в наборе вторых синтаксических элементов равно значению третьего синтаксического элемента,
набор первых синтаксических элементов включает в себя упомянутый первый синтаксический элемент,
набор вторых синтаксических элементов включает в себя упомянутый второй синтаксический элемент,
для каждого соответствующего первого синтаксического
элемента набора первых синтаксических элементов:
соответствующий второй синтаксический элемент набора вторых синтаксических элементов относится к соответствующему первому синтаксическому элементу,
соответствующий второй дескриптор набора вторых дескрипторов имеет значение индекса слоя иерархии равное значению упомянутого соответствующего второго синтаксического элемента,
первое значение соответствующего первого синтаксического элемента определяет, что:
элементарный поток, указываемый соответствующим вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, при этом элементарный поток, указываемый соответствующим вторым синтаксическим элементом, является одним из упомянутого множества элементарных потоков, и
элементарный поток, указываемый индексом вложенного слоя в соответствующем втором дескрипторе, если он отсутствует в списке элементарных потоков рабочей точки, следует добавить в список элементарных потоков, при этом элементарный поток, указываемый индексом вложенного слоя в соответствующем втором дескрипторе, является одним из упомянутого множества элементарных потоков, и
упомянутый один или более процессоров выполнены с возможностью, в ответ на определение, что соответствующий первый синтаксический элемент имеет второе значение, добавления в список элементарных потоков соответствующего элементарного потока, указываемого соответствующим вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, при этом не выполняется добавление в список элементарных потоков соответствующего элементарного потока, указываемого индексом вложенного слоя в соответствующем втором дескрипторе.
10. Устройство по п.9, в котором
для каждого соответствующего первого синтаксического элемента набора первых синтаксических элементов:
набор из одного или более индексов вложенного слоя включен в соответствующий второй дескриптор, и
упомянутый один или более процессоров выполнены таким образом, что, основываясь на соответствующем первом синтаксическом элементе, имеющем первое значение, упомянутые один или более процессоров добавляют, в порядке увеличения значения набора индексов вложенного слоя, элементарные потоки, указываемые набором индексов вложенного слоя, в список элементарных потоков непосредственно перед элементарным потоком, указываемым соответствующим вторым синтаксическим элементом.
11. Устройство по п. 8, в котором упомянутый один или более процессоров выполнены с возможностью:
декодирования набора синтаксических элементов в первом
дескрипторе, при этом каждый соответствующий синтаксический
элемент в наборе синтаксических элементов относится к
соответствующему элементарному потоку в списке элементарных
потоков, при этом каждый соответствующий синтаксический элемент
набора синтаксических элементов указывает, является ли
элементарный поток, соответствующий соответствующему
синтаксическому элементу набора синтаксических элементов, необходимым слоем,
причем необходимый слой определен как слой в выходной рабочей точке, связанной с набором выходных слоев, при этом упомянутый слой представляет собой выходной слой набора выходных слоев или опорный слой выходного слоя набора выходных слоев.
12. Устройство по п. 8, в котором упомянутые один или более процессоров выполнены с возможностью:
декодирования первого набора синтаксических элементов в
первом дескрипторе, при этом каждый соответствующий
синтаксический элемент в первом наборе синтаксических элементов
относится к соответствующему элементарному потоку в списке
элементарных потоков, причем каждый соответствующий
синтаксический элемент первого набора синтаксических элементов указывает является ли элементарный поток, относящийся к соответствующему синтаксическому элементу первого набора синтаксических элементов, выходным слоем; и
декодирования второго набора синтаксических элементов в первом дескрипторе, при этом каждый соответствующий
синтаксический элемент во втором наборе синтаксических элементов относится к соответствующему элементарному потоку в списке элементарных потоков, при этом каждый соответствующий синтаксический элемент второго набора синтаксических элементов указывает индекс для определения профиля, эшелона или уровня элементарного потока, относящегося к соответствующему синтаксическому элементу второго набора синтаксических элементов.
13. Устройство по п. 8, в котором упомянутые один или более процессоров выполнены с возможностью:
приема набора вторых дескрипторов в транспортном потоке, при этом набор вторых дескрипторов включает в себя упомянутый второй дескриптор, каждый соответствующий второй дескриптор набора вторых дескрипторов представляет собой либо дескриптор иерархии, либо дескриптор расширения иерархии; и
декодирования набора вторых синтаксических элементов в первом дескрипторе, причем:
набор вторых синтаксических элементов включает в себя упомянутый второй синтаксический элемент,
при этом каждый соответствующий второй синтаксический элемент набора вторых синтаксических элементов указывает значение индекса слоя иерархии, присутствующего в дескрипторе набора вторых дескрипторов, и
набор вторых синтаксических элементов ограничен таким образом, чтобы любые два вторых синтаксических элемента набора вторых синтаксических элементов не принимали одинаковые значения.
14. Устройство по п. 8 в котором упомянутые один или более процессоров дополнительно выполнены с возможностью отбрасывания данных для слоев, которые не являются частью рабочей точки.
15. Устройство для обработки видеоданных, содержащее:
средство для приема транспортного потока, который включает
в себя первый дескриптор, второй дескриптор, и множество элементарных потоков, причем первый дескриптор представляет собой дескриптор рабочей точки видеоданных, второй дескриптор представляет собой либо дескриптор иерархии, либо дескриптор
расширения иерархии;
средство для декодирования первого синтаксического элемента и второго синтаксического элемента в первом дескрипторе,
причем:
список элементарных потоков представляет собой список элементарных потоков транспортного потока, которые являются частью рабочей точки,
второй дескриптор имеет значение индекса слоя иерархии, равное значению второго синтаксического элемента,
первое значение первого синтаксического элемента определяет, что:
элементарный поток, указываемый вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, при этом элементарный поток, указываемый вторым синтаксическим элементом, является одним из упомянутого множества элементарных потоков, и
элементарный поток, указываемый индексом вложенного слоя во втором дескрипторе, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, при этом элементарный поток, указываемый индексом вложенного слоя во втором дескрипторе, является одним из упомянутого множества элементарных потоков, и
средство для добавления, в ответ на определение, что первый синтаксический элемент имеет второе значение, отличное от упомянутого первого значения, в список элементарных потоков элементарного потока, указываемого вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, при этом не выполняется добавление в список элементарных потоков элементарного потока, указываемого индексом вложенного слоя во втором дескрипторе.
16. Устройство по п. 15, дополнительно содержащее:
средство для приема набора вторых дескрипторов в транспортном потоке, причем набор вторых дескрипторов включает в себя упомянутый второй дескриптор, при этом каждый соответствующий второй дескриптор набора вторых дескрипторов представляет собой либо дескриптор иерархии, либо дескриптор
расширения иерархии;
средство для декодирования третьего синтаксического элемента в первом дескрипторе, причем третий синтаксический элемент указывает количество элементарных потоков;
средство для декодирования набора первых синтаксических элементов в первом дескрипторе; и
средство для декодирования набора вторых синтаксических элементов в первом дескрипторе, причем:
количество первых синтаксических элементов в наборе первых синтаксических элементов и количество вторых синтаксических элементов в наборе вторых синтаксических элементов равно значению третьего синтаксического элемента,
набор первых синтаксических элементов включает в себя упомянутый первый синтаксический элемент,
набор вторых синтаксических элементов включает в себя упомянутый второй синтаксический элемент,
для каждого соответствующего первого синтаксического элемента набора первых синтаксических элементов:
соответствующий второй синтаксический элемент набора вторых синтаксических элементов относится к соответствующему первому синтаксическому элементу,
соответствующий второй дескриптор набора вторых дескрипторов имеет значение индекса слоя иерархии, равное значению упомянутого соответствующего второго синтаксического элемента,
первое значение соответствующего первого синтаксического элемента определяет, что:
элементарный поток, указываемый соответствующим вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, при этом элементарный поток, указываемый соответствующим вторым синтаксическим элементом, является одним из упомянутого множества элементарных потоков, и
элементарный поток, указываемый индексом вложенного слоя в соответствующем втором дескрипторе, если он отсутствует в списке элементарных потоков рабочей точки, следует добавить в список
элементарных потоков, при этом элементарный поток, указываемый индексом вложенного слоя в соответствующем втором дескрипторе, является одним из упомянутого множества элементарных потоков, и
устройство содержит средство для добавления, в ответ на
определение, что соответствующий первый синтаксический элемент
имеет второе значение, в список элементарных потоков
соответствующего элементарного потока, указываемого
соответствующим вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, но при этом не выполняется добавление в список элементарных потоков соответствующего элементарного потока, указываемого индексом вложенного слоя в соответствующем втором дескрипторе.
17. Устройство по п.16, дополнительно содержащее:
для каждого соответствующего первого синтаксического элемента набора первых синтаксических элементов:
набор из одного или более индексов вложенного слоя включен в соответствующий второй дескриптор, и
устройство содержит средство для добавления, основываясь на соответствующем первом синтаксическом элементе, имеющем первое значение, в порядке увеличения значения набора индексов вложенного слоя, элементарных потоков, указываемых набором индексов вложенного слоя, в список элементарных потоков непосредственно перед элементарным потоком, указываемым соответствующим вторым синтаксическим элементом.
18. Устройство по п.15, дополнительно содержащее: средство для декодирования набора синтаксических элементов
в первом дескрипторе, причем каждый соответствующий синтаксический элемент в наборе синтаксических элементов относится к соответствующему элементарному потоку в списке элементарных потоков, при этом каждый соответствующий синтаксический элемент набора синтаксических элементов указывает, является ли элементарный поток, соответствующий соответствующему синтаксическому элементу набора синтаксических элементов, необходимым слоем,
причем необходимый слой определен как слой в выходной рабочей точке, связанной с набором выходных слоев, при этом
упомянутый слой представляет собой выходной слой набора выходных слоев или опорный слой выходного слоя набора выходных слоев.
19. Устройство по п.15, дополнительно содержащее: средство для декодирования первого набора синтаксических
элементов в первом дескрипторе, причем каждый соответствующий синтаксический элемент в первом наборе синтаксических элементов относится к соответствующему элементарному потоку в списке элементарных потоков, при этом каждый соответствующий синтаксический элемент первого набора синтаксических элементов указывает является ли элементарный поток, относящийся к соответствующему синтаксическому элементу первого набора синтаксических элементов, выходным слоем; и
средство для декодирования второго набора синтаксических элементов в первом дескрипторе, причем каждый соответствующий синтаксический элемент во втором наборе синтаксических элементов относится к соответствующему элементарному потоку в списке элементарных потоков, при этом каждый соответствующий синтаксический элемент второго набора синтаксических элементов указывает индекс для определения профиля, эшелона, или уровня элементарного потока, относящегося к соответствующему синтаксическому элементу второго набора синтаксических элементов.
20. Устройство по п.15, дополнительно содержащее: средство для приема набора вторых дескрипторов в
транспортном потоке, причем набор вторых дескрипторов включает в себя упомянутый второй дескриптор, при этом каждый соответствующий второй дескриптор набора вторых дескрипторов представляет собой либо дескриптор иерархии, либо дескриптор расширения иерархии; и
средство для декодирования набора вторых синтаксических элементов в первом дескрипторе, причем:
набор вторых синтаксических элементов включает в себя упомянутый второй синтаксический элемент,
при этом каждый соответствующий второй синтаксический элемент набора вторых синтаксических элементов указывает значение индекса слоя иерархии, присутствующего в дескрипторе
набора вторых дескрипторов, и
набор вторых синтаксических элементов ограничен таким образом, чтобы любые два вторых синтаксических элемента набора вторых синтаксических элементов не принимали одинаковые значения.
21. Устройство по п. 15 дополнительно содержащее средство
для отбрасывания данных для слоев, которые не являются частью
рабочей точки.
22. Устройство для обработки видеоданных, содержащее:
один или более процессоров, выполненных с возможностью:
генерации первого дескриптора, причем первый дескриптор
представляет собой дескриптор рабочей точки видеоданных;
генерации второго дескриптора, причем второй дескриптор представляет собой либо дескриптор иерархии, либо дескриптор расширения иерархии;
причем упомянутые один или более процессоров выполнены таким образом, что, как часть генерации первого дескриптора, упомянутые один или более процессоров:
включают первый синтаксический элемент и второй синтаксический элемент в первый дескриптор, причем:
список элементарных потоков представляет собой список элементарных потоков, которые являются частью рабочей точки,
второй дескриптор имеет значение индекса слоя иерархии, равное значению второго синтаксического элемента,
первое значение первого синтаксического элемента определяет, что:
элементарный поток, указываемый вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, и
элементарный поток, указываемый индексом вложенного слоя во втором дескрипторе, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, и
второе значение первого синтаксического элемента определяет, что элементарный поток, указываемый вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных
потоков, без добавления элементарного потока, указываемого индексом вложенного слоя во втором дескрипторе; и
включают первый дескриптор и второй дескриптор в транспортный поток; и
выходной интерфейс, выполненный с возможностью вывода кодированной версии видеоданных.
23. Устройство по п.22, в котором:
упомянутые один или более процессоров выполнены с возможностью генерации набора вторых дескрипторов, причем набор вторых дескрипторов включает в себя упомянутый второй дескриптор, при этом каждый соответствующий второй дескриптор набора вторых дескрипторов представляет собой либо дескриптор иерархии, либо дескриптор расширения иерархии;
упомянутые один или более процессоров выполнены таким образом, что как часть генерации первого дескриптора, упомянутые один или более процессоров:
включают третий синтаксический элемент в первый дескриптор, причем третий синтаксический элемент указывает количество элементарных потоков;
включают набор первых синтаксических элементов в первый дескриптор; и
включают набор вторых синтаксических элементов в первый дескриптор, причем:
количество первых синтаксических элементов в наборе первых синтаксических элементов и количество вторых синтаксических элементов в наборе вторых синтаксических элементов равно значению третьего синтаксического элемента,
набор первых синтаксических элементов включает в себя упомянутый первый синтаксический элемент,
набор вторых синтаксических элементов включает в себя упомянутый второй синтаксический элемент,
для каждого соответствующего первого синтаксического элемента набора первых синтаксических элементов:
соответствующий второй синтаксический элемент набора вторых синтаксических элементов относится к соответствующему первому синтаксическому элементу,
соответствующий второй дескриптор набора вторых дескрипторов имеет значение индекса слоя иерархии, равное значению упомянутого соответствующего второго синтаксического элемента,
первое значение соответствующего первого синтаксического элемента определяет, что:
элементарный поток, указываемый соответствующим вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, и
элементарный поток, указываемый индексом вложенного слоя в соответствующем втором дескрипторе, если он отсутствует в списке элементарных потоков рабочей точки, следует добавить в список элементарных потоков, и
второе значение соответствующего первого синтаксического элемента определяет, что соответствующий элементарный поток, указываемый соответствующим вторым синтаксическим элементом, если он отсутствует в списке элементарных потоков, следует добавить в список элементарных потоков, без добавления соответствующего элементарного потока, указываемого индексом вложенного слоя в соответствующем втором дескрипторе.
24. Устройство по п.23, в котором упомянутые один или более процессоров выполнены таким образом, что, как часть генерации первого дескриптора, упомянутые один или более процессоров:
включают набор синтаксических элементов в первый дескриптор, причем каждый соответствующий синтаксический элемент в наборе синтаксических элементов относится к соответствующему элементарному потоку в списке элементарных потоков, при этом каждый соответствующий синтаксический элемент набора синтаксических элементов указывает, является ли элементарный поток, относящийся к соответствующему синтаксическому элементу набора синтаксических элементов, необходимым слоем,
причем необходимый слой определен как слой в выходной рабочей точке, связанной с набором выходных слоев, при этом упомянутый слой представляет собой выходной слой набора выходных слоев или опорный слой выходного слоя набора выходных слоев.
25. Устройство по п.22, в котором упомянутые один или более процессоров выполнены таким образом, что, как часть генерации первого дескриптора, упомянутые один или более процессоров:
включают первый набор синтаксических элементов в первый
дескриптор, причем каждый соответствующий синтаксический элемент
в первом наборе синтаксических элементов относится к
соответствующему элементарному потоку в списке элементарных
потоков, при этом каждый соответствующий синтаксический элемент
первого набора синтаксических элементов указывает, является ли
элементарный поток, относящийся к соответствующему
синтаксическому элементу первого набора синтаксических элементов, выходным слоем; и
включают второй набор синтаксических элементов в первый дескриптор, причем каждый соответствующий синтаксический элемент во втором наборе синтаксических элементов относится к соответствующему элементарному потоку в списке элементарных потоков, при этом каждый соответствующий синтаксический элемент второго набора синтаксических элементов указывает индекс для определения профиля, эшелона, или уровня элементарного потока, относящегося к соответствующему синтаксическому элементу второго набора синтаксических элементов.
26. Устройство по п.22, в котором:
упомянутые один или более процессоров дополнительно выполнены с возможностью включения набора вторых дескрипторов в транспортный поток, причем набор вторых дескрипторов включает в себя упомянутый второй дескриптор, при этом каждый соответствующий второй дескриптор набора вторых дескрипторов представляет собой либо дескриптор иерархии, либо дескриптор расширения иерархии; и
упомянутые один или более процессоров выполнены таким образом, что, как часть генерации первого дескриптора, упомянутые один или более процессоров:
включают набор вторых синтаксических элементов в первый дескриптор, причем:
набор вторых синтаксических элементов включает в себя упомянутый второй синтаксический элемент,
при этом каждый соответствующий второй синтаксический элемент набора вторых синтаксических элементов указывает значение индекса слоя иерархии, присутствующего в дескрипторе набора вторых дескрипторов, и
набор вторых синтаксических элементов ограничен таким образом, чтобы любые два вторых синтаксических элемента набора вторых синтаксических элементов не принимали одинаковые значения.
По доверенности