УСТРОЙСТВО ПЕРЕДАЧИ, СПОСОБ ПЕРЕДАЧИ, УСТРОЙСТВО ПРИЕМА И СПОСОБ ПРИЕМА
TRANSMISSION DEVICE, RECEPTION DEVICE, TRANSMISSION METHOD AND THE METHOD OF RECEPTION

Область техники, к которой относится изобретение
Настоящая технология относится к устройству передачи, способу передачи, устройству приема и способу приема и относится к устройству передачи, и т.п., которое иерархически кодирует и передает данные изображения каждого изображения, составляющего данные движущегося изображения.
Уровень техники
Когда предоставляется услуга сжатого движущегося изображения, используя широковещательную передачу, Интернет и т.п., верхний предел воспроизводимой частоты кадров определен возможностями декодирования приемников. Таким образом, рабочие стороны услуги должны ограничивать услуги, имеющие низкую частоту кадров, и одновременно предоставлять услуги, имеющие множество высоких и низких частот кадров, учитывая возможности воспроизведения широко распространенных приемников.
Стоимость приемника слишком высока для работы с услугой, имеющей высокую частоту кадров, что представляет собой заградительный фактор для распространения. Когда стороны услуги запускают услугу, имеющую высокую частоту кадров, несмотря на то, что широкое распространение получили недорогостоящие приемники, предназначенные для услуг, имеющих низкую частоту кадров, для использования услуги, имеющей высокую частоту кадров, нужен новый приемник, что представляет собой заградительный фактор для распространения услуги.
Например, при видеокодировании высокой эффективности (HEVC), была представлена масштабируемость в направлении времени путем иерархического кодирования данных изображения каждого кадра, составляющего данные движущегося изображения (Непатентный документ 1). Сторона приема может идентифицировать, на основе временного ID (temporal_id) вставленного в заголовок модуля слоя сетевой абстракции (NAL), слой каждого изображения, и может избирательно выполнять декодирование для слоя, соответствующего возможностям декодирования.
Список литературы
Непатентный документ
Непатентный документ 1: Gary J. Sullivan, Jens-Rainer Ohm, Woo-Jin Han, Thomas Wiegand, "Overview of the High Efficiency Video Coding (HEVC) Standard" IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECNOROGY, VOL. 22, NO. 12, pp. 1649-1668, DECEMBER 2012
Раскрытие сущности изобретения
Задачи, решаемые изобретением
Назначение настоящей технологии состоит в том, чтобы обеспечить для принимающей стороны возможность превосходной обработки декодирования в соответствии с возможностями декодирования.
Решения задач
Концепция настоящей технологии состоит в устройстве передачи, включающем себя модуль кодирования изображения, который классифицирует данные изображения каждого изображения, составляющего данные движущегося изображения на множество слоев, кодирует классифицированные данные изображения для изображения в каждом из множества слоев и генерирует видеопоток, имеющий кодированные данные изображения для изображения в каждом из множества слоев,
модуль передачи данных, который передает видеоданные,
и модуль передачи информации, который передает значение обозначения уровня потока битов и информацию о диапазоне слоя в каждом из множества диапазонов слоя, имеющих разный максимальный слой.
В настоящей технологии кодируют данные изображения каждого изображения, составляющего данные движущегося изображения, и генерируют видеоданные с помощью модуля кодирования изображения. В этом случае данные изображения каждого изображения, составляющего данные движущегося изображения, классифицируют на множество слоев и кодируют, и генерируют поток данных, имеющий данные изображения для изображения в каждом из множества слоев. Видеоданные передают с помощью модуля передачи.
Значение обозначения уровня потока битов и информацию о диапазоне слоя в каждом из множества диапазонов слоев, имеющих разный максимальный слой, передают с помощью модуля передачи информации. Например, модуль передачи информации может вставлять информацию в слой контейнера, содержащего видеоданные, и передавать информацию. В этом случае, например, контейнер представляет собой MPEG2-TS, и модуль передачи информации может вставлять информацию под таблицей карты программы, и передавать эту информацию. Кроме того, например, модуль передачи информации может вставлять информацию в метафайл, имеющий метаинформацию, относящуюся к видеоданным, и передавать эту информацию. В этом случае, например, метафайл может представлять собой файл MPD.
Как описано выше, в настоящей технологии передают значения обозначения уровня потока битов и информацию о диапазоне слоя в каждом множестве диапазонов слоя, имеющих разный максимальный слой. Таким образом, на стороне приема возможно легко декодировать кодированные данные изображения для изображения в диапазоне слоя, в соответствии с характеристикой декодирования.
Следует отметить, что в настоящей технологии модуль передачи информации может передавать, вместе с информацией о профиле, значения обозначения уровня потока битов и информацию о диапазоне слоя в каждом из множества диапазонов слоев, имеющих различный максимальный слой. В этом случае возможно, чтобы сторона приема подтверждала диапазон слоя в соответствии с характеристиками декодирования на основе информации о профиле в дополнение к значению обозначения уровня потока битов.
Кроме того, другая концепция настоящей технологии направлена на устройство приема, включающее в себя модуль приема данных, который принимает видеоданные, имеющие кодированные данные изображения для изображения в каждом из множества слоев, полученных путем классификации данных изображения каждого изображения, составляющего данные движущегося изображения во множестве слоев, и кодирующее данные изображения,
модуль приема информации, который принимает значение обозначения уровня потока битов и информацию о диапазоне слоя в каждом из множества диапазонов слоев, имеющих разный максимальный слой,
и модуль обработки, который выделяет из видеоданных данные изображения для изображения в слое, который ниже, чем заданный слой, и декодирует данные изображения на основе информации.
В настоящей технологии видеоданные принимают с помощью модуля приема. Видеоданные содержат кодированные данные изображения для изображения в каждом из множества слоев, полученных путем классификации данных изображения каждого изображения, составляющего данные движущегося изображения, на множество слоев и кодирования данных изображения.
Значение обозначения уровня потока битов и информацию о диапазоне слоя в каждом из множества диапазонов слоев, имеющих различный максимальный слой, принимают с помощью модуля приема информации. Например, модуль приема информации может получать информацию из слоя контейнера, содержащего видеоданные. Кроме того, например, модуль приема информации может получать информацию из метафайла, имеющего метаинформацию, относящуюся к видеоданным. Данные изображения для изображения в слое, который ниже, чем заданный слой, выделяют из видеоданных и декодируют на основе информации с помощью модуля обработки.
Как описано выше, в настоящей технологии, принимают значения обозначения уровня потока битов и информацию диапазона слоя в каждом из множества диапазонов слоя, имеющих разный максимальный слой, и данные изображения для изображения в слое, ниже, чем заданный слой, выделяют из видеоданных и декодируют на основе информации. Таким образом, возможно легко декодировать кодированные данные изображения для изображения в диапазоне слоя, в соответствии с характеристиками декодирования.
Результаты изобретения
В соответствии с настоящей технологией на стороне приема возможно выполнять превосходную обработку декодирования в соответствии с возможностями декодирования. Следует отметить, что, эффекты не обязательно ограничены эффектами, описанными здесь, и могут представлять собой любой один из эффектов, описанных в настоящем раскрытии.
Краткое описание чертежей
На фиг. 1 показана блок-схема, поясняющая пример конфигурации системы приемопередатчика в соответствии с вариантом осуществления.
На фиг. 2 (а) и (b) показаны примеры структуры заголовка модуля NAL и схема, поясняющая семантику основного параметра в примере структуры.
На фиг. 3 (а)-(с) показаны схемы, поясняющие пример иерархического кодирования.
На фиг. 4 показана схема, иллюстрирующая "level_idc" и пример значения.
На фиг. 5 представлена блок-схема, поясняющая пример конфигурации устройства передачи.
На фиг. 6 представлена схема, иллюстрирующая пример структуры дескриптора HEVC с добавленным элементом.
На фиг. 7 представлена схема, иллюстрирующая пример структуры слоя/ сигналов/дескриптора.
На фиг. 8 представлена схема, иллюстрирующая семантику основной информации в примере структуры слоя/сигналов/дескриптора.
На фиг. 9 (а)-(с) показаны схемы, поясняющие пример конфигурации слоя профиля.
На фиг. 10 представлена схема, иллюстрирующая пример конфигурации транспортного потока TS.
На фиг. 11 показана блок-схема, поясняющая пример конфигурации устройства приема.
На фиг. 12 представлена схема, схематично поясняющая конфигурацию демультиплексора и декодера.
На фиг. 13 представлена схема, схематично поясняющая поведение модуля анализа временного ID.
На фиг. 14 представлен пример потока обработки декодера и модуля последующей обработки.
На фиг. 15 (а) и (b) показаны схемы, поясняющие пример конфигурации система распределения потока на основе MPEG-DASH.
На фиг. 16 (а)-(d) показаны схемы, поясняющие пример соотношения между структурами, иерархически размещенными в файле MPD.
На фиг. 17 представлена схема, иллюстрирующая пример конфигурации потока FragmentedMP4 в ассоциации с файлом MPD.
На фиг. 18 представлена схема, иллюстрирующая вариант выполнения файла MPD.
Осуществление изобретения
Ниже описан режим для выполнения изобретения (ниже называется "вариантом осуществления"). Следует отметить, что описание представлено в следующем порядке:
1. Вариант осуществления
2. Модифицированный пример
1. Вариант осуществления
Система приемопередатчика
На фиг. 1 иллюстрируется пример конфигурации системы 10 приемопередатчика, в соответствии с вариантом осуществления. Система 10 приемопередатчика включает в себя устройство 100 передачи и устройство 200 приема.
Устройство 100 передачи передает транспортный поток TS, как контейнер, по волне широковещательной передачи. Транспортный поток TS содержит видеоданные, имеющие кодированные данные изображения для изображения в каждом из множества слоев, полученных путем классификации данных изображения для изображения, составляющего данные движущегося изображения, во множестве слоев, и кодирования данных изображения. В этом случае путем, например, выполнения кодирования, такой как H.264/AVC или H.265/HEVC, данные изображения кодируют таким образом, что изображение, на которое делается ссылка, принадлежит собственному слою и/или слою, ниже, чем собственный слой.
Информацию идентификации слоя добавляют к кодированным данным изображения для изображения каждого из слоев, для идентификации слоя, которому принадлежит каждое изображение. В этом варианте осуществления информация идентификации слоя ("nuh_temporal_id_plus1", обозначающая temporal_id), размещается в части заголовка модуля NAL (nal_unit) каждого изображения. Путем добавления информации идентификации слоя таким образом для стороны приема возможно избирательно выделять кодированные данные изображения в слое, ниже, чем заданный слой, и выполнять обработку декодирования.
На фиг. 2 (а) иллюстрируется пример структуры (Синтаксис) заголовка модуля NAL, и на фиг. 2 (b) иллюстрируется семантика основного параметра в примере структуры. 1-битное поле "Forbidden_zero_bit" обязательно равно 0. 6-битное поле "Nal_unit_type" обозначает тип модуля NAL. 6-битное поле "Nuh_layer_id" принимает значение 0. 3-битное поле "Nuh_temporal_id_plus1" обозначает temporal_id, и принимает значение, получаемое путем добавления 1 (от 1 до 7).
Транспортный поток TS содержит одиночный видеопоток. Кроме того, значение обозначения уровня потока битов и информацию о диапазоне слоя в каждом из множества диапазонов слоев, имеющих разный максимальный слой, вставляют в транспортный поток TS. Информацию вставляют, например, под таблицей карты программы (РМТ).
На фиг. 3 (а)-(с) иллюстрируется пример иерархического кодирования, и каждый прямоугольная рамка обозначает изображение. На фиг. 3 (а) представлен пример, в котором самый верхний слой равен 3. Например, значение обозначения уровня потока битов диапазона слоя, максимальный слой которого представляет собой слой 3, представляет собой "level5.2", соответствующий услуге 2160/1 OOP, и информация диапазона слоя обозначает от 0 до 3. Кроме того, например, значение обозначения уровня потока битов диапазона слоя, максимальный слой которого представляет собой слой 2, представляет собой "level5.1", соответствующий услуге 2160/50Р, и информация диапазона слоя обозначает от 0 до 2.
На фиг. 3 (b) представлен пример, в котором самый верхний слой равен 3. Например, значение обозначения уровня потока битов для диапазона слоя, максимальный слой которого представляет собой слой 3, составляет "level5.2", соответствующий услуге 2160/100Р, и информация диапазона слоя обозначает от 0 до 3. Кроме того, например, значение обозначения уровня потока битов диапазона слоя, максимальный слой которого представляет собой слой 2, представляет собой "level5.1", соответствующий услуге 2160/50Р, и информация диапазона слоя обозначает от 0 до 2.
На фиг. 3 (с) показан пример, в котором самый верхний слой составляет 4. Например, значение обозначения уровня потока битов диапазона слоя, максимальный слой которого составляет слой 4, представляет собой "level5.2", соответствующий услуге 2160/100P, и информация о диапазоне слоя обозначает от 0 до 4. Кроме того, например, значение обозначения уровня потока битов диапазона слоя, максимальный слой которого составляет слой 3, представляет собой "level5.1", соответствующий услуге 2160/50Р, и информация о диапазоне слоя обозначает от 0 до 3. Кроме того, например, значение обозначения уровня потока битов диапазона слоя, максимальный слой которого составляет слой 2, представляет собой "level5", соответствующий услуге 2160/25Р, и информация о диапазоне слоя обозначает от 0 до 2.
Здесь описано значение "level_idc". На фиг. 4 иллюстрируется "level_idc" и пример значения. Например, "level_idc", соответствующий услуге 1080/50Р, представляет собой "level4.1", и значение равно "123" в десятичном выражении и "0x7b" в шестнадцатеричном. Для обозначения этого уровня "level4.1", "b", которое составляет младшие 4 бита, должно быть описано, как "ls4b_sublayer_level_idc" в дескрипторе HEVC, который будет описан ниже. Кроме того, например, "level_idc", соответствующий услуге 1080/100Р, представляет собой "level4.2", и значение представляет собой "126" в десятичном выражении и "0х7е" в шестнадцатеричном.
Кроме того, например, "level_idc", соответствующий услуге 2160/50Р, представляет собой "level5.1", и значение равно "153" в десятичном выражении и "0x99" в шестнадцатеричном. Для обозначения этого уровня "level5.1", "9", которое составляет нижние 4 бита, должно быть описано, как "ls4b_sublayer_level_idc" в дескрипторе HEVC, который будет описан ниже. Кроме того, например, "level_idc", соответствующий услуге 2160/100Р, представляет собой "level5.2", и значение "156" в десятичном выражении и "0x9c" в шестнадцатеричном.
Кроме того, например, "level_idc", соответствующий услуге 4320/50Р, представляет собой "level6.1", и значение равно "183" в десятичном выражении и "0xb7" в шестнадцатеричном. Для обозначения этого "level6.1", "7", которое составляет нижние 4 бита, должно быть описано, как "ls4b_sublayer_level_idc" в дескрипторе HEVC, который будет описан ниже. Кроме того, например, "level_idc", соответствующий услуге 4320/100P, представляет собой "level6.2", и значение составляет "186" в десятичном выражении и "0xba" в шестнадцатеричном.
Устройство 200 приема принимает описанный выше транспортный поток TS, передаваемый из устройства 100 передачи по волне широковещательной передачи или в пакете Интернет. Устройство 200 приема выделяет кодированные данные изображения для изображения в слое, ниже, чем заданный слой, из видеоданных, содержащихся в транспортном потоке TS, и декодирует кодированные данные изображения в соответствии с собственной возможностью декодирования. В это время устройство 200 приема выполняет декодирование на основе значения обозначения уровня потока битов и информации о диапазоне слоя в каждом из диапазонов слоя, имеющих разный максимальный слой, которые вставляют в транспортный поток TS, как описано выше.
Конфигурация устройства передачи
На фиг. 5 иллюстрируется пример конфигурации устройства 100 передачи. Устройство 100 передачи включает в себя центральное процессорное устройство (CPU) 101, кодер 102, буфер 103 сжатых данных (cpb: буфер кодированного изображения), мультиплексор 104 и модуль 105 передачи. CPU 101 представляет собой модуль управления и управляет операциями модулей устройства 100 передачи.
Кодер 102 вводит декодированные данные движущегося изображения VD и иерархически кодирует эти данные. Кодер 102 классифицирует данные изображения каждого изображения, составляющего данные VD движущегося изображения на множество слоев. Затем кодер 102 кодирует классифицированные данные изображения для изображения в каждом из слоев и генерирует видеопоток (видеоданные), имеющий кодированные данные изображения для изображения в каждом из слоев.
Кодер 102 выполняет кодирование, такое как H.264/AVC или H.265/HEVC. В это время кодер 102 выполняет кодирование таким образом, что изображение, на которое должна быть сделана ссылка (изображение, на которое делается ссылка), принадлежит собственному слою и/или слою, ниже, чем собственный слой. Буфер 103 кодированного изображения (cpb) временно сохраняет видеопоток, содержащий кодированные данные изображения для изображения в каждом из слоев и генерируемых кодером 102.
Мультиплексор 104 считывает и выполняет формирование пакетов PES видеопотока, сохраняемого в буфере 103 сжатых данных, мультиплексирует видеопоток путем формирования транспортных пакетов видеопотока и получает транспортный поток TS, как мультиплексированный поток. Транспортный поток TS содержит одиночный видеопоток, как описано выше. Мультиплексор 104 вставляет, в слое контейнера, значения обозначения уровня потока битов и информацию о диапазоне слое в диапазонах слоев (слои уровня), имеющих разный максимальный слой. Модуль 105 передачи передает транспортный поток TS, полученный мультиплексором 104, в устройство 200 приема по волне широковещательной передачи или в пакете Интернет.
Вставка информации
Вставка информации мультиплексором 104 будет описана ниже. Для вставки информации используется существующий дескриптор HEVC (HEVC_descriptor) или вновь определенный слой/сигналы/дескриптор (дескриптор Layer_signaling).
На фиг. 6 иллюстрируется пример структуры (синтаксис) в случае существующего дескриптора HEVC, к которому добавлены элементы. 8-битное поле "descriptor_tag" обозначает тип дескриптора и обозначает здесь дескриптор HEVC. 8-битное поле "descriptor_length" обозначает длину (размер) дескриптора и обозначает следующее количество байтов, как длину дескриптора.
8-битное поле "profile_idc" обозначает профиль потока битов. 8-битное поле "level_idc" обозначает значение обозначения уровня потока битов в самом верхнем слое. 4-битное поле "ls4b_sublayer_level_idc" обозначает значение обозначения уровня потока битов в слое, ниже, чем самый верхний слой (например, в слое на один уровень ниже, чем самый верхний слой). В этом случае нижние 4 бита размещены в шестнадцатеричном выражении.
Кроме того, в случае "temporal_layer_subset_flag=1" существует 3-битное поле каждого из "temporal_id_min", "temporal_id_max", "temporal_id_sublayer_min" и "temporal_id_sublayer_max". "temporal_id_max" обозначает значение temporal_id самого верхнего слоя для диапазона слоев, в котором максимальный слой представляет собой самый высокий слой, то есть, самый верхний слой, и "temporal_id_min" обозначает значение temporal_id самого низкого слоя в диапазоне слоев. Кроме того "temporal_id_sublayer_max" обозначает значение temporal_id самого верхнего слоя диапазона слоя, в котором максимальный слой ниже, чем самый верхний слой (обычно, слой на один уровень ниже, чем самый верхний слой), и "temporal_id_sublayer_min" обозначает значение temporal_id самого низкого слоя диапазона слоев.
В качестве примера, описан конкретный пример каждого описания поля в примере иерархического кодирования, представленном на фиг. 3 (а). "0x9c", которое представляет собой значение уровня "level5.2", описано в 8-битном поле "level_idc". "9" из 0x99", которое представляет собой значение "level5.1", описано в 4-битном поле "ls4b_sublayer_level_idc".
"011", обозначающее temporal_id=3, описано в поле 3-его бита "temporal_id_max", и "000", обозначающее t temporal_id=0, описано в 3-битном поле "temporal_id_min". Кроме того, "010", обозначающее temporal_id=2, описано в 3-битном поле "temporal_id_sublayer_max", и "000", обозначающее temporal_id=0, описано в 3-битном поле "temporal_id_min".
На фиг. 7 иллюстрируется пример структуры (синтаксис) слоя/сигналов/дескриптора (дескриптора Layer_signaling). Кроме того, на фиг. 8 иллюстрируется семантика основной информации в примере структуры. Используя описанный выше дескриптор HEVC (фиг. 6), передают значение обозначения уровня потока битов и информации о диапазоне слоя в каждом из двух диапазонов слоя. Однако, используя слой/сигналы/дескриптор, может быть передано значение обозначения уровня потока битов и информация о диапазоне слоя в каждом из трех или больше диапазонов слоев.
8-битное поле "descriptor_tag" обозначает тип дескриптора и обозначает здесь слой/сигналы/дескриптор. 8-битное поле "descriptor_length" обозначает длину (размер) дескриптора и обозначает следующее количество байтов, как длину дескриптора.
8-битное поле "overall_profile_idc" обозначает профиль максимального диапазона, относящегося к масштабируемым инструментам кодирования. 8-битное поле "highest_level_idc" обозначает максимальный уровень масштабируемого диапазона. 8-битное поле "number_of_profile_layers" обозначает количество слоев профиля, имеющих масштабируемую функцию. "number_of_level_layers" обозначает количество слоев уровня.
8-битное поле "layer_profile_idc [i]" обозначает профиль каждого слоя профиля. 8-битное поле "layer_level_idc [i] [j]" обозначает уровень каждого слоя уровня. 8-битное поле "temporal_id_layer_min [i] [j]" обозначает значение минимального temporal_id в каждом слое уровня. 8-битное поле "temporal_id_layer_max [i] [j]" обозначает значение максимального temporal_id в каждом слое уровня.
Например, описан конкретный пример каждого описания поля, относящегося к уровню в примере иерархического кодирования, представленном на фиг. 3 (с). "0x9c", которое представляет собой значение "level5.2", описано в 8-битнорм поле "highest_level_idc". Когда установлены три диапазона слоя, в которых каждый слой 4, 3 и 2 представляет собой максимальный слой, "3", обозначающее, что количество слоев уровня равно трем, описано в 8-битном поле "nrnnber_of_level_layers".
Затем, в отношении первого слоя уровня, "0x9c", которое представляет собой значение "level5.2", описано в 8-битном поле "layer_level_idc [i] [j]", "100", обозначающее temporal_id=4, описано в 8-битном поле "temporal_id_layer_max [i] [j]", и "000", обозначающее temporal_id=0, описано в 8-битном поле "temporal_id_layer_min [i] [j]".
Кроме того, что касается второго слоя уровня, "0x99", которое представляет собой значение "level5.1", описано в 8-битном поле "layer_level_idc [i] [j]", "011", обозначающее temporal_id=3, описано в 8-битном поле "temporal_id_layer_max [i] [j]", и "000", обозначающее temporal_id=0, описано в 8-битном поле "temporal_id_layer_min [i] [j]".
Кроме того, что касается третьего слоя уровня, "0x96", которое представляет собой значение "level5", описано в 8-битном поле "layer_level_idc [i] [j]", "010", обозначающее temporal_id=2, описано в 8-битном поле "temporal_id_layer_max [i] [j]", и "000", обозначающее temporal_id=0, описано в 8-битном поле "temporal_id_layer_min [i] [j]".
Здесь пример конфигурации слоя профиля описан со ссылкой на фиг. 9 (а)-(с). На фиг. 9 (а) показан пример кодирования 8-битного изображения, качество изображения которого улучшено двумя потоками, путем кодирования данных разности в виде расширенного потока масштабируемого основного профиля "Profile_layering_id=1", и добавления к основному потоку основного профиля "Profile_layering_id=0", по сравнению только с основным потоком.
На фиг. 9 (b) показан пример кодирования 10-битного изображения, качество изображения которого улучшено двумя потоками, используя данные разности кодирования в качестве расширенного потока масштабируемого 10 основного профиля "Profile_layering_id=1" в дополнение к основному потоку основного 10 профиля "Profile_layering_id=0", по сравнению только с основным потоком.
На фиг. 9 (с) показан пример кодирования 8-битного изображения, качество изображения которого улучшено двумя потоками, с помощью данных разности кодирования в качестве расширенного потока 1 масштабируемого основного профиля "Profile_layering_id=1", в дополнение к основному потоку основного профиля "Profile_layering_id=0", по сравнению только с основным потоком. Кроме того, кодируют изображение, имеющее точность 10 битов, полученное с использованием данных разности кодирования между 10 битами и 8 битами, в качестве расширенного потока 2 масштабируемого основного профиля "Profile_layering_id=2".
Следует отметить, что, добавленное значение отображения, используя масштабируемый расширенный поток, не только улучшает описанное выше качество изображения, но также применимо к масштабируемому расширению, относящемуся к увеличению пространственного разрешения, расширению цветового диапазона и расширению уровня яркости. Что касается этих потоков, путем анализа пакета из входного буфера декодера приемника и путем соответствующей дискриминации пакета, возможно выполнить требуемое декодирование.
Конфигурация транспортного потока TS
На фиг. 10 иллюстрируется пример конфигурации транспортного потока TS. Транспортный поток TS содержит один видеопоток. Другими словами, в этом примере конфигурации существует пакет PES "видео PES 1" видеопотока, имеющего кодированные данные изображения для изображений множества слоев, с использованием, например, HEVC.
В кодированных данных изображения каждого изображения существует модуль NAL, такой как VPS, SPS, PPS, SLICE или SEI. Как описано выше, информация идентификации слоя изображения ("nuh_temporal_id_plus1", обозначающая temporal_id), размещена в заголовке модуля NAL. "general_level_idc", которое представляет собой значение, обозначающее уровень потока битов, вставлено в SPS.
Кроме того, транспортный поток TS содержит таблицу карты программы (РМТ), как информацию, специфичную для программы (PSI). PSI представляет собой информацию, в которой описано, какой программе принадлежит каждый элементарный поток, содержащийся в транспортном потоке.
В РМТ существует программа/контур (программный контур), описывающий информацию, относящуюся ко всей программе. Кроме того, существует элементарный/контур, имеющий информацию, относящуюся к каждому элементарному потоку в РМТ. В примере конфигурации существует элементарный/контур видеоданных (видеоконтур ES1).
В элементарном/контуре видеоданных размещены информация, такая как тип потока и идентификатор пакета (РШ), соответствующий видеопотоку (видео PES1), и дескриптор, описывающий информацию, относящуюся к видеопотоку. В качестве одного из дескрипторов, описан и вставлен описанный выше дескриптор HEVC (HEVC_descriptor), или слой/сигналы/дескриптор (дескриптор Layer_signaling). Следует отметить, что, слой/сигналы/дескриптор не вставлен, когда используется HEVC, добавленный к элементу дескриптора, представленному на фиг. 6.
Далее будут кратко описаны операции устройства 100 передачи, представленного на фиг. 5. Декодированные данные движущегося изображения VD вводят в кодер 102. Кодер 102 выполняет иерархическое кодирование для данных движущегося изображения VD. Другими словами, кодер 102 классифицирует данные изображения каждого изображения, состоящего из данных движущегося изображения VD на множество слоев, кодирует данных изображения и генерирует видеопоток (видеоданные), имеющий кодированные данные изображения для изображения в каждом из слоев. В этом случае данные изображения кодируют таким образом, что изображение, на которое должна быть сделана ссылка, принадлежит собственному слою и/или слою ниже, чем собственный слой.
Видеопоток, содержащий кодированные данные изображения в каждом из слоев и генерируемый кодером 102, подают в буфер 103 сжатых данных (cpb) и временно сохраняют. С помощью мультиплексора 104, видеопоток, Сохраняемый в буфере 103 сжатых данных, считывают, выполняют формирование пакетов PES и мультиплексируют, выполняя формирование транспортных пакетов, и получают транспортный поток TS, как мультиплексированный поток. Транспортный поток TS содержит одиночный видеопоток.
Когда транспортный поток TS генерируют с помощью мультиплексора 104 таким образом, значение обозначения уровня потока битов и информацию диапазона слоя в диапазонах слоев, имеющих разный максимальный слой, вставляют в слой контейнера. Например, дескриптор HEVC добавленного элемента (см. фиг. 6) или слой/сигналы/дескриптор (см. фиг. 7) вставляют под таблицей карты программы (РМТ). Транспортный поток TS, генерируемый мультиплексором 104, передают в модуль 105 передачи. Транспортный поток TS передают в устройство 200 приема по волне широковещательной передачи или как пакет Интернет с помощью модуля 105 передачи.
Конфигурация устройства приема
На фиг. 11 иллюстрируется пример конфигурации устройства 200 приема. Устройство 200 приема включает в себя центральное процессорное устройство (CPU) 201, модуль 202 приема, демультиплексор 203 и буфер 204 сжатых данных (cpb: буфер кодированного изображения). Кроме того, устройство 200 приема включает в себя декодер 205, буфер 206 развернутых данных (dpb: буфер декодированного изображения), модуль 207 последующей обработки и модуль 208 дисплея. CPU 201 состоит из модуля управления и управляет операциями модулей устройства 200 приема.
Модуль 202 приема принимает транспортный поток TS, переданный из устройства 100 передачи по волне широковещательной передачи или как пакет интернет. Демультиплексор 203 выделяет из транспортного потока TS пакет TS, состоящий из видеопотока, содержащегося в транспортном потоке TS после фильтрации пакета TS с использованием фильтра PID, и передает транспортный поток TS в буфер 204 сжатых данных (cpb: буфер кодированного изображения).
Кроме того, демультиплексор 203 выделяет данные данных блока из транспортного потока TS, и передает данные данных блока в CPU 201. Данные блока содержат описанный выше дескриптор HEVC (HEVC_descriptor) и слой/сигналы/дескриптор (дескриптор Layer_signaling). CPU 201 определяет диапазон слоя, который декодер 205 может декодировать из диапазонов слоя, обозначенных этими дескрипторами, с использованием значения обозначения уровня потока битов и информации диапазона слоя и передает эту информацию по временному ID (temporal_id) диапазона слоя в декодер 205.
Кроме того, демультиплексор 203 выделяет ссылку на программные часы (PCR) из пакета TS, содержащего PCR, и передает PCR в CPU 201. Кроме того, демультиплексор 203 выделяет временные метки (DTS и PTS), вставленные в заголовок PES для каждого изображения, и передает временные метки в CPU 201.
Буфер 204 сжатых данных (cpb) временно сохраняет кодированные данные изображения для каждого изображения в соответствии с пакетом TS, переданным из демультиплексора 203. Декодер 205 считывает и декодирует кодированные данные изображения каждого изображения, сохраненного в буфере 204 сжатых данных и временные характеристики декодирования, передаваемые временной меткой декодирования (DTS) изображения, и передает декодированные данные изображения в буфер 206 развернутых данных (dpb: буфер декодированного изображения). В это время декодер 205 избирательно декодирует только кодированные данные изображения для изображения, содержащегося в декодируемом диапазоне слоя на основе информации временного ID (temporal_id) декодируемого диапазона слоя, передаваемой из CPU 201.
На фиг. 12 схематично иллюстрируется пример конфигурации демультиплексора 203 и декодера 205. Демультиплексор 203 включает в себя буфер 203а мультиплексирования видеоданных и буфер 203b данных блока. Пакет TS, соответствующий номеру программы, эквивалентному каналу услуги широковещательной передачи и выделенному из транспортного потока TS с помощью фильтра PID, временно сохраняют в буфере 203а мультиплексирования видеоданных и затем передают в буфер 204 сжатых данных. Кроме того, данные блока, выделенные из транспортного потока TS с помощью фильтра PID, временно сохраняют в буфере 203b данных блока и затем передают в CPU 201.
Кроме того, декодер 205 включает в себя модуль 205а временного анализа ID и модуль 205b обработки декодирования. Модуль 205а временного анализа ID последовательно считывает кодированные данные каждого изображения, сохраненного в буфере 204 сжатых данных в моменты времени декодирования, и анализирует информацию о временном ID (temporal_id), вставленном в заголовок модуля NAL. Затем модуль 205а анализа временного ID передает кодированные данные в модуль 205b обработки декодирования при определении, что кодированные данные находятся в пределах диапазона декодируемого слоя, и отбрасывает кодированные данные, без передачи кодированных данных в модуль 205b обработки декодирования, при определении, что кодированные данные не находятся в пределах диапазона декодируемого слоя. Следует отметить, что информация о временном ID (temporal_id) диапазона декодируемого слоя поступает в модуль 205а анализа временного ID из CPU 201.
В качестве примера описан случай примера иерархического кодирования на фиг. 3 (а). Например, когда декодер 205 представляет собой декодер 100р, "от 0 до 3" подают в модуль 205а анализа временного ID, как информацию о временном ID диапазонов декодированного слоя из CPU 201. Таким образом, модуль 205а анализа временного ID передает кодированные данные изображения для изображений в слоях от 0 до 3 в модуль 205b обработки декодирования.
С другой стороны, когда декодер 205 представляет собой декодер 50р, "от 0 до 2" подают в модуль 205а анализа временного ID, как информацию о временном ID диапазонов декодируемого слоя с помощью CPU 201. Таким образом, модуль 205а анализа временного ID передает кодированные данные изображения для изображений в слоях от 0 до 2 для модуля 205b обработки декодирования. С другой стороны, модуль 205а анализа временного ID отбрасывает кодированные данные изображения для изображения в слое 3 без передачи кодированного изображения в модуль 205b обработки декодирования. На фиг. 13 схематично иллюстрируется такое поведение модуля 205а анализа временного ID. Следует отметить, что "tid=high" обозначает слой 3, и "tid=low" обозначает слои от 0 до 2.
Возвращаясь обратно к фиг. 11, в буфере 206 развернутых данных (dpb) временно содержатся данные изображения каждого изображения, декодированного декодером 205. Модуль 207 последующей обработки выполняет для данных изображения каждого изображения, последовательно считываемого в моменты времени отображения, подаваемые меткой времени представления (PTS), из буфера 206 развернутых данных (dpb), обработку для регулирования частоты кадров, в соответствии с возможностями дисплея.
Например, когда частота кадров данных изображения каждого изображения после декодирования составляет 50 кадров/с, и возможности отображения составляет 100 кадров/с, модуль 207 последующей обработки выполняет обработку интерполяции для данных изображения каждого изображения после декодирования таким образом, что разрешение в направлении времени становится двойным, и передает эти данные изображения с частотой 100 кадров/с в модуль 208 дисплея.
Модуль 208 дисплея состоит, например, из жидкокристаллического дисплея (LCD), панели органической электролюминесценции (EL) и т.п. Следует отметить, что модуль 208 дисплея может представлять собой внешнее устройство, соединенное с устройством 200 приема.
На фиг. 14 иллюстрируется пример потока обработки декодера 205 и модуля 207 последующей обработки. На этапе ST1 обработка начинается и затем переходит к обработке на этапе ST2. На этапе ST2 декодер 205 считывает из буфера 204 сжатых данных (cpb) поток видеоданных, который должен быть декодирован в моменты времени декодирования (кодированных данных изображения для изображения, предназначенного для декодирования), и детектирует временной ID (temporal_id).
Затем, на этапе ST3, декодер 205 определяет, находится ли временной ID (temporal_id), детектированный на этапе ST2 в пределах декодируемого диапазона. Когда временной ID не находится в пределах декодируемого диапазона, декодер 205 не выполняет обработку декодирования и возвращается обратно к обработке на этапе ST2. С другой стороны, когда временной ID находится в пределах декодируемого диапазона, декодер 205 переходит к обработке на этапе ST4. На этапе ST4 декодер 205 выполняет обработку декодирования и передает данные изображения для изображения после декодирования в буфер 206 развернутых данных (dpb).
Затем, на этапе ST5, модуль 207 последующей обработки считывает из буфера 206 развернутых данных (dpb) данные изображения для данных изображения для изображения, предназначенного для отображения, в моменты времени отображения. Затем, на этапе ST6, модуль 207 последующей обработки определяет, являются ли частота отображения и частота считывания из буфера 206 развернутых данных (dpb) разными. Когда частоты разные, на этапе ST7, модуль 207 последующей обработки регулирует частоту считывания относительно частоты отображения путем выполнения интерполяции кадров или прореживания изображения. После обработки на этапе ST7 обработка заканчивается на этапе ST8. Кроме того, когда частоты не отличаются на этапе ST6, обработка немедленно заканчивается на этапе ST8.
Операции устройства 200 приема, представленные на фиг. 11, были кратко описаны выше. Транспортный поток TS, передаваемый из устройства 100 передачи на волне широковещательной передачи или в виде пакета Интернет, принимается модулем 202 приема. Транспортный поток TS передают в демультиплексор 203. Пакет TS, соответствующий услуге, выделяют из транспортного потока TS на основе информации PID, содержащейся в РМТ, с помощью демультиплексора 203. Пакет TS передают в буфер 204 сжатых данных (cpb) и временно сохраняют.
Кроме того, данные блока выделяют из транспортного потока TS, и передают в CPU 201 с помощью демультиплексора 203. Диапазон слоя, который может декодировать декодер 205, определяют из диапазонов слоя, описанных дескриптором HEVC или слоем/сигналами/дескриптором со значением обозначения слоя потока битов и информацией диапазона слоя, и информацию о временном ID (temporal_id) диапазона слоя передают в декодер 205 с помощью CPU 201.
Кодированные данные изображения каждого изображения, сохраненные в буфере 204 сжатых данных, декодируют в моменты времени декодирования изображения, переданного в буфер 206 развернутых данных (dpb), и временно сохраняют с помощью декодера 205. В этом случае с помощью декодера 205 кодированные данные изображения для изображения в пределах диапазона декодируемого слоя только избирательно декодируют на основе информации о временном ID (temporal_id) диапазона декодируемого слоя, подаваемого в CPU 201.
Данные изображения каждого изображения, сохраненные в буфере 206 развернутых данных (dpb), последовательно считывают в моменты времени отображения, и передают в модуль 207 последующей обработки. Интерполяция, подвыборка или прореживание выполняют для данных изображения каждого изображения, чтобы регулировать частоту кадров в соответствии с возможностями отображения модуля 207 последующей обработки. Данные изображения каждого изображения, обработанного модулем 207 последующей обработки, подают в модуль 208 дисплея, и движущееся изображение отображают с данными изображения каждого изображения.
Как описано выше, в системе 10 приемопередатчика, представленной на фиг. 1, дескриптор HEVC добавленного элемента (см. фиг. 6) или слоя/сигналов/дескриптора (см. фиг. 7) вставлен в слой контейнера транспортного потока TS с помощью устройства 100 передачи. Такие дескрипторы имеют значение обозначения уровня потока битов и информацию о диапазоне слоя в каждом из диапазонов слоя, имеющем разный максимальный слой. Таким образом, например, возможно на стороне приема декодировать кодированные данные изображения для изображения в диапазоне слоя, в соответствии с характеристиками декодирования на основе информации.
2. Модифицированный пример
Применение для системы распределения потока на основе MPEG-DASH
Следует отметить, что в представленном выше варианте осуществления был описан пример, в котором контейнер представляет собой транспортный поток (MPEG-2 TS). Однако настоящая технология аналогично может применяться в системе, имеющей конфигурацию, в которой поток распределяют в терминал приема, используя сеть, такую как Интернет. При распределении по Интернет поток, в основном, распределяется с использованием контейнера МР4 или других форматов.
На фиг. 15 (а) иллюстрируется пример конфигурации системы 30 распределения потока на основе MPEG-DASH. Система 30 распределения потока имеет конфигурацию, в которой сервер 31 потока файла потока DASH и сервер 32 DASH MPD соединены с множеством N приемников 33-1, 33-2 …, и 33-N через сеть 34 доставки содержания (CDN).
Сервер 31 файла потока DASH генерирует на основе мультимедийных данных (видеоданных, аудиоданных, данных субтитров и т.п.) заданного содержания сегмент потока, соответствующий DASH (ниже, соответственно, называется "сегментом DASH"), и передает этот сегмент в ответ на запрос HTTP из приемника. Сервер 31 файла потока DASH может представлять собой сервер специализированной потоковой передачи, или может использоваться, как веб-сервер.
Кроме того, сервер 31 файла потока DASH передает, в ответ на запрос сегмента заданного потока, переданного из приемника 33 (33-1, 33-2 …, и 33-N) через CDN 34, сегмент потока в приемник, который представляет собой источник запроса, через CDN 34. В этом случае приемник 33 выполняет запрос путем ссылки на значение частоты, описанной в файле описания представления мультимедийных данных (MPD) и выбора потока с оптимальной частотой, в соответствии с сетевым окружением, где размещен клиент.
Сервер 32 MPD-DASH представляет собой сервер для генерирования файла MPD для получения сегмента DASH, генерируемого сервером 31 файла потока DASH. Файл MPD генерируют на основе метаданных содержания из сервера администрирования содержанием (не представлен) и адреса (url) сегмента, сгенерированного сервером 31 файла потока DASH.
В формате MPD, используя элемент представления для каждого потока видеоданных и аудиоданных, описан каждый атрибут. Например, путем разделения представления для каждого из множества потоков видеоданных, имеющих разную скорость, каждая скорость описана в файле MPD. Приемник 33 может выбирать оптимальный поток, в соответствии с условиями сетевого окружения, где размещен приемник 33 путем ссылки назначение скорости, как описано выше.
На фиг. 15 (b) также иллюстрируется пример конфигурации системы 30А распределения потока на основе MPEG-DASH. Система 30А распределения потока состоит из системы 36 широковещательной передачи, с которой соединены сервер 31 файла потока DASH и сервер 32 DASH MPD, и множество М приемников 35-1, 35-2 …, и 35m. В случае системы ЗОА распределения потока система 36 широковещательной передачи передает сегмент потока, соответствующий DASH (сегмент DASH), генерируемому сервером 31 файла потока DASH, и файлу MPD, генерируемому сервером 32 MPD DASH, по волне широковещательной передачи.
На фиг. 16 (а)-(d) иллюстрируется пример соответствия между структурами, иерархически размещенными в описанном выше файле MPD. Как представлено на фиг. 16 (а), множество периодов, разделенных на временные интервалы, существует в представлении мультимедийных данных, как весь файл MPD. Например, первый период начинается с 0 секунд, и следующий период начинается со 100 секунд, и так далее.
Как представлено на фиг. 16 (b), множество представлений существует в периодах. Атрибут потока, сгруппированный с помощью AdaptationSet, такого как группа, ассоциированная с потоком видеоданных, имеющих разную скорость и одинаковое содержание, существуют в представлениях.
Как показано на фиг. 16 (с), представление содержит SegmentInfo. Как представлено на фиг. 16 (d), в SegmentInfo существует сегмент инициализации и множество мультимедийных сегментов, в которых описана информация о сегменте, на который дополнительно разделен период. Существует информация и т.п. об адресе (url), для фактического получения данных сегмента, таких как видеоданные или аудиоданные, в сегменте мультимедийных данных.
Следует отметить, что переключение потока может быть свободно выполнено между представлениями, сгруппированными с использованием AdaptationSet. Таким образом, в соответствии с условиями сетевого окружения, где размещен клиент IPTV, возможно выбрать поток с оптимальной частотой, и выполнить распределение движущегося изображения без стыков.
На фиг. 17 иллюстрируется пример конфигурации потока FragmentedMP4 в ассоциации с файлом MPD. Поток FragmentedMP4 содержит FragmentedMP4, полученный путем формирования пакетов из потока видеоданных. Кодированные видеоданные заданных изображений видеопотока, например, 1 GOP вставляют в часть "mdat" FragmentedMP4.
Настоящая технология может применяться для систем 30 и 30А распределения потока, представленных на фиг. 15 (а) и (b). В этом случае видеопоток был иерархически кодирован, аналогично описанному выше варианту осуществления. Кроме того, содержание, эквивалентное содержанию описания, например, описанного выше слоя/сигналов/дескриптора (см. фиг. 7), вставляют в файл MPD, и передают на сторону приема. На фиг. 18 иллюстрируется вариант осуществления файла MPD.
Кроме того, система 10 приемопередатчика, состоящая из устройства 100 передачи и устройства 200 приема, была описана в представленном выше варианте осуществления, однако, система приемопередатчика, в которой может применяться настоящая технология, не ограничена этим. Например, часть устройства 200 приема может, например, представлять собой телевизионную приставку и монитор, соединенные с цифровым интерфейсом, таким, как интерфейс мультимедийных данных высокой четкости (HDMI). Следует отметить, что "HDMI" представляет собой зарегистрированный товарный знак.
Кроме того, настоящая технология может иметь следующие конфигурации:
(1) Устройство передачи включает в себя модуль кодирования изображения, который классифицирует данные изображения каждого изображения, составляющего данные движущегося изображения на множество слоев, кодирует классифицированные данные изображения для изображения в каждом из множества слоев и генерирует видеопоток, имеющий кодированные данные изображения для изображения в каждом из множества слоев,
модуль передачи данных, который передает видеоданные,
и модуль передачи информации, который передает значение обозначения уровня потока битов и информацию о диапазоне слоя в каждом из множества диапазонов слоя, имеющих разный максимальный слой.
(2) Устройство передачи по (1),
в котором модуль передачи информации вставляет информацию в слой контейнера, содержащего видеоданные, и передает эту информацию.
(3) Устройство передачи по (2),
в котором контейнер представляет собой MPEG2-TS,
и модуль передачи информации вставляет информацию под таблицей карты программы и передает эту информацию.
(4) Устройство передачи по (1),
в котором модуль передачи информации вставляет информацию в метафайл, имеющий метаинформацию, относящуюся к видеоданным, и передает эту информацию.
(5) Устройство передачи по (4),
в котором метафайл представляет собой файл MPD.
(6) Устройство передачи по любому из (1)-(5),
в котором модуль передачи информации передает, вместе с информацией о профиле, значения обозначения уровня потока битов и информацию о диапазоне слоя в каждом из множества диапазонов слоев, имеющих различный максимальный слой.
(7) Способ передачи включает в себя этап кодирования изображения для классификации данных изображения каждого изображения, составляющего данные движущегося изображения, на множество слоев, кодирования классифицированных данных изображения для изображения в каждом из множества слоев, и генерирования видеоданных, имеющих кодированные данные изображения для изображения в каждом из множества слоев,
этап передачи данных для передачи видеоданных,
и этап передачи информации, для передачи значения обозначения уровня потока битов и информации о диапазоне слоя в каждом из множества диапазонов слоев, имеющих разный максимальный слой.
(8) Устройство приема включает в себя модуль приема данных, который принимает видеоданные, имеющие кодированные данные изображения для изображения в каждом из множества слоев, полученных путем классификации данных изображения каждого изображения, составляющего данные движущегося изображения во множестве слоев, и кодирующий данные изображения,
модуль приема информации, который принимает значение обозначения уровня потока битов и информацию о диапазоне слоя в каждом из множества диапазонов слоев, имеющих разный максимальный слой,
и модуль обработки, который выделяет из видеоданных данные изображения для изображения в слое, который ниже, чем заданный слой, и декодирует данные изображения на основе информации.
(9) Устройство приема по (8),
в котором модуль приема информации получает информацию из слоя контейнера, содержащего видеоданные.
(10) Устройство приема по (8),
в котором модуль приема информации получает информацию из метафайла, имеющего метаинформацию, относящуюся к видеоданным.
(11) Способ приема включает в себя этап приема данных, предназначенный для приема видеоданных, имеющих кодированные данные изображения для изображения в каждом из множества слоев, полученных путем классификации данных изображения каждого изображения, составляющего данные движущегося изображения, на множество слоев и кодирования данных изображения,
этап приема информации, предназначенный для приема значения обозначения уровня потока битов и информации диапазона слоя в каждом из множества диапазонов слоя, имеющих разный максимальный слой,
и этап обработки, предназначенный для выделения из видеоданных, кодированных данных изображения для изображения в слое ниже, чем заданный слой, и декодирования кодированных данных изображения на основе информации.
Основное свойство настоящей технологии состоит в передаче значения, обозначающего уровень потока битов и информации диапазона слоя в каждом из множества диапазонов слоев, имеющих разный максимальный слой, когда передают видеоданные, кодированные иерархически, при этом возможно на стороне приема легко декодировать кодированные данные изображения для изображения диапазона слоя, в соответствии с характеристиками декодирования (см. фиг. 10, фиг. 6 и фиг. 7).
Список номеров ссылочных позиций
10 - Система приемопередатчика
30, 30А - Система распределения потока на основе MPEG-DASH
31 - Файловый сервер потока DASH
32 - Сервер DASH MPD
33-1, 33-2 …, 33-N, 35-1, 35-2 …, 35-М - Приемник
34 - Сеть доставки содержания (CDN)
36 - Система широковещательной передачи
100 - Устройство передачи
101 - CPU
102 - Кодер
103 - Буфер сжатых данных (cpb)
104 - Мультиплексор
105 - Модуль передачи
200 - Устройство приема
201 - CPU
202 - Модуль приема
203 - Демультиплексор
203а - Буфер мультиплексирования видеоданных
203b - Буфер данных блока
204 - Буфер сжатых данных (cpb)
205 - Декодер
205а - Модуль анализа временного ID
205b - Модуль обработки декодирования
206 - Буфер развернутых данных (dpb)
207 - Модуль последующей обработки
208 - Модуль дисплея