УСТРОЙСТВО КОДИРОВАНИЯ, СПОСОБ КОДИРОВАНИЯ, ПЕРЕДАЮЩЕЕ УСТРОЙСТВО И ПРИЕМНОЕ УСТРОЙСТВО
CODING DEVICE, CODING METHOD, TRANSMITTING DEVICE AND RECEIVING DEVICE

Область техники, к которой относится изобретение
Настоящее изобретение относится к устройству кодирования, способу кодирования, передающему устройству и приемному устройству. Конкретно, настоящая технология относится к устройству кодирования и т.п., которые иерархически кодируют данные изображения для каждой картинки, образующей данные движущегося изображения.
Уровень техники
При обеспечении услуги предоставления сжатых движущихся изображений, например, посредством широковещательной передачи или через Интернет, то верхний предел частоты кадров, который может воспроизводиться, ограничивают в зависимости от способности декодирования приемника. Поэтому провайдеру услуг необходимо учитывать возможность воспроизведения широко используемого приемника, чтобы ограничивать обслуживание услугой с низкой частотой кадров или одновременно предоставлять услуги с множеством частот кадров, то есть, с высокой частотой кадров и с низкой частотой кадров.
Чтобы поддерживать обслуживание с высокой частотой кадров, требуются большие расходы на приемник, что является сдерживающим фактором для ранее широко использовавшегося приемника. Если на начальной стадии широко использовались только недорогие приемники, предназначенные для обслуживания с низкой частотой кадров, а провайдер услуг в будущем начинает обслуживание с высокой частотой кадров, то при отсутствии нового приемника просмотр невозможен, что является сдерживающим фактором для широкого распространения использования новой услуги.
Например, было предложено масштабирование в направлении времени, при котором данные изображения каждой картинки, образующей данные движущегося изображения, иерархически кодируют согласно стандарту h.265/HEVC (High Efficiency Video Coding, высокоэффективное видеокодирование) (смотрите непатентный документ 1). На стороне приемника можно идентифицировать иерархию каждой картинки, основываясь на временном идентификаторе ID (temporal id), вставляемом в заголовок блока NAL (Network Abstraction Layer, уровень абстракции сети), и, таким образом, выборочно выполнять декодирование вплоть до иерархии, соответствующей возможности декодирования.
Непатентный документ 1: Gary J. Sullivan, Jens-Rainer Ohm, Woo-Jin Han, Thomas Wiegand, "Overview of the High Efficiency Video Coding (HEVC) Standard" IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECNOROGY, том 22, №12, стр. 1649-1668, декабрь 2012 г.
Раскрытие изобретения
Проблемы, решаемые изобретением
Задача настоящей технологии состоит в выполнении подходящего процесса декодирования на стороне приемника.
Средство решения проблемы
Концепцию настоящей технологии представляет передающее устройство, содержащее блок кодирования изображения, выполненный с возможностью классификации данных изображения каждой картинки, образующей данные движущегося изображения, на множество иерархий, кодирования данных изображения картинки в каждой из классифицированных иерархий, разделения множества иерархий на заданное количество иерархических наборов и генерирования заданного количества видеопотоков, имеющих кодированные данные изображения картинки в каждом из поделенных иерархических наборов, и передающий блок, выполненный с возможностью передачи контейнера, содержащего сформированное заданное количество видеопотоков в заданном формате, при этом блок кодирования изображения выполнен с возможностью кодирования так, что интервал декодирования кодированных данных изображения картинки по меньшей мере в низшей иерархии является регулярным интервалом.
В настоящей технологии блок кодирования изображения кодирует данные изображения каждой картинки, образующей данные движущегося изображения, и, таким образом, генерирует заданное количество видеопотоков. В этом случае данные изображения каждой картинки, образующие данные движущегося изображения, классифицируют на множество иерархий и кодируют. Затем множество иерархий делят на заданное количество иерархических наборов и генерируют заданное количество видеопотоков, каждый из которых имеет данные кодированного изображения картинки в отдельном иерархическом наборе.
В блоке кодирования изображения кодирование выполняют так, что интервал декодирования по меньшей мере кодированных данных изображения картинки в низшем иерархическом наборе является регулярным интервалом. Например, блок кодирования изображения может выполнять кодирование так, что момент декодирования кодированных данных изображения картинки в иерархическом наборе иерархии, более высоком, чем низший иерархический набор, является средним значением моментов декодирования для кодированных данных изображения картинки во всех иерархических наборах ниже этого иерархического набора. Соответственно, например, это позволяет приемнику последовательно и плавно выполнять процесс декодирования каждой картинки в случае, когда приемник имеет возможность декодирования, чтобы декодировать кодированные данные изображения картинки не только в низшем иерархическом наборе, но также и в иерархическом наборе выше него.
Кроме того, например, блок кодирования изображения может делить множество иерархий на заданное количество иерархических наборов, так что низший иерархический набор содержит множество иерархий и иерархический набор выше низшего иерархического набора содержит одну иерархию. Соответственно, например, в случае, когда приемник имеет возможность декодирования для выполнения процесса на кодированных данных изображения картинок во множестве иерархий низшего иерархического набора, требуется только лишь конфигурация, при которой выбирают только видеопоток, имеющий кодированные данные изображения картинки в низшем иерархическом наборе, забирают его в буфер и выполняют на нем процесс декодирования, и не требуется сложная конфигурация, выполняющая, например, процесс объединения множества видеопотоков.
С помощью передающего блока передают контейнер, содержащий заданное количество видеопотоков в заданном формате. Например, контейнер может быть транспортным потоком (MPEG-2 TS), выполненным с возможностью использования цифровых широковещательных стандартов. Кроме того, например, контейнер может быть контейнером в таком формате, как МР4, используемом для передачи по Интернету. Как описано выше, в настоящей технологии кодирование выполняют так, что интервал декодирования по меньшей мере кодированных данных изображения картинки в низшем иерархическом наборе является регулярным интервалом. Поэтому, в случае, когда приемник имеет возможность декодирования для выполнения процесса декодирования кодированных данных изображения картинок во множестве иерархий низшего иерархического набора, возможно, например, непрерывно и без усилий выполнять процесс декодирования кодированных данных изображения каждой картинки.
Кроме того, другой концепцией настоящей технологии является передающее устройство, содержащее блок кодирования изображения, выполненный с возможностью классификации данных изображения каждой картинки, образующей данные движущегося изображения, на множество иерархий, разделения множества иерархий на заданное количество иерархических наборов и генерирования заданного количества видеопотоков, имеющих кодированные данные изображения картинки в каждом из поделенных иерархических наборов, передающий блок, выполненный с возможностью передачи контейнера, содержащего сгенерированное заданное количество видеопотоков в заданном формате, и блок вставки информации идентификации, выполненный с возможностью вставки на уровне контейнера информации идентификации для идентификации того, является ли каждый из заданного количества видеопотоков базовым потоком, имеющим кодированные данные изображения картинки в низшем иерархическом наборе, или улучшенным потоком, имеющим кодированные данные изображения картинки в иерархическом наборе, более высоком, чем низший иерархический набор.
В настоящей технологии блок кодирования изображения кодирует данные изображения каждой картинки, образующей данные движущегося изображения, чтобы сгенерировать заданное количество видеопотоков. В этом случае данные изображения каждой картинки, образующие данные движущегося изображения, классифицируют на множество иерархий и кодируют. Затем множество иерархий делят на заданное количество иерархических наборов и генерируют заданное количество видеопотоков, каждый из которых имеет данные кодированного изображения картинки в отдельном иерархическом наборе.
Например, блок кодирования изображения может выполнять кодирование так, что интервал декодирования по меньшей мере кодированных данных изображения картинки в низшем иерархическом наборе является регулярным интервалом. В этом случае, например, блок кодирования изображения может выполнять кодирование так, что момент декодирования кодированных данных изображения картинки в иерархическом наборе, более высоком, чем низший иерархический набор, является средним значением моментов декодирования для кодированных данных изображения картинок во всех иерархических наборах ниже этого иерархического набора.
С помощью передающего блока передают контейнер, содержащий заданное количество видеопотоков в заданном формате. Например, контейнер может быть транспортным потоком (MPEG-2 TS), выполненным с возможностью использования цифровых широковещательных стандартов. Кроме того, например, контейнер может быть контейнером в таком формате, как МР4, используемом для передачи по Интернету.
Посредством блока вставки информации идентификации информацию идентификации вставляют на уровень контейнера. Эта информация идентификации является информацией идентификации для идентификации того, является ли каждый видеопоток из заданного количества видеопотоков базовым потоком, имеющим кодированные данных изображения картинки в низшем иерархическом наборе, или улучшенным потоком, имеющим кодированные данные изображения картинки в иерархическом наборе, более высоком, чем низший иерархический набор.
Например, когда существует множество улучшенных потоков, информация идентификации может быть способна идентифицировать каждый из улучшенных потоков. Кроме того, например, контейнер может быть транспортным контейнером и блок вставки информации идентификации могут вставлять в видеоконтур элементарного потока, расположенный в соответствии с заданным количеством видеопотоков по таблице программной карты в качестве типа потока информацию идентификации.
Как описано выше, в настоящей технологии информация идентификации для идентификации, является ли каждый видеопоток из заданного количества видеопотоков базовым видеопотоком или улучшенным видеопотоком, вставляют на уровень контейнера. Поэтому на стороне приемника возможно выбрать только базовый поток и легко и выборочно декодировать кодированные данные изображения картинки в низшем иерархическом наборе, например, используя информацию идентификации.
Кроме того, другой концепцией настоящей технологии является передающее устройство, содержащее блок кодирования изображения, выполненный с возможностью классификации данных изображения каждой картинки, образующей данные движущегося изображения, на множество иерархий, кодирования данных изображения картинки в каждой из классифицированных иерархий, разделения множества иерархий на заданное количество иерархических наборов и генерирования заданного количества видеопотоков, имеющих кодированные данные изображения картинки в каждом из поделенных иерархических наборов, передающий блок, выполненный с возможностью передачи контейнера, содержащего сформированное заданное количество видеопотоков в заданном формате, и блок вставки информации конфигурации, выполненный с возможностью вставки на уровне контейнера информации конфигурации видеопотока, соответствующей каждому из заданного количества видеопотоков, содержащихся в контейнере.
В настоящей технологии с помощью блока кодирования изображения кодируют данные изображения каждой картинки, образующей данные движущегося изображения, и генерируют заданное количество видеопотоков. В этом случае кодированные данные изображения каждой картинки, образующие данные движущегося изображения, классифицируют на множество иерархий и кодируют. Затем множество иерархий делят на заданное количество иерархических наборов и генерируют заданное количество видеопотоков, каждый из которых имеет данные кодированного изображения картинки в отдельном иерархическом наборе. Затем, с помощью передающего блока передают контейнер, содержащий заданное количество видеопотоков в заданном формате.
С помощью блока вставки информации конфигурации информация конфигурации видеопотока вставляют на уровень контейнера, соответствующий каждому из заданного количества видеопотоков, содержащихся в контейнере. Например, контейнер может быть транспортным контейнером и блок вставки информации конфигурации может вставлять в качестве дескриптора информацию конфигурации в видеоконтур элементарного потока, расположенный в соответствии с каждым из заданного количества видеопотоков по таблице программной карты.
Например, информация конфигурации может содержать информацию, представляющую группу услуг, к которой принадлежит видеопоток. Кроме того, например, информация конфигурации может содержать информацию, представляющую соотношение зависимости между потоками, начиная с базового потока, имеющего кодированные данные изображения картинки в низшем иерархическом наборе. Кроме того, например, информация конфигурации может содержать информацию, представляющую количество иерархий для множества иерархий, классифицированных блоком кодирования изображения.
Как описано выше, в настоящей технологии информация конфигурации видеопотока вставляют на уровень контейнера, соответствующий каждому из заданного количества видеопотоков, содержащихся в контейнере. Поэтому, например, на стороне приемника можно легко узнать, к какой группе принадлежит видеопоток, содержащийся в контейнере, какое существует соотношение зависимости между потоками, каково количество иерархий при иерархическом кодировании и т.п.
Кроме того, другой концепцией настоящей технологии является приемное устройство, содержащее приемный блок, выполненный с возможностью приема заданного количества видеопотоков, имеющих кодированные данные изображения картинки в одном иерархическом наборе из заданного количества иерархических наборов, причем кодированные данные изображения получают посредством классификации данных изображения картинок, образующих данные движущегося изображения, на множество иерархий и кодирования данных изображения, деления множества иерархий на заданное количество иерархических наборов, и блок обработки, выполненный с возможностью обработки принятого заданного количества видеопотоков, в котором по меньшей мере один видеопоток из заданного количества видеопотоков, который имеет кодированные данные изображения картинки в низшем иерархическом наборе, кодируют так, что интервал декодирования для каждой картинки является регулярным интервалом.
В настоящей технологии с помощью приемника данные изображения каждой картинки, образующей данные движущегося изображения, классифицируют на множество иерархий и кодируют и принимают заданное количество видеопотоков, каждый из которых имеет кодированные данные изображения картинки в иерархическом наборе, полученном делением множества иерархий на заданное количество иерархических наборов. Затем, с помощью процессорного блока обрабатывают принятое заданное количество видеопотоков.
В этом случае, по меньшей мере один видеопоток из заданного количества видеопотоков, который имеет кодированные данные изображения картинки в низшем иерархическом наборе, кодируют так, что интервал декодирования каждой картинки является регулярным интервалом. Поэтому, например, имея возможность декодирования для обработки кодированных данных изображения картинок во множестве иерархий низшего иерархического набора, возможно, например, непрерывно и без усилий выполнять процесс декодирования кодированных данных изображения каждой картинки.
Следует заметить, что в настоящей технологии, например, заданное количество видеопотоков можно кодировать так, что момент декодирования кодированных данных изображения картинки в иерархическом наборе, более высоком, чем низший иерархический набор, является средним значением моментов декодирования кодированных данных изображения картинок во всех иерархических наборах ниже этого иерархического набора. Соответственно, например, при способности декодирования для декодирования кодированных данных изображения картинки не только в низшем иерархическом наборе, но также и в иерархическом наборе выше него, возможно плавно и последовательно выполнять процесс декодирования для каждой картинки.
Кроме того, другой концепцией настоящей технологии является приемное устройство, содержащее приемный блок, выполненный с возможностью приема заданного количества видеопотоков, имеющих кодированные данные изображения картинки в иерархическом наборе из заданного количества иерархических наборов, причем кодированные данные изображения получают посредством классификации данных изображения картинок, составляющих данные движущегося изображения, на множество иерархий и кодирования данных изображения, деления множества иерархий на заданное количество иерархических наборов, и блок декодирования изображения, выполненный с возможностью выборочного получения кодированных данных изображения картинки в иерархии, которая равна или ниже заданной иерархии, в зависимости от способности декодирования в буфере, и получения данных изображения картинки в иерархии, которая равна или ниже заданной иерархии, в которой по меньшей мере один видеопоток из заданного количества видеопотоков, который имеет кодированные данные изображения картинки в низшем иерархическом наборе, кодируют так, что интервал декодирования для каждой картинки является регулярным интервалом.
В настоящей технологии с помощью приемника принимают контейнер в заданном формате. Контейнер содержит заданное количество видеопотоков, имеющих кодированные данные изображения картинки в одной или более иерархиях, которые получают посредством классификации данных изображения каждой картинки, составляющей данные движущегося изображения, на множество иерархий, кодируют их и делят множество иерархий на заданное количество иерархических наборов.
С помощью блока декодирования изображения кодированные данные изображения картинки в иерархии, которая равна или ниже заданного иерархического набора, в зависимости от способности декодирования, выборочно забираются в буфер из числа заданного количества видеопотоков, содержащихся в принятом контейнере, и кодированные данные изображения каждой картинки, забранные в буфер, декодируют, чтобы получить данные изображения картинки в иерархии, которая равна или ниже заданной иерархии. Например, в случае, когда кодированные данные изображения картинки в заданном иерархическом наборе содержатся во множестве видеопотоков, блок декодирования изображения может декодировать кодированные данные изображения каждой картинки как один поток, основываясь на информации о времени декодирования.
В этом случае, по меньшей мере один видеопоток из заданного количества видеопотоков, который имеет кодированные данные изображения картинки в низшем иерархическом наборе, кодируют так, что интервал декодирования каждой картинки является регулярным интервалом. Поэтому, например, имея возможность декодирования для обработки кодированных данных изображения картинок во множестве иерархий низшего иерархического набора, возможно, например, непрерывно и без усилий выполнять процесс декодирования кодированных данных изображения каждой картинки.
Следует заметить, что в настоящей технологии, например, информация идентификации для идентификации того, каждый ли из заданного количества видеопотоков является базовым потоком, содержащим кодированные данные изображения картинки в низшем иерархическом наборе, или улучшенным потоком, содержащим кодированные данные изображения картинки в иерархическом наборе, более высоком, чем низший иерархический набор, может вставляться на уровне контейнера и блок декодирования изображения может забирать кодированные данные изображения в заданном иерархическом наборе, в зависимости от способности декодирования, в буфер из заданного количества видеопотоков, содержащих базовый поток, основываясь на информации идентификации, и декодировать их. В этом случае, можно выбрать только базовый поток и легко и выборочно декодировать кодированные данные изображения картинки в низшем иерархическом наборе, например, используя информацию идентификации.
Кроме того, в настоящей технологии, можно, например, дополнительно обеспечивать блок последующей обработки для согласования кадровой частоты данных изображения каждой картинки, полученной в блоке декодирования изображения с возможностями отображения. В этом случае, даже когда возможность декодирования низкая, можно получить данные изображения с частотой кадров, согласованной с высокими возможностями отображения.
Предпочтительные результаты изобретения
В соответствии с настоящей технологией можно выполнять подходящий процесс декодирования на стороне приемника. Описанные здесь эффекты не обязательно создают ограничения и могут быть любым из описанных здесь эффектов.
Краткое описание чертежей
Фиг. 1 - блок-схема примера конфигурации передающей/приемной системы, соответствующей варианту осуществления.
Фиг. 2 - блок-схема примера конфигурации передающего устройства.
Фиг. 3 - пример иерархического кодирования, выполняемого кодером.
Фиг. 4 - структурный пример заголовка блока NAL и содержание основных параметров в структурном примере.
Фиг. 5 - конфигурация кодированных данных изображения каждой картинки в системе HEVC.
Фиг. 6 - пример кодирования, декодирования, порядка отображения и задержки во время иерархического кодирования.
Фиг. 7 - кодированный поток при иерархическом кодировании и ожидаемое отображение (порядок отображения) при назначенной иерархии.
Фиг. 8 - синхронизация кодирования (синхронизация декодирования) для картинок заданного количества видеопотоков (два потока).
Фиг. 9 - пример синхронизации кодирования (синхронизации декодирования) для каждой картинки в случае, когда генерируют два видеопотока, базовый поток и улучшенный поток.
Фиг. 10 - другой пример синхронизации кодирования (синхронизации декодирования) для каждой картинки в случае, когда генерируют два видеопотока, базовый поток и улучшенный поток.
Фиг. 11 - синхронизация кодирования (синхронизация декодирования) для картинок из заданного количества видеопотоков (3 потока).
Фиг. 12 - пример синхронизации кодирования (синхронизации декодирования) для каждой картинки в случае, когда генерируют три видеопотока, базовый поток и два улучшенных потока.
Фиг. 13 - другой пример синхронизации кодирования (синхронизации декодирования) для каждой картинки в случае, когда генерируют три видеопотока, базовый поток и два улучшенных потока.
Фиг. 14 - пример управления HRD (Hypothetical Reference Decoder, гипотетический опорный декодер) кодера.
Фиг. 15 - блок-схема примера конфигурации кодера.
Фиг. 16 - блок-схема последовательности осуществления процесса, выполняемого кодером.
Фиг. 17 - структурный пример дескриптора HEVC (HEVC_descriptor).
Фиг. 18 - структурный пример дескриптора мультипотока (multistreamdescriptor).
Фиг. 19 - контент основной информации в структурном примере дескриптора мультипотока (multistream_descriptor).
Фиг. 20 - пример "Stream_type", "Group_id", "max/min layer", "max_layer_in_group" и "Stream_dependency_ordering" в случае, когда транспортный поток TS содержит, например, группу услуг 1 и 2 видеопотока.
Фиг. 21 - блок-схема примера конфигурации мультиплексора.
Фиг. 22 - блок-схема примера последовательности осуществления процесса, выполняемого мультиплексором.
Фиг. 23 - пример конфигурации транспортного потока TS при передаче 2 потоков.
Фиг. 24 - пример конфигурации транспортного потока TS при передаче 3 потоков.
Фиг. 25 - блок-схема примера конфигурации приемного устройства.
Фиг. 26 - блок-схема примера конфигурации демультиплексора.
Фиг. 27 - пример разделения потоков.
Фиг. 28 - пример блок-схемы последовательности осуществления процесса, выполняемого демультиплексором.
Фиг 29 - блок-схема примера конфигурации декодера.
Фиг. 30 - пример объединения потоков.
Фиг. 31 - пример конфигурации блока последующей обработки.
Фиг. 32 - пример блок-схемы последовательности осуществления процесса, выполняемого блоком последующей обработки.
Осуществление изобретения
Здесь далее будет описан вариант осуществления выполнения настоящего изобретения (в дальнейшем упоминаемый как вариант осуществления). Заметим, что описание будет сделано в следующем порядке.
1. Вариант осуществления
2. Модифицированный вариант осуществления
1. Вариант осуществления (передающая/приемная система)
На фиг 1 представлен пример конфигурации передающей/приемной системы 10, соответствующей варианту осуществления. Передающая/приемная система 10 содержит передающее устройство 100 и приемное устройство 200.
Передающее устройство 100 заставляет транспортный поток TS, служащий в качестве контейнера, переноситься на широковещательной волне, выделенной для передачи. Транспортный поток TS содержит заданное количество видеопотоков, каждый из которых имеет данные изображения картинки в иерархическом наборе, полученном посредством классификации данных изображения каждой картинки, образующих данные движущегося изображения, на множество иерархий, кодирования их и деления множества иерархий на заданное количество иерархических наборов. В этом случае, такое кодирование, как кодирование согласно стандартам H.264/AVC и H.265/HEVC, выполняют таким образом, что опорная картинка принадлежит к собственной иерархии и/или иерархии, более низкой, чем собственная иерархия.
В этом варианте осуществления в случае, когда множество иерархий делят на заданное количество иерархических наборов, деление делают таким образом, что низший иерархический набор содержит множество иерархий и иерархический набор выше низшего иерархического набора содержит одну иерархию. Такое деление позволяет приемнику выбирать только видеопоток, имеющий кодированные данные изображения картинки в низшем иерархическом наборе, забирать его в буфер и выполнять на нем процесс декодирования, если приемник имеет возможность декодирования, чтобы обрабатывать кодированные данные изображения картинок множества иерархий, содержащихся, например, в низшем иерархическом наборе.
К кодированным данным изображения картинки в каждой иерархии для каждой картинки добавляют информацию идентификации иерархии для идентификации принадлежности к иерархии. В этом варианте осуществления на участке заголовка блока NAL (nal_unit) каждой картинки располагается информация идентификации иерархии ("nuh_temporal_id_plus1", представляющая temporal_id). Добавляя информацию иерархии, как описано выше, приемник может идентифицировать иерархию каждой картинки на уровне блока NAL и выборочно отбирать кодированные данные изображения в иерархии, равной или более низкой, чем заданная иерархия, чтобы выполнить процесс декодирования.
В этом варианте осуществления, по меньшей мере один видеопоток, имеющий кодированные данные изображения картинки в низшем иерархическом наборе из заданного количества видеопотоков, кодируют таким образом, что интервал декодирования каждой между картинками является регулярным интервалом. Это кодирование позволяет приемнику непрерывно и без усилий выполнять процесс декодирования кодированных данных изображения каждой картинки, если приемник обладает возможностью декодирования, чтобы обрабатывать кодированные данные изображения картинок множества иерархий, содержащихся в низшем иерархическом наборе.
В этом варианте осуществления кодирование выполняют таким образом, что для момента декодирования кодированных данных изображения картинки в более высоком иерархическом наборе, чем низший иерархический набор, устанавливается среднее значение моментов кодирования картинок для всех иерархических наборов ниже этого иерархического набора. Такое кодирование позволяет приемнику последовательно и плавно выполнять процесс декодирования для каждой картинки, если приемник обладает способностью декодирования кодированных данных изображения картинки не только в низшем иерархическом наборе, но также и в иерархическом наборе выше чем низший иерархический набор.
В этом варианте осуществления на уровне транспортного потока TS вставляют информацию идентификации для идентификации, является ли каждый из заданного количества видеопотоков базовым потоком, имеющим кодированные видеоданные картинки в низшем иерархическом наборе, или улучшенным потоком, имеющим кодированные данные изображения картинки в иерархическом наборе, более высоком, чем низший иерархический набор. Эту информация идентификации вставляют в качестве типа потока в видеоконтур элементарного потока, расположенный соответственно каждому видеопотоку из заданного количества видеопотоков согласно таблице программной карты. Информация идентификации позволяет приемнику легко выбирать только базовый поток, чтобы выборочно декодировать кодированные данные изображения картинки в более низком иерархическом наборе.
В этом варианте осуществления на уровне транспортного потока TS вставляют информацию о конфигурации видеопотока, соответствующую каждому видеопотоку из заданного содержащегося в нем количества видеопотоков. Эту информация конфигурации вставляют в качестве дескриптора в видеоконтур элементарного потока, расположенный соответственно заданному количеству видеопотоков согласно таблице программной карты. Эта информация конфигурации позволяет приемнику легко узнать, к какой группе принадлежит видеопоток, содержащийся в контейнере, какое существует соотношение зависимости между потоками, каково количество иерархий при иерархическом кодировании и т.п.
Приемное устройство 200 принимает вышеупомянутый транспортный поток TS, который переносится на широковещательной волне и передается от передающего устройства 100. Приемное устройство 200 выборочно забирает в буфер кодированные данные изображения картинки в иерархии, равной или более низкой, чем заданная иерархия, которую выбирают в зависимости от способности декодирования, из заданного количества видеопотоков, содержащихся в транспортном потоке TS, декодирует их, получает данные изображения каждой картинки и выполняет воспроизведение изображения.
Как описано выше, уровень транспортного потока TS содержит информацию идентификации для идентификации, является ли заданное количество видеопотоков базовым потоком или улучшенным потоком. Основываясь на информации идентификации, кодированные данные изображения в заданном иерархическом наборе, зависящем от способности декодирования, забирают из заданного количества видеопотоков, содержащего базовый поток, в буфер для обработки.
Кроме того, приемное устройство 200 выполняет последующую обработку, при которой частоту кадров данных изображения каждой картинки, которую получают посредством вышеупомянутого декодирования, сопоставляют с возможностью отображения. В соответствии с этой последующей обработкой, можно получить данные изображения с частотой кадров, совпадающей с высокими возможностями отображения, даже если, например, возможность декодирования низкая.
Конфигурация передающего устройства
На фиг. 2 представлен пример конфигурации передающего устройства 100. Это передающее устройство 100 содержит центральный процессор CPU (Central Processing Unit) 101, кодер 102, буфер 103 сжатых данных (cpb, буфер кодированной картинки), мультиплексор 104 и передающий блок 105. CPU 101 является контроллером и управляет работой соответствующих блоков передающего устройства 100.
Кодер 102 вводит несжатые данные движущегося изображения и иерархически их кодирует. Кодер 102 классифицирует данные изображения каждой картинки, образующие данные движущегося изображения, на множество иерархий. Затем кодер 102 кодирует данные изображения картинки в каждой из классифицированных иерархий, чтобы сгенерировать видеопоток, имеющий кодированные данные изображения картинки в каждой иерархии. Кодер 102 выполняет кодирование, соответствующее таким стандартам, как H.264/AVC and H.265/HEVC. В этом случае кодер 102 выполняет кодирование таким образом, что картинка, которая будет упоминаться как (опорная картинка), принадлежит к собственной иерархии и/или к иерархии, более низкой, чем собственная иерархия.
На фиг. 3 представлен пример иерархического кодирования, выполняемого кодером 102. Это пример, в котором данные изображения делят на 5 иерархий от 0 до 4 и кодирование выполняют для данных изображения картинки в каждой иерархии.
По вертикальной оси представлена иерархия. В качестве temporal_id (информация идентификации иерархии), расположенной на участке заголовка блока NAL unit (nal_unit), образующего кодированные данные изображения картинки в иерархиях от 0 до 4, устанавливают числа от 0 до 4, соответственно. С другой стороны, по горизонтальной оси представляют порядок отображения (рос: порядок композиции картинки). Левая сторона является временем более раннего отображения, правая сторона - временем более позднего отображения.
На фиг. 4(a) представлен структурный пример (синтаксис) заголовка блока NAL и на фиг. 4(b) приводят содержание (семантику) основных параметров в структурном примере. В первом битовом поле "Forbidden_zero_bit" 0 обязателен. Шестое битовое поле "Nal_unit_type" представляет тип блока NAL. В шестом битовом поле "Nuh_layer_id"' 0 предполагается. Третье битовое поле "Nuh_temporal_id_plus1" представляет temporal_id и принимает значения (от 1 до 7), полученные добавлением к нему 1.
Вернемся к фиг. 3. Каждая из прямоугольных рамок представляет картинку и число представляет порядок, в котором кодируют картинку, то есть, порядок кодирования (порядок декодирования на стороне приемника). Например, группа подкартинок (подгруппа картинок) содержит 16 картинок от "2" до "17" и "2" является верхней картинкой с группе подкартинок. "1" является картинкой предшествующей группы подкартинок. Некоторые группы подкартинок собираются, чтобы сгенерировать GOP (Group of Pictures, группу картинок).
Кодированные данные изображения верхней картинки в GOP содержат блок NAL из AUD, VPS, SPS, PPS, PSEI, SLICE, SSEI и EOS, как показано на фиг. 5. С другой стороны, картинка, отличная от верхней картинки в GOP содержит блок HAL из AUD, PPS, PSEI, SLICE, SSEI и EOS. VPS и SPS могут передаваться один раз для каждой последовательности (GOP) и PPS может передаваться для каждой картинки.
Теперь вернемся к фиг. 3. Стрелки, показанные сплошными линиями, представляют ввзаимосвязь картинка-опора при кодировании. Например, картинка "2" является картинкой Р и кодируется со ссылкой на картинку "1". Кроме того, картинка "3" является картинкой 3 и кодируется со ссылкой на картинки "1" и "3". Аналогично, другие картинки кодируют со ссылкой на близлежащую картинку в порядке отображения. Следует заметить, что картинка в иерархии 4 не ссылается ни на какую другую картинку.
Кодер 102 делит множество иерархий на заданное количество иерархических наборов, чтобы сгенерировать заданное количество видеопотоков, имеющих кодированные данные изображения картинки в иерархическом наборе. Например, кодер 102 выполняет деление таким образом, что низший иерархический набор содержит множество иерархий и иерархический набор, более высокий, чем низший иерархический набор, содержит одну иерархию.
Например, в примере иерархического кодирования, показанном на фиг. 3, кодер 102 делит множество иерархий на 2 иерархических набора, один из которых содержит иерархии от 0 до 3 в качестве низшего иерархического набора, и иерархию 4 в качестве иерархического набора, более высокого, чем низший иерархический набор, как показано штрих-пунктирной линией. В этом случае, кодер 102 генерирует два видеопотока (кодированных потока), имеющих кодированные данные изображения картинки в иерархическом наборе.
Кроме того, в примере иерархического кодирования, показанном на фиг. 3, кодер 102 делит множество иерархий на 3 иерархических набора, один из которых содержит иерархии от 0 до 2 в качестве низшего иерархического набора, иерархию 3 в качестве иерархического набора, более высокого, чем низший иерархический набор, и иерархию 4 в качестве иерархического набора, более высокого, чем иерархия, как показано штрих-пунктирной линией и двойной штрих-пунктирной линией. В этом случае, кодер 102 генерирует три видеопотока (кодированных видеопотока), имеющих кодированные данные изображения картинки в иерархическом наборе.
В этом случае, видеопоток, имеющий кодированные данные изображения картинки в низшем иерархическом наборе, является базовым потоком и типом потока является "0×24" Кроме того, видеопоток, содержащий кодированные данные изображения картинки в иерархическом наборе выше низшего иерархического набора является улучшенным потоком и тип потока заново определяется как "0×25".
Следует заметить, что в случае, когда существует множество улучшенных потоков, возможно заново определить тип потока, так чтобы типы потоков для всех улучшенных потоков равнялись не "0×25", а каждый улучшенный поток мог быть идентифицирован. Например, в случае, когда существуют два улучшенных потока, тип потока для первого улучшенного потока равен "0×25", а для второго улучшенного потока равен "0×26".
Этот тип потока образует информацию идентификации для идентификации, является ли заданное количество видеопотоков базовым потоком или улучшенным потоком. Этот тип потока вставляют на уровень транспортного потока TS. Конкретно, этот тип потока вставляют в видеоконтур элементарного потока, расположенный соответственно каждому видеопотоку из заданного количества видеопотоков согласно таблице программной карты (РМТ: Program Map Table).
На фиг. 6 представлен пример кодирования, декодирования, порядка отображения и задержки во время иерархического кодирования. Этот пример соответствует упомянутому выше примеру иерархического кодирования, показанному на фиг. 3. Этот пример показывает случай, где все иерархии (все уровни) иерархически кодированы с полной временной разрешающей способностью. На фиг. 6(a) представлен входной сигнал кодера. Как показано на фиг. 6(b), при задержке, в сумме составляющей до 16 картинок, каждую картинку кодируют в порядке кодирования и таким образом получают кодированный поток. Кроме того, на фиг. 6(b) представлен входной сигнал декодера и каждую картинку декодируют в порядке декодирования. Затем, как показано на фиг. 6(c), при задержке, в сумме составляющей 4 картинки, данные изображения каждой картинки получают в порядке отображения.
На фиг. 7(a) показан кодированный поток, подобный потоку, показанному на фиг. 6(b), описанному выше, с тремя поделенными ступенями иерархий, то есть, с иерархиями 0-2, иерархией 3 и иерархией 4. Здесь "Tid" представляет temporal_id. На фиг. 7(b) представлено ожидаемое отображение (порядок отображения) в случае, когда выборочно декодируют каждую картинку в иерерхиях 0-2, то есть, в частичных иерархиях, имеющих Tid, равный 0-2. Кроме того, на фиг. 7(c) представлено ожидаемое отображение (порядок отображения) в случае, когда выборочно декодируют каждую картинку в иерерхиях 0-3, то есть, в частичных иерархиях, имеющих Tid, равный 0-3. Дополнительно, на фиг. 7(d) представлено ожидаемое отображение (порядок отображения) в случае, когда выборочно декодируют каждую картинку в иерерхиях 0-4, то есть, во всех иерархиях, имеющих Tid, равный 0-4.
В случае, когда процесс декодирования выполняют для кодированного потока, показанного на фиг. 7(a), в зависимости от возможности декодирования, необходима возможность декодирования, имеющая полную временную разрешающую способность. Однако, в случае, когда выполняют декодирование с Tid, равным 0-2, декодер, имеющий возможность декодирования в 1/4 от кодированной полной временной разрешающей способности, должен быть способен выполнять декодирование. Кроме того, в случае, когда выполняют декодирование с Tid, равным 0-3, декодер, имеющий возможность декодирования в 1/2 от кодированной полной временной разрешающей способности, должен быть способен выполнять декодирование.
Однако, если картинки в нижней иерархии, упоминаемой при иерархическом кодировании, последовательно кодируют в момент времени с полной временной разрешающей способностью, то она превосходит возможности декодера, выполняющего частичное декодирование. Этому соответствует период времени, показанный как А на фиг. 7(a). Поскольку декодер, который декодирует частичные иерархии, имеющие Tid от 0 до 2 или Tid от 0 до 3, выполняет декодирование и отображение с возможностью в 1/4 или 1/2 временной оси, как показано в примере отображения, он не может последовательно декодировать картинки с кодированной полной временной разрешающей способностью во время периода времени А.
Та представляет время, требующееся для процесса декодирования каждой картинки в декодере, который декодирует Tid, равный 0-2. Tb представляет время, требующееся для процесса декодирования каждой картинки в декодере, который декодирует Tid, равный 0-3. Тс представляет время, требующееся для процесса декодирования каждой картинки в декодере, который декодирует Tid, равный 0-4 (все иерархии). В качестве взаимосвязи между этими временными периодами устанавливается следующее уравнение: Ta>Tb>Tc.
В этом варианте осуществления кодер 102 выполняет декодирование таким образом, что интервал декодирования по меньшей мере кодированных данных изображения картинки в низшем иерархическом наборе является регулярным интервалом. На фиг. 8(a) показан случай, в котором каждую картинку кодируют при синхронизации 120 Гц и при полной временной разрешающей способности в примере иерархического кодирования, показанном на фиг. 3, и делят на два иерархических набора, в которых иерархии 0-3 являются низшим иерархическим набором, составляющим базовый поток (поток В), и иерархия 4 является иерархическим набором, более высоким, чем тот, который образует улучшенный поток (поток Е).
В этом случае, временная разрешающая способность картинки в низшем иерархическом наборе составляет 60 кадров/с и существуют картинки, которые последовательно кодируют при синхронизации 120 Гц. Декодер, имеющий возможность декодирования 60 кадров/с, не может последовательно и надежно выполнять процесс декодирования. Поэтому, как показано на фиг. 3(b), синхронизация кодирования для картинки в низшем иерархическом наборе, образующем базовый поток, регулируется, чтобы быть равной 60 Гц, и кодирование выполняют таким образом, что интервал декодирования кодированных данных изображения картинки в низшем иерархическом наборе является регулярным интервалом. Соответственно, декодер имеющий возможность декодирования 60 кадров/с, может последовательно и надежно выполнять процесс декодирования кодированных данных изображения картинки в низшем иерархическом наборе, образующем базовый поток.
Кроме того, как показано на фиг. 8(b), декодирование выполняют таким образом, что момент кодирования для картинки в иерархическом наборе, образующем улучшенный поток (поток Е), и, следовательно, момент декодирования кодированных данных изображения картинки является средним значением моментов декодирования кодированных данных изображения картинки в низшем иерархическом наборе, образующем базовый поток (поток В). Соответственно, в случае, когда приемник обладает возможностью декодировать кодированные данные изображения картинки в иерархическом наборе, образующем не только базовый поток, но также и улучшенный поток, можно последовательно и плавно выполнять процесс декодирования для каждой картинки.
На фиг. 9 показан пример момента кодирования (момента декодирования) каждой картинки в случае, когда в примере иерархического кодирования, показанном на фиг. 3, генерируются два видеопотока, базовый поток (поток В) и улучшенный поток (поток Е). Это пример, в котором задержка декодирования улучшенного потока уменьшается относительно базового потока. Задержка декодирования в этом случае соответствует 8 картинкам на интервале кодирования полной временной разрешающей способности (1/2 интервала кодирования базового потока).
В этом примере момент кодирования картинки базового потока (потока В) является моментом с четным номером, а момент кодирования улучшенного потока (потока Е) является моментом с нечетным номером. Затем в этом примере улучшенный поток (поток Е) кодируют сразу же после порядка кодирования наивысшего уровня базового потока (поток В). Конкретно, картинку "9" улучшенного потока (потока Е) кодируют непосредственно после картинки "8" базового потока (потока В).
На фиг. 10 показан пример момента кодирования (момента декодирования) каждой картинки в случае, когда в примере иерархического кодирования, показанном на фиг. 3, генерируются два видеопотока, базовый поток (поток В) и улучшенный поток (поток Е). Это пример, в котором задержка декодирования улучшенного потока увеличивается относительно базового потока. Задержка декодирования в этом случае соответствует 16 картинкам на интервале кодирования полной временной разрешающей способности (1/2 интервала кодирования базового потока). В случае, когда задержка декодирования увеличивается, как описано выше, необходима опорная память, имеющая большую емкость в буфере несжатых данных (dpb: буфер декодированной картинки).
В этом примере момент кодирования картинки базового потока (потока В) является моментом с четным номером, а момент кодирования улучшенного потока (потока Е) является моментом с нечетным номером. Затем в этом примере улучшенный поток (поток Е) кодируют после того, как завершается кодирование наивысшего уровня базового потока (потока В). Конкретно, картинку "17" улучшенного потока (потока Е) кодируют непосредственно после картинки "16" базового потока (потока В).
Как описано выше, можно уменьшать или увеличивать величину задержки улучшенного потока относительно базового потока. Эта величина задержки может регулироваться, ограничивая целевую картинку с помощью приоритета эффективности кодирования или достижения малой задержки.
На фиг. 11(a) показан случай, в котором каждую картинку кодируют при синхронизации 120 Гц и при полной временной разрешающей способности в примере иерархического кодирования, показанном на фиг. 3, и делят на три иерархических набора, в которых иерархии 0-2 являются низшим иерархическим набором, образующим базовый поток (поток В), и иерархия 3 является иерархическим набором, более высоким, чем иерархический набор, образующий улучшенный поток (поток Е 1), и иерархия 4 является иерархическим набором, более высоким, чем иерархический набор, образующий улучшенный поток (поток Е 2).
В этом случае, временная разрешающая способность картинки в низшем иерархическом наборе составляет 30 кадров/с и существуют картинки, которые последовательно кодируют при синхронизации 120 Гц. Декодер, имеющий возможность декодирования 30 кадров/с, не может последовательно и надежно выполнять процесс декодирования. Поэтому, как показано на фиг. 11(b), момент кодирования для картинки в низшем иерархическом наборе, образующем базовый поток, регулируется, чтобы быть равной 30 Гц, и кодирование выполняют таким образом, что интервал декодирования кодированных данных изображения картинки в низшем иерархическом наборе является регулярным интервалом. Соответственно, декодер имеющий возможность декодирования 30 кадров/с, может последовательно и надежно выполнять процесс декодирования кодированных данных изображения картинки в низшем иерархическом наборе, образующем базовый поток.
Кроме того, как показано на фиг. 11(b), декодирование выполняют таким образом, что момент кодирования для картинки в иерархическом наборе, образующем улучшенный поток (поток Е 1), и, следовательно, момент декодирования кодированных данных изображения картинки является средним значением моментов декодирования кодированных данных изображения картинки в низшем иерархическом наборе, образующем базовый поток (поток В). Дополнительно, как показано на фиг. 11(b), декодирование выполняют таким образом, что момент кодирования для картинки в иерархическом наборе, образующем улучшенный поток (поток Е 2), и, следовательно, момент декодирования кодированных данных изображения картинки являются средним значением моментов декодирования кодированных данных изображений картинок в иерархическом наборе, образующем базовый поток (поток В) и улучшенный поток (поток Е 1). Соответственно, в случае, когда приемник обладает возможностью декодировать кодированные данные изображения картинки в иерархическом наборе, образующем не только базовый поток, но также два улучшенных потока, можно последовательно и плавно выполнять процесс декодирования для каждой картинки.
На фиг. 12 показан пример момента кодирования (момента декодирования) каждой картинки в случае, когда в примере иерархического кодирования, показанном на фиг. 3, генерируются три видеопотока, базовый поток (поток В), улучшенный поток (поток Е 1) и улучшенный поток (поток Е 2). В этом примере задержка декодирования улучшенного потока уменьшается относительно базового потока. Задержка декодирования в этом случае соответствует 12 картинкам на интервале кодирования с полной временной разрешающей способностью (1/4 интервала кодирования базового потока).
В этом примере момент кодирования картинки базового потока (потока В) является моментом, кратным четырем, и момент кодирования улучшенного потока (потока Е 1) является средним значением моментов кодирования для картинок базового потока (потока В), кратных четырем. Кроме того, момент кодирования улучшенного потока (потока Е 1) является моментом с нечетным номером.
Затем в этом примере улучшенный поток (поток Е 1) кодируют сразу же после порядка кодирования наивысшего уровня базового потока (потока В). Конкретно, картинку "10" улучшенного потока (потока Е 1) кодируют непосредственно после кодирования картинки "8" базового потока (потока В). Кроме того, в этом примере улучшенный поток (поток Е 2) кодируют сразу же после порядка кодирования улучшенного потока (потока Е 1). Конкретно, картинку "11" улучшенного потока (потока Е 2) кодируют непосредственно после картинки "10" улучшенного потока (потока Е 1).
На фиг. 13 показан другой пример момента кодирования (момента декодирования) каждой картинки в случае, когда в примере иерархического кодирования, показанном на фиг. 3, генерируются три видеопотока, базовый поток (поток В), улучшенный поток (поток Е 1) и улучшенный поток (поток Е 2). В этом примере задержка декодирования улучшенного потока уменьшается относительно базового потока. Задержка декодирования в этом случае соответствует 27 картинкам на интервале кодирования с полной временной разрешающей способностью (1/4 интервала кодирования базового потока). В случае, когда задержка декодирования увеличивается, как описано выше, необходима опорная память, имеющая большую емкость в буфере несжатых данных (dpb: буфер декодированной картинки).
В этом примере момент кодирования картинки базового потока (потока В) является моментом, кратным четырем, и момент кодирования улучшенного потока (потока Е 1) является средним значением моментов кодирования картинки базового потока (потока В), кратной четырем. Кроме того, момент кодирования улучшенного потока (потока Е 1) является моментом с нечетным номером.
Затем в этом примере улучшенный поток (поток Е 1) кодируют после кодирования наивысшего уровня базового потока (потока В). Конкретно, картинку "14" улучшенного потока (потока Е 1) кодируют непосредственно после картинки "12" базового потока (потока В). Кроме того, в этом примере улучшенный поток (поток Е 2) кодируют после того, как кодируют улучшенный поток (поток Е 1). Конкретно, картинку "27" улучшенного потока (потока Е 2) кодируют непосредственно после картинки "26" улучшенного потока (потока Е 1).
На фиг. 14 показан пример управления HRD (Hypothetical Reference Decoder, гипотетический опорный декодер) кодера 102. Это пример, в котором генерируют два видеопотока, базовый поток (поток В) и улучшенный поток (поток Е). Здесь описание будет сделано для базового потока в качестве субпотока 1 (субпоток 1) и улучшенного потока в качестве субпотока 2 (субпоток 2). Сплошная линия a1, имеющая ступенчатую форму, представляет смещение объема данных субпотока 1, сгенерированного кодированием (кодирование), и каждая ступень соответствует единице в одну картинку. Высота ступени представляет объем данных, сгенерированный при кодировании.
Момент времени Р01 представляет время, когда первый байт кодированных данных изображения первой картинки входит в cpb1 (буфер 1 кодированных данных: буфер сжатых данных). R1 представляет битовую скорость ввода в cpb1 кодированных данных изображения первой картинки. Здесь, если объем кодированных данных, вводимых в cpb1 в момент времени Т1, равен Q1, используют следующее уравнение: R1=Q1/T1. Следует заметить, что в примере, показанном на чертеже, представлен случай, в котором битовая скорость ввода в cpb1 кодированных данных изображения другой картинки также равна R1.
Сплошная линия b1, имеющая ступенчатую форму, представляет смещение объема данных, используемых посредством декодирования в cpb1, и каждая ступень соответствует единице в одну картинку. Высота ступени представляет объем данных, используемых при декодировании. Qcpb1 представляет объем занятости cpd1. Кодирование выполняют таким образом, что в любой момент времени этот объем занятости не превышает размер cpb1 (объем памяти).
Кроме того, сплошная линия а2, имеющая ступенчатую форму, представляет смещение объема данных субпотока 2, сформированного кодированием (coding), и каждая ступень соответствует единице, равной одной картинке. Высота ступени представляет объем данных, сформированных при кодировании.
Момент времени Р02 представляет время, когда первый байт кодированных данных изображения первой картинки входит в cpb2 (буфер 2 кодированных данных: буфер сжатых данных). R2 представляет битовую скорость ввода в cpb2 кодированных данных изображения первой картинки. Здесь, если объем кодированных данных, вводимых в cpb2 в момент времени Т2, равен Q2, используют следующее уравнение: R2=Q2/T2. Следует заметить, что в примере, показанном на чертеже, представлен случай, в котором битовая скорость ввода в cpb2 кодированных данных изображения другой картинки также равна R2.
Сплошная линия b2, имеющая ступенчатую форму, представляет смещение объема данных, используемых посредством декодирования в cpb2, и каждая ступень соответствует единице, равной одной картинке. Высота ступени представляет объем данных, используемых при декодировании. Qcpb2 представляет объем занятости cpd2. Кодирование выполняют таким образом, что в любой момент времени этот объем занятости не превышает размер cpb2 (объем памяти).
В примере, приведенном на чертеже, декодирование выполняют для субпотока 1 в порядке картинок "1-0", "1-1", "1-2", "1-3", …, для субпотока 2 в порядке картинок "2-0", "2-1", "2-2", "2-3" …, как показано выше, и картинки субпотока 1 и картинки субпотока 2 поочередно декодируют. Декодированные данные изображения каждой картинки вводят в dpb (буфер декодированной картинки: буфер несжатых данных). В этом примере величина задержки картинок от момента, когда выполняют декодирование, до момента, когда начинается отображение, равна 4 картинкам.
Следует заметить, что, как указано выше, R1 и R2 представляют пример фиксированной битовой скорости (constant_bit_rate). Однако, дело не ограничивается только этим и та же самая идея может применяться к переменной битовой скорости (variable_bit_rate).
На фиг. 15 представлен пример конфигурации кодера 102. Кодер 102 содержит блок 121 генерирования временного идентификатора ID, контроллер 122 задержки буфера, блок 123 установки HRD (Hypothetical Reference Decoder, гипотетический опорный декодер), блок 124 установки параметров/кодирования SEI, блок 125 кодирования среза и блок 126 пакетирования NAL.
В блок 121 генерирования временного ID, информацию о количестве иерархий (количестве уровней) подают от центрального процессора CPU 101. Блок 121 генерирования временного ID генерирует temporal_id в зависимости от количества иерархий, основываясь на информации о количестве иерархий. Например, в в случае иерархического кодирования, показанного на фиг. 3, генерируются temporal_id, равные 0-4. В контроллер 122 задержки буфера от CPU 101 подают информацию о минимальной способности декодирования (minimum_target_decoder_level_idc) и подают temporal_id, сгенерированный в блоке 121 генерирования временного ID. Контроллер 122 задержки буфера вычисляет значение "initial_cpb_removal_delay", являющееся начальным значение буферирования cpb для каждого видеопотока, и значения "cpb_removal_delay" и "dpb_output_delay" для каждой картинки.
Контроллер 122 задержки буфера управляет значением "Cpb_removal_delay" в буфере cpb для каждого субпотока (Sub-stream, субпотока). Контроллер 122 задержки буфера выполняет управление таким образом, что отказ буфера не происходит между моментом декодирования декодера и моментом отображения в буфере dpb. В этом случае, "cpb_removal_delay" управляют таким образом, что момент декодирования картинки низшего иерархического набора является регулярным интервалом. Кроме того, в этом случае, "cpb_removal_delay" управляют таким образом, что момент кодирования кодированных данных изображения картинки в более высоком иерархическом наборе, чем низший иерархический набор, устанавливается средним значением моментов кодирования кодированных данных изображения картинок для всех иерархических наборов ниже этого иерархического набора. Кроме того, "dpb_output_delay" управляют так, что отказ буфера cpb не происходит. Следует заметить, что момент кодирования имеет тот же самый смысл, что и момент декодирования, считанный из буфера сжатых данных (cpb: буфер кодированной картинки) на стороне приемника.
В блок 123 установки HRD (Hypothetical Reference Decoder) подают "cpb_removal_delay" и "dpb_output_delay" картинки каждого видеопотока, вычисленные в контроллере 122 задержки буфера, и информацию о количестве потоков (Number of streams, количество потоков) подают от CPU 101. Блок 123 установки HRD выполняет установку HRD, основываясь на информации.
В блок 124 установки параметров/кодирования SEI подают информацию установки и temporal_id. Блок 124 установки параметров/кодирования SEI генерирует наборы параметров каждой иерархии, такие как VPS, SPS, PPS и SEI, в зависимости от количества потоков, подлежащих кодированию.
Например, генерируют момент SEI картинки, содержащий "cpb_removal_delay" и "dpb_output_delay" (момент SEI картинки). Кроме того, генерируют, например, период SEI буферирования, содержащий "initial_cpb_removal_time" (Buffering Period SEI). Период SEI буферирования генерируют в соответствии с верхней картинкой GOP (блок доступа).
"Initial_cpb_removal_time" представляет время (начальное время) получения кодированных данных изображения верхней картинки GOP (Group Of Pictures, группа картинок) из буфера (cpb) сжатых данных для декодирования. "cpb_removal_delay" представляет время для взятия кодированных данных изображения каждой картинки из буфера сжатых данных (cpb) и это время определяется вместе с "initial_cpb_removal_time". Кроме того, "dpb_output_delay" представляет время для взятия после декодирования и ввода в буфер сжатых данных (dpb).
Блок 125 кодирования среза кодирует данные изображения картинки каждой иерархии, чтобы получить данные среза (заголовок сегмента среза, данные сегмента среза). Блок 125 кодирования среза использует кадровый буфер для вставки "ref_idx_10_active (ref_idx_ll_active)", представляющего индекс картинки, предсказанной блоком предсказания ("Prediction Unit") в заголовке сегмента среза ("slice segment header"), в качестве информации, представляющей состояние предсказания направления времени. Соответственно, когда выполняют декодирование, определяют уровень иерархии, показанный временным идентификатором, а также опорную картинку. Кроме того, блок 125 кодирования среза вставляет индекс текущего среза в заголовок сегмента среза ("slice segment header") как "short_term_ref_pic_set_idx" или "it_idx_sps."
Блок 126 пакетирования NAL генерирует кодированные данные изображения каждой иерархии, основываясь на наборе параметров и SEI, сгенерированных блоком 124 рабора параметров/кодирования SEI, и на объеме данных среза, сгенерированных блоком 125 кодирования среза, чтобы выводить видеопотоки (кодированные потоки) в зависимости от количества потоков.
В этом случае временной идентификатор, представляющий иерархию, добавляют к заголовку блока NAL для каждой картинки (смотрите фиг. 4). Кроме того, картинку, принадлежащая к иерархии, показанной временным идентификатором, присоединяют в качестве субуровня (subjayer) и значение назначения уровня "level_idc" битовой скорости для каждого субуровня рассматривают как "sublayer_level_idc" и вставляют в VPS или SPS.
На фиг. 16 показана блок-схема последовательности выполнения операций кодера 102. Кодер 102 начинает процесс на этапе ST1 и после этого выполняет процесс на этапе ST2. На этапе ST2 кодер 102 устанавливает количество N иерархий при иерархическом кодировании. Затем кодер 102 на этапе ST3 устанавливает temporal_id картинки каждой иерархии от 0 до (N-1).
Затем на этапе ST4 кодер 102 устанавливает уровень иерархии K, при котором декодер, имеющий наименьшую возможность из целевых декодеров, может выполнять декодирование, от 0 до N-1. Затем на этапе ST5 кодер 102 устанавливает интервал кодирования картинки и момент кодирования в каждом иерархическом наборе в контроллер 122 задержки буфера.
Далее кодер 102 отражает интервал кодирования картинки и момент кодирования, полученные на этапе ST5, в "cpb_removal_delay" и "dpb_output_delay", выполняет установку HRD, кодируя набор параметров/SEI, и кодирование среза, и на этапе ST6 передает их блоку мультиплексирования в качестве модуля NAL. После этого, кодер 102 на этапе ST7 заканчивает процесс.
Теперь вернемся к фиг. 2. Буфер 103 сжатых данных (cpb) временно хранит видеопоток, содержащий кодированные данные картинки каждой иерархии, сгенерированной кодером 102. Мультиплексор 104 считывает видеопоток, хранящийся в буфере 103 сжатых данных, и пакетирует PES, выполняет транспортное пакетирование и мультиплексирует его, чтобы получить транспортный поток TS, служащий в качестве мультиплексированного потока.
Транспортный поток TS содержит заданное количество видеопотоков, имеющих кодированные данные изображения картинки каждого иерархического набора, полученного делением множества иерархий, как описано выше. Мультиплексор 104 вставляет информацию идентификации для идентификации, является ли каждый из заданного количества видеопотоков базовым потоком или улучшенным потоком в транспортном потоке TS. В этом случае информацию идентификации вставляют в качестве типа потока в видеоконтур элементарного потока (Video ES loop), расположенный соответственно каждому видеопотоку из заданного количества видеопотоков согласно таблице программной карты.
В этом случае типом потока для базового потока является "0×24". Кроме того, вновь определяется тип потока для улучшенного потока. Например, он равен "0×25". Следует заметить, что в случае, когда существует множество улучшенных потоков, типы потоков для всех улучшенных потоков не должны быть одинаковыми и множество типов потоков могут определяться заново как типы потоков для улучшенных потоков, так чтобы каждый улучшенный поток мог быть идентифицирован. Например, в случае, когда существуют два улучшенных потока, тип потока для первого улучшенного потока равен "0×25", а тип потока для второго улучшенного потока равен "0×26".
Мультиплексор 104 вставляет информацию конфигурации видеопотока на уровень транспортного потока TS, так чтобы соответствовать заданному количеству потоков. Мультиплексор 104 вставляет информацию конфигурации в качестве дескриптора в видеоконтур элементарного потока, расположенный соответственно каждому видеопотоку из заданного количества видеопотоков согласно таблице программной карты.
Мультиплексор 104 вставляет дескриптор мультипотока (multistream_descriptor), чтобы заново определиться, а также дескриптор HEVC descriptor (HEVC_descriptor) На фиг. 17 показан структурный пример (Syntax, синтаксис) дескриптора HEVC (HEVC_descriptor). 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" представляет значение temperal_id в низшей иерархии иерархически кодированных данных, содержащихся в соответствующем видеопотоке. "temporal_id_max" представляет значение temperal_id в высшей иерархии иерархически кодированных данных соответствующего видеопотока.
На фиг. 18 показан пример структуры (Syntax, синтаксис) дескриптора мультипотока (multistream_descriptor). Кроме того, на фиг. 19 показано содержание (Semantics, семантика) основной информации в примере структуры.
8-миразрядное поле "multistream descriptor_tag" здесь представляет тип дескриптора и представляет мультипоточный дескриптор. 8-разрядное поле "multistream_descriptor_length" представляет длину (размер) дескриптора и представляет количество последовательных байтов в качестве длины дескриптора. Здесь она составляет 2 байта. 4-разрядное поле "group id" представляет идентификатор ID группы, связанной в последовательность услуг. В этом случае, базовый поток (base stream) и все набазовые потоки (небазовый поток = улучшенный поток), основанные на нем, имеют один и тот же идентификатор.
4-разрядное поле "stream_dependency_ordering" определяет соотношение зависимости между потоками, начиная с базового потока (базовый поток) в восходящем порядке. "0001" представляет базовый поток. "0010" представляет второй поток относительно базового потока (улучшенный поток). "0010" представляет третий поток относительно базового потока, "max layer in group" представляет максимальное значение в иерархии, кодированной в группе.
На фиг. 20 показан пример "Stream_type", "Group_id", "max/min layer", "max_layer_in_group" и "Stream_dependency_ordering" в случае, когда транспортный поток TS содержит, например, группу видеопотоков услуги 1 (SERVICE 1) и услуги 2 (SERVICE 2).
В этом примере в качестве видеопотока услуги 1 содержатся три видеопотока: базовый поток (Base stream), улучшенный поток (Enhanced stream 1) и улучшенный поток (Enhanced stream 2). В услуге 1 значение "Group_id" равно "0". Кроме того, в услуге 1 количество иерархий равно 5 и значение "max/min layer" равно "4", аналогично примеру иерархического кодирования, показанному на фиг. 3.
Кроме того, услуга 1 делится на три иерархических набора. Значение "Stream_type" базового потока устанавливают равным "0×24" и "max/rain layer" дескриптора HEVC представляют, чтобы ввести картинки иерархий 0-2. Кроме того, значение "Stream_type" улучшенного потока (Enhanced stream 1) устанавливается равным "0×25" и "max/rain layer" дескриптора HEVC представляется, чтобы ввести картинки в иерархию 3. Дополнительно, значение "Stream_type" улучшенного потока (Enhanced stream 2) устанавливается равным "0×25" и "max/rain layer" дескриптора HEVC представляется, чтобы ввести картинки в иерархию 4.
Кроме того, в этом примере в качестве видеопотока услуги 2 содержатся три видеопотока: базовый поток (Base stream), улучшенный поток (Enhanced stream 1) и улучшенный поток (Enhanced stream 2).. В услуге 2 значение "Group_id" равно "1". Кроме того, в услуге 2, например, количество иерархий равно 4 и значение "max/min layer" равно "3".
Кроме того, услуга 2 делится на три иерархических набора. Значение "Stream_type" базового потока устанавливают равным "0×24" и "max/rain layer" дескриптора HEVC представляют так, чтобы ввести картинки иерархий 0-1. Кроме того, значение "Stream type" улучшенного потока (Enhanced stream 1) устанавливают равным "0×25" и "max/rain layer" дескриптора HEVC представляют так, чтобы ввести картинки в иерархию 2. Дополнительно, значение "Stream_type" улучшенного потока (Enhanced stream 2) устанавливается равным "0×25" и "max/rain layer" дескриптора HEVC представляется, чтобы ввести картинки в иерархию 3.
На фиг. 21 представлен пример конфигурации мультиплексора 104. Мультиплексор 104 содержит блок 142 кодирования секций, блоки 143-1-143-N пакетирования PES, переключающий блок 144 и блок 145 транспортного пакетирования.
Блоки 143-1-143-N пакетирования PES считывают видеопотоки 1-N, хранящиеся в буфере 103 сжатых данных, соответственно, и генерируют пакеты PES. Здесь каждый из видеопотоков 1-N содержит один базовый поток и по меньшей мере один улучшенный поток.
В этом случае, блоки 143-1-143-N пакетирования PES добавляют временную отметку DTS (Decoding Time Stamp, временная отметка декодирования) и PTS (Presentation Time Stamp, временная отметка представления) к заголовку PES, основываясь на информации HRD видеопотоков 1-N, соответственно. В этом случае ссылку делают на "cpu removal delay" и "dpb output delay" каждой картинки, DTS и PTS генерируют с точностью синхронизации с моментом STC (System Time Clock, системный датчик времени) и помещают в заданное положение в заголовке PES.
Блок 144 переключения выборочно берет пакеты PES, сгенерированные в блоках 143-1-143-N пакетирования PES, основываясь на идентификаторе пакета (PID), и передает их блоку 145 транспортного пакетирования. Блок 145 транспортного пакетирования генерирует пакет TS, содержащий пакет PES в полезной нагрузке, чтобы получить транспортный поток TS.
Блок 142 кодирования секций генерирует различного рода данные секций, которые должны вставляться в транспортный поток TS в блоке 142 кодирования секций, и информация, такая как количество иерархий (Number of layers) и количество потоков (Number of streams), подается от CPU 101. Блок 142 кодирования секций генерирует упомянутый выше дескриптор HEVC (HEVC_descriptor) и дескриптор мультипотоков (multistream descriptor), основываясь на информации.
Блок 142 кодирования секций передает различного рода данные секций блоку 145 транспортного пакетирования. Блок 145 транспортного пакетирования генерирует пакет TS, содержащий секционные данные, и вставляет его в транспортный поток TS. Следует заметить, что в этом случае тип потока также вставляют в видеоконтур элементарного потока (Video ES loop), располагающийся в соответствии с каждым видеопотоком. В этом случае, тип потока для базового потока равен "0×24" и тип потока для улучшенного потока определяется вновь, например, как "0×25".
На фиг. 22 представлена блок-схема последовательности осуществления операций мультиплексора 104. Мультиплексор 104 начинает процесс на этапе ST11 и после этого выполняет процесс на этапе ST12. На этапе ST12 мультиплексор 104 обращается к информации HRD (cpu_removal_delay, dpb_output_delay), чтобы определить DTS и PTS, и вставляет их в заданное положение в заголовке PES.
Затем, на этапе ST13 мультиплексор 104 определяет является ли данный поток мультипотоком, то есть, является ли N множественным числом. Если это мультипоток, то мультиплексор 104 на этапе ST14 выполняет процесс мультиплексирования с использованием множества PID. Затем на этапе ST15 мультиплексор 104 определяет, является ли поток базовым потоком.
Если это базовый поток, то мультиплексор 104 на этапе ST16 устанавливает тип потока равным "0×27" и после этого выполняет процесс этапа ST10. С другой стороны, если это улучшенный поток, то мультиплексор 104 устанавливает тип потока на значение, представляющее улучшенный поток, например, которое на этапе ST17 вновь определяется как "0×28", и после этого выполняет процесс этапа ST18.
Следует заметить, что если на этапе ST13 определяется, что это не мультипоток, мультиплексор 104 на этапе ST19 выполняет процесс мультиплексирования с одним PED и после этого выполняет процесс этапа ST18.
На этапе ST18 мультиплексор 104 выполняет кодирование секций на дескрипторе HEVC, мультипотоковой дескрипторе и т.п., вставляет кодированный поток (элементарный видеопоток) в полезной нагрузке PES для пакетизации PES. Затем мультиплексор 104 на этапе ST20 выполняет транспортное пакетирование, чтобы получить транспортный поток TS. После этого мультиплексор 104 на этапе ST21 завершает процесс.
На фиг. 23 показан пример конфигурации транспортного потока TS в случае, когда услуга предоставляется двумя потоками. Транспортный поток TS содержит два видеопотока, базовый поток и улучшенный поток. Конкретно, в этом примере конфигурации существуют пакет PES "video PES1" базового потока и пакет PES "video PES2" улучшенного потока.
Кроме того, транспортный поток TS содержит РМТ (Program Map Table, таблица программной карты) в качестве одной PSI (Program Specific Information, конкретная информация о программе). Эта PSI является информацией, представляющей, к какой программе принадлежит каждый элементарный поток, содержащийся в транспортном потоке. В РМТ существует программа, контур (Program loop, программный контур), в которую записывается информация, относящаяся ко всей программе. Кроме того, в РМТ существует контур элементарного потока, имеющий информацию, относящуюся к каждому видеопотоку. В этом примере конфигурации существуют видеоконтур элементарного потока "video ES1 loop", соответствующий базовому потоку, и видеоконтур элементарного потока "video ES2 loop", соответствующий улучшенному потоку.
В "video ES1 loop" информация, такая как тип потока и идентификатор пакета (PID), располагается в соответствии с базовым потоком (video PES1), а также располагается дескриптор, в который записывается информация, относящаяся к видеопотоку. Этим типом потока является "0×24", который представляет базовый поток. Кроме того, в качестве одного из дескрипторов, вставляются вышеупомянутые дескриптор HEVC и мультипоточный дескриптор.
Кроме того, в "video ES2 loop" информация, такая как тип потока и идентификатор пакета (PID), располагается в соответствии с улучшенным потоком (video PES2), а также располагается дескриптор, в который записывается информация, относящаяся к видеопотоку. Этим типом потока является, например, тип, вновь определенный как "0×25", который представляет улучшенный поток. Кроме того, в качестве одного из дескрипторов, вставляются вышеупомянутые дескриптор HEVC и мультипоточный дескриптор.
На фиг. 24 показан пример конфигурации транспортного потока TS в случае, когда услуга предоставляется тремя потоками. Транспортный поток TS содержит три видеопотока базового потока и два улучшенных потока. Конкретно, в этом примере конфигурации существуют пакет PES "video PES1" базового потока и пакеты PES "video PES2" и "video PES3" улучшенных потоков.
Кроме того, в РМТ существует контур элементарного потока, имеющий информацию, относящуюся к каждому видеопотоку. В этом примере конфигурации существуют видеоконтур элементарного потока "video ES1 loop", соответствующий базовому потоку, и видеоконтур элементарного потока "video ES2 loop" и видеоконтур элементарного потока "video ES3 loop", соответствующие двум улучшенным потокам.
В "video ES1 loop" информация, такая как тип потока и идентификатор пакета (PID), располагается в соответствии с базовым потоком (video PES1), а также располагается дескриптор, в который записывается информация, относящаяся к видеопотоку. Этим типом потока является "0×24", который представляет базовый поток. Кроме того, в качестве одного из дескрипторов, вставляются вышеупомянутые дескриптор HEVC и мультипоточный дескриптор.
Кроме того, в "video ES2 loop" информация, такая как тип потока и идентификатор пакета (PID), располагается в соответствии с улучшенным потоком (video PES2), а также располагается дескриптор, в который записывается информация, относящаяся к видеопотоку. Этим типом потока является, например, тип, вновь определенный как "0×25", который представляет улучшенный поток. Кроме того, в качестве одного из дескрипторов, вставляются вышеупомянутые дескриптор HEVC и мультипоточный дескриптор.
Кроме того, в "video ES3 loop" информация, такая как тип потока и идентификатор пакета (PID), располагается в соответствии с улучшенным потоком (video PES3), а также располагается дескриптор, в который записывается информация, относящаяся к видеопотоку. Этим типом потока является, например, тип, вновь определенный как "0×25" или "0×26", который представляет улучшенный поток. Кроме того, в качестве одного из дескрипторов, вставляются вышеупомянутые дескриптор HEVC и мультипоточный дескриптор.
Теперь вернемся к фиг. 2. Передающий блок 105 модулирует транспортный поток TS в форме модуляции, пригодной для широковещательной передачи, такой как QPSK/OFDK, и передает модулированный RF-сигнал через передающую антенну.
Работа передающего устройства 100, показанного на фиг. 2, будет описана упрощенно. На кодер 102 подаются несжатые данные движущегося изображения. Кодер 102 выполняет иерархическое кодирование данных движущегося изображения. Конкретно, в кодере 102 данные изображения каждой картинки, образующие данные движущегося изображения, классифицируют на множество иерархий и кодируют, чтобы сгенерировать видеопоток, имеющий кодированные данные изображения картинки в каждой иерархии. В этом случае кодирование выполняют таким образом, что опорная картинка принадлежит к собственной иерархии и/или к иерархии, более низкой, чем собственная иерархия.
В кодере 102 множество иерархий делятся на заданное количество иерархических наборов и генерируют заданное количество видеопотоков, имеющих кодированные данные изображения картинки в каждом иерархическом наборе. В этом случае генерируют базовый поток, имеющий кодированные данные изображения картинки в низшем иерархическом наборе, а также генерируют заданное количество улучшенных потоков, имеющих кодированные данные изображения картинки в иерархическом наборе, более высоком, чем низший иерархический набор.
Заданное количество видеопотоков, сгенерированных в кодере 102, подается в буфер 103 сжатых данных (cpb) и временно сохраняется в нем. В мультиплексоре 104 каждый видеопоток, хранящийся в буфере 103 сжатых данных, считывается и PES-пакетируется, пакетируется для транспортирования и мультиплексируется, чтобы получить транспортный поток TS, служащий в качестве мультиплексированного потока.
Кроме того, в мультиплексоре 104 информацию идентификации для идентификации является ли заданное количество видеопотоков базовым потоком или улучшенным потоком вставляют на уровень транспортного потока TS. Информацией идентификации является тип потока, который должен вставляться в видеоконтур элементарного потока (Video ES loop), расположенный в соответствии с каждым видеопотоком. В этом случае, тип потока для базового потока равен "0×24" и тип потока для улучшенного потока определяется вновь, например, как "0×25".
Кроме того, в мультиплексоре 104 информацию конфигурации видеопотока вставляют на уровень транспортного потока TS соответственно заданному количеству видеопотоков. Конкретно, в мультиплексоре 104 дескриптор HEVC мультипоточный дескриптор вставляют в видеоконтур элементарного потока, соответствующий каждому видеопотоку.
Транспортный поток TS, сгенерированный в мультиплексоре 104, передают на передающий блок 105. В передающем блоке 105 транспортный поток TS модулируется по способу модуляции, пригодному для широковещательной передачи, такому как QPSK/OFDM, и модулированный RF-сигнал передают через передающую антенну.
Конфигурация приемного устройства
На фиг. 25 показан пример конфигурации приемного устройства 200. Приемное устройство 200 содержит CPU (central processing unit, центральный процессор 202, демультиплексор 203 и буфер 204 сжатых данных (cpb: coded picture buffer) 204. Кроме того, приемное устройство 200 содержит декодер 205, буфер 206 несжатых данных (dpb: decoded picture buffer, буфер декодированной картинки) блок 207 последующей обработки. CPU 201 является контроллером и управляет работой соответствующих блоков приемного устройства 200.
Приемный блок 202 демодулирует модулированный RF-сигнал, принятый приемной антенной, чтобы получить транспортный поток TS. Демультиплексор 203 выборочно берет из транспортного потока TS кодированные данные изображения картинки в иерархическом наборе в зависимости от способности декодирования (возможностей временного уровня декодера) и передает их в буфер 204 сжатых данных (cpb: coded picture buffer, буфер кодированной картинки).
На фиг. 26 представлен пример конфигурации демультиплексора 203. Демультиплексор 203 содержит блок 231 извлечения поля адаптации TS, блок 232 извлечения информации тактового сигнала, блок 233 извлечения полезной нагрузки TS, а блок 234 извлечения секции, блок 235 извлечения таблицы PSI/дескриптора и блок 236 извлечения пакета PES. Кроме того, демультиплексор 203 содержит блок 237 извлечения заголовка PES, блок 238 извлечения временной отметки, блок 240 извлечения полезной нагрузки PES и блок 241 конфигурации потока (компоновщик поток).
Блок 231 извлечения поля адаптации TS извлекает поле адаптации из пакета TS, имеющего поле адаптации транспортного потока TS. Блок 232 извлечения информации тактового сигнала извлекает PCR (Program Clock Reference, опорный тактовый сигнал программы) из поля адаптации, содержащего PCR, и передает его к CPU 201.
Блок 233 извлечения полезной нагрузки TS извлекает полезную нагрузку TS транспортного потока TS из пакета TS, содержащего полезную нагрузку TS. Блок 234 извлечения секции извлекает данные секции из полезной нагрузки TS, содержащей данные секции. Блок 235 извлечения таблицы PSI/дескриптора анализирует данные секции, извлеченные блоком 234 извлечения секции, и извлекает таблицу PSI или дескриптор. Затем блок 235 извлечения таблицы PSI/дескриптора передает минамальное значение (min) и максимальное значение (max) temporal_id, максимальное количество иерархий, соотношение взаимосвязи между потокамиов, групповой идентификатор и т.п. на CPU 201 и на блок 241 конфигурации потока.
Блок 236 извлечения пакета PES извлекает пакет PES из полезной нагрузки TS, содержащей пакет PES. Блок 237 извлечения заголовка PES извлекает заголовок PES из пакета PES, извлеченного блоком 236 извлечения пакета PES. Блок 238 извлечения временной отметки извлекает временную отметку (DTS, PTS), вставленную в заголовок PES для каждой картинки, и передает ее на CPU 201 и на блок 241 конфигурации потока.
Блок 240 извлечения полезной нагрузки PES извлекает полезную нагрузку PES, то есть, кодированные данные изображения картинки в каждой иерархии, из пакета PES, извлеченного блоком 236 извлечения пакета PES. Блок 241 конфигурации потока из кодированных данных изображения картинки в каждой иерархии, которые должны забираться блоком 240 извлечения полезной нагрузки PES, выборочно берет только базовый поток кодированных данных изображения картинки из заданного количества улучшенных потоков и передает его в буфер 204 сжатых данных (cpb: coded picture buffer, буфер кодированной картинки). В этом случае блок 241 конфигурации потока обращается к информации об иерархии, полученной, например, блоком 235 извлечения таблицы PSI/дескриптора.
Например, будет обсужден случай, в котором кадровая частота заданного количества видеопотоков (кодированных потоков), содержащихся в транспортном потоке TS, равна 120 кадров/с. Например, множество иерархий делятся на два иерархических набора с более низким иерархическим набором и с более высоким иерархическим набором и частоты кадров картинок в иерархических наборах равны 60 кадров/с. Например, в упомянутом выше примере иерархического кодирования, показанном на фиг. 3, иерархии 0-3 являются более низким иерархическим набором и декодер, который поддерживает level_idc 60 кадров/с, может выполнять декодирование. Кроме того, иерархия 4 является более высоким иерархическим набором и декодер, который поддерживает level_idc 120 кадров/с может выполнять декодирование.
В случае, когда возможность декодирования поддерживает 120 кадров/с, блок 241 конфигурации потока берет кодированные данные изображения базового потока и улучшенного потока, основываясь на идентификаторе пакета (PID) и передает их в буфер 204 сжатых данных (cpb: coded picture buffer, буфер кодированной картинки). С другой стороны, в случае, когда возможность декодирования не поддерживает частоту 120 кадров/с, а поддерживает частоту 60 кадров/с, блок 241 конфигурации потока берет только кодированные данные изображения картинки базового потока, основываясь на идентификаторе пакета (PID), и передает их в буфер 204 сжатых данных (cpb: coded picture buffer, буфер кодированной картинки).
На фиг. 27 показан пример выбора картинки (среза) блоком 241 конфигурации потока в случае, когда транспортный поток TS содержит два видеопотока (кодированных потока) базового потока и улучшенного потока. Идентификатором пакета (PID) базового потока является PID А, а идентификатором пакета (PID) улучшенного потока является PID В. Пример, показанный на чертеже, соответствует вышеупомянутому примеру, показанному на фиг. 9, и показывает только часть n-ой группы субгрупп (субгруппы картинок) и количество, добавленное к каждой картинке, показанной прямоугольной рамкой, представляет порядок декодирования (порядок кодирования на стороне передачи).
В случае, когда возможность декодирования поддерживает 120 кадров/с, блок 241 конфигурации потока выполняет фильтрацию, основываясь на идентификаторе пакета (PID), берет кодированные данные изображения картинок базового потока с PID А и улучшенного потока с PID В и передает их в буфер 204 сжатых данных (cpb: coded picture buffer, буфер кодированной картинки). В этом случае кодированные данные изображения картинки базового потока сохраняются в области 1 (cpb_1), и кодированные данные изображения картинки улучшенного потока сохраняются в области 2 (cpb_2).
С другой стороны, в случае, когда возможность декодирования поддерживает не 120 кадров/с, а 60 кадров/с, блок 241 конфигурации потока выполняет фильтрацию, основываясь на идентификаторе пакета (PID), берет кодированные данные изображения картинок кодированные данные изображения картинки базового потока с PID А, передает их в буфер 204 сжатых данных (cpb: coded picture buffer, буфер кодированных данных) и сохраняет их в области 1 (cpb_1).
На фиг. 28 показана блок-схема последовательности осуществления операций процесса, выполняемого демультиплексором 203. Эта последовательность осуществления процесса показывает случай, в котором транспортный поток TS содержит базовый поток, имеющий кодированные данных изображения картинки в низшем иерархическом наборе, и заданное количество улучшенных потоков, имеющих кодированные данные изображения картинки в заданном количестве иерархических наборов, более высоких, чем низший иерархический набор.
Демультиплексор 203 начинает процесс на этапе ST41 и после этого выполняет процесс на этапе ST42. На этапе ST42 возможность декодирования (возможность временного уровня декодера) устанавливается из CPU 201. Далее демультиплексор 203 на этапе ST43 определяет, возможно ли выполнение декодирования во всех иерархиях (уровнях).
В случае, когда выполнение декодирования возможно во всех иерархиях, демультиплексор 203 на этапе ST44 посредством PID-фильтра выбирает все потоки, образующие все иерархии, и выполняет секционный парсинг (Section parsing). После этого, демультиплексор 203 выполняет процесс этапа ST45.
В случае, когда выполнение декодирования на этапе ST43 невозможно во всех иерархиях, демультиплексор 203 посредством выбирает заданное количество потоков, в том числе, базовый поток, образующий более низкую иерархию, которая может декодироваться и на этапе ST46 выполняет соответствующий секционный парсинг (Section parsing). После этого, демультиплексор 203 выполняет процесс этапа ST45.
На этапе ST45 демультиплексор 203 считывает дескриптор HEVC и мультипоточный дескриптор в целевой секции PID, чтобы получить соотношение зависимости между потоками в группе, максимальное количество иерархий и максимальное значение и минимальное значение temporal_id.
Далее, демультиплексор 203 на этапе ST47 передает кодированные данные изображения картинки потока, выбранного на этапе ST44 или на этапе ST46, в буфер 204 сжатых данных (cpb: coded picture buffer, буфер кодированной картинки). После процесса на этапе ST47 демультиплексор 203 на этапе ST48 завершает процесс.
Теперь вернемся к фиг. 25. Буфер 204 сжатых данных (cpb) временно сохраняет видеопоток (кодированный поток), полученный демультиплексором 203. Декодер 205 берет из видеопотока, хранящегося в буфере 204 сжатых данных, кодированные данные изображения картинки в иерархии, назначенной в качестве иерархии, которая должна декодироваться. Затем декодер 205 декодирует кодированные данные изображения каждой картинки, полученные таким образом в момент декодирования картинки, и передает их в буфер 206 несжатых данных (dpb).
Здесь в декодере 205 иерархия, которая должна декодироваться, назначается с помощью temporal_id, взятого из CPU 201. Назначенная иерархия рассматривается как все иерархии или часть нижних иерархий, содержащихся в видеопотоке (кодированном потоке), полученном демультиплексором 203, и автоматически устанавливается посредством CPU 201 или устанавливается в соответствии с операцией пользователя. Кроме того, в декодер 205 момент декодирования задается из CPU 201, основываясь на DTS (Decoding Time Stamp, временная отметка декодирования). Следует заметить, что декодер 205 считывает и использует данные изображения упомянутой картинки из буфера 206 несжатых данных по мере необходимости, когда декодируют кодированные данные изображения каждой картинки.
На фиг. 29 показан пример конфигурации декодера 205. Декодер 205 содержит блок 251 анализа временного идентификатора, блок 252 выбора целевой иерархии, блок 253 объединения потоков и блок 254 декодирования.
Блок 251 анализа временного идентификатора считывает видеопоток (кодированный поток), хранящийся в буфере 204 сжатых данных и анализирует temporal_id, вставленный в заголовок блока NAL кодированных данных изображения каждой картинки.
Блок 252 выбора целевой иерархии берет из каждого видеопотока, считанного из буфера 204 сжатых данных, кодированные данные изображения картинки в иерархии, назначенной в качестве иерархии, которая должна декодироваться, основываясь на результатах анализа, полученных от блока 251 анализа временного идентификатора. В этом случае из блока 252 выбора целевой иерархии выводится один или более видеопотоков (кодированных потоков), в зависимости от количества видеопотока, считанных из буфера 204 сжатых данных, и назначенной иерархии.
Блок 253 объединения потоков объединяет вместе видеопотоки (кодированные потоки) с выхода блока 252 выбора целевой иерархии. Следует заметить, что несмотря на отличие в этом случае от того, что показано на чертеже, блок 253 объединения потоков может объединять вместе видеопотоки (кодированные потоки) с выхода буфера 204 cpb. В этом случае блок 253 объединения потоков одновременно выполняет выбор целевой иерархии и анализ временного ID. Блок 253 объединения потоков объединяет вместе кодированные данные изображения картинок, основываясь на информации о моменте декодирования. На фиг. 30 показан пример объединения потоков.
Этот пример соответствует вышеупомянутому примеру, показанному на фиг. 9, и является примером, в котором картинки базового потока с интервалами 60 Гц и картинки улучшенного потока с интервалами 60 Гц объединяются вместе. В этом случае каждая картинка рассматривают как один поток с временной отметкой 120 Гц.
Следует заметить, что один поток передают блоку 254 декодирования и каждые из кодированных данных изображения картинки декодируют в момент времени декодирования и сохраняют в dpb (буфер несжатых данных) 206, как будет описано позже. После этого данные изображения каждой картинки последовательно считывают из буфера 206 несжатых данных после упорядочивания картинок. В примере, показанном на чертеже, картинку в группе субкартинок (показанной наклонной штриховкой вниз) считывают первой и затем считывают картинку в следующей группе субкартинок (показана наклонной штриховкой вверх). После декодирования картинку в следующей группе субкартинок сохраняют в буфере 206 несжатых данных во время отображения картинки в группе субкартинок и она становится следующей опорной картинкой.
Следует заметить, что сам по себе процесс объединения картинок множества потоков может выполняться для множества выбранных потоков в упомянутом выше демультиплексоре 203 и они могут передаваться в буфер 204 сжатых данных (cpb: coded picture buffer, буфер кодированной картинки) как один поток. Также, процесс объединения в этом случае выполняют аналогичным образом, основываясь на информацию о моменте декодирования. В этом случае процесс объединения не требует его выполнения в декодере.
Блок 254 декодирования последовательно декодирует кодированные данные изображения каждой картинки видеопотока (кодированного потока), объединенного блоком 253 объединения потоков в момент декодирования, и передает их в буфер 206 несжатых данных (dpb).
В этом случае блок 254 декодирования инализирует VPS и SPS, получает значение для назначения уровня "sublayer_level_idc" битовой скорости каждого подуровня, например, чтобы проверить может ли он декодироваться при данной возможности декодирования. Кроме того, в этом случае блок 254 декодирования выполняет анализ SEI, получает, например, "initial_cpb_removal_time" и "cpb_removal_delay", и проверяет, правильным ли является момент декодирования, поступающий от CPU 201.
Блок 254 декодирования получает "ref_idx_10_active (ref_idx_11_active)" из зоголовка среза (Slice header) в качестве информации, представляющей назначение предсказания направления времени при декодировании среза (Slice), чтобы предсказать направление времени. Следует заметить, что картинку после декодирования обрабатывают как опору другой картинки с "short_term_ref_pic_set_idx" или "it_idx_sps", полученными из заголовка среза (slice header) в качестве индекса.
Теперь вернемся к фиг. 25. Буфер 206 одновременно сжатых данных (dpb) временно сохраняет данные изображения каждой картинки, декодированной декодером 205. Блок 207 последующей обработки выполняет обработку, чтобы согласовать частоту кадров данных изображения каждой картинки, последовательно считанной из буфера 206 несжатых данных (dpb) в момент отображения, с возможностью отображения. В этом случае момент отображения задают из CPU 201, основываясь на PTS (Presentation Time Stamp, временная отметка презентации).
Например, если частота кадров данных изображения каждой картинки после декодирования равна 120 кадров/с и возможность отображения составляет 120 кадров/с, блок 207 последующей обработки передает данные изображения каждой картинки после декодирования на дисплей такими, как есть. Кроме того, например, если частота кадров данных изображения каждой картинки после декодирования равна 120 кадров/с и возможность отображения составляет 60 кадров/с, блок 207 последующей обработки выполняет обработку с подвыборкой, так что разрешающая способность в направлении времени снижается наполовину относительно данных изображения каждой картинки после декодирования, и передает их на дисплей как данные изображения с частотой кадров 60 кадров/с.
Кроме того, например, если частота кадров данных изображения каждой картинки после декодирования равна 60 кадров/с и возможность отображения составляет 120 кадров/с, блок 207 последующей обработки выполняет процесс интерполяции, так что разрешающая способность в направлении времени удваивается относительно данных изображения каждой картинки после декодирования, и передает их на дисплей как данные изображения с частотой кадров 120 кадров/с. Кроме того, например, если частота кадров данных изображения каждой картинки после декодирования равна 60 кадров/с и возможность отображения составляет 60 кадров/с, блок 201 последующей обработки передает данные изображения каждой картинки после декодирования на дисплей такими, как есть.
На фиг. 31 представлен пример конфигурации блока 207 последующей обработки. Это пример, в котором обработку можно делать в случае, когда частота кадров данных изображения каждой картинки после декодирования равна 120 кадров/с или 60 кадров/с, как описано выше, и возможность отображения равна 120 кадров/с или 60 кадров/с.
Блок 207 последующей обработки содержит блок 271 интерполяции, блок 272 подвыборки и переключающий блок 273. Данные изображения каждой картинки после декодирования из буфера 206 несжатых данных напрямую вводят в переключающий блок 273, причем их вводят в переключающий блок 273 после того, как частота кадров удваивается блоком 271 интерполяции, или вводят в переключающий блок 273 после того, как частота кадров снижается наполовину блоком 272 подвыборки.
В переключающий блок 273 информация выбора подают от CPU 201. Эта информация выбора автоматически генерируется CPU 201 со ссылкой на возможность отображения или генерируется в соответствии с операцией пользователя. Переключающий блок 273 выборочно выводит любой ввод, основываясь на информации выбора. Соответственно, частота кадров данных изображения каждой картинки, последовательно считанной из буфера 206 несжатых данных (dpb) в момент отображения, рассматривается как частота кадров, совпадающая со возможностью отображения.
На фиг. 32 показана блок-схема последовательности осуществления процесса, выполняемого декодером 205 и блоком 207 последующей обработки. Декодер 205 и блок 207 последующей обработки начинают процесс на этапе ST51 и после этого выполняют процесс на этапе ST52. На этом этапе ST52 декодер 205 считывает видеопоток, являющийся целью декодирования, который хранят в буфере 204 сжатых данных (cpb: coded picture buffer, буфер кодированной картинки), и выбирает картинку в иерархии, назначенной в качестве цели от CPU 201, основываясь на temporal_id.
Затем декодер 205 последовательно декодирует кодированные данные изображения каждой из выбранных картинок в момент декодирования, передает данные изображения каждой картинки после декодирования в буфер 206 несжатых данных (dpb) и временно сохраняет их на этапе ST53. Затем блок 207 последующей обработки на этапе ST54 считывает данные изображения каждой картинки в момент отображения из буфера 206 несжатых данных (dpb).
Затем блок 207 последующей обработки определяет, совпадает ли частота кадров считанных данных изображения каждой картинки с возможностями отображения. Если частота кадров не совпадает с возможностью отображения, блок 207 последующей обработки на этапе ST56 заставляет частоту кадров совпасть с возможностью отображения, передает ее на дисплей и завершает процесс на этапе ST57. С другой стороны, если частота кадров совпадает с возможностью отображения, блок 207 последующей обработки передает частоту кадров на дисплей такой, какова она есть, и после этого завершает процесс на этапе ST57.
Работа приемного устройства 200, показанного на фиг. 25, будет описана упрощенно. В приемном блоке 202 модулированный RF-сигнал, принятый приемной антенной, демодулируют, чтобы получить транспортный поток TS. Этот транспортный поток передают на демультиплексор 203. В демультиплексоре 203 все видеопотоки или их часть из транспортного потока TS проходят PID-фильтрацию в зависимости от возможности декодирования (возможность временного уровня декодера).
Например, если возможность кодирования высокая, то выбирают все видеопотоки базового потока и улучшенного потока. Кроме того, например, если возможность декодирования низкая, то выбирают заданное количество видеопотоков, содержащих декодируемую иерархию и базовый поток. Затем кодированные данные изображения картинки выбранного видеопотока передают от демультиплексора 203 в буфер 204 сжатых данных (cpb: coded picture buffer, буфер кодированной картинки) и временно сохраняют.
В декодере 205 кодированные данные изображения в иерархии, назначенной в качестве иерархии, которая должна декодироваться, берут из видеопотока, хранящегося в буфере 204 сжатых данных. Затем в декодере 205 кодированные данные изображения каждой картинки, полученные таким образом, декодируют в момент декодирования и передают в буфер 206 несжатых данных (dpb) и временно сохраняют. В этом случае данные изображения упомянутой картинки считывают из буфера 206 несжатых данных по мере необходимости, когда кодированные данные изображения каждой картинки декодируют, и используют.
Данные изображения каждой картинки, последовательно считанные из буфера 206 несжатых данных (dpb) в момент отображения, передают в блок 207 последующей обработки. В блоке 207 последующей обработки выполняют интерполяция или подвыборку для согласования частоты кадров данных изображения каждой картинки с возможностями отображения. Данные изображения каждой картинки, обработанной в блоке 207 последующей обработки, подают на дисплей, где отображают движущиеся изображения данных изображения каждой картинки.
Как описано выше, в передающей/приемной системе 10, показанной на фиг. 1, кодирование выполняют таким образом, что, по меньшей мере, интервал декодирования кодированных данных изображения картинки в низшем иерархическом наборе на передающей стороне является регулярным интервалом. Поэтому, в случае, когда приемник имеет возможность декодирования для выполнения процесса декодирования кодированных данных изображения картинок во множестве иерархий низшего иерархического набора, возможно, например, непрерывно и без усилий выполнять процесс декодирования кодированных данных изображения каждой картинки.
Кроме того, в передающей/приемной системе 10, показанной на фиг. 1, кодирование выполняют таким образом, что момент кодирования кодированных данных изображения картинки в более высоком иерархическом наборе, чем низший иерархический набор, устанавливают как среднее значение моментов декодирования кодированных данных изображения картинок для всех иерархических наборов ниже иерархического набора на передающей стороне. Соответственно, в случае, когда приемник имеет возможность декодирования для декодирования кодированных данных изображения картинки не только в низшем иерархическом наборе, но также и в иерархическом наборе выше него, возможно плавно и последовательно выполнять процесс декодирования для каждой картинки.
Кроме того, в передающей/приемной системе 10, показанной на фиг. 1, когда множество иерархий на передающей стороне делят на заданное количество иерархических наборов, деление выполняют таким образом, что низший иерархический набор содержит множество иерархий и иерархический набор выше низшего иерархического набора содержит одну иерархию. Соответственно, в случае, когда приемник имеет возможность декодирования для выполнения процесса на кодированных данных изображения картинок во множестве иерархий низшего иерархического набора, требуется только лишь конфигурация, выбирающая только видеопоток, имеющий кодированные данные изображения картинки в низшем иерархическом наборе, которая забирает его в буфер и выполняет на нем процесс декодирования, и не требуется сложная конфигурация, выполняющая, например, процесс объединения множества видеопотоков.
Кроме того, в передающей/приемной системе 10, показанной на фиг. 1, на передающей стороне информацию идентификации для идентификации, является ли заданное количество видеопотоков базовым потоком или улучшенным потоком, вставляют на уровень транспортного потока TS. Поэтому, приемник может легко выбирать базовый поток и выборочно декодировать кодированные данные изображения картинки в низшем иерархическом наборе, например, используя информацию идентификации.
Кроме того, в передающей/приемной системе 10, показанной на фиг. 1, на передающей стороне информацию конфигурации видеопотока вставляют на уровень транспортного потока TS соответственно заданному количеству видеопотоков, содержащихся в транспортном потоке TS. Следовательно, приемник может легко получать данные, например, к какой группе принадлежит каждый видеопоток, содержащийся в транспортном потоке TS, какое соотношение зависимости существует между видеопотоками и каково количество иерархий.
Кроме того, в передающей/приемной системе 10, показанной на фиг. 1, на приемной стороне кодированные данные изображения картинки в иерархии, которая равна или ниже заданной иерархии, выборочно выбирают в буфере 204 сжатых данных в зависимости от возможности декодирования (возможности временного уровня декодера) из принятого видеопотока и декодируют. Поэтому возможно выполнять соответствующий процесс декодирования в зависимости, например, от возможности декодирования.
Кроме того, в передающей/приемной системе 10, показанной на фиг. 1, на приемной стороне частоту кадров данных изображения каждой картинки после декодирования принудительно согласуют с возможностью отображения в блоке 207 последующей обработки.
Следовательно, даже если возможность декодирования низкая, можно, например, получить данные изображения для частоты кадров, совпадающие с возможностью отображения.
2. Модифицированный пример
Следует заметить, что в упомянутом выше варианте осуществления "max_layer_in_group" является информацией о максимальном значении иерархии, которую записывают в мультипоточный дескриптор (смотрите фиг. 18) и передают в приемник. Однако, вместо записи информации о максимальном значении иерархии в дескриптор и подачи ее в приемник, можно описать это "назначение максимального уровня" на лицевой стороне записанных в файле или на бумаге стандартов, чтобы заранее назначить или установить максимальное значение иерархии в приемном устройстве. Кроме того, в этом случае приемник обращается к информации о максимальном значении иерархии, выполняет фильтрацию потока, содержащего иерархию в зависимости от его собственной возможности декодирования, и выполняет процесс декодирования аналогично случаю его подачи с помощью дескриптора с передающей стороны, как описано выше.
Кроме того, в упомянутом выше варианте осуществления описывают пример масштабируемости по времени (временной масштабируемости) и мультипоточный дескриптор используют для передачи приемнику информации конфигурации каждого потока. Однако, хотя подробное описание приводиться не будет, можно применять вышеупомянутый мультипоточный дескриптор в услуге, в которой базовый поток (базовый поток) и улучшенный поток (улучшенный поток) существуют совместно в отношении масштабируемости, такой как пространственная масштабируемость и масштабируемость битовой скорости. Конкретно, упомянутый выше мультипоточный дескриптор представляет полезный способ сигнализации, когда выполняют мультипоточное кодирование.
Кроме того, в упомянутом выше варианте осуществления описана передающая/приемная система 10, содержащая передающее устройство 100 и приемное устройство 200. Однако, конфигурация передающей/приемной системы, к которой может применяться настоящая технология, этим не ограничивается. Например, часть приемного устройства 200 может иметь конфигурацию декодера каналов кабельного телевидения и монитора, соединенных цифровым интерфейсом, таким как HDMI (High-Definition Multimedia Interface, мультимедийный интерфейс высокой четкости). Следует заметить, что "HDMI" является зарегистрированной торговой маркой.
Кроме того, в упомянутом выше варианте осуществления был описан пример, в котором контейнер является транспортным потоком (MPEG-2 TS). Однако, настоящая технология может также применяться к системе, имеющей конфигурацию, использующей сеть, такую как Интернет, чтобы аналогично выполнять доставку к приемному терминалу. В случае доставки с использованием Интернет, доставка выполняют посредством контейнера в формате МР4 или подобном. Другими словами, контейнер в различных форматах, таких как транспортный поток (MPEG-2 TS), адаптированный посредством различных широковещательных стандартов, и МР4, используемый посредством доставки Интернет, соответствует контейнеру.
Кроме того, настоящая технология может также иметь следующие конфигурации.
(1) Устройство кодирования, содержащее
блок кодирования изображения, выполненный с возможностью
классификации данных изображения каждой картинки, образующих данные движущегося изображения, на множество иерархий,
кодирования данных изображения картинки в каждой из классифицированных иерархий,
деления множества иерархий на заданное количество иерархических наборов, и
генерирования заданного количества видеопотоков, имеющих кодированные данные изображения картинки в каждом из разделенных иерархических наборов, причем блок кодирования изображения выполнен с возможностью осуществления кодирования так, что интервал декодирования кодированных данных изображения картинки по меньшей мере в низшем иерархическом наборе является регулярным интервалом.
(2) Устройство кодирования по (1), в котором
блок кодирования изображения выполнен с возможностью осуществления кодирования так, что момент декодирования кодированных данных изображения картинки в иерархическом наборе, более высоком, чем низший иерархический набор, является средним значением моментов декодирования кодированных данных изображения картинок во всех иерархических наборах ниже указанного иерархического набора.
(3) Устройство кодирования по (1) или (2), в котором
блок кодирования изображения выполнен с возможностью разделения множества иерархий на заданное количество иерархических наборов, так что низший иерархический набор содержит множество иерархий, а иерархический набор выше низшего иерархического набора содержит одну иерархию.
(4) Способ кодирования, содержащий этапы, на которых:
классифицируют с помощью блока кодирования изображения данные изображения каждой картинки, образующие данные движущегося изображения, на множество иерархий;
кодируют данные изображения картинки в каждой из классифицированных иерархий,
делят множество иерархий на заданное количество иерархических наборов; и
генерируют заданное количество видеопотоков, имеющих кодированные данные изображения картинки в каждом из поделенных иерархических наборов, причем блок кодирования изображения выполнен с возможностью осуществления кодирования так, что интервал декодирования кодированных данных изображения картинки по меньшей мере в низшем иерархическом наборе является регулярным интервалом.
(5) Передающее устройство, содержащее:
блок кодирования изображения, выполненный с возможностью
классификации данных изображения каждой картинки, образующих данные движущегося изображения, на множество иерархий,
кодирования данных изображения картинки в каждой из классифицированных иерархий,
деления множества иерархий на заданное количество иерархических наборов, и
генерирования заданного количества видеопотоков, имеющих кодированные данные изображения картинки в каждом из поделенных иерархических наборов; и
передающий блок, выполненный с возможностью передачи контейнера, содержащего сгенерированное заданное количество видеопотоков в заданном формате, причем блок кодирования изображения выполняет кодирование так, что интервал декодирования кодированных данных изображения картинки по меньшей мере в низшем иерархическом наборе является регулярным интервалом.
(6) Передающее устройство, содержащее:
блок кодирования изображения, выполненный с возможностью
классификации данных изображения каждой картинки, образующих данные движущегося изображения, на множество иерархий,
кодирования данных изображения картинки в каждой из классифицированных иерархий,
деления множества иерархий на заданное количество иерархических наборов, и
генерирования заданного количества видеопотоков, имеющих кодированные данные изображения картинки в каждом из поделенных иерархических наборов;
передающий блок, выполненный с возможностью передачи контейнера, содержащего заданное количество сгенерированных видеопотоков в заданном формате; и
блок вставки информации идентификации для вставки в уровень контейнера информации идентификации для идентификации того, является ли каждый видеопоток из заданного количества видеопотоков базовым потоком, имеющим кодированные данных изображения картинки в низшем иерархическом наборе, или улучшенным потоком, имеющим кодированные данные изображения картинки в иерархическом наборе, более высоком, чем низший иерархический набор.
(7) Передающее устройство по (6), в котором
контейнер является транспортным потоком, а
блок вставки информации идентификации выполнен с возможностью вставки информации идентификации в качестве типа потока в видеоконтур элементарного потока, расположенный соответственно каждому видеопотоку из заданного количества видеопотоков согласно таблице программной карты.
(8) Передающее устройство по (6) или (7), в котором
блок кодирования изображения выполнен с возможностью осуществления кодирования так, что интервал декодирования кодированных данных изображения картинки по меньшей мере в низшем иерархическом наборе является регулярным интервалом.
(9) Передающее устройство по (8), в котором
блок кодирования изображения выполнен с возможностью выполнения кодирования так, что момент декодирования кодированных данных изображения картинки в иерархическом наборе, более высоком, чем низший иерархический набор, является средним значением моментов декодирования кодированных данных изображения картинок во всех иерархических наборах ниже этого иерархического набора.
(10) Передающее устройство, содержащее:
блок кодирования изображения, выполненный с возможностью
классификации данных изображения каждой картинки, образующих данные движущегося изображения, на множество иерархий,
кодирования данных изображения картинки в каждой из классифицированных иерархий,
деления множества иерархий на заданное количество иерархических наборов, и
генерирования заданного количества видеопотоков, имеющих кодированные данные изображения картинки в каждом из поделенных иерархических наборов;
передающий блок, выполненный с возможностью передачи контейнера, содержащего сгенерированное заданное количество видеопотоков в заданном формате; и
блок вставки информации конфигурации для вставки информации конфигурации видеопотока на уровень контейнера, причем информация конфигурации видеопотока соответствует каждому из заданного количества видеопотоков, содержащихся в контейнере.
(11) Передающее устройство по (10), в котором
информация конфигурации содержит информацию, представляющую группу услуг, к которой принадлежит видеопоток.
(12) Передающее устройство по (10) или (11), в котором
информация конфигурации содержит информацию, представляющую соотношение зависимости между потоками, начиная с базового потока, имеющего кодированные данные изображения картинки в низшем иерархическом наборе.
(13) Передающее устройство по любому из (10)-(12), в котором
информация конфигурации содержит информацию, представляющую количество иерархий из множества иерархий, классифицированных блоком кодирования изображения.
(14) Передающее устройство по любому из (10)-(13),в котором
контейнер является транспортным контейнером, а блок вставки информации конфигурации выполнен с возможностью вставки, в качестве дескриптора, информации конфигурации в видеоконтур элементарного потока, расположенный в соответствии с каждым из заданного количества видеопотоков по таблице программной карты.
(15) Приемное устройство, содержащее:
приемный блок, выполненный с возможностью приема заданного количества видеопотоков, имеющих кодированные данные изображения картинки в иерархическом наборе из заданного количества иерархических наборов, причем кодированные данные изображения получены посредством классификации данных изображения картинок, образующих данные движущегося изображения, на множество иерархий, и кодирования данных изображения множества иерархий, поделенных на заданное количество иерархических наборов; и
блок обработки, выполненный с возможностью обработки принятого заданного количества видеопотоков по меньшей мере одного видеопотока из заданного количества видеопотоков, который имеет кодированные данные изображения картинки в низшем иерархическом наборе, и кодирования так, что интервал декодирования каждой картинки является регулярным интервалом.
(16) Приемное устройство по (15), в котором
заданное количество видеопотоков кодируют так, что момент декодирования кодированных данных изображения картинки в иерархическом наборе, более высоком, чем низший иерархический набор, является средним значением моментов декодирования кодированных данных изображения картинок во всех иерархических наборах ниже указанного иерархического набора.
(17) Приемное устройство, содержащее:
приемный блок, выполненный с возможностью приема заданного количества видеопотоков, имеющих кодированные данные изображения картинки в иерархическом наборе из заданного количества иерархических наборов, причем кодированные данные изображения получают посредством классификации данных изображения картинок, образующих данные движущегося изображения, на множество иерархий, и кодирования данных изображения множества иерархий, поделенных на заданное количество иерархических наборов; и
блок декодирования изображения, выполненный с возможностью
выборочного взятия кодированных данных изображения картинки в иерархии, равной или ниже заданной иерархии, в зависимости от возможности декодирования, в буфере из заданного количества видеопотоков, содержащихся в принятом контейнере;
декодирования кодированных данных изображения картинки, взятой в буфере; и
получения данных изображения картинки в иерархии, равной или более низкой, чем заданная иерархия по меньшей мере одного видеопотока из заданного количества видеопотоков, имеющих кодированные данные изображения картинки в низшем иерархическом наборе, кодирования так, что интервал декодирования каждой картинки является регулярным интервалом.
(18) Приемное устройство по (17), в котором
информацию идентификации для идентификации того, является ли каждый видеопоток из заданного количества видеопотоков базовым потоком, имеющим кодированные данных изображения картинки в низшем иерархическом наборе, или улучшенным потоком, имеющим кодированные данные изображения картинки в иерархическом наборе, более высоком, чем низший иерархический набор, вставляют на уровень контейнера, и
блок декодирования изображения выполнен с возможностью взятия кодированных данных изображения картинки в заданном иерархическом наборе, в зависимости от возможности декодирования в буфере, из заданного количества видеопотоков, содержащих базовый поток, основываясь на информации идентификации, и декодирует их.
(19) Приемное устройство по (17) или (18), в котором
когда кодированные данные изображения картинки в заданном иерархическом наборе содержатся во множестве видеопотоков, блок декодирования изображения выполнен с возможностью декодирования кодированных данных изображения каждой картинки как один поток, основываясь на информации о моменте декодирования.
(20) Приемное устройство по любому из (17)-(19), в котором
блок последующей обработки выполнен с возможностью согласования частоты кадров данных изображения каждой картинки, полученной в блоке декодирования изображения, с возможностью отображения.
Основные признаки настоящей технологии состоят в том, чтобы позволять приемнику непрерывно и без усилий выполнять процесс декодирования кодированных данных изображения каждой картинки, если приемник имеет способность декодирования для обработки кодированных данных изображения картинок множества иерархий, содержащихся в низшем иерархическом наборе, выполняя декодирование таким образом, что, по меньшей мере, интервал декодирования кодированных данных изображения картинки в низшем иерархическом наборе является регулярным интервалом (смотрите фиг. 8, фиг. 11).
Кроме того, основные признаки настоящей технологии состоят в том, чтобы выборочно и без усилий декодировать базовый поток, например, только посредством приемника, используя информацию идентификации для идентификации, является ли каждый поток из заданного количества видеопотоков базовым потоком или улучшенным потоком, вставляя информацию идентификации на уровень транспортного потока TS (смотрите фиг. 20, фиг. 23).
Кроме того, основные признаки настоящей технологии являются такими, чтобы позволить легко знать, к какой группе принадлежит видеопоток, содержащийся в транспортном потоке TS, какое существует соотношение зависимости между потоками, каково количество иерархий при иерархическом кодировании и т.п., вставляя информацию конфигурации видеопотока, соответствующую каждому из заданного количества видеопотоков, содержащихся в транспортном потоке TS на уровне транспортного потока TS (фиг. 20, фиг. 23).
Описание ссылочных позиций
10 Передающая/приемная система
100 Передающее устройство
101 Центральный процессор
102 Кодер
103 Буфер сжатых данных (cpb)
104 Мультиплексор
105 Передающий блок
121 Блок генерирования временного идентификатора
122 Контроллер задержки буфера
123 Блок установки HRD
124 Блок установки параметров/кодирования SEI
125 Блок кодирования среза
126 Блок пакетирования NAL
142 Блок кодирования секции
143-1-143-N Блок пакетирования PES
144 Переключающий блок
145 Блок транспортного пакетирования
200 Приемное устройство
201 Центральный процессор
202 Приемный блок
203 Демультиплексор
204 Буфер сжатых данных (cpb)
205 Декодер
206 буфер несжатых данных (dpb).
207 Блок последующей обработки
231 Блок извлечения поля адаптации TS
232 Блок извлечения информации тактового сигнала
233 Блок извлечения полезной нагрузки TS
234 Блок извлечения секции
235 Блок извлечения таблицы PSI/дескриптора
236 Блок извлечения пакета PES
237 Блок извлечения заголовка PES
238 Блок извлечения временной отметки
240 Блок извлечения полезной нагрузки PES
241 Блок конфигурации потока
251 Блок анализа временного идентификатора
252 Блок выбора целевой иерархии
253 Блок объединения потоков
254 Блок декодирования
271 Блок интерполяции
272 Блок подвыборки
273 Переключающий блок