УСТРОЙСТВО ПЕРЕДАЧИ, СПОСОБ ПЕРЕДАЧИ, УСТРОЙСТВО ПРИЕМА, СПОСОБ ПРИЕМА, УСТРОЙСТВО КОДИРОВАНИЯ И СПОСОБ КОДИРОВАНИЯ
TRANSMISSION APPARATUS, TRANSMISSION METHOD, RECEPTION APPARATUS, RECEPTION METHOD, ENCODING APPARATUS, AND ENCODING METHOD

Область техники, к которой относится изобретение
Настоящая технология относится к устройству передачи, способу передачи, устройству приема, способу приема, устройству кодирования и способу кодирования. В частности, настоящая технология относится к устройству передачи, которое выполняет иерархическое кодирование данных изображения для каждого изображения, которое составляет данные динамического изображения и передает эти данные.
Уровень техники
Когда услуга сжатого динамического изображения предоставляется посредством широковещательной передачи, через сеть и т.п., верхний предел воспроизводимой частоты кадров определяют в соответствии с возможностями декодирования приемника. Таким образом, необходимо, чтобы сторона, предоставляющая услугу, ограничивала только предоставление услуги с низкими частотами кадров, или чтобы она одновременно предоставляла услугу на множестве высоких и низких частот кадров, учитывая возможности воспроизведения распределенного приемника.
Приемники, совместимые с услугой, предоставляемой на высокой частоте кадров, имеют высокую стоимость, что представляет собой фактор, сдерживающий их распространение. Поскольку первоначально были распространены только недорогостоящие приемники, предназначенные для услуг с низкой частотой кадров, если провайдеры услуги начнут предоставлять услуги с высокой частотой кадров в будущем, станет невозможным рассматривать услуги без нового приемника, что представляет собой другой фактор, сдерживающий распространение услуг.
Например, при высокоэффективном кодировании видеоданных (HEVC) была предложена масштабируемость в направлении времени, при которой данные соответствующих изображений, которые составляют данные динамического изображения, подвергают иерархическому кодированию (см. Непатентную литературу 1). Сторона приема может идентифицировать уровень каждого изображения на основе временного ГО (temporal_id), который был вставлен в заголовок модуля уровня сетевой абстракции (NAL), и может выполнять избирательное декодирование вплоть до уровней, соизмеримых с возможностями декодирования.
Список литературы
Непатентная литература
Непатентная литература 1: Overview of the High Efficiency Video Coding (HEVC) Standard" written by Gary J. Sullivan, Jens-Rainer Ohm, Woo-Jin Han, and Thomas Wiegand, IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECNOROGY, VOL. 22, NO. 12, pp. 1649-1668, December 2012.
Раскрытие изобретения
Техническая задача
Цель настоящей технологии состоит в том, чтобы обеспечить для стороны приема возможность предпочтительной обработки декодирования, соизмеримой с ее возможностями декодирования.
Решение задачи
Концепция настоящей технологии представляет собой устройство передачи, включающее в себя: модуль кодирования изображения, выполненный с возможностью классификации данных изображения каждого из изображений, которые составляют данные динамического изображения на множестве уровней, для кодирования данных изображения каждого из классифицированных уровней и для генерирования видеопотока, имеющего данные кодированного изображения в виде изображений каждого из уровней; и модуль передачи, выполненный с возможностью передачи контейнера в заданном формате, который включает в себя сгенерированный видеопоток. Модуль кодирования изображения добавляет информацию о временных характеристиках декодирования, которая была установлена таким образом, что более высокий уровень имеет более короткий интервал времени декодирования для кодированных данных изображения каждого из изображений, к кодированным данным изображения для изображений каждого из уровней.
В настоящей технологии модуль кодирования изображения генерирует видеопоток (кодированный поток) путем кодирования данных изображения каждого из изображений, составляющих данные динамического изображения. В этом случае данные изображения каждого из изображений, составляющих данные динамического изображения, классифицируют на множество уровней и кодируют, и генерируют видеопоток, имеющий данные изображения в виде изображений каждого из уровней. В этом случае, информация о временных характеристиках декодирования установлена таким образом, что более высокий уровень имеет более короткий временной интервал декодирования кодированных данных изображения каждого изображения, например, временную метку декодирования, добавляют к кодированным данным изображения для изображения каждого из уровней.
Модуль передачи передает контейнер в заданном формате, который включает в себя описанный выше видеопоток. Контейнер может, например, представлять собой транспортный поток (MPEG 2 TS), который использовался в стандартах цифровой широковещательной передачи. Кроме того, контейнер может представлять собой, например, МР4, который использовался при распределении в Интернет и т.п., или контейнер в другом формате, чем этот.
Например, модуль кодирования изображения может генерировать одиночный видеопоток, имеющий кодированные данные изображения, из изображений каждого из уровней, и может разделять множество уровней на заданное количество наборов уровней, такое количество равно или больше чем два, и может добавлять информацию идентификации для идентификации набора аффилированного уровня к кодированным данным изображения для изображений каждого из наборов уровня. В этом случае информация идентификации представляет собой, например, значение, обозначающее слой потока битов, и более высокое его значение может быть установлено для набора уровней на стороне более высокого уровня.
Кроме того, модуль кодирования изображения может, например, разделять множество уровней на заданное количество наборов уровней, и такое количество равно или больше чем два, и может генерировать заданное количество видеопотоков, каждый из которых имеет кодированные данные изображения для изображений наборов уровней. В этом случае модуль кодирования изображения может, например, добавлять информацию идентификации для идентификации аффилированного набора уровней для кодированных данных изображения для изображения каждого из наборов уровней. Кроме того, информация идентификации в этом случае может, например, представлять собой значения, обозначающие слой потока битов, и более высокое его значение устанавливают для набора уровней на стороне более высокого уровня.
Как описано выше, в настоящей технологии, информацию о временных характеристиках декодирования, установленную таким образом, что более высокий уровень имеет более короткий временной интервал декодирования для кодированных данных изображения для каждого изображения, добавляют к кодированным данным изображения для изображений каждого из уровней. По этой причине сторона приема может выполнять предпочтительную обработку декодирования, в соответствии с характеристиками декодирования. Даже когда возможности декодирования низкие, например, кодированные данные изображения для изображений нижнего уровня могут быть избирательно декодированы, не вызывая ошибку в буфере.
В настоящей технологии, например, модуль кодирования изображения может генерировать одиночный видеопоток, имеющий кодированные данные изображения для изображений каждого из уровней, или может разделять множество уровней на заданное количество наборов уровней, и это количество равно или больше чем два, и может генерировать заданное количество видеопотоков, имеющих кодированные данные изображения, для изображений каждого из наборов уровней, и, кроме того, может включать в себя модуль вставки информации, выполненный с возможностью вставки информации конфигурации видеопотока, включенного в контейнер на уровне контейнера. В этом случае, например, сторона приема может легко определять конфигурацию видеопотока на основе информации конфигурации видеопотока, включенной в контейнер, и, таким образом, может выполнять правильную обработку декодирования.
В настоящей технологии, например, модуль передачи может разделять множество уровней на заданное количество наборов уровней, такое количество равно или больше чем два, и может устанавливать более высокий приоритет пакета, который содержит кодированные данные изображения, для изображений набора уровней на стороне более низкого уровня. В этом случае, например, сторона приема может только поместить в буфер кодированные данные изображения для изображений набора уровней, соизмеримого с ее собственными возможностями декодирования, на основе приоритета пакета.
Другая концепция настоящей технологии направлена на устройство приема, включающее в себя: модуль приема, выполненный с возможностью приема контейнера в заданном формате, который включает в себя видеопоток, имеющий данные кодированного изображения для изображений каждого из уровней, которые получают путем классификации данных изображения каждого из изображений, которые составляют данные динамического изображения, на множество уровней и кодирования данных изображения. Информацию о временных характеристиках декодирования, которая установлена так, что более высокий уровень имеет более короткий интервал времени декодирования для данных кодированного изображения каждого из изображений, добавляют к данным кодированного изображения для изображений каждого из уровней. Устройство приема дополнительно включает в себя модуль обработки, выполненный с возможностью получения, путем декодирования кодированных данных изображений для уровня, равного или ниже, чем заданный уровень, выбираемых из видеопотока, включенного в принятый контейнер, в моменты времени декодирования, обозначенные информацией о временных характеристиках декодирования, данных изображения для изображений уровня, равного или ниже, чем заданный уровень.
В настоящей технологии модуль приема принимает контейнер в заданном формате. Этот контейнер включает в себя видеопоток, имеющий данные изображения для изображений каждого из уровней, полученных путем классификации данных изображения для каждого из изображений, которые составляют данные динамического изображения, на множество уровней, и кодирования этих данных. Информацию о временных характеристиках декодирования устанавливают таким образом, что более высокий уровень имеет более короткий временной интервал декодирования для кодированных данных изображения каждого изображения, например, временную метку декодирования, добавляют к кодированным данным изображения для изображений каждого из уровней.
Модуль обработки получает данные изображения каждого из изображений путем декодирования кодированных данных изображения для изображений уровня, равного или ниже, чем заданный уровень, выбранный из видеопотока, включенного в принятый контейнер. В этом случае декодирование кодированных данных изображения для каждого изображения выполняют в моменты времени декодирования, обозначенные последней добавленной к нему информацией о временных характеристиках декодирования.
Например, принятый контейнер может включать в себя одиночный видеопоток, имеющий кодированные данные изображения, из изображений каждого из уровней. Множество уровней может быть разделено на заданное количество наборов уровней, при этом количество равно или больше чем два, и может быть установлен более высокий приоритет пакета, который содержит кодированные данные изображения уровня, установленного на сторону более низкого уровня. Модуль обработки может устанавливать для кодированных данных изображения для изображений набора заданного уровня, содержащихся в пакете, приоритет, выбранный в соответствии с возможностями декодирования в буфере для декодирования кодированных данных изображения.
Например, принятый контейнер может включать в себя заданное количество видеопотоков, причем это количество равно или больше двум, имеющих данные изображения для изображений заданного количества наборов уровней, полученных при разделении множества уровней. Модуль обработки может помещать в буфер кодированные данные изображения для изображений заданного набора уровней, включенных в видеопоток, выбранный в соответствии с возможностями декодирования, для декодирования кодированных данных изображения.
В настоящей технологии, как описано выше, временную метку декодирования, установленную таким образом, что более высокий уровень имеет более короткий временной интервал декодирования для кодированных данных изображения каждого изображения, добавляют к кодированным данным изображения для изображений каждого из уровней, и кодированные данные изображения для изображений уровня, равного или меньше, чем выбранный заданный уровень, выполняют в моменты времени декодирования, обозначенные добавленной к нему информацией временных характеристик декодирования. По этой причине возможно выполнить предпочтительную обработку декодирования в соответствии с характеристиками декодирования. Даже когда возможности декодирования низкие, например, кодированные данные изображения для изображений нижнего уровня могут быть избирательно декодированы без возникновения ошибки в буфере.
Следует отметить, что в настоящей технологии, например, может быть дополнительно включен модуль последующей обработки, который обеспечивает соответствие частоты кадров данных изображения каждого из изображений, полученных модулем обработки, возможностям дисплея. В таком случае, даже когда возможность декодирования низкая, могут быть получены данные изображения с частотой кадров, соизмеримой с высокими возможностями дисплея.
Другая концепция настоящей технологии состоит в устройстве кодирования, включающем в себя: модуль кодирования изображения, выполненный с возможностью классификации данных изображения каждого из изображений, составляющих данные динамического изображения, на множество уровней, кодирования данных изображения для изображений каждого из классифицированных уровней, и генерирования видеопотока, имеющего кодированные данные изображения, для изображений каждого из уровней. Модуль кодирования изображения разделяет множество уровней на заданное количество наборов уровней, это количество равно или больше чем два, и вставляет значение обозначения слоя потока битов в подпотоки, соответствующие каждому из наборов уровней. Значение, обозначающее слой потока битов, вставленное в подпотоки, соответствующие каждому из наборов уровней, устанавливают, как значение слоя, которое включает в себя изображения всех уровней, включенных в набор уровня, равный или меньше, чем соответствующий набор уровней.
В настоящей технологии, при использовании модуля кодирования изображения, данные изображения каждого из изображений, составляющих данные динамического изображения, классифицируют на множество уровней, данные изображения из изображений каждого из классифицированных уровней кодируют, и генерируют видеопоток, имеющий кодированные данные изображения для изображений каждого из уровней.
В этом случае множество уровней разделяют на заданное количество наборов уровней, это количество равно или больше чем два, и значение, обозначающее слой потока битов, вставляют в подпотоки, соответствующие каждому из наборов уровней. Кроме того, в этом случае, значение, обозначающее слой потока битов, вставленное в подпотоки, соответствующие каждому из наборов уровней, устанавливают, как значение слоя, который включает в себя изображения всех уровней, включенных в набор уровней, равный или меньший, чем соответствующий набор уровней.
Модуль кодирования изображения может, например, генерировать заданное количество видеопотоков, которые включают в себя подпотоки, соответствующие каждому из наборов уровня. Кроме того, модуль кодирования изображения может, например, генерировать одиночный видеопоток, который включает в себя все подпотоки, соответствующие каждому из наборов уровня.
В настоящей технологии, как описано выше, значение, обозначающее слой потока битов, вставляют в подпотоки, соответствующие каждому из наборов уровня, и это значение устанавливают, как значение слоя, который включает в себя изображения всех уровней, включенных в набор уровня, равный или меньший, чем соответствующий набор уровня. По этой причине сторона приема видеопотока может легко определять, возможно или нет декодирование каждого подпотока, на основе вставленного значения, обозначающего слой потока битов.
Другая концепция настоящей технологии направлена на устройство передачи, включающее в себя: модуль кодирования изображения, выполненный с возможностью классификации данных изображения каждого из изображений, составляющих данные динамического изображения, на множество уровней, кодирования данных изображения для изображений каждого из классифицированных уровней и генерирования видеопотока, имеющего кодированные данные изображения для изображений каждого из уровней. Модуль кодирования изображения разделяет множество уровней на заданное количество наборов уровней, и это количество равно или больше чем два, и вставляет значение, обозначающее слой потока битов, в подпотоки, соответствующие каждому из наборов уровней. Значение, обозначающее слой потока битов, вставленное в подпотоки, соответствующие каждому из наборов уровней, устанавливают, как значение слоя, которое включает в себя изображения всех уровней, включенных в набор уровня, равный или меньше, чем набор уровня. Устройство передачи дополнительно включает в себя модуль передачи, выполненный с возможностью передачи контейнера в заданном формате, который включает в себя сгенерированный видеопоток, и модуль вставки информации, выполненный с возможностью вставки в уровень контейнера информации флага, которая обозначает, что значение, обозначающее слой потока битов, вставленное в подпотоки каждого из наборов уровня, представляет собой значение слоя, которое включает в себя изображения всех уровней, включенных в набор уровня, равный или меньший, чем набор уровня.
В настоящей технологии модуль кодирования изображения классифицирует данные изображения каждого из изображений, составляющих данные динамического изображения, на множество уровней, данные изображения для изображений каждого из классифицированных уровней кодируют и генерируют видеопоток, имеющий кодированные данные изображения для изображений каждого из уровней.
В этом случае множество уровней разделяют на заданное количество наборов уровней, и это количество равно или больше чем два, и значение, обозначающее слой потока битов, вставляют в подпотоки, соответствующие каждому из наборов уровня. Кроме того, в этом случае, значение, обозначающее слой потока битов, вставленное в подпотоки, соответствующие каждому из наборов уровня, устанавливают, как значение слоя, которое включает в себя изображения всех уровней, включенных в набор уровня, равный или меньший, чем набор уровня.
Модуль передачи передает контейнер в заданном формате, который включает в себя сгенерированный видеопоток. Модуль вставки информации вставляет в уровень контейнера информацию флага, которая обозначает, что значение, обозначающее слой потока битов, вставленное в подпотоки каждого из наборов уровней, представляет собой значение слоя, которое включает в себя изображения всех уровней, включенных в набор уровня, равный или меньший, чем набор уровня.
В настоящей технологии, как описано выше, сторона приема может знать, что значение, обозначающее слой потока битов, вставленное в подпотоки каждого из наборов уровней, представляет собой значение слоя, которое включает в себя изображения всех уровней, включенных в набор уровней, равный или меньший, чем уровень, установленный с информацией флага, вставленной на уровень контейнера. По этой причине сторона приема может достигать эффективности обработки декодирования без обработки проверки значения слоя, который включает в себя изображения всех уровней, включенных в каждый из подпотоков, равных или меньших, чем заданный набор уровня, используя значение, обозначающее слой каждого уровня и т.п.
Предпочтительные эффекты изобретения
В соответствии с настоящей технологией, предпочтительная обработка декодирования возможна в соответствии с возможностями декодирования. Следует отметить, что эффекты, описанные здесь, не обязательно являются ограничительными, и может быть достигнут любой эффект, описанный в настоящем раскрытии.
Краткое описание чертежей
На фиг. 1 показана блок-схема, представляющая пример конфигурации системы передачи и приема в соответствии с вариантом осуществления.
На фиг. 2 показана блок-схема, представляющая пример конфигурации устройства передачи.
На фиг. 3 представлена схема примера иерархического кодирования, выполняемого кодером.
На фиг. 4 показана схема, представляющая пример структуры (синтаксис) заголовка модуля NAL и содержания (семантика) основных параметров в примере структуры.
На фиг. 5 показана схема для описания конфигурации кодируемых данных изображения каждого изображения на основе HEVC.
На фиг. 6 показана схема, представляющая пример схемы кодирования, декодирования, порядка отображения и задержки во время иерархического кодирования.
На фиг. 7 показана схема, представляющая кодированный поток для иерархического кодирования и ожидания отображения (порядка отображения) в обозначенной иерархии.
На фиг. 8 показана схема, представляющая порядок ввода кодера и порядок отображения вывода декодера в обозначенной иерархии.
На фиг. 9 показана схема, представляющая пример временных характеристик кодирования изображений во время иерархического кодирования (временные характеристики декодирования во время декодирования).
На фиг. 10 показана схема, представляющая выходной пример одиночного потока видеоданных (кодированный поток) кодера.
На фиг. 11 показана схема, представляющая выходной пример двух потоков видеоданных (кодированные потоки), включающих в себя основной поток (В-поток) и расширенный поток (E-поток) кодера.
На фиг. 12 показана блок-схема, представляющая пример конфигурации кодера.
На фиг. 13 показана схема, представляющая пример потока обработки кодера.
На фиг. 14 показана схема, представляющая пример структуры (синтаксис) дескриптора HEVC (HEVC_descriptor).
На фиг. 15 показана схема, представляющая содержание основной информации (семантика) примера структуры дескриптора HEVC.
На фиг. 16 показана схема, представляющая пример структуры (синтаксис) дескриптора расширения масштабируемости (scalability_extension_descriptor).
На фиг. 17 показана схема, представляющая содержание основной информации (семантика) в примере структуры дескриптора расширения масштабируемости.
На фиг. 18 показана схема, представляющая пример структуры (синтаксис) пакета TS.
На фиг. 19 показана схема, представляющая соотношение между значениями обозначения слоя (general_level_idc) скоростей передачи битов, включенных в VPS, и установленными значениями "transport_priority" заголовка пакета TS.
На фиг. 20 показана блок-схема, представляющая пример конфигурации мультиплексора.
На фиг. 21 показана схема, представляющая пример потока обработки мультиплексора.
На фиг. 22 показана схема, представляющая пример конфигурации транспортного потока TS, когда распределение выполняют, используя единый поток.
На фиг. 23 показана схема, представляющая определенный пример конфигурации транспортного потока TS, когда распределение выполняют, используя единый поток.
На фиг. 24 показана схема, представляющая пример конфигурации транспортного потока, когда распределение выполняют, используя множество потоков (два потока).
На фиг. 25 показана схема, представляющая определенный пример конфигурации транспортного потока TS, когда распределение выполняют, используя два потока.
На фиг. 26 показана схема, представляющая другой определенный пример конфигурации транспортного потока TS, когда распределение выполняют, используя два потока.
На фиг. 27 показана блок-схема, представляющая пример конфигурации приемного устройства.
На фиг. 28 показана блок-схема, представляющая пример конфигурации демультиплексора.
На фиг. 29 показана схема, представляющая случай, в котором одиночный поток видеоданных (кодированный поток) включен в транспортный поток TS.
На фиг. 30 показана схема, представляющая случай, в котором два потока видеоданных (кодированные потоки), включающие в себя основной поток и расширенный поток, включены в транспортный поток TS.
На фиг. 31 показана схема, представляющая пример потока обработки (для одного кадра) демультиплексора.
На фиг. 32 показана схема, представляющая пример потока обработки (для двух кадров) демультиплексора.
На фиг. 33 показана блок-схема, представляющая пример конфигурации декодера.
На фиг. 34 показана схема, представляющая пример обработки декодирования для каждого потока видеоданных с учетом возможностей обработки декодера приемного устройства.
На фиг. 35 показана схема, представляющая пример конфигурации модуля последующей обработки.
На фиг. 36 показана схема, представляющая пример потока обработки декодера и модуля последующей обработки.
Осуществление изобретения
Ниже будут описаны варианты осуществления для воплощения настоящей технологии (ниже называются "вариантами осуществления"). Следует отметить, что описание будет представлено в следующем порядке.
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) каждого изображения. В результате добавления информации идентификации уровня таким образом, сторона приема может избирательно извлекать кодированные данные изображения из уровня, равного или ниже, чем заданный уровень, и выполнять для них обработку декодирования.
Транспортный поток TS включает в себя одиночный видеопоток, имеющий кодированные данные изображения, состоящий из изображений каждого уровня или заданного количества видеопотоков, имеющих кодированные данные изображения, из изображений каждого набора уровней, которые получают путем разделения множества уровней на заданное количество наборов уровней, причем это количество равно или больше чем два. Кроме того, информацию уровня для иерархического кодирования и информацию конфигурации видеопотока видеоданных вставляют в транспортный поток TS. Информацию вставляют в транспортный уровень. С такой информацией сторона приема может легко определять конфигурацию уровня или конфигурацию потока, и, таким образом, может выполнять соответствующую обработку декодирования.
Кроме того, множество уровней разделяют на заданное количество наборов уровней, как описано выше, и приоритет пакета TS (пакета транспортного потока), который содержит кодированные данные изображения для изображений набора уровней на стороне низкого уровня, устанавливают высоким. В соответствии с таким приоритетом, сторона приема может только помещать в буфер кодированные данные изображения для изображений набора уровней, соизмеримые с ее собственными возможностями декодирования, и может обрабатывать эти данные.
Кроме того, множество уровней разделяют на заданное количество наборов уровней, как описано выше, и информацию идентификации, для идентификации аффилированного набора уровней добавляют для кодированных данных изображения для изображений каждого из набора уровней. В качестве такой информации идентификации используется, например, значение, обозначающее слой (level_idc) для потока битов, и набор уровней на стороне более высокого уровня имеет более высокое значение.
Устройство 200 приема принимает транспортный поток TS, описанный выше, передаваемый по волнам широковещательной передачи из устройства 100 передачи. Устройство 200 приема избирательно отбирает кодированные данные изображения для уровней, равных или меньше, чем заданный уровень из видеопотока, включенного в транспортный поток TS, и декодирует эти данные в соответствии со своими возможностями декодирования, и получает данные изображения каждого изображения, для выполнения воспроизведения изображения.
Как описано выше, возникает случай, в котором, например, транспортный поток TS включает в себя одиночный видеопоток, имеющий кодированные данные изображения для изображений множества уровней. В этом случае кодированные данные изображения каждого изображения заданного набора уровней, содержащиеся в пакете TS с приоритетом, выбранным в соответствии с возможностями декодирования, помещают в буфер и декодируют.
Кроме того, как описано выше, возникает случай, в котором, например, транспортный поток TS включает в себя заданное количество видеопотоков, каждый из которых имеет кодированные данные изображения для изображений заданного количества наборов уровня, причем это количество равно или больше чем два, которые получают путем разделения множества уровней. В этом случае кодированные данные изображения каждого изображения заданного набора уровней видеопотока, выбранные в соответствии с возможностями декодирования, помещают в буфер и декодируют.
Кроме того, устройство 200 приема выполняет последующую обработку, обеспечивающую соответствие частоты кадров данных изображения для каждого изображения, полученного в результате декодирования, как описано выше, возможностям дисплея. В результате такой последующей обработки, например, становится возможным получать данные изображения для частоты кадров, соизмеримой с высокими возможностями дисплея, даже при низких возможностях декодирования.
Конфигурация устройства передачи
На фиг. 2 показан пример конфигурации устройства 100 передачи. Такое устройство 100 передачи имеет центральное процессорное устройство (CPU) 101, кодер 102, буфер 103 сжатых данных (буфер кодированного изображения или cpb), мультиплексор 104 и модуль 105 передачи. CPU 101 представляет собой модуль управления, который управляет работой каждого модуля устройства 100 передачи.
Кодер 102 принимает входные данные в виде несжатых данных динамического изображения и выполняет иерархическое кодирование. Кодер 102 классифицирует данные изображения соответствующих изображений, которые составляют данные динамического изображения, на множество уровней. Затем кодер 102 кодирует данные изображения для изображений каждого из классифицированных уровней, и генерирует видеопоток, имеющий кодированные данные изображения, для изображений соответствующих уровней. Кодер 102 выполняет кодирование, например, в H.264/AVC, H.265/HEVC и т.п. В это время кодер 102 выполняет кодирование, таким образом, что изображение, на которое должна быть сделана ссылка (опорное изображение источника), является аффилированным с его собственным уровнем и/или уровнем, более низким, чем его собственный уровень.
На фиг. 3 показан пример иерархического кодирования, выполняемого кодером 102. Этот пример представляет собой пример, в котором уровни классифицируют на 5 уровней от 0 до 4, и кодирование выполняют для данных изображения для изображений соответствующих уровней.
На вертикальной оси представлены уровни. От 0 до 4, соответственно, установлены, как temporal_id (информация идентификации уровня), которая расположена в части заголовка модуля NAL (nal_unit), который составляет кодированные данные изображения для изображений на уровнях от 0 до 4. С другой стороны, на горизонтальной оси представлен порядок отображения (порядок изображений композиции или РОС), и с его левой стороны представлено более раннее время отображения, и с его правой стороны представлено более позднее время отображения.
На фиг. 4 (а) показан пример структуры (синтаксис) заголовка модуля NAL, и на фиг. 4 (b) показано содержание (семантика) основных параметров в примере структуры. Однобитное поле "forbidden_zero_bit" должно иметь 0. Шестибитное поле "nal_unit_type" представляет собой тип модуля NAL. Шестибитное поле "nuh_layer_id", как предполагается, содержит 0. Трехбитное поле "nuh_temporal_id_plus1" представляет temporal_id и имеет значение, полученное путем добавления единицы (1-7).
Возвращаясь к фиг. 3, каждая прямоугольная рамка представляет собой изображение, и их номер представляет порядок кодированного изображения, то есть, порядок кодирования (порядок декодирования на стороне приема). Например, подгруппа изображений состоит из 16 изображений от "2" до "17", и "2" представляет собой ведущее изображение в подгруппе изображений. "1" представляет изображение предыдущей подгруппы изображений. Несколько таких подгрупп изображений составляют группу изображений (GOP).
Кодированные данные изображения для ведущего изображения GOP состоят из модулей NAL, которые представляют собой AUD, VPS, SPS, PPS, PSEI, SLICE, SSEI и EOS, как показано на фиг. 5. С другой стороны, другое изображение, чем ведущее изображение GOP, состоит из модулей NAL, которые представляют собой AUD, PPS, PSEI, SLICE, SSEI и EOS. VPS могут быть переданы вместе с SPS один раз в последовательности (GOP), и PPS могут быть переданы для каждого изображения.
Возвращаясь к фиг. 3, стрелки из сплошной линии обозначают относительные соотношения изображений для кодирования. Например, изображение "2" представляет собой Р-изображение, и его кодируют со ссылкой на изображение "1". Кроме того, изображение "3" представляет собой В-изображение, и его кодируют со ссылкой на изображения "1" и "2". Аналогично, другие изображения кодируют со ссылкой на ближайшие изображения в порядке отображения. Следует отметить, что изображения на уровне 4 не имеют ссылки на другие изображения.
Кодер 102 генерирует видеопоток, имеющий кодированные данные изображения, из изображений каждого уровня. Например, кодер 102 разделяет множество уровней на заданное количество наборов уровней, и это количество равно или больше чем два, и генерирует заданное количество видеопотоков, включающих в себя подпоток, соответствующий каждому набору уровней, или генерирует одиночный видеопоток, включающий в себя все подпотоки, соответствующие каждому набору уровней.
Например, в примере иерархического кодирования на фиг. 3, когда уровни разделяют на два набора уровней, таким образом, что уровни от 0 до 3 рассматриваются как набор низких уровней, и уровень 4 рассматривается, как набор высоких уровней, существуют два подпотока. Другими словами, существуют подпотоки, имеющие кодированные данные изображения для изображений для уровней от 0 до 3, и подпотоки, имеющие кодированные данные изображения для изображений уровня 4. В этом случае кодер 102 генерирует одиночный видеопоток, включающий в себя два подпотока или два видеопотока, каждый из которых включает в себя два видеоподпотока.
Независимо от количества сгенерированных видеопотоков, кодер 102 разделяет множество уровней на заданное количество наборов уровней, и это количество равно или больше чем два, и добавляет информацию идентификации, для идентификации аффилированного набора уровней к кодированным данным изображения для изображений каждого набора уровней. В этом случае, в качестве информации идентификации, используется например, "general_level_idc", которая представляет собой значение, обозначающее слой для потока битов, включенного в набор параметра последовательности (SPS), и расширенный набор параметра последовательности (ESP).
SPS представляет собой известный в прошлом модуль NAL, и включен в каждую последовательность (GOP) подпотока самого низкого набора уровней, то есть основной подпоток. С другой стороны, ESP представляет собой вновь определенный модуль NAL, и включен в каждую последовательность (GOP) подпотока более высокого набора уровней, чем самый низкий уровень, то есть расширенный подпоток. Более высокий набор уровня имеет более высокое значение "general_level_idc", включенное в SPS и ESP.
Следует отметить, что, поскольку "sub_layer_level_idc" может быть передан в каждый подуровень, используя SPS и ESP, этот "sub_layer_level_idc" может использоваться в качестве информации идентификации, для идентификации набора уровней. Представленное выше также может быть подано не только в SPS, но также и в VPS.
В этом случае значение "general_level_idc", вставленное в SPS и ESP подпотока каждого набора уровней, как предполагается, представляет собой значение слоя, которое включает в себя изображения всех уровней, которые включены в набор уровня, равный или меньше, чем соответствующий набор уровня. Например, в примере иерархического кодирования на фиг. 3, значение "general_level_idc", вставленное в SPS подпотока набора уровней для уровня 0 до уровня 3, как предполагается, представляет собой значение слоя, которое включает в себя только изображения от уровня 0 до уровня 3. Например, когда его частота кадров его установлена, как 60Р, значение представляет собой "слой 5.1". Кроме того, например, в примере иерархического кодирования на фиг. 3, значение "general_level_idc", вставленное в ESP поддотока набора уровней для уровня 4, как предполагается, представляет собой значение слоя, которое включает в себя все изображения от Уровня 0 до Уровня 4. Например, когда его частота кадров установлена в 120Р, значение представляет собой "слой 5.2".
На фиг. 6 показан пример кодирования, декодирования, порядка отображения и задержки по времени для иерархического кодирования. Этот пример соответствует примеру иерархического кодирования на фиг. 3, описанному выше. В этом примере представлен случай, в котором для всех уровней выполняют иерархическое кодирование с полным временным разрешением. На фиг. 6 (а) показан вход кодера. Как показано на фиг. 6 (b), соответствующие изображения кодируют в порядке кодирования с задержкой 16 изображений, и, таким образом, получают кодированный поток. Кроме того, на фиг. 6 (b) также показаны входные данные декодера, и соответствующие изображения декодируют в порядке декодирования. Кроме того, как показано на фиг. 6 (с), данные изображения соответствующих декодируемых изображений получают в порядке отображения с задержкой 4 изображения.
На фиг. 7 (а) показан тот же кодированный поток, что и кодированный поток, показанный на фиг. 6 (b), описанной выше, в котором поток разделяют на три этапа, такие как от уровня 0 до 2, уровень 3 и уровень 4. Здесь "Tid" обозначает temporal_id. На фиг. 7 (b) представлено ожидание отображения (порядок отображения), когда избирательно декодируют соответствующие изображения для уровней от 0 до 2, то есть частичных уровней с Tid = от 0 до 2. Кроме того, на фиг. 7 (с) показано ожидание отображения (порядок отображения), когда избирательно декодируют соответствующие изображения для уровней от 0 до 3, то есть частичных уровней с Tid = от 0 до 3. Кроме того, на фиг. 7 (d) показано ожидание отображения (порядок отображения), когда избирательно декодируют соответствующие изображения для уровней от 0 до 4, то есть для всех уровней с Tid = от 0 до 4.
Когда обработку декодирования выполняют для кодированного потока на фиг. 7 (а), в соответствии с возможностями декодирования, необходимы возможности декодирования с полной скоростью временного разрешения. Однако, когда декодирование должно быть выполнено для уровней с Tid = от 0 до 2, обработку может выполнять декодер с 1/4 возможности декодирования в отношении кодируемого потока с полным временным разрешением. Кроме того, когда декодирование выполняют для уровней с Tid = от 0 до 3, обработку может выполнять декодер с 1/2 возможности декодирования в отношении полного временного разрешения кодирования.
Однако, когда изображения, аффилированные для нижнего уровня, на которые ссылаются при иерархическом кодировании, расположены последовательно, и их кодируют при полных временных характеристиках с временным разрешением, возможности декодера, который выполняет частичное декодирование, становятся недостаточными. Период А на фиг. 7 (а) соответствует этому случаю. Декодер, который должен декодировать некоторые уровни с Tid = от 0 до 2 или с Tid = от 0 до 3, выполняет декодирование и отображение с возможностями 1/4 или 1/2 на временной оси, как показано в примере отображения, и, таким образом, нет возможности декодировать последовательные изображения, которые были кодированы в течение периода А с полным временным разрешением. В течение этого периода определенная часть буфера cpb в кодере будет неожиданно занята.
Тa обозначает время, необходимое для декодера, который декодирует уровни с Tid = от 0 до 2, для выполнения обработки декодирования для каждого изображения. Tb обозначает время, необходимое для выполнения декодером, который декодирует уровни с Tid = от 0 до 3, обработки декодирования для каждого изображения. Тс обозначает время, необходимое для декодера, который декодирует уровни с Tid = от 0 до 4 (все уровни), для выполнения обработки декодирования для каждого изображения. Взаимосвязь между временами представляет собой следующую Та>Tb>Тс.
Таким образом, управление буфером выполняется в данном варианте осуществления таким образом, что изображения, которые являются аффилированными для нижнего уровня при иерархическом кодировании, имеют длительный интервал декодирования для соответствующих изображений, и этот интервал декодирования становится короче для более высоких уровней. В это время определяется минимальная способность декодирования (целевая минимальная способность декодера) в отношении количества уровней. Например, в примере иерархического кодирования на фиг. 3, если минимальная способность декодирования установлена как способность декодирования вплоть до уровня 2, интервал кодирования получают таким образом, что изображения от уровней от 0 до 2 среди этих 5 уровней могут быть декодированы с 1/4 временного разрешения, и когда их мультиплексируют с использованием мультиплексора 104, который будет описан ниже, разность с временем декодирования отражается в значении временной метки декодирования (DTS).
Когда количество уровней равно 5, включая в себя от 0 до 4, как показано в примере иерархического кодирования на фиг. 3, интервал изображений, которые аффилированы для уровней от 0 до 2, установлен, как временной интервал 4-кратного полного разрешения, интервал изображений, который является аффилированным для уровня 3, установлен, как временной интервал 2-кратного полного разрешения, и интервал изображений, которые аффилированы для уровня 4, установлен, как временной интервал полного разрешения.
С другой стороны, кодер 102 устанавливает временные характеристики кодирования (= декодирования) изображений, которые не перекрываются между уровнями. Другими словами, когда каждое изображение кодируют в описанном выше способе и временные характеристики кодирования изображения нижнего уровня и изображения верхнего уровня перекрывают друг друга, кодер 102 устанавливает приоритет для кодирования изображения нижнего уровня, на который ссылается большее количество изображений, и временные характеристики кодирования изображения более высокого уровня устанавливают соответствующим образом. Однако, поскольку изображение, которое аффилировано для более высокого уровня, представляет собой неопорное изображение В, можно управлять временными характеристиками, с которыми изображение декодируют, и с которыми оно непосредственно отображается (другими словами, не сохраняется в буфере декодированного изображения (dpb)).
На фиг. 8 (а) представлен входной порядок кодера (такой же, как на фиг. 6 (а)). Кроме того, на фиг. 8 (b)-(d) представлен порядок отображения (который соответствует PTS, как системным уровням) (такой же, как на фиг. 7 (b)-(d)).
На фиг. 9 показан пример временной характеристики кодирования изображений при иерархическом кодировании (временные характеристики декодирования во время декодирования). Этот пример соответствует примеру иерархического кодирования на фиг. 3, описанной выше. Кроме того, этот пример соответствует минимальным способностям декодирования, при которых могут быть декодированы изображения вплоть до уровня 2. Участки, подчеркнутые сплошными линиями, представляют изображения (16 изображений от "2" до "17"), которые аффилированы для одной подгруппы изображений (SGP). Кроме того, изображения, обозначенные прямоугольными рамками из сплошных линий, аффилированы для текущего SGP, и изображения, обозначенные прямоугольными рамками из пунктирных линий, не являются аффилированными для текущего SGP, что не влияет на прогнозирование при использовании изображений, которые являются аффилированными для текущей SGP.
В этом случае интервал между изображениями, которые являются аффилированными для уровней от 0 до 2, то есть между изображениями "2", "3", "4", "11", установлен как Та, то есть временной интервал, составляющий 4-кратное полное разрешение. Кроме того, интервал между изображениями, которые аффилированы для уровня 3, то есть между изображениями "5", "8", "12", в основном, установлен, как Тb, который представляет собой временной интервал, представляющий 2-кратное полное разрешение.
Для исключения наложения временных характеристик изображения "8" на временные характеристики изображения "11", однако, временные характеристики кодирования установлены в положения следующего временного интервала. Аналогично, временные характеристики изображений "12" и "15" регулируют так, чтобы исключить наложения с изображениями, которые после этого аффилированы на уровни от 0 до 2. В результате временные характеристики изображений, которые аффилированы на уровень 3, установлены между временными характеристиками изображений, которые аффилированы для уровней от 0 до 2.
Кроме того, интервал изображений, которые аффилированы на уровне 4, то есть изображений "6", "7", "9", в основном установлен как Тс, который представляют собой временной интервал полного разрешения. Однако в результате регулирования, для исключения наложения с временными характеристиками соответствующих изображений, которые аффилированы для уровней от 0 до 3, временные характеристики изображений, которые аффилированы для уровня 4, установлены между временными характеристиками изображений, которые аффилированы на уровни от 0 до 3.
Как показано, в течение периода 1 SGP выполняется обработка кодирования для изображений (16 изображений от "2" до "17"), соответствующих 1 SGP. Это означает, что возможна обработка в режиме реального времени, даже когда принят длительный интервал кодирования изображений, которые аффилированы для нижнего уровня, как описано выше.
На фиг. 10 показан выходной пример кодера 102. Он представляет собой пример, в котором кодер 102 выводит одиночный видеопоток (кодированный поток). Этот пример соответствует примеру иерархического кодирования на фиг. 3, при котором соответствующие изображения кодируют в моменты времени, показанные на фиг. 9.
В этом видеопотоке кодированные данные изображения для изображений, которые аффилированы для уровней от 0 до 4, последовательно размещены в порядке кодирования (порядок кодирования). Следует отметить, что, когда сторона приема декодирует этот видеопоток, опорные изображения источника (изображения уровней от 0 до 3), которые аффилированы для текущего SGP (изображения в рамках из сплошной линии) остаются в буфере несжатых данных (буфер декодированного изображения или dpb) после декодирования, для подготовки к ссылке на них других изображений.
На фиг. 11 показан выходной пример кодера 102. Он представляет собой пример, в котором кодер 102 выводит два видеопотока (кодированные потоки), включающие в себя основной поток (B_str) и расширенный поток (E_str). Этот пример соответствует примеру иерархического кодирования на фиг. 3, в котором соответствующие изображения кодированы в моменты времени, показанные на фиг. 9.
Основной поток (В-поток) имеет кодированные данные изображения для изображений, которые аффилированы для уровней от 0 до 3, размещенных в порядке кодирования (порядок кодирования). Кроме того, расширенный поток (E-поток) имеет кодированные данные изображения для изображений, которые аффилированы для уровня 4, размещенного в порядке кодирования (порядок кодирования). Следует отметить, что, когда сторона приема декодирует такие видеопотоки, опорные изображения источника (изображения для уровней от 0 до 3), аффилированные для текущего SGP (изображения в рамках из сплошных линий), остаются в буфере данных несжатого изображения (буфер декодируемого изображения или dpb) после декодирования для подготовки к ссылке на них со стороны других изображений.
На фиг. 12 показан пример конфигурации кодера 102. Такой кодер 102 имеет модуль 121 генерирования временного ID, модуль 122 управления задержкой буфера, модуль 123 установки декодера гипотетической ссылки (HRD), модуль 124 набора параметра/кодирования SEI, модуль 125 кодирования среза и модуль 126 пакетирования NAL.
Модуль 121 генерирования временного ID принимает подаваемую информацию о количестве уровней из CPU 101. Модуль 121 генерирования временного ID генерирует temporal_id, соответствующий количеству уровней на основе информации о количестве уровней. Например, в примере иерархического кодирования на фиг. 3, генерируют temporal_id = от 0 до 4.
Модуль 122 управления задержкой буфера принимает подаваемую информацию о минимальных возможностях декодирования (minimum_target_decoder_level_idc) из CPU 101 вместе с temporal_id, генерируемым модулем 121 генерирования временного ID. Модуль 122 управления задержкой буфера рассчитывает "cpb_removal_delay" и "dpb_output_delay" каждого изображения для каждого уровня.
В этом случае, путем обозначения минимальной возможности декодирования целевого декодера с уровнями декодера по количеству уровней, определяют временные характеристики кодирования изображений нижнего уровня, на которые должна быть сделана ссылка, и временные характеристики кодирования изображений на высоком уровне, отображаемом непосредственно после декодирования (см. фиг. 9). Эти временные характеристики кодирования имеют такие же значения, как и временные характеристики декодирования, считываемые стороной приема из буфера сжатых данных (буфер кодированного изображения или cpb).
"cpb_removal_delay" определяют по отражению уровня, с которым аффилировано изображение. Например, количество уровней установлено равным N, и temporalid (Tid) установлен так, что он имеет значение в диапазоне от 0 до N-1. Кроме того, минимальная возможность декодирования установлена, как возможность декодирования изображения уровня с temporal id=K. Модуль 122 управления задержкой буфера получает интервал D кодирования между изображениями каждого уровня, используя следующее выражение (1), и отражает значение в "cpb_removal_delay" и "dpb_output_delay".
D=2**(N-l-K)(Tid<K)
D=2 ** (N-1-Tid) (K<Tid<N-1)
Следует отметить, что когда временные характеристики кодирования уровней временно накладываются друг на друга, предпочтительно кодируют нижние уровни, и высокие уровни кодируют в следующем временном интервале, назначенном через представленное выше выражение.
Модуль 123 установки декодера гипотетической ссылки (HRD) принимает подаваемые "cpb_removal_delay" и "dpb_output_delay" изображений каждого уровня, рассчитанные модулем 122 управления задержкой буфера, и подает количество потоков из CPU 101. Модуль 123 установки HRD выполняет установку HRD на основе информации.
Модуль 124 набора параметра/кодирования SEI принимает подаваемые temporal_id вместе с информацией установки HRD. Модуль 124 набора параметра/кодирования SEI генерирует наборы параметров и SEI, такие как VPS, SPS (ESP) и PPS изображений каждого уровня, в соответствии с количество потоков, предназначенных для кодирования.
Например, генерируют SEI временных характеристик изображения, который включает в себя "cpb_removal_delay" и "dpb_output_delay". Кроме того, например, генерируют buffereing period SEI, включающий в себя "initial_cpb_removal_time". В буфере период SEI генерируют для ведущего изображения (модуля доступа) в GOP.
"initial cpb removal time" обозначает время (исходное время), в которое кодируемые данные изображения ведущего изображения группы изображений (GOP) извлекают из буфера сжатых данных (cpb) во время декодирования. "cpb_removal_delay" обозначает время, в которое кодированные данные изображения каждого изображения извлекают из буфера сжатых данных (cpb), и определяют в соответствии с "initial_cpb_removal_time". Кроме того, "dpb_output_delay" обозначает время, в которое декодируют данные, помещенные в буфер несжатых данных (dpb) и затем извлеченные из него.
Модуль 125 кодирования среза получает данные среза (заголовок сегмента среза и данные сегмента среза), путем кодирования данных изображения для изображений каждого уровня. Модуль 125 декодирования среза вставляет "ref_idx_10_active (ref_idx_11_active), который обозначает индекс изображения, которое представляет собой место назначения прогнозирования "модуля прогнозирования", в "заголовок сегмента среза", как информацию, обозначающую состояние прогнозирования в направлении времени, используя буфер кадра. В соответствии с этим, во время декодирования, опорное изображение источника определяют вместе со слоем уровня, обозначенного temporal_id. Кроме того, модуль 125 декодирования среза вставляет индекс текущего среза в "заголовок сегмента среза", как "short_term_ref_pic_set_idx" или "it_idx_sps".
Модуль 126 пакетирования NAL генерирует кодированные данные изображения для изображений каждого уровня на основе наборов параметров и SEI, генерируемого модулем 124 набора параметров/кодирования SEI, и данные среза, генерируемые модулем 125 кодирования среза, и выводит видеопотоки (кодированные потоки), количество которых равно количеству потоков.
В это время temporal_id, обозначающий уровень каждого изображения, добавляют к заголовку модуля NAL (см. фиг. 4). Кроме того, изображение, которое аффилировано для уровня, обозначенного temporal_id, классифицируют, как подуровень (sub_layer), и значение обозначения слоя "level_idc" скорости битов каждого подуровня устанавливают в "sublayer_level_idc", и вставляют в VPS или в SPS (ESPS).
На фиг. 13 показана обработка кодера 102. Кодер 102 начинает обработку на этапе ST1 и затем переходит к обработке на этапе ST2. На этапе ST2 кодер 102 устанавливает количество уровней N для иерархического кодирования. Затем кодер 102 устанавливает temporal_id изображений каждого уровня в значение от 0 до (N-1) на этапе ST3.
Затем, на этапе ST4, кодер 102 устанавливает слой уровня K, который декодер с минимальными возможностями среди целевых декодеров может декодировать, как значение в диапазоне от 0 до (N-1). Затем, на этапе ST5, кодер 102 получает интервал D кодирования изображения каждого уровня на основе описанного выше выражения (1), используя модуль 122 управления задержкой буфера.
Затем, на этапе ST6, кодер 102 определяет, перекрываются или нет по времени временные характеристики кодирования изображений уровней. Когда временные характеристики кодирования перекрываются, кодер 102 предпочтительно кодирует изображения самых низких уровней и кодирует изображения более высоких уровней в моменты времени следующего интервала D кодирования на этапе ST7. Затем кодер 102 переводит обработку на этап ST8.
Когда временные характеристики кодирования не перекрываются на этапе ST6, кодер 102 непосредственно переходит к этапу ST8. На этапе ST8 кодер 102 отражает интервал D кодирования изображений каждого уровня, полученного на этапе ST5, в "cpb_removal_delay" и "dpb_output_delay", выполняет установку HRD, кодирование наборов параметров/SEI и кодирование среза, и передает результаты в блок мультиплексирования в форме модулей NAL. Затем кодер 102 заканчивает обработку на этапе ST9.
Возвращаясь к фиг. 2, буфер 103 сжатых данных (cpb) накапливает по времени видеопоток, включающий в себя кодированные данные изображений каждого уровня, генерируемые кодером 102. Мультиплексор 104 считывает видеопоток, накопленный в буфере 103 сжатых данных, формирует из него пакеты PES, дополнительно формирует из них пакеты транспортирования и мультиплексирует их, и, таким образом, получает транспортный поток TS, как мультиплексированный поток.
Такой транспортный поток TS включает в себя один видеопоток, имеющий данные кодированного изображения для изображений каждого уровня, или заданное количество видеопотоков, имеющих данные кодированного изображения из изображений набора каждого уровня, который получают путем разделения множества уровней на заданное количество наборов уровней, при этом количество равно или больше чем два. Мультиплексор 104 вставляет информацию уровня и информацию конфигурации потока в транспортный поток TS.
Как информация, специфичная для программы (PSI), транспортный поток TS включает в себя таблицу карты программы (РМТ). Такая РМТ имеет элементарный видеоконтур (видеоконтур ES1) с информацией, относящейся к каждому видеопотоку. В таком элементарном видеоконтуре информация типа потока, идентификатор пакета (PID) и т.п., а также дескриптор, описывающий информацию, относящуюся к видеопотоку, расположены так, что они соответствуют каждому видеопотоку.
Мультиплексор 104 вставляет дескриптор HEVC (HEVC_descriptor), как один из дескрипторов, и дополнительно вставляет вновь определенный дескриптор расширения масштабируемости (scalability_extension_descriptor).
На фиг. 14 показан пример структуры (синтаксис) дескриптора HEVC (HEVC_descriptor). На фиг. 15 показано содержание основной информации (семантики) примера структуры.
8-битное поле "descriptor_tag" обозначает тип дескриптора, обозначающий здесь дескриптор HEVC. 8-битное поле "descriptor_length" обозначает длину (размер) дескриптора, представляющий количество последовательных байтов, как длину дескриптора.
8-битное поле "level_idc" обозначает значение назначения слоя скорости битов. Кроме того, в случае "temporal_layer_subset_flag = 1" присутствуют 5-битное поле "temporal_id_min" и 5-битное поле "temporal_id_max". "temporal_id_min" обозначает значение temporalid самого низкого уровня иерархически кодированных данных, включенных в соответствующий видеопоток. "temporal_id_max" обозначает значение temporal_id самого высокого уровня иерархически кодированных данных соответствующего видеопотока.
Вновь определено 1-битное поле "level_constrained_flag", обозначающее, что здесь присутствуют SPS или ESPS в соответствующем подпотоке, и "general_level_idc", который представляет собой его элемент, имеет значение слоя, который включает в себя изображения, равные или меньшие, чем temporal_id (информация идентификации уровня) для подпотока. "1" обозначает, что присутствует SPS или ESPS в подпотоке и "general_level_idc", который представляет собой его элемент, имеет значение слоя, которое включает в себя изображения, равные или меньшие, чем temporal_id подпотока. "0" обозначает, что присутствует SPS в группе подпотоков, составляющих целевую услугу, и "general_level_idc" его имеет значение слоя, которое включает в себя не только подпотоки, но также и другие подпотоки под той же услугой.
Вновь определено 3-битное поле "scalability_id", обозначающее идентификатор, который представляет, когда множество видеопотоков предоставляет услугу масштабирования, масштабирования, заданного для индивидуальных потоков. "0" обозначает основной поток, и от "1" до "7" представляют собой ID, увеличивающиеся в соответствии со степенью масштабируемости из основного потока.
На фиг. 16 показан пример структуры (синтаксис) дескриптора расширения масштабируемости (scalability_extension_descriptor). Кроме того, на фиг. 17 показано содержание основной информации (семантики) в примере структуры.
8-битное поле "scalability_extension_descriptor_tag" обозначает тип дескриптора, обозначающий здесь дескриптор расширения масштабируемости. 8-битное поле "scalability_extension_descriptor_length" обозначает длину (размер) дескриптора, обозначающую количество последовательных байтов, как длину дескриптора. 1-битное поле "extension_stream_existing_flag" представляет собой флаг, обозначающий, что здесь присутствует расширенная услуга на основе другого потока. "1" обозначает, что здесь присутствует расширенный поток, и "0" обозначает, что здесь не присутствует расширенный поток.
3-битное поле "extension_type" обозначает тип расширения. "001" обозначает, что расширение является масштабируемым в направлении времени. "010" обозначает, что расширение является масштабируемым в направлении пространства. "011" обозначает, что расширение является масштабируемым по скорости битов.
4-битное поле "number_of_streams" обозначает общее количество потоков, вовлеченных в распределенную услугу. 3-битное поле "scalability_id" представляет собой идентификатор, который обозначает, когда количество видеопотоков обеспечивает услугу масштабирования, масштабирования, заданного для отдельных потоков. "0" обозначает основной поток и от "1" до "7" представляет собой ID, увеличивающие степень масштабируемости от основного потока. 8-битное поле "minimum_target_decoder_level_idc" обозначает возможности декодера, который представляет собой цель потоков. Эта информация используется, когда приемник определяет, превышает или нет ожидаемое время декодирования кодированных изображений диапазон возможности обработки декодирования изображения декодера перед тем, как декодер декодирует потоки.
В этом варианте осуществления значение, обозначающее слой (general_level_idc) скорости передачи битов, включенной в SPS или ESPS и т.п., используется, как информация идентификации аффилированного набора уровней, когда множество уровней разделено на заданное количество наборов уровней, при этом количество равно или больше чем два. Значение, обозначающее слой каждого набора уровней, установлено в значение, соответствующее частоте кадров, получаемой из изображений набора уровней и изображений всех наборов уровней на стороне более нижнего набора уровней, чем упомянутый выше набор уровней.
Мультиплексор 104 устанавливает более высокий приоритет пакета TS, который содержит кодированные данные изображения, для изображения набора уровней для стороны более низкого уровня. Когда, например, множество уровней разделяют на два из низкого набора уровней и высокого набора уровней, мультиплексор 104 использует 1-битное поле "transport_priority" заголовка пакета TS.
На фиг. 18 показан пример структуры (синтаксис) пакета TS. 1-битное поле "transport_priority" установлено в "1", в случае пакета TS, который содержит кодированные данные изображения для изображения основного уровня, то есть набора уровней на стороне более низкого уровня, и в "0", в случае пакета TS, который содержит кодированные данные изображения для изображений не основного уровня, то есть набора уровней на стороне более высокого уровня.
На фиг. 19 показана взаимосвязь между значениями, обозначающими слой (general_level_idc) скоростей битов, включенных в модули NAL SPS и ESPS, и значений наборов "transport_priority" заголовка пакета TS. Используя один или оба типа информации, сторона приема может различать кодированные данные изображения для изображений набора уровней на стороне низкого уровня и кодированные данные изображения для изображений набора уровней на стороне высокого уровня.
На фиг. 20 показан пример конфигурации мультиплексора 104. Мультиплексор имеет модуль 141 генерирования приоритета TS, модуль 142 кодирования блока, РЕ, модули от 143-1 до 143-N пакетирования PES, модуль 144 переключения и модуль 145 пакетирования транспорта.
Модули 143-1 - 143-N пакетирования PES каждый считывает видеопотоки от 1 до N, накопленные в буфере 103 сжатых данных, для генерирования пакетов PES. В это время модули 143-1 - 143-N пакетирования PES помещают временные метки, такие как временные метки декодирования (DTS) и временные метки представления (PTS) в заголовки PES на основе информации HRD видеопотоков от 1 до N, и в этом случае обращаются к "cpu_removal_delay" и "dpb_output_delay" каждого изображения, временные метки преобразуют в каждый DTS и PTS с точностью, синхронизированной со временем системных часов (STC), и размещают в заданных положениях заголовков PES.
Модуль 144 переключения избирательно отбирает пакеты PES, генерируемые модулями от 143-1 до 143-N пакетирования PES, на основе идентификаторов пакета (PID), и передает их в модуль 145 пакетирования транспорта. Модуль 145 пакетирования транспорта генерирует пакеты TS, которые включают в себя пакеты PES, в их полезной нагрузке, и, таким образом, получает транспортный поток.
Модуль 141 генерирования приоритета TS принимает подаваемую информацию о количестве уровней и количестве потоков из CPU 101. Модуль 141 генерирования приоритета TS генерирует приоритет каждого набора уровней, когда множество уровней, обозначенных по количеству уровней, разделяют на заданное количество наборов уровней, и это количество равно или больше чем два. Когда уровни разделяют на два, генерируют, например, значение, которое будет вставлено в 1-битное поле "transport_priority" заголовка пакета TS (см. фиг. 19).
Модуль 141 генерирования приоритета TS 141 передает информацию о приоритете каждого набора уровней в модуль 145 пакетирования транспорта. Модуль 145 пакетирования транспортирования устанавливает приоритет каждого пакета TS на основе этой информации. В этом случае более высокое значение устанавливают, как приоритет пакета TS, который содержит кодированные данные изображения, для изображения набора уровней для стороны более низкого уровня, как описано выше.
Модуль 142 кодирования блока принимает подаваемую информацию о количестве уровней, количестве потоков и минимальном целевом слой декодера (minimum_target_decoder_level_idc) из CPU 101. На основе этой информации, модуль 142 кодирования блока генерирует различного вида данные блока, которые должны быть вставлены в транспортный поток TS, например, описанный выше дескриптор HEVC (HEVC_descriptor), дескриптор расширения масштабируемости (scalability_extension_descriptor) и т.п.
Модуль 142 кодирования блока передает различного рода данные блока в модуль 145 пакетирования транспорта. Модуль 145 пакетирования транспорта генерирует пакеты TS, включающие в себя данные блока, и вставляет их в транспортный поток TS.
На фиг. 21 показан поток обработки мультиплексора 104. Он представляет собой пример, в котором множество уровней разделены на два, включающие в себя набор нижнего уровня и набор высокого уровня. Мультиплексор 104 начинает обработку на этапе ST11 и затем переходит к обработке на этапе ST12. На этапе ST12 мультиплексор 104 устанавливает temporal_id_ каждого изображения видеопотоков (элементарные видеопотоки) и количество составляющих кодированных потоков.
Затем, на этапе ST13, мультиплексор 104 устанавливает в "1" "transport_priority", когда мультиплексируют изображения набора низкого уровня или видеопотоки, включающие в себя изображения набора низкого уровня. Кроме того, на этапе ST14, мультиплексор 104 определяет DTS и PTS, ссылающиеся на информацию HRD ("cpu_removal_delay" и "dpb_output_delay"), и вставляет их в заголовки PES.
Затем мультиплексор 104 определяет на этапе ST15, присутствует ли один поток. Когда присутствует один поток, мультиплексор 104 выполняет обработку мультиплексирования с одним PID (идентификатор пакета) на этапе ST16, и затем переходит к обработке на этапе ST17. С другой стороны, когда отсутствует один поток, мультиплексор 104 выполняет обработку мультиплексирования с множеством пакетов РШ (идентификаторы пакетов) на этапе ST18, и затем переходит к обработке на этапе ST17.
На этапе ST17 мультиплексор 104 кодирует дескриптор HEVC, дескриптор расширения масштабируемости и т.п. Затем мультиплексор 104 вставляет видеопотоки в полезную нагрузку PES, чтобы сформировать пакеты PES, на этапе ST19, и затем формирует транспортные пакеты, для получения транспортного потока TS на этапе ST20. Затем мультиплексор 104 заканчивает обработку на этапе ST21.
На фиг. 22 показан пример конфигурации транспортного потока TS, когда распределение выполняют, используя один видеопоток. Такой транспортный поток TS включает в себя один видеопоток. Другими словами, в этом примере конфигурации существует пакет PES "видео PES1" из видеопотока, имеющего кодированные данные изображения из изображений на множестве уровней, например, в HEVC и пакет PES "аудио PES1" для аудиопотока.
Одиночный видеопоток включает в себя заданное количество подпотоков, полученных путем разделения множества уровней иерархического кодирования на заданное количество наборов уровней, при этом количество равно или больше чем два. Здесь подпоток (основной подпоток) набора самого нижнего уровня включает в себя SPS и подпоток (расширенный подпоток) набора более высокого уровня, чем самый нижний уровень, включает в себя ESPS. Кроме того, значение "general_level_idc" элементов SPS и ESP установлено, как значение слоя, которое включает в себя изображения всех уровней, включенных в набор уровня, равный или меньше, чем соответствующий набор уровня.
Кодированные данные изображения каждого изображения имеют модули NAL, такие как VPS, SPS, ESP, SEI и т.п. Как описано выше, temporal_id, который обозначает уровень изображения, вставляют в заголовок модуля NAL каждого изображения. Кроме того, например, SPS и ESP включают в себя значение обозначения слоя (general_level_idc) скорости битов. Кроме того, например, временные характеристики SEI изображения включают в себя "cpb_removal_delay" и "dpb_output_delay".
Следует отметить, что существует поле, которое обозначает приоритет 1 бита "transport_priority" в заголовке пакета TS, который содержит кодированные данные изображения каждого изображения. С таким "transport_priority" возможно идентифицировать, что кодированные данные изображения представляют собой содержащиеся изображения набора низкого уровня или изображения набора высокого уровня.
Кроме того, транспортный поток TS включает в себя таблицу карты программы (РМТ), как информацию, специфичную для программы (PSI). Такая информация PSI, описывающая, какая программа каждого элементарного потока включена в транспортный поток, является аффилированной.
В РМТ существует контур программы, описывающий информацию, относящуюся ко всей программе. Кроме того, в РМТ существует элементарный контур, имеющий информацию, относящуюся к каждому элементарному потоку. В этом примере конфигурации существует элементарный видеоконтур (видеоконтур ES1) и элементарный аудиоконтур (аудиоконтур ES1).
В элементарном видеоконтуре расположены информация типа потока, идентификатор пакета (PID) и т.п., и дескрипторы, описывающие информацию, относящуюся к видеопотоку, также описаны в соответствии с видеопотоком (видео PES1). В качестве одного из дескрипторов вставлены описанные выше дескриптор HEVC (HEVC_descriptor) и дескриптор расширения масштабируемости (scalability_extension_descriptor).
На фиг. 23 показан случай, в котором, в примере иерархического кодирования на фиг. 3, основной подпоток (В поток) генерируют с изображениями уровней от 0 до 3, и расширенный подпоток (Е поток) генерируют с изображениями уровня 4. В этом случае соответствующие изображения, включенные в основной подпоток, составляют 60Р, и соответствующие изображения, включенные.в расширенный подпоток (Е поток), составляют 120Р в дополнение к изображениям, включенным в основной подпоток в целых PES.
Изображения базового подпотока состоят из модулей NAL, таких как "AUD", "VPS", "SPS", "PPS", "PSEI", "SLICE", "SSEI" и "EOS". "VPS" и "SPS" вставлены, например, в ведущее изображение GOP. Значение "general_level_idc", которое представляет собой элемент SPS, установлено в "слой 5.1". "EOS" может быть исключен.
С другой стороны, изображения расширенного подпотока состоят из модулей NAL, таких как "AUD", "ESP", "PPS", "PSEI", "SLICE", "SSEI" и "EOS". "ESP" вставлен, например, в ведущее изображение GOP. Значение "general_level_idc", которое представляет собой элемент ESP, установлено на "слой 5.2". "PSEI", "SSEI" и "EOS" могут быть исключены.
В "видеоконтуре ES1" расположены информация о типе потока, идентификатор пакета (PID) и т.п., и информация, описывающая дескриптор, относящаяся к видеопотоку, также расположена так, что она соответствует видеопотоку (видео PES1). Тип этого потока установлен в "0X24", обозначающий базовый поток. Кроме того, вставлен один дескриптор, описанный выше дескриптор HEVC.
1-битное поле "level_constrained_flag" установлено в "1". Это обозначает, что "присутствует SPS или ESPS в подпотоке", и 'general_level_idc', который представляет собой элемент, имеет значение слоя, которое включает в себя изображения, равные или ниже, чем temporal_id, включенный в подпоток". Кроме того, значение "level_idc" установлено как "слой 5.2", что означает значения всех слоев видеопотока (видео PES1). Кроме того, 44emporal_id_min" установлен в 0, и e4emporal_id_max" установлен в 4, что означает, что видеопоток (видео PES1) включает в себя изображения уровней от 0 до 4.
Когда выполняется такое распределение, используя одиночный видеопоток, сторона приема определяет, попадают или нет соответствующие подпотоки в диапазон возможности обработки его собственного декодера на основе "level_constrained_flag" и "general_level_idc" элементов SPS и ESPS, и выполняет декодирование для подпотоков, включенных в диапазон.
На фиг. 24 показан пример конфигурации транспортного потока TS, когда распределение выполняется, используя множество потоков, то есть, используя здесь два потока. Такой транспортный поток TS включает в себя два видеопотока. Другими словами, в этом примере конфигурации множество уровней разделяют на два набора уровней, включающих в себя нижний набор уровня и верхний набор уровня, и присутствуют пакеты PES "видео PES1" и "видео PES2" видеопотоков, имеющих кодированные данные изображения для изображений из двух наборов уровней в, например, HEVC и пакет PES "аудио PES1" аудиопотока.
Два видеопотока включают в себя каждый из двух подпотоков, полученных путем разделения множества уровней иерархического кодирования на два набора уровней. Здесь подпоток нижнего набора уровней (основной подпоток) включает в себя SPS, и подпоток верхнего набора уровней (расширенный подпоток) включает в себя ESPS. Кроме того, значение "general_level_idc" элементов SPS и ESPS установлено, как значение слоя, которое включает в себя изображения всех уровней, включенных в набор уровня, равный или меньше, чем соответствующий набор уровня.
В кодированных данных изображения каждого изображения существуют модули NAL, такие как SPS, ESPS и т.п. Как описано выше, temporal_id, обозначающий уровень каждого изображения вставлен в заголовки модулей NAL изображения. Кроме того, значение, обозначающее слой (general_level_idc) скорости битов, включено, например, в SPS и ESPS. Кроме того, временные характеристики SEI изображения включает в себя, например, "cpb_removal_delay" и "dpb_output_delay".
Кроме того, поле размером 1 бит, обозначающее приоритет "transport_priority", присутствует в заголовке пакета TS, который содержит кодированные данные изображения каждого изображения. В таком "transport_priority" возможно идентифицировать, принадлежат ли содержащиеся кодированные данные изображения изображению набора низкого уровня или изображению набора верхнего уровня.
Кроме того, транспортный поток TS включает в себя таблицу отображения программы (РМТ), как информацию, специфичную для программы (PSI). Такая PSI представляет собой информацию, описывающую, для какой программы аффилирован каждый элементарный поток в транспортном потоке.
В РМТ присутствует контур программы, описывающий информацию, относящуюся ко всей программе. Кроме того, в РМТ, присутствует элементарный контур, имеющий информацию, относящуюся к каждому элементарному потоку. В этом примере конфигурации существуют два элементарных видеоконтура (видеоконтур ES1 и видеоконтур ES2) и элементарный аудиоконтур (аудиоконтур ES1).
В каждом элементарном видеоконтуре расположены контур, информация о типе потоков, идентификатор пакета (PID) и т.п., и также описаны дескрипторы, описывающие информацию, относящуюся к видеопотокам, в соответствии с видеопотоками (видео PES1 и видео PES2). В качестве одного из дескрипторов вставлены описанный выше дескриптор HEVC (HEVC_descriptor) и дескриптор расширения масштабируемости (scalability_extension_descriptor).
На фиг. 25 показан случай, в котором, в примере иерархического кодирования на фиг. 3, основной подпоток (В stream) генерируют с изображениями уровней от 0 до 3 и расширенный подпоток (Е stream) генерируют с изображениями уровня 4. В этом случае соответствующие изображения, включенные в основной подпоток, составляют 60Р, и соответствующие изображения, включенные в расширенный подпоток (Е stream), составляют 120Р, в дополнение к изображениям, включенным в основной подпоток во всем PES.
Изображения основного подпотока состоят из модулей NAL, таких как "AUD", "VPS", "SPS", "PPS", "PSEI", "SLICE", "SSEI", и "EOS". "VPS" и "SPS" вставляют, например, в ведущее изображение GOP. Значение "general_level_idc", которое представляет собой элемент SPS, установлено в "слой 5.1". "EOS" может быть исключен.
С другой стороны, изображения расширенного подпотока состоят из модулей NAL, таких как "AUD", "ESPS", "PPS", "PSEI", "SLICE", "SSEI" и "EOS". "ESPS" вставляют, например, в ведущее изображение GOP. Значение "general_level_idc", которое представляет собой элемент ESPS, установлено в " слой 5.2". "PSEI", "SSEI" и "EOS" могут быть исключены.
В "видеоконтуре ES1" расположены информация типа потока, идентификатор пакета (PID) и т.п., и также расположен дескриптор, описывающий информацию, относящуюся к видеопотоку, чтобы соответствовать видеопотоку (видео PES1). Тип такого потока установлен в "0×24", обозначающий основной поток. Кроме того, в качестве одного дескриптора, вставлен описанный выше дескриптор HEVC.
1-битное поле "level_constrained_flag" установлено в "1". Это обозначает, что "присутствуют SPS или ESPS в подпотоке, и 'general_level_idc', который представляет собой его элемент, имеет значение слоя, который включает в себя изображения, равные или меньшие, чем temporal_id, включенный в подпоток". Кроме того, значение "levelidc" установлено как "слой 5.1", который обозначает значение слоя основного подпотока (поток В). Кроме того, "temporal_id_min" установлен в 0, и "temporal_id_max" установлен в 3, что обозначает, что основной подпоток (В поток) включает в себя изображения уровней от 0 до 3.
В "контуре виде oES2" расположены информация типа потока, идентификатор пакета (PID) и т.п., и также расположен дескриптор, описывающий информацию, относящуюся к видеопотоку, так, что он соответствует видеопотоку (видео PES2). Тип потока установлен как "0×25", который обозначает расширенный поток. Кроме того, в качестве одного дескриптора вставлен описанный выше дескриптор HEVC.
1-битное поле "level_constrained_flag" установлено в "1". Это обозначает, что "присутствуют SPS или ESPS в подпотоке и 'general_Ievel_idc', который представляет собой его элемент, имеет значение слоя, который включает в себя изображения, равные или меньшие, чем temporal_id, включенный в подпоток." Кроме того, значение "level_idc" установлено в "слой 5.2", который обозначает значения слоев основного подпотока (поток В) и расширенного потока (поток Е). Кроме того, '4emporal_id_min" установлен в 4, и "temporal_id_max" установлен в 4, что обозначает, что расширенный поток (поток Е)) включает в себя изображения уровня 4.
Когда выполняют такое распределение, используя множество видеопотоков, сторона приема определяет, попадают ли соответствующие подпотоки в диапазон возможности обработки его собственного декодера на основе "level_constrained_flag" и "general_level_idc" элементов SPS и ESPS, и выполняет декодирование подпотоков, включенных в диапазон.
На фиг. 26 показан другой пример конфигурации транспортного потока TS в случае, в котором, в примере иерархического кодирования на фиг. 3, основной подпоток (поток В) генерируют с изображениями уровней от 0 до 3 и расширенный подпоток (поток Е) генерируют с изображениями уровня 4. В этом случае соответствующие изображения, включенные в основной подпоток, составляют 60Р, и соответствующие изображения, включенные в расширенный подпоток (поток Е), составляют 120Р, в дополнение к изображениям, включенным в основной подпоток во всем PES.
Изображения основного подпотока состоят из модулей NAL, таких как "AUD", "VPS", "SPS", "PPS", "PSEI", "SLICE", "SSEI" и "EOS". "VPS" и "SPS" вставляют, например, в ведущее изображение GOP. Значение "general_level_idc", которое представляет собой элемент SPS, установлено в "слой 5.2". В этом случае "sub_layer_level_present_flag", который представляет собой элемент SPS, установлен в "1", и в "sublayer_level_idc [3]" обозначено значение слоя "слой 5.1" основного подпотока. "EOS" может быть исключен.
Изображения расширенного поддотока состоят из модулей NAL, таких как "AUD", "PPS" и "SLICE". Однако модуль NAL "ESP", как представлено на фиг. 25, не присутствует.
В "видеоконтуре ES1" расположены информация типа потока, идентификатор пакета (PID) и т.п., и также расположен дескриптор, описывающий информацию, относящуюся к видеопотоку, так, что он соответствует видеопотоку (видео PES1). Тип этого потока установлен в "0×24", обозначающий основной поток. Кроме того, в качестве одного дескриптора, вставлен описанный выше дескриптор HEVC.
При этом отсутствует "level_constrained_flag", как показано на фиг. 25. Значение "levelidc" установлено в "слой 5.1", обозначающий значение слоя основного поддотока (поток В). Кроме того, "temporal_id_min" установлен в 0, и "temporal_id_max" установлен в 3, что обозначает, что основной подпоток (поток В) включает в себя изображения уровней от 0 до 3.
В "видеоконтуре ES2" расположены информация типа потока, идентификатор пакета (PID) и т.п., и также размещена информация описывающая дескриптор, относящаяся к видеопотоку, так, что она соответствует видеопотоку (видео PES2). Тип потока установлен в "0×25", что обозначает расширенный поток. Кроме того, в качестве одного дескриптора, вставлен описанный выше дескриптор HEVC.
Здесь отсутствует "level_constrained_flag", как показано на фиг. 25. Значение "level_idc" установлено в "слой 5.2", обозначающий значения слоев основного поддотока (поток В) и расширенного потока (поток Е). Кроме того, "temporal_id_min" установлен в 4, и "temporal_id_max" установлен в 4, что обозначает, что расширенный поток (поток Е)) включает себя изображения уровня 4.
Когда выполняется такое распределение, используя множество видеопотоков, сторона приема определяет, попадают или нет соответствующие подпотоки в диапазон возможности обработки его собственного декодера на основе "general_level_idc" и "sublayer_level_idc" элементов SPS, и выполняет декодирование для поддотоков, включенных в этот диапазон.
Возвращаясь к фиг. 2, модуль 105 передачи модулирует транспортный поток TS в схеме модуляции, соответствующей для широковещательной передачи, например, QPSK-OFDM, и передает сигнал модуляции RF из передающей антенны.
Ниже будет кратко описана операция устройства 100 передачи, показанного на фиг. 2. Кодер 102 принимает вход в виде несжатых данных динамического изображения. Кодер 102 выполняет иерархическое кодирование таких данных динамического изображения. Другими словами, кодер 102 классифицирует данные изображения из соответствующих изображений, составляющих данные динамического изображения, на множество уровней, и кодирует данные, и, таким образом, генерирует видеопоток, имеющий кодированные данные изображения для изображений каждого уровня. В это время кодирование выполняют таким образом, что изображение, на которое должна быть сделана ссылка, аффилировано по его собственному уровню и/или по уровню ниже, чем его собственный уровень.
Кодер 102 генерирует видеопоток, имеющий данные кодированного изображения из изображений каждого уровня. Например, кодер 102 разделяет множество уровней на заданное количество наборов уровней, причем это количество равно или больше чем два, и генерирует заданное количество видеопотоков, которые включают в себя каждый подпоток, соответствующий каждому набору уровней, или генерирует одиночный видеопоток, который включает в себя все подпотоки, соответствующие каждому набору уровня.
Кодер 102 добавляет информацию идентификации, для идентификации аффилированного набора уровней для кодированных данных изображения для изображений каждого набора уровней. В этом случае, в качестве информации идентификации, например, используется "general_level_idc", который представляет собой элемент SPS и ESPS. SPS включен в подпоток самого низкого набора уровней (основной подпоток) для каждой последовательности (GOP). С другой стороны, ESPS включен в подпоток более высокого набора уровней, чем самый нижний уровень (расширенный подпоток) для каждой последовательности (GOP). Набор более высокого уровня имеет более высокое значение "general_level_idc", включенное в SPS и ESPS. Например, значение "general_level_idc", включенное в себя в SPS и ESPS подпотока каждого набора уровней, установлено как значение слоя, которое включает в себя изображения всех уровней, включенных в набор уровня, равный или меньше, чем соответствующий набор уровня.
Поток видеоданных, который генерирует кодер 102, включающий в себя кодированные данные изображений каждого уровня, поступает в буфер (cpb) 103 сжатых данных и временно содержится в нем. В мультиплексоре 104 видеопоток, накопленный в буфере 103 сжатых данных, считывают, пакетируют PES, и дополнительно выполняют транспортное пакетирование и мультиплексирование, и, таким образом, получают транспортный поток TS в виде мультиплексированного потока.
Такой транспортный поток TS включает в себя одиночный видеопоток или заданное количество видеопотоков, причем это количество равно или больше чем два, имеющих кодированные данные изображения, из изображений каждого уровня. В мультиплексоре 104 информацию уровня и информацию конфигурации потока вставляют в транспортный поток TS. Другими словами, в мультиплексоре 104, дескриптор HEVC (HEVC_descriptor) и дескриптор расширения масштабируемости (scalability_extension_descriptor) вставлены в элементарный видеоконтур, соответствующий каждому видеопотоку.
Мультиплексор 104 устанавливает более высокий приоритет пакета TS, который содержит кодированные данные изображения для изображения набора уровней на стороне нижнего уровня. Когда, например, множество уровней разделяют на два, включающие в себя набор нижнего уровня и набор более высокого уровня, мультиплексор 104 использует 1-битное поле "transport_priority" заголовка пакета TS для установления приоритета.
Транспортный поток TS, генерируемый мультиплексором 104, передают в модуль 105 передачи. В модуле 105 передачи транспортный поток TS модулируют в схеме модуляции, соответствующей для широковещательной передачи, например, QPSK-OFDM, и сигнал модуляции RF передают из передающей антенны.
Конфигурация устройства приема
На фиг. 27 показан пример конфигурации устройства 200 приема. Такое устройство 200 приема имеет центральное процессорное устройство (CPU) 201, модуль 202 приема, демультиплексор 203 и буфер 204 сжатых данных (буфер кодированного изображения или cpb). Кроме того, устройство 200 приема имеет декодер 205, буфер 206 несжатых данных (буфер декодированного изображения или dpb) и модуль 207 последующей обработки. CPU 201 составляет модуль управления, который управляет операциями каждого модуля устройства 200 приема.
Модуль 202 приема демодулирует сигнал модуляции RF, принятый приемной антенной, для получения транспортного потока TS. Демультиплексор 203 избирательно выбирает кодированные данные изображения из изображений наборов уровней из транспортного потока TS, в соответствии с возможностями декодирования (возможностями временного уровня декодера) и передает данные в буфер 204 сжатых данных (буфер кодированного изображения или cpb).
На фиг. 28 показан пример конфигурации демультиплексора 203. Такой демультиплексор 203 имеет модуль 231 выделения PCR, модуль 232 выделения временной метки, модуль 233 выделения блока, модуль 234 выделения приоритета TS, модуль 235 выделения полезной нагрузки PES и модуль 236 выбора изображения.
Модуль 231 выделения PCR выделяет PCR (ссылка на тактовую частоту программы) из пакета TS, который включает в себя PCR, и передает PCR в CPU 201. Модуль 232 выделения временной метки выделяет временную метку (DTS или PTS), вставленную в заголовок PES для каждого изображения, и передает временную метку в CPU 201. Модуль 233 выделения блока выделяет данные блока из транспортного потока TS и передает эти данные в CPU 201. Эти данные блока включают в себя описанный выше дескриптор HEVC (HEVC_descriptor), дескриптор расширения масштабируемости (scalability_extension_descriptor) и т.п.
Модуль 234 выделения приоритета TS выделяет информацию приоритета, установленную для каждого пакета TS. Этот приоритет представляет собой приоритет каждого набора уровней, когда множество уровней разделяют на заданное количество наборов уровня, количество равно или больше чем два, и наборы уровней на стороне нижнего уровня установлены так, что они имеют более высокие приоритеты, как описано выше. Например, когда наборы уровня разделяют на два, включая в себя набор нижнего уровня и набор верхнего уровня, выделяют значение 1-битного поля "transport_priority" заголовка пакета TS. Это значение устанавливают в "1" для набора нижнего уровня и в "0" для набора верхнего уровня.
Модуль 235 выделения полезной нагрузки PES выделяет полезную нагрузку PES, то есть, кодированные данные изображения для изображений каждого уровня, из транспортного потока TS. Модуль 236 выбора изображения избирательно отбирает кодированные данные изображения для изображения набора уровней из кодированных данных изображения для изображений каждого уровня, выбранных модулем 235 выделения полезной нагрузки PES, в соответствии с возможностями декодирования (временными возможностями уровня декодера), и передает эти данные в буфер 204 сжатых данных (в буфер кодированного изображения или cpb). В этом случае, модуль 236 выбора изображения обращается к информации уровня и к информации конфигурации потока, полученной в модуле 233 выделения блока, и к информации приоритета, выделенной модулем 234 выделения приоритета TS.
Рассматривается случай, в котором, например, частота кадров видеопотока, включенного в транспортный поток TS (кодированный поток) составляет 120 кадров/с. Предполагается, что, например, множество уровней разделяют на два, включающих в себя набор уровня на стороне низкого уровня и набор уровня на стороне высокого уровня, и частота кадров изображений соответствующих наборов уровня составляют 60 кадров/с. В описанном выше примере иерархического кодирования, представленного на фиг. 3, например, уровни от 0 до 3 установлены так, что они аффилированы для набора уровней на стороне низкого уровня, и уровень 4 установлен так, что аффилирован для набора уровней на стороне высокого уровня.
1-битное поле "transport_priority", включенное в заголовок пакета TS, установлено в "1" в случае пакета TS, который содержит кодированные данные изображения для изображения основного уровня, то есть набора уровней на стороне нижнего уровня, и в "0", в случае пакета TS, который содержит кодированные данные изображения для изображений не основного уровня, то есть, набора уровней на стороне более высокого уровня.
В этом случае, транспортный поток TS может включать в себя одиночный видеопоток (кодированный поток), имеющий кодированные данные из изображений каждого уровня (см. фиг. 10). Кроме того, в этом случае транспортный поток TS может включать в себя два видеопотока (кодированные потоки), которые представляют собой основной поток (поток В), имеющий кодированные данные изображения для изображений набора уровней на стороне нижнего уровня, и расширенный поток (поток Е), имеющий кодированные данные изображения для изображений набора уровней на стороне более высокого уровня (см. фиг. 11).
Когда возможность декодирования равна 120Р (120 кадров/с), например, модуль 236 выбора изображения отбирает кодированные данные изображения для изображений всех уровней и передает эти данные в буфер 204 сжатых данных (cpb). С другой стороны, когда возможности декодирования эквивалента не равны 120Р, но равны 60Р (60 кадров/с), например, модуль 236 выбора изображения отбирает только кодированные данные изображения для изображений набора уровней для стороны нижнего уровня и передает данные в буфер 204 сжатых данных (cpb).
На фиг. 29 показан случай, в котором одиночный видеопоток (кодированный поток) включен в транспортный поток TS. Здесь "высокий" обозначает изображения набора уровней для стороны высокого уровня, и "низкий" обозначает изображение набора уровней для стороны низкого уровня. Кроме того, "Р" обозначает "transport_priority".
Когда возможности декодирования равны 120Р, модуль 236 выбора изображения отбирает кодированные данные изображения для изображений всех уровней, передает эти данные в буфер 204 сжатых данных (cpb), для накопления в области 1 (cpb_1). С другой стороны, когда возможности декодирования не равны 120Р, но равны 60Р (60 кадров/с), выполняется фильтрация на основе "transport_priority", и выбирают только изображения набора уровней для стороны нижнего уровня с Ρ=1, передавая в буфер 204 сжатых данных (cpb), и накапливают в области 1 (cpb_1).
На фиг. 30 показан случай, в котором два видеопотока (кодированные потоки), включающие в себя основной поток и расширенный поток, включены в транспортный поток TS. Здесь "Высокий" обозначает изображения набора уровней для стороны высокого уровня и "Низкий" обозначает изображения для набора уровней, для стороны низкого уровня. Кроме того, "Р" обозначает "transport_priority". Кроме того, идентификатор пакета (PID) основного потока установлен в PID1, и идентификатор пакета (PID) расширенного потока установлен в PID2.
Когда возможности декодирования равны 120Р, модуль 236 выбора изображения выбирает кодированные данные изображения для изображений всех уровней и передает эти данные в буфер 204 сжатых данных (cpb). Затем кодированные данные изображения для изображений набора уровней на стороне низкого уровня накапливают в области 1 (cpb_1), и кодированные данные изображения для изображений набора уровней на стороне низкого уровня накапливают в области 2 (cpb_2)
С другой стороны, когда возможности декодирования эквивалентны не 120Р, но 120Р, выбирают только изображения набора уровней для стороны низкого уровня с PID1 в результате фильтрации на основе идентификаторов пакета (PID), переданных в буфер 204 сжатых данных (cpb), и накапливают в области 1 (cpb_1). Следует отметить, что в этом случае фильтрация также может быть выполнена на основе "transport_priority".
На фиг. 31 показан пример потока обработки демультиплексора 203. Такой поток обработка представляет собой случай, в котором транспортный поток TS включает в себя одиночный видеопоток (кодированный поток).
Демультиплексор 203 начинает обработку на этапе ST31, и затем переходит к обработке на этапе ST32. На этапе ST32 возможности декодирования (временные возможности уровня декодера) установлены из CPU 201. Затем демультиплексор 203 определяет, существуют или нет возможности декодирования всех уровней на этапе ST33.
Когда существуют возможности декодирования всех уровней, демультиплексор 203 демультиплексирует все пакеты TS, прошедшие через соответствующий фильтр PID на этапе ST34, для выполнения анализа блока. Затем демультиплексор 203 переходит к обработке на этапе ST35.
Когда отсутствует возможность декодирования всех уровней на этапе ST33, демультиплексор 203 демультиплексирует пакет TS с "transport_priority", равным "1", для выполнения анализа блока на этапе ST36. Затем демультиплексор 203 переходит к обработке на этапе ST35.
На этапе ST35 демультиплексор 203 считывает дескриптор HEVC (HEVC_descriptor) и дескриптор расширения масштабируемости (scalability_extension_descriptor) среди блоков целевого PID, и получает информацию о присутствии расширенного потока, типе масштабируемости, о количестве и ID потоков, максимальном и минимальном значении temporal_id, и минимальном целевом слое декодера.
Затем демультиплексор 203 передает в ST37 кодированный поток для PID для буфера 204 сжатых данных (cpb) и уведомляет CPU 201 для DTS и PTS. После обработки на этапе ST37, демультиплексор 203 заканчивает обработку на этапе ST38.
На фиг. 32 показан пример другого потока обработки демультиплексора 203. Такой поток обработки представляет случай, в котором транспортный поток TS включает в себя два видеопотока (кодированные потоки), включающие в себя основной поток и расширенный поток.
Демультиплексор 203 начинает обработку на этапе ST41 и затем переходит к обработке на этапе ST42. На этапе ST42 возможности декодирования (временной возможности уровня декодера) устанавливают из CPU 201. Затем демультиплексор 203 определяет, присутствует или нет возможность декодирования всех уровней на этапе ST43.
Когда существует возможность декодирования всех уровней, демультиплексор 203 демультиплексирует все пакеты TS, проходящие через соответствующий фильтр PID на этапе ST44 для выполнения анализа блока. Затем демультиплексор 203 переходит к обработке на этапе ST45.
Когда отсутствует возможность декодирования всех уровней на этапе ST43, демультиплексор 203 демультиплексирует пакет TS с PID = PID1 для выполнения анализа блока на этапе ST46. Затем демультиплексор 203 переходит к обработке на этапе ST45.
На этапе ST45 демультиплексор 203 считывает дескриптор HEVC (HEVC_descriptor) и дескриптор расширения масштабируемости (scalability_extension_descriptor) среди блоков целевых PID, и получает информацию о присутствии расширенного потока, типе масштабируемости, количестве и ID потоков, максимальном и минимальном значении temporal_id и минимальном уровне целевого декодера.
Затем демультиплексор 203 передает в ST47 кодированный поток для PID для буфера 204 сжатых данных (cpb) и уведомляет CPU 201 о DTS и PTS. После обработки на этапе ST47 демультиплексор 203 заканчивает обработку на этапе ST48.
Возвращаясь к фиг. 27, буфер 204 сжатых данных (cpb) временно накапливает видеопоток (кодированный поток), полученный из демультиплексора 203. Декодер 205 выводит кодированные данные изображения для изображений уровня, обозначенного, как уровень, предназначенный для декодирования, из видеопотока, накопленного в буфере 204 сжатых данных. Затем декодер 205 декодирует отобранные кодированные данные изображения для каждого изображения в моменты декодирования изображения, и передает эти данные в буфер 206 несжатых данных (dpb).
Здесь, в декодере 205, уровень, предназначенный для декодирования, обозначен с использованием temporal_id из CPU 201. Такое обозначение уровня автоматически установлено для всех уровней, включенных в видеопоток (кодированный поток), отобранный из демультиплексора 203, или на некоторые уровни на стороне нижнего уровня с использованием CPU 201, или в соответствии с операцией пользователя. Кроме того, CPU 201 передает в декодер 205 временные характеристики декодирования на основе временной метки декодирования (DTS). Следует отметить, что, когда декодер 205 декодирует кодированные данные изображения каждого изображения, декодер считывает и использует данные изображения опорного изображения источника из буфера 206 несжатых данных.
На фиг. 33 показан пример конфигурации декодера 205. Такой декодер 205 имеет модуль 251 анализа временного ID, модуль 252 выбора целевого уровня, модуль 253 интегрирования потока и модуль 254 декодирования. Модуль 251 анализа временного ID считывает видеопоток (кодированный поток), накопленный в буфере 204 сжатых данных, и анализирует temporal_id, вставленный в заголовок модуля NAL кодированных данных изображения для каждого изображения.
Модуль 252 выбора целевого уровня выбирает кодированные данные изображения для изображений уровня, обозначенного, как уровень, предназначенный для декодирования, из видеопотока, считанного из буфера 204 сжатых данных, на основе результата анализа модуля 251 анализа временного ID. В этом случае модуль 252 выбора целевого уровня выводит один или множество видеопотоков (кодированных потоков) в соответствии с количеством видеопотоков, считанных из буфера 204 сжатых данных и обозначенного уровня.
Модуль 253 интегрирования потока интегрирует заданное количество видеопотоков (кодированных потоков), выводимых из модуля 252 выбора целевого уровня в один. Модуль 254 декодирования последовательно декодирует кодированные данные изображения для каждого изображения, включенного в видеопоток (кодированный поток), интегрированного модулем 253 интегрирования потока в моменты времени декодирования, и передает данные буфера 206 несжатых данных (dpb).
В этом случае модуль 254 декодирования распознает "general_level_idc", "sublayer_level_idc" и т.п. путем анализа SPS и ESP, используя level_constrained_flag, полученный из демультиплексора 203, и проверяет, может ли быть или нет декодирован поток или подпоток в пределах диапазона его собственных возможностей обработки декодера. Кроме того, в этом случае, модуль 254 декодирования анализирует SEI для распознавания, например, "initial_cpb_removal_time" и "cpb_removal_delay" и проверяет, являются ли временные характеристики декодирования из CPU 201 соответствующими.
Кроме того, когда выполняют декодирование среза, модуль 254 декодирования получает "ref_idx_10_active (ref_idx_l1_active) из заголовка среза, как информацию, обозначающую место назначения прогнозирования в направлении времени, для выполнения прогнозирования в направлении времени. Следует отметить, что декодируемые изображения обрабатывают с тем, чтобы сделать возможность обращения к ним других изображений, используя "short_term_ref_pic_set_idx" или "it_idx_sps", полученные из заголовка среза, как индекс.
Блок-схема последовательности операций на фиг. 34 представляет пример процедуры обработки декодирования для каждого видеопотока с учетом возможности обработки декодера устройства 200 приема. Устройство 200 приема начинает обработку на этапе ST61 и считывает дескриптор HEVC (HEVC_descriptor) на этапе ST62.
Затем устройство 200 приема определяет, включает ли в себя дескриптор HEVC "level_constrained_flag", на этапе ST63. Когда он его включает в себя, устройство 200 приема определяет, равен ли "level_constrained_flag" "1" на этапе ST64. Когда он равен "1", устройство 200 приема переходит к обработке на этапе ST65.
На этапе ST65 устройство 200 приема обращается к временной метке пакета PES соответствующего PID и считывает SPS или ESP видеопотока в части полезной нагрузки. Затем устройство 200 приема считывает "general_level_idc", который представляет собой элемент SPS или ESP на этапе ST66.
Затем устройство 200 приема определяет, находится ли "general_level_idc" в пределах диапазона возможностей обработки декодера, на этапе ST67. Когда он находится в пределах диапазона возможностей обработки декодера, устройство 200 приема декодирует соответствующий поток или подпоток на этапе ST68. Затем устройство 200 приема заканчивает обработку на этапе ST69. С другой стороны, когда он не находится в пределах диапазона возможностей обработки декодера на этапе ST67, устройство 200 приема непосредственно переходит на этап ST69, и заканчивает обработку.
Кроме того, когда "level_constrained_flag" не включен на этапе ST63, или когда "level_constrained_flag" равен "0" на этапе ST64, устройство 200 приема переходит к обработке на этапе ST70. На этапе ST70 устройство 200 приема обращается к временной метке пакета РЕ соответствующего PID и считывает SPS видеопотока в части полезной нагрузки. С другой стороны, когда соответствующий видеопоток не содержит SPS, обращаются к SPS подпотока, в котором temporal_layer включает в себя изображения на нижней стороне.
Затем устройство 200 приема считывает "general_level_idc", то есть элемент SPS, на этапе ST71. Затем устройство 200 приема определяет, находится ли "general_level_idc" в пределах диапазона возможностей обработки декодера на этапе ST72. Когда он находится в пределах диапазона возможностей обработки декодера, устройство 200 приемное переходит к обработке на этапе ST73.
С другой стороны, когда он не находится в пределах диапазона возможностей обработки декодера, устройство 200 приема проверяет "sublayer_level_idc", то есть элемент SPS на этапе ST74. Затем устройство 200 приема определяет, присутствует ли "подуровень", у которого "sublayer_level_idc" находится в пределах диапазона возможностей обработки декодера, на этапе ST75. Когда он отсутствует, устройство 200 приема непосредственно переходит на этап ST69, и обработка заканчивается. С другой стороны, когда он равен единице, устройство 200 приема переходит к обработке на этапе ST73.
На этапе ST73 устройство 200 приема декодирует весь поток или часть подуровня, относящуюся к значению temporal_id. Затем устройство 200 приема заканчивает обработку на этапе ST69.
Возвращаясь к фиг. 27, буфер 206 несжатых данных (dpb) временно содержит данные изображения каждого изображения, декодируемого декодером 205. Модуль 207 последующей обработки выполняет обработку для данных изображения каждого из изображений, последовательно считанных из буфера 206 несжатых данных (dpb) в моменты времени отображения, для обеспечения соответствия его частоты кадров возможностям дисплея. В этом случае временные характеристики отображения задает CPU 201 на основе временной метки представления (PTS).
Например, когда частота кадров декодированных данных изображения для изображений составляет 120 кадров/с, и возможности дисплея составляют 120 кадров/с, модуль 207 последующей обработки передает декодированные данные изображения для изображений для их отображения в том виде, как они есть. Кроме того, когда, например, частота кадров декодированных данных изображения для изображений составляет 120 кадров/с, и возможности дисплея составляют 60 кадров/с, модуль 207 последующей обработки выполняет обработку подвыборки таким образом, что разрешение в направлении времени составляет половину по сравнению с декодированными данными изображения для изображений, и передает эти данные в дисплей, как данные изображения с частотой 60 кадров/с.
Кроме того, когда частота кадров декодированых данных изображения для изображений составляет 60 кадров/с, и возможности дисплея составляют 120 кадров/с, модуль 207 последующей обработки выполняет обработку интерполяции таким образом, чтобы разрешение в направлении времени составляло двойную величину, чем у декодированных данных изображения для изображений, и передает эти данные в дисплей, как данные изображения с частотой кадров 120 кадров/с. Кроме того, когда, например, частота кадров декодированных данных изображения для изображений составляет 60 кадров/с, и возможности дисплея составляет 60 кадров/с, модуль 207 последующей обработки передает декодированные данные изображения для изображений в дисплей в том виде, как они есть.
На фиг. 35 показан пример конфигурации модуля 270 последующей обработки. Он представляет собой пример, который может работать со случаем, описанным выше, в котором частота кадров декодированных данных изображения для изображений составляет 120 кадров/с или 60 кадров/с, и возможности дисплея составляют 120 кадров/с или 60 кадров/с.
Модуль 207 последующей обработки имеет модуль 271 интерполяции, модуль 272 подвыборки и модуль 273 переключения. Декодированные данные изображения для изображений из буфера 206 несжатых данных непосредственно поступают в модуль 273 переключения, или их выводят в модуль 273 переключения после прохода через модуль 271 интерполяции так, чтобы они получили удвоенную частоту кадров, или их подают в модуль 273 переключения после пропуска через модуль 272 подвыборки так, чтобы они имели половину частоты кадров.
Модуль 273 переключения принимает подаваемую информацию выбора из CPU 201. CPU 201 автоматически генерирует такую информацию выбора со ссылкой на возможности дисплея или в соответствии с операцией пользователя. Модуль 273 переключения избирательно выводит любые входные данные на основе информации выбора. В соответствии с этим, частота кадров данных изображения для изображений, последовательно считываемых из буфера 206 несжатых данных (dpb) и временные характеристики дисплея соответствуют возможностям дисплея.
На фиг. 36 показан пример потока обработки декодера 205 и модуля 207 последующей обработки. Декодер 205 и модуль 207 последующей обработки начинает обработку на этапе ST51. Затем они переходят к обработке на этапе ST52. На этапе ST52 декодер 205 считывает видеопоток, предназначенный для декодирования, накопленный в буфере 204 сжатых данных (cpb), и выбирает изображения уровня, обозначенного, как цель декодирования, из CPU 201 на основе temporal_id.
Затем декодер 205 последовательно декодирует кодированные данные изображения для выбранных изображений в моменты времени декодирования и передает декодированные данные изображения для изображений в буфер 206 несжатых данных (dpb) для обеспечения временного сохранения данных на этапе ST53. Затем модуль 207 последующей обработки считывает данные изображения для изображений из буфера 206 несжатых данных (dpb) в моменты времени отображения на этапе ST54.
Затем модуль 207 последующей обработки определяет, соответствует или нет частота кадров считанных данных изображения для изображений возможностям дисплея. Когда частота кадров не соответствует возможностям дисплея, модуль 207 последующей обработки обеспечивает соответствие частоты кадров возможностям дисплея на этапе ST56 и передает эти данные в дисплей, и затем заканчивает обработку на этапе ST57. С другой стороны, когда частота кадров соответствует возможностям дисплея, модуль 207 последующей обработки передает данные с частотой кадров в дисплей без изменения, на этапе ST58, и затем заканчивает обработку на этапе ST57.
Операция устройства 200 приема, показанного на фиг. 27, будет описана кратко. Модуль 202 приема демодулирует сигнал модуляции RF, принятый приемной антенной, для получения транспортного потока TS. Такой транспортный поток TS передают в демультиплексор 203. Демультиплексор 203 избирательно отбирает кодированные данные изображения для изображений набора уровней из транспортного потока TS, в соответствии с возможностями декодирования (временными возможностями уровня декодера), и передает эти данные в буфер 204 сжатых данных (cpb), для обеспечения временного сохранения данных.
Декодер 205 отбирает кодированные данные изображения для изображений уровня, обозначенного как уровень, предназначенный для декодирования, из видеопотока, накопленного в буфере 204 сжатых данных. Затем декодер 205 декодирует кодированные данные изображения каждого из отобранных изображений в моменты времени декодировании изображений, и передает эти данные в буфер 206 несжатых данных (dpb), для обеспечения временного сохранения данных. В этом случае, когда кодированные данные изображения соответствующих изображений должны быть декодированы, данные изображения опорного изображения источника считывают из буфера 206 несжатых данных для использования.
Данные изображения для изображений, последовательно считанных из буфера 206 несжатых данных (dpb) в моменты времени дисплея, передают в модуль 207 последующей обработки. Модуль 207 последующей обработки выполняет интерполяцию или подвыборку для обеспечения соответствия частоты кадров данных изображения для изображений возможностям дисплея. Данные изображения для изображений, обрабатываемых модулем 207 последующей обработки, подают в дисплей, и отображают динамическое изображение для данных изображений для изображения.
Как описано выше, на стороне приема, в системе 10 передачи и приема, показанной на фиг. 1, интервал кодирования рассчитывают для каждого уровня, и временную метку декодирования, которая установлена так, что более высокий уровень имеет более короткий временной интервал декодирования для данных кодированного изображения каждого изображения, добавляют к кодированным данным изображения для изображений каждого уровня. По этой причине сторона приема может выполнять, например, предпочтительную обработку декодирования в соответствии с возможностями декодирования. Даже в случае низкой возможности декодирования, например, возможно избирательно декодировать кодированные данные изображения для изображений набора низкого уровня, без возникновения отказа в буфере 204 сжатых данных.
Кроме того, на стороне передачи в системе 10 передачи и приема, показанной на фиг. 1, дескриптор расширения масштабируемости (scalability_extension_descriptor) и т.п. вставляют в уровень транспортного потока TS. По этой причине сторона приема может легко определять, например, информацию уровня иерархического кодирования, информацию конфигурирования видеопотока, включенного в транспортный поток TS и т.п., и, таким образом, может выполнять соответствующую обработку декодирования.
Кроме того, в системе 10 передачи и приема, показанной на фиг. 1, модуль передачи разделяет множество уровней на заданное количество наборов уровней, и это количество равно или больше чем два, и устанавливают более высокий приоритет пакета TS, который содержит кодированные данные изображения для изображений набора уровней на стороне более низкого уровня. В случае двух разделений, например, 1-битное поле "transport_priority" устанавливают в "1" для пакета TS, который содержит кодированные данные изображения для изображений набора уровней на стороне основного уровня, то есть, на стороне низкого уровня, и в "0" для пакета TS, который содержит кодированные данные изображения для изображений набора уровней на стороне не основного уровня, то есть, на стороне более высокого уровня. По этой причине сторона приема может только подавать кодированные данные изображения для набора уровней, соизмеримого с его собственными возможностями декодирования, в буфер 204 сжатых данных (cpb) на основе приоритета этого пакета TS, и, таким образом, можно легко исключить возникновение отказа в буфере.
Кроме того, в системе 10 передачи и приема, показанной на фиг. 1, сторона передачи вставляет значение, обозначающее слой для потока битов в подпотоки, соответствующие каждому набору уровня, и предполагается, что значение представляет собой значение слоя, который включает в себя изображения всех уровней, которые включены в набор уровня, равный или меньше, чем соответствующий набор уровня. По этой причине сторона приема видеопотока может легко определять, возможно или нет декодирование каждого из подпотоков на основе значения обозначения слоя вставленного потока битов.
Кроме того, в системе 10 передачи и приема, показанной на фиг. 1, сторона передачи вставляет информацию флага (level_constrained_flag), обозначающую, что значение обозначения слоя потока битов, вставленного в подпотоки каждого набора уровней, представляет собой значение слоя, которое включает в себя изображения всех уровней, которые включены в наборы уровней из соответствующих и более низких наборов уровней в уровень транспортного потока TS (уровень контейнера). По этой причине, используя такую информацию флага, сторона приема подтверждает, что значение, обозначающее слой потока битов, вставленное в подпотоки каждого набора уровней, представляет собой значение слоя, который включает в себя изображения для всех уровней, которые включены в наборы уровней из соответствующих и более низких наборов уровней, в результате чего, обработка проверки, используя sublayer_level_idc, становится ненужной, и может быть достигнута эффективность обработки декодирования.
2. Модифицированный пример
Следует отметить, что, хотя описанный выше вариант осуществления представляет систему 10 передачи и приема, составленную из устройства 100 передачи и устройства 200 приема, конфигурация системы передачи и приема, в которой может применяться настоящая технология, не ограничена этим. Например, часть устройства 200 приема может быть выполнена, например, с использованием телевизионной приставки, подключенной к цифровому интерфейсу, такому как мультимедийный интерфейс высокой четкости (HDMI) и монитор, и т.п.
Кроме того, в описанном выше варианте осуществления показан пример, в котором контейнер представляет собой транспортный поток (MPEG 2 TS). Настоящая технология, однако, также может аналогично применяться в системе, выполненной с возможностью распределения данных в терминал приема, используя сеть, такую как Интернет. При распределении в Интернет существует множество случаев распределения, используя контейнер в формате МР4 или в других форматах. Другими словами, в качестве контейнеров его эквивалентом являются различные форматы, включающие в себя транспортные потоки (MPEG 2 TS), используемые в стандартах цифровой широковещательной передачи, МР4, используемые при распределении в Интернет и т.п.
Кроме того, настоящая технология также может быть выполнена так, как представлено ниже.
(1) Устройство передачи, включающее в себя:
модуль кодирования изображения, выполненный с возможностью классификации данных изображения каждого из изображений, которые составляют данные динамического изображения на множестве уровней, для кодирования данных изображения каждого из классифицированных уровней и для генерирования видеопотока, имеющего данные кодированного изображения в виде изображений каждого из уровней; и
модуль передачи, выполненный с возможностью передачи контейнера в заданном формате, который включает в себя сгенерированный видеопоток,
в котором модуль кодирования изображения добавляет информацию о временных характеристиках декодирования, которая была установлена таким образом, что более высокий уровень имеет более короткий интервал времени декодирования для кодированных данных изображения каждого из изображений, к кодированным данным изображения для изображений каждого из уровней.
(2) Устройство передачи по п. (1), в котором модуль кодирования изображения
генерирует одиночный видеопоток, имеющий кодированные данные изображения, из изображений каждого из уровней, и
разделяет множество уровней на заданное количество наборов уровней, и это количество равно или больше двум, и добавляет информацию идентификации для идентификации аффилированного набора уровней для кодированных данных изображения для изображений каждого из наборов уровня.
(3) Устройство передачи по п. (2), в котором информация идентификации представляет собой значение, обозначающее слой потока битов, и более высокое значение установлено для набора уровней на стороне более высокого уровня.
(4) Устройство передачи по п. (1), в котором модуль кодирования изображения
разделяет множество уровней на заданное количество наборов уровней, при этом это количество равно или больше чем два, и
генерирует заданное количество видеопотоков, имеющих данные кодированного изображения, из изображений каждого из наборов уровней.
(5) Устройство передачи по п. (4), в котором модуль кодирования изображения добавляет информацию идентификации для идентификации аффилированного набора уровней к кодированным данным изображения для изображений каждого из наборов уровней.
(6) Устройство передачи по п. (5), в котором информация идентификации представляет собой значение, обозначающее слой потока битов, и более высокое значение устанавливают для набора уровней на стороне более высокого уровня.
(7) Устройство передачи по любому одному из пп. (1)-(6), в котором модуль кодирования изображения
генерирует одиночный видеопоток, имеющий кодированные данные изображения, из изображений каждого из уровней, или разделяет множество уровней на заданное количество наборов уровней, и это количество равно или больше чем два, и генерирует заданное количество видеопотоков, имеющих кодированные данные изображения, из изображений каждого из наборов уровней, и
дополнительно включает в себя модуль вставки информации, выполненный с возможностью вставки информации конфигурации видеопотока, включенного в контейнер, в уровень контейнера.
(8) Устройство передачи по любому одному из пп. (1)-(8), в котором модуль передачи разделяет множество уровней на заданное количество наборов уровней, и это количество равно или больше чем два, и устанавливает более высокий приоритет для пакета, который содержит кодированные данные изображения для изображений набора уровней на стороне более низкого уровня.
(9) Способ передачи, включающий в себя:
этап кодирования изображения, состоящий в классификации данных изображения каждого из изображений, которые составляют данные динамического изображения, на множество уровней, кодировании данных изображения для изображений каждого из классифицированных уровней, и генерировании видеопотока, имеющего кодированные данные изображения, для изображений каждого из уровней; и
этап передачи, выполняемый модулем передачи, состоящий в передаче контейнера в заданном формате, который включает в себя сгенерированный видеопоток,
в котором, на этапе кодирования изображения, информацию о временных характеристиках декодирования, которая была установлена так, что более высокий уровень имеет более короткий временной интервал декодирования для кодированных данных изображения каждого из изображений, добавляют к кодированным данным изображения для изображений каждого из уровней.
(10) Устройство приема, включающее в себя:
модуль приема, выполненный с возможностью принимать контейнер в заданном формате, который включает в себя видеопоток, имеющий кодированные данные изображения, из изображений каждого из уровней, которые получают путем классификации данных изображения каждого из изображений, которые составляют данные динамического изображения, на множество уровней и кодирования этих данных изображения,
в котором информацию временных характеристик декодирования, которая установлена так, что более высокий уровень имеет более короткий интервал времени декодирования для кодированных данных изображения каждого из изображений, добавляют к кодированным данным изображения для изображений каждого из уровней, и
в котором приемное устройство дополнительно включает в себя
модуль обработки, выполненный с возможностью получения, путем декодирования кодированных данных изображения, изображений уровня, равного или ниже, чем заданный уровень, выбранный из видеопотока, включенного в принятый контейнер в моменты времени декодирования, обозначенные информацией о временных характеристиках декодирования, данных изображения для изображений уровня, равного или ниже, чем заданный уровень.
(11) Устройство приема по п. (10),
в котором принятый контейнер включает в себя одиночный видеопоток, имеющий кодированные данные изображения из изображений каждого из уровней,
в котором множество уровней разделяют на заданное количество наборов уровней, и это количество равно или больше чем два, и более высокий приоритет пакета, который содержит кодированные данные изображения для изображений набора уровней, установлен на стороне более низкого уровня, и
в котором модуль обработки помещает кодированные данные изображения для изображений заданного набора уровней, содержащегося в пакете с приоритетом, выбранным в соответствии с возможностями декодирования в буфере, для декодирования кодированных данных изображения.
(12) Устройство приема по п. (10),
в котором принятый контейнер включает в себя заданное количество видеопотоков, и это количество равно или больше чем два, имеющих кодированные данные изображения, состоящие из изображений заданного количества наборов уровня, полученных путем разделения множества уровней, и
в котором модуль обработки помещает кодированные данные изображения, состоящие из изображений заданного набора уровней, включенных в видеопоток, выбранный в соответствии с возможностями декодирования, в буфер для декодирования кодированных данных изображения.
(13) Устройство приема по любому одному из пп. (10) - (12), дополнительно включающее в себя
модуль последующей обработки, выполненный с возможностью обеспечения соответствия частоты кадров данных изображения каждого изображения, полученного модулем обработки, возможностям дисплея.
(14) Способ приема, включающий в себя:
этап приема в модуле приема, состоящий в приеме контейнера в заданном формате, который включает в себя видеопоток, имеющий кодированные данные изображения для изображений каждого из уровней, которые получают путем классификации данных изображения каждого из изображений, которые составляют динамические данные изображения, на множество уровней и кодирования данных изображения,
в котором информацию о временных характеристиках декодирования, которая установлена так, что более высокий уровень имеет более короткий временной интервал декодирования для кодированных данных изображения каждого из изображений, добавляют к кодированным данным изображения для изображений каждого из уровней, и
в котором способ приема дополнительно включает в себя
этап обработки, состоящий в получении, путем декодирования кодированных данных изображения для изображений уровня, равного или ниже, чем заданный уровень, выбранный из видеопотока, включенного в принятый контейнер, в моменты времени декодирования, обозначенные информацией о временных характеристиках декодирования для изображений уровня, равного или ниже, чем заданный уровень.
(15) Устройство передачи, включающее в себя:
модуль кодирования изображения, выполненный с возможностью классификации данных изображения каждого из изображений, составляющих данные динамического изображения, на множество уровней, кодирования данных изображения для изображений каждого из классифицированных уровней, и генерирования видеопотока, имеющего кодированные данные изображения, для изображений каждого из уровней; и
модуль передачи, выполненный с возможностью передачи контейнера в заданном формате, который включает в себя сгенерированный видеопоток,
в котором модуль кодирования изображения
генерирует одиночный видеопоток, имеющий кодированные данные изображения для изображений каждого из уровней, или разделяет множество уровней на заданное количество наборов уровней, и это количество равно или больше чем два, и генерирует заданное количество видеопотоков, имеющих данные кодированного изображения, из изображений каждого из наборов уровней, и
дополнительно включает в себя модуль вставки информации, выполненный с возможностью вставки информации конфигурации видеопотока, включенной в контейнер на уровне контейнера.
(16) Устройство передачи, включающее в себя:
модуль кодирования изображения, выполненный с возможностью классификации данных изображения каждого из изображений, составляющих данные динамического изображения на множество уровней, кодирования данных изображения для изображений каждого из классифицированных уровней, и генерирования потока видеоданных, имеющего кодированные данные изображения для изображений каждого из уровней; и
модуль передачи, выполненный с возможностью передачи контейнера в заданном формате, который включает в себя генерируемый поток видеоданных,
в котором модуль передачи делит множество уровней на заданное количество наборов уровня, количество которых равно или больше чем два, и устанавливает более высокий приоритет пакета, который содержит кодированные данные изображения, для изображений набора уровней на стороне более низкого уровня.
(17) Устройство кодирования, включающее в себя:
модуль кодирования изображения, выполненный с возможностью классификации данных изображения каждого из изображений, составляющих данные динамического изображения, на множество уровней, кодирования данных изображения для изображений каждого из классифицированных уровней и генерирования видеопотока, имеющего кодированные данные изображения, из изображений каждого из уровней,
в котором модуль кодирования изображения разделяет множество уровней на заданное количество наборов уровней, и это количество равно или больше чем два, и вставляет значение, обозначающее слой потока битов, в подпотоки, соответствующие каждому из наборов уровней, и
в котором значение, обозначающее слой потока битов, вставленное в подпотоки, соответствующие каждому из наборов уровня, устанавливают, как значение слоя, которое включает в себя изображения всех уровней, включенных в набор уровней, равный или меньше, чем соответствующий набор уровня.
(18) Устройство кодирования по п. (17), в котором модуль кодирования изображения генерирует заданное количество потоков видеоданных, включая в себя подпотоки, соответствующие каждому из наборов уровня, или генерирует одиночный поток видеоданных, который включает в себя все подпотоки, соответствующие каждому из наборов уровня.
(19) Способ кодирования, включающий в себя:
этап кодирования изображения модулем кодирования изображения, состоящий в классификации данных изображения каждого из изображений, составляющих данные динамического изображения на множество уровней, кодировании данных изображения для изображений каждого из классифицированных уровней, и генерировании видеопотока, имеющего кодированные данные изображения для изображений каждого из уровней,
в котором, на этапе кодирования изображения, множество уровней разделяют на заданное количество наборов уровней, и это количество равно или больше чем два, и значение, обозначающее слой потока битов, вставляют в подпотоки, соответствующие каждому из наборов уровней, и
в котором значение, обозначающее слой потока битов, вставленное в подпотоки, соответствующие каждому из наборов уровней, устанавливают, как значение слоя, которое включает в себя изображения всех уровней, включенных в набор уровня, равный или меньше, чем соответствующий набор уровня.
(20) Устройство передачи, включающее в себя:
модуль кодирования изображения, выполненный с возможностью классификации данных изображения для каждого из изображений, составляющих данные динамического изображения, на множество уровней, кодирования данных изображения для изображений каждого из классифицированных уровней, и генерирования видеопотока, имеющего кодированные данные изображения, для изображений каждого из уровней,
в котором модуль кодирования изображения разделяет множество уровней на заданное количество наборов уровней, и это количество равно или больше чем два, и вставляет значение, обозначающее слой потока битов, в подпотоки, соответствующие каждому из наборов уровней,
в котором значение, обозначающее слой потока битов, вставленное в подпотоки, соответствующие каждому из наборов уровней, устанавливают, как значение слоя, которое включает в себя изображения для всех уровней, включенных в набор уровня, равный или нижнее, чем набор уровней, и
в котором устройство передачи дополнительно включает в себя
модуль передачи, выполненный с возможностью передачи контейнера в заданном формате, который включает в себя сгенерированный видеопоток, и
модуль вставки информации, выполненный с возможностью вставки, на уровне контейнера, флага информации, который обозначает, что значение, обозначающее слой потока битов, вставленное в подпотоки каждого из наборов уровней, представляет собой значение слоя, которое включает в себя изображения всех уровней, включенных в набор уровня, равный или меньше, чем набор уровня.
Основная характеристика настоящей технологии состоит в том, что путем расчета интервалов кодирования для каждого уровня и добавления временной метки декодирования, которую устанавливают так, чтобы более высокий уровень имел более короткий временной интервал декодирования кодированных данных изображения каждого изображения, к кодированным данным изображения для изображений каждого уровня, сторона приема может выполнять предпочтительную обработку декодирования в соответствии со своими характеристиками декодирования (см. фиг. 9). Кроме того, другая основная характеристика настоящей технологии состоит в том, что путем разделения множества уровней на заданное количество наборов уровней, и такое количество равно или больше чем два, и установки более высокого приоритета для пакета, который содержит кодированные данные изображения для изображений набора уровней на стороне низкого уровня, сторона приема помещает только кодированные данные изображения из изображений набора уровней, соизмеримого с его возможностями декодирования, в буфер на основе приоритета, и, таким образом, отказ буфера может быть исключен (см. фиг. 19).
Список номеров ссылочных позиций
10 система передачи и приема
100 устройство передачи
101 CPU
102 кодер
103 буфер сжатых данных (cpb)
104 мультиплексор
105 модуль передачи
121 модуль генерирования временного ID
122 модуль управления задержкой буфера
123 модуль установки HRD
124 модуль набора параметров/кодирования SEI
125 модуль кодирования среза
126 модуль пакетирования NAL
141 модуль генерирования приоритета TS
142 модуль кодирования блока
143-1 - 143- N модуль пакетирования PES
144 модуль пакетирования транспортирования
200 устройство приема
201 CPU
202 модуль приема
203 демультиплексор
204 буфер сжатых данных (cpb)
205 декодер
206 буфер несжатых данных (dpb)
207 модуль последующей обработки
231 модуль выделения PCR
232 модуль выделения временной метки
233 модуль выделения блока
234 модуль выделения приоритета TS
235 модуль выделения полезной нагрузки PES
236 модуль выбора изображения
251 модуль анализа временного ID
252 модуль выбора целевого уровня
253 модуль интеграции потока
254 модуль декодирования
271 модуль интерполяции
272 модуль подвыборки
273 модуль переключения.