СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, СПОСОБ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, УСТРОЙСТВО КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, УСТРОЙСТВО ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И УСТРОЙСТВО КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ Российский патент 2018 года по МПК H04N19/174 H04N19/70 

Описание патента на изобретение RU2653236C2

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

[0001] Настоящее изобретение относится к способу кодирования изображения для кодирования изображения и способу декодирования изображения для декодирования изображения.

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

[0002] Большинство текущих стандартизированных алгоритмов видеокодирования основаны на гибридном видеокодировании. В способах гибридного видеокодирования используются несколько разных схем сжатия без потерь и сжатия с потерями, чтобы достигнуть желаемого коэффициента сжатия. Гибридное видеокодирование также является основой для стандартов ITU-T (стандарты Н.26х, такие как Н.261, Н.263), а также стандартов ISO/IEC (стандарты MPEG-X, такие как MPEG 1, MPEG 2 и MPEG 4).

[0003] Наиболее новым и усовершенствованным стандартом видеокодирования в настоящее время является стандарт, обозначаемый как усовершенствованное видеокодирование (AVC) H.264/MPEG-4. Это результат работ по стандартизации Объединенной команды по видеокодированию (JVT), объединенной команды исследовательских групп ITU-T и MPEG ISO/IEC.

[0004] Кроме того, стандарт видеокодирования, называемый высокоэффективным видеокодированием (HEVC), рассматривает Совместная команда по видеокодированию (JCT-VC) с конкретной целью улучшения эффективности относительно видеокодирования с высокой разрешающей способностью.

Список литературы

Непатентная литература

[0005] Непатентная литература 1: Gordon, et al., "Wavefront Parallel Processing for HEVC Encoding and Decoding", JCTVC-F274-V2, from the Meeting in Torino, July 2011, Internet: http://phenix.int-evry.fr.

Непатентная литература 2: Fuldseth, et al., "Tiles", JCTVC-F355-vl, from the Meeting in Torino, July 2011, Internet: http://phenix.int-evry.fr.

Непатентная литература 3: JCTVC-J1003_d7, "High efficiency video coding (HEVC) text specification draft 8", July 2012, page 73, "dependent_slice_flag", Internet: http://phenix.IT-sudparis.eu/j ct/

Сущность изобретения

Техническая проблема

[0006] Однако существует проблема, состоящая в том, что способ кодирования изображения, способ декодирования изображения и т.п. не имеют достаточной эффективности обработки.

[0007] Таким образом, настоящее изобретение обеспечивает способ кодирования изображения и способ декодирования изображения, которые способны увеличить эффективность обработки.

Решение проблемы

[0008] Способ кодирования изображения в соответствии с аспектом настоящего изобретения представляет собой способ кодирования изображения для выполнения обработки кодирования посредством разделения картинки на множество слайсов (вырезок), способ кодирования изображения содержит передачу битового потока, который включает в себя: флаг разрешения зависимого слайса, указывающий, включает ли в себя картинка зависимый слайс, над которым выполняется обработка кодирования в зависимости от результата обработки кодирования, выполненного над слайсом, отличающимся от текущего слайса; адрес слайса, указывающий начальную позицию текущего слайса; и указание зависимости, указывающее, является ли текущий слайс зависимым слайсом, при этом флаг разрешения зависимого слайса расположен в наборе параметров, общем для слайсов, адрес слайса расположен в заголовке текущего слайса, и указание зависимости расположено в заголовке слайса и расположено перед адресом слайса и после синтаксического элемента, идентифицирующего набор параметров.

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

[0010] Общие и частные аспекты, раскрытые выше, могут быть реализованы с использованием системы, способа, интегральной схемы, компьютерной программы или считываемого компьютером носителя записи, такого как компакт-диск (CD-ROM), или любой комбинации систем, способов, интегральных схем, компьютерных программ или считываемых компьютером носителей записи.

Благоприятные эффекты изобретения

[0011] Способ кодирования изображения и способ декодирования изображения в соответствии с настоящим изобретением способны увеличить эффективность кодирования.

Краткое описание чертежей

[0012] Эти и другие цели, преимущества и признаки раскрытия станут очевидны из их последующего описания, которое совместно с прилагаемыми чертежами иллюстрирует конкретный вариант осуществления настоящего изобретения.

Фиг. 1 - блок-схема, показывающая пример кодера, соответствующего стандарту HEVC.

Фиг. 2 - блок-схема, показывающая пример декодера, соответствующего стандарту HEVC.

Фиг. 3 - схема, показывающая пример конфигурации изображения при волновой параллельной обработке (WPP).

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

Фиг. 5 - схема, показывающая пример заголовка пакета.

Фиг. 6 - схема, показывающая пример заголовка слайса из энтропийного слайса или зависимого слайса.

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

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

Фиг. 9А - схема, показывающая пример реализации синтаксиса зависимостей между уровнями, временных зависимостей и зависимостей между слайсами в стандарте НМ8.0.

Фиг. 9В - схема для объяснения этапов анализа, которые должны быть выполнены для анализа зависимостей между уровнями в стандарте НМ8.0.

Фиг. 9С - схема для объяснения этапов анализа, которые должны быть выполнены для анализа зависимостей между уровнями в стандарте НМ8.0.

Фиг. 10 - схема, показывающая пример позиции флага dependent_slice_flag.

Фиг. 11 - схема, показывающая пример синтаксиса, когда условие анализа относительно флага dependent_slice_enabled_flag на фиг. 10 удалено.

Фиг. 12 - схема, показывающая пример синтаксиса, когда флаг dependent_slice_flag перемещен перед флагом first_slice_in_pic_flag.

Фиг. 13 - схема, показывающая пример синтаксиса, когда флаг dependent_slice_flag перемещен перед синтаксическим элементом slice_address.

Фиг. 14 - схема, показывающая пример синтаксиса, когда флаг dependenteslice_flag перемещен в заголовке NAL.

Фиг. 15 - схема, показывающая пример синтаксиса заголовка слайса зависимого слайса, когда к типам элемента NAL добавлен новый тип, используемым для зависимых слайсов.

Фиг. 16 - схема, показывающая пример синтаксиса заголовка слайса и заголовка элемента NAL, когда предполагается, что флаг dependent_slice_flag установлен равным 1 для некоторых типов элементов NAL (NALU).

Фиг. 17 показывает общую конфигурацию системы обеспечения контента для реализации службы распространения контента.

Фиг. 18 показывает общую конфигурацию системы цифрового вещания.

Фиг. 19 показывает блок-схему, иллюстрирующую пример конфигурации телевизора.

Фиг. 20 показывает блок-схему, иллюстрирующую пример конфигурации блока воспроизведения/записи информации, который считывает информацию с носителя записи и записывает информацию на носитель записи, являющийся оптическим диском.

Фиг. 21 показывает пример конфигурации носителя записи, являющегося оптическим диском.

Фиг. 22А показывает пример сотового телефона.

Фиг. 22В - блок-схема, показывающая пример конфигурации сотового телефона.

Фиг. 23 иллюстрирует структуру мультиплексированных данных.

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

Фиг. 25 более подробно показывает, каким образом видеопоток сохранен в потоке пакетов PES.

Фиг. 26 показывает структуру пакетов TS и пакетов источника в мультиплексированных данных.

Фиг. 27 показывает структуру данных таблицы РМТ.

Фиг. 28 показывает внутреннюю структуру информации мультиплексированных данных.

Фиг. 29 показывает внутреннюю структуру информации атрибутов потока.

Фиг. 30 показывает этапы для идентификации видеоданных.

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

Фиг. 32 показывает конфигурацию для переключения между частотами возбуждения.

Фиг. 33 показывает этапы для идентификации видеоданных и переключения между частотами возбуждения.

Фиг. 34 показывает пример таблицы поиска, в которой стандарты, видеоданных соответствуют частотам возбуждения.

Фиг. 35А - схема, показывающая пример конфигурации для совместного использования модуля блока обработки сигналов.

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

Описание вариантов осуществления

[0013] (Базовые знания для настоящего раскрытия)

Относительно способа кодирования изображения и способа декодирования изображения, описанных в разделе "Уровень техники", авторы изобретения обнаружили следующую проблему.

[0014] Сначала будут описаны устройство кодирования изображения и устройство декодирования изображения в стандарте HEVC.

[0015] Видеосигнал, введенный в устройство кодирования изображения, является последовательностью изображений, называемых кадрами (картинками). Каждый кадр включает в себя двухмерную матрицу пикселей. Все упомянутые выше стандарты, основанные на гибридном видеокодировании, включают в себя разделение каждого отдельного видеокадра на меньшие блоки, включающие в себя множество пикселей. Размер блоков может изменяться, например, в соответствии с содержимым изображения. Способ кодирования обычно может различаться для каждого блока. Самый большой размер для такого блока, например, в стандарте HEVC составляет 64×64 пикселя. Он называется наибольшим элементом кодирования (LCU). Элемент LCU может быть рекурсивно разделен на 4 элемента CU.

[0016] В стандарте H.264/MPEG-4 AVC макроблок (обычно обозначающий блок размером 16×16 пикселей) является основным элементом изображения, для которого выполняется кодирование. Макроблок может быть далее разделен на меньшие подблоки. Этапы кодирования, включенные в способ кодирования, и/или этапы декодирования, включенные в способ декодирования, выполняются для каждого подблока.

[0017] [1-1. Гибридное видеокодирование]

Далее в простой форме описано гибридное видеокодирование.

[0018] Как правило, этапы кодирования гибридного видеокодирования включают в себя пространственное и/или временное предсказание (предсказание в пространстве и/или предсказание во времени). В соответствии с этим каждый блок, который должен быть кодирован, сначала предсказывается с использованием либо блоков в его пространственном окружении, либо блоков в его временном окружении, то есть на основе ранее кодированных видеокадров. Затем вычисляется разностный блок, который является разностью между блоком, который должен быть кодирован, и результатом его предсказания. Затем разностный блок преобразовывается из пространственной (пиксельной) области в частотную область. Преобразование нацелено на уменьшение корреляции входного блока.

[0019] Далее, коэффициенты преобразования, полученные из преобразования, подвергаются квантованию. Это квантование является (необратимым) сжатием с потерями. Обычно значения сжатых коэффициентов преобразования дополнительно подвергаются сжатию без потерь посредством энтропийного кодирования. Кроме того, вместе с кодированным видеосигналом кодируется и обеспечивается вспомогательная информация, необходимая для воссоздания кодированного видеосигнала. Например, это информация о пространственном предсказании, временном предсказании и/или квантовании.

[0020] [1-2. Конфигурация устройства кодирования изображения]

Фиг. 1 является примером типичного устройства кодирования изображения стандарта H.264/MPEG-4 AVC и/или HEVC (кодер 100).

[0021] Как показано на фиг. 1, кодер 100 включает в себя блок 105 вычитания, блок 110 преобразования, блок 120 квантования, блок 130 обратного преобразования, блок 140 суммирования, фильтр 150 удаления блочности, адаптивный контурный фильтр 160, память 170 кадров, блок 180 предсказания и энтропийный кодер 190.

[0022] Блок 180 предсказания получает сигнал s2 предсказания посредством временного предсказания или пространственного предсказания. Тип предсказания, используемого в блоке 180 предсказания, может различаться для каждого кадра или для каждого блока. Временное предсказание называется интерпредсказанием, и пространственное предсказание называется интрапредсказанием. Кодирование, использующее сигнал s2 предсказания посредством временного предсказания, называется интеркодированием, и кодирование, использующее сигнал s2 предсказания посредством пространственного предсказания, называется интракодированием. При получении сигнала предсказания с использованием временного предсказания используются кодированные изображения, сохраненные в памяти. При получении сигнала предсказания с использованием пространственного предсказания используется значение граничного пикселя кодированного или декодированного соседнего блока, сохраненного в памяти. Количество направлений предсказания в интрапредсказании зависит от размера элемента кодирования (CU). Следует отметить, что подробности предсказания будут описаны позже.

[0023] Блок 105 вычитания сначала определяет разность (сигнал е ошибки предсказания) между текущим блоком, который должен быть кодирован, входного изображения (=входной сигнал s1) и соответствующим блоком предсказания (=сигнал s2 предсказания). Разность используется для предсказания текущего блока, который должен быть кодирован. Следует отметить, что сигнал е ошибки предсказания также называется разностным сигналом предсказания.

[0024] Блок 110 преобразования преобразовывает сигнал е ошибки предсказания в коэффициенты. Обычно блок 110 преобразования использует ортогональное преобразование, такое как двухмерное дискретное косинусное преобразование (DCT) или его целочисленная версия. Ортогональное преобразование может значительно уменьшить корреляцию входного сигнала s1 (видеосигнала до кодирования). После преобразования низкочастотные компоненты обычно являются более важными для качества изображения, чем высокочастотные компоненты, таким образом, может быть потрачено больше битов для кодирования низкочастотных компонентов, чем высокочастотных компонентов.

[0025] Блок 120 квантования выполняет квантование коэффициентов и получает квантованные коэффициенты.

[0026] Энтропийный кодер 190 выполняет энтропийное кодирование над квантованными коэффициентами. Посредством энтропийного кодирования квантованные коэффициенты подвергаются сжатию без потерь. Кроме того, посредством энтропийного кодирования объем данных, сохраненный в памяти, и объем данных (битовый поток), который должен быть передан, могут быть дополнительно уменьшены. Энтропийное кодирование выполняется, главным образом, посредством применения кодирования с использованием кодового слова с переменной длиной. Длина кодового слова выбирается на основе вероятности его появления.

[0027] Энтропийный кодер 190 преобразовывает двухмерную матрицу квантованных коэффициентов в одномерный массив. Как правило, энтропийный кодер 190 выполняет это преобразование посредством так называемого зигзагообразного сканирования. Зигзагообразное сканирование начинается с коэффициента DC в верхнем левом углу двухмерного массива и выполняет сканирование двухмерного массива в предопределенной последовательности, заканчивающейся коэффициентом АС в правом нижнем углу. Энергия обычно концентрируется в левой верхней части двухмерной матрицы коэффициентов. Обычно, когда коэффициенты расположены в верхнем левом углу, они являются коэффициентами низкочастотной компоненты. Когда коэффициенты расположены в правом нижнем углу, они являются коэффициентами высокочастотной компоненты. Таким образом, зигзагообразное сканирование в результате дает массив, в котором последние значения обычно являются последовательно множеством единиц или нулей. Это позволяет выполнять эффективное кодирование с использованием кодов длин серий в качестве части фактического энтропийного кодирования или до него.

[0028] Стандарты H.264/MPEG-4 AVC и HEVC используют разные типы энтропийного кодирования. Хотя некоторые синтаксические элементы кодируются с фиксированной длиной, большинство синтаксических элементов кодируется с помощью кодов с переменной длиной. В частности, среди синтаксисов для кодирования сигналов ошибки предсказания (разностных сигналов предсказания) используются контекстно-адаптивные коды с переменной длиной (САВАС). Обычно для кодирования других синтаксических элементов используются различные другие целочисленные коды, отличающиеся от контекстно-адаптивных кодов с переменной длиной. Однако может использоваться контекстно-адаптивное двоичное арифметическое кодирование.

[0029] Коды с переменной длиной позволяют выполнять сжатие без потерь кодированного битового потока. Однако, поскольку кодовые слова имеют переменную длину, декодирование должно выполняться последовательно над кодовыми словами. Другими словами, невозможно кодировать или декодировать кодовые слова до кодирования или декодирования предыдущих кодовых слов без перезапуска (инициализации) энтропийного кодирования или без отдельного указания позиции кодового слова (начальной точки), с которой следует начать при декодировании.

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

[0031] Энтропийный кодер 109 передает стороне декодера битовый поток, включающий в себя кодированные квантованные коэффициенты (кодированные видеосигналы) и кодированную вспомогательную информацию.

[0032] Стандарты H.264/MPEG-4 и H.264/MPEG-4 AVC, а также стандарт HEVC включают в себя два функциональных уровня, уровень видеокодирования (VCL) и уровень сетевой абстракции (NAL). Уровень VCL обеспечивает описанную выше функциональность кодирования. Уровень NAL инкапсулирует информационный элементы в стандартизированные элементы, называемые элементами NAL, в соответствии с их последующим применением, например, передачей по каналу или сохранением в устройстве хранения. Информационные элементы, инкапсулированные посредством уровня NAL, например, представляют собой (1) закодированный сигнал ошибки предсказания (сжатые видеоданные) или (2) другую информацию, необходимую для декодирования видеосигнала, такую как тип предсказания, параметр квантования, векторы движения и т.д. Существуют элементы NAL уровня VCL, содержащие сжатые видеоданные и соответствующую информацию, а также элементы не уровня VCL, инкапсулирующие дополнительные данные, такие как набор параметров, относящихся ко всей последовательности видеокадров, или вспомогательная информация улучшения (SEI), предоставляющая дополнительную информацию, которая может использоваться для улучшения выполнения декодирования.

[0033] Некоторые элементы NAL не уровня VCL включают в себя, например, наборы параметров. Набор параметров является набором параметров, относящихся к кодированию и декодированию некоторой части последовательности видеокадров. Например, существует набор параметров последовательности (SPS), который включает в себя параметр, относящийся к кодированию и декодированию всей последовательности изображений. В частности, набор параметров последовательности является синтаксической структурой, включающей в себя синтаксические элементы. В частности, синтаксические элементы применяются к нулю или более из всех кодированных последовательностей видеокадров, как определено содержимым элемента seq_parameter_set_id. seq_parameter_set_id является синтаксическим элементом, включенным в набор параметров изображения (описано ниже), на которое ссылается элемент pic_parameter_set_id. pic_parameter_set_id является синтаксическим элементом, включенным в каждый заголовок слайса.

[0034] Набор параметров изображения (PPS) является набором параметров, который определяет параметры, применяемые к кодированию и декодированию изображения последовательности изображений (последовательности видеокадров). В частности, набор PPS является синтаксической структурой, включающей в себя синтаксические элементы. Синтаксические элементы применяются к нулю или более из всех кодированных изображений, как определено элементом pic_parameter_set_id, который является синтаксическим элементом, находящимся в каждом заголовке слайса.

[0035] В соответствии с этим более просто отслеживать набор SPS, чем наборы PPS. Это вызвано тем, что набор PPS изменяется для каждого изображения, тогда как набор SPS является постоянным для всей последовательности видеокадров, которая может длиться несколько минут или даже часов.

[0036] Кодер 100 включает в себя блок воссоздания (так называемый блок декодирования), который получает воссозданный сигнал (так называемый декодированный сигнал) s3. С помощью блока воссоздания воссозданное изображение, полученное посредством воссоздания (декодирования) кодированного изображения, формируется и сохраняется в памяти 170 кадров.

[0037] Блок воссоздания включает в себя блок 130 обратного преобразования, блок 140 суммирования, фильтр 150 удаления блочности и адаптивный контурный фильтр 160.

[0038] Блок 130 обратного преобразования в соответствии с описанными выше этапами кодирования выполняет обратное квантование и обратное преобразование. Следует отметить, что сигнал е' ошибки предсказания, полученный из блока 130 обратного преобразования, отличается от сигнала е ошибки предсказания вследствие погрешности квантования, называемой также шумом квантования.

[0039] Блок 140 суммирования получает воссозданный сигнал s' посредством добавления воссозданного сигнала е' ошибки предсказания, воссозданного блоком 130 обратного преобразования, к сигналу s2 предсказания.

[0040] Фильтр 150 удаления блочности выполняет обработку фильтра удаления блочности для уменьшения шума квантования, который накладывается на воссозданный сигнал s' вследствие квантования. При этом, поскольку описанные выше этапы кодирования выполняются для каждого блока, существует случай, в котором граница блока является видимой, когда наложен шум (характеристики блочности шума). Наложенный шум называется шумом блочности. В частности, когда блоком 120 квантования выполнено сильное квантование, в воссозданном изображении (декодированном изображении) имеются более видимые границы блоков. Такой шум блочности имеет отрицательный эффект на визуальное восприятие человека, и это означает, что человек чувствует ухудшение качества изображения. Чтобы уменьшить шум блочности, фильтр 150 удаления блочности выполняет обработку фильтра удаления блочности над каждым воссозданным сигналом s' (воссозданным блоком).

[0041] Например, при обработке фильтра удаления блочности стандарта Н.264/MPEG-4 AVC для каждой области выбирается подходящая обработка фильтра. В случае высокой степени шума блочности применяется сильный. (узкополосный) низкочастотный фильтр, тогда как для низкой степени шума блочности применяется более слабый (широкополосный) низкочастотный фильтр. Сила низкочастотного фильтра определяется сигналом е2 предсказания и сигналом е1 ошибки предсказания. Обработка фильтра удаления блочности в целом сглаживает края блока. Это приводит к улучшенному субъективному качеству изображения декодированных сигналов. Отфильтрованное изображение используется для предсказания с компенсацией движения следующего изображения. Поскольку обработка фильтра также уменьшает ошибки предсказания, эффективность кодирования может быть улучшена.

[0042] Адаптивный контурный фильтр 160 применяет обработку адаптивного к отсчету смещения (SAO) и/или обработку адаптивного контурного фильтра (ALF) к воссозданному изображению s'' после обработки фильтра удаления блочности в фильтре 150 удаления блочности для получения воссозданного сигнала (декодированного сигнала) S3.

[0043] Обработка фильтра удаления блочности в фильтре 150 удалении блочности нацелена на улучшение субъективного качества. Между тем обработка ALF и обработка SAO в адаптивном контурном фильтре 160 нацелены на улучшение пиксельной точности ("объективного" качества). Обработка SAO используется для добавления значения смещения к пиксельному значению для каждого пикселя с использованием пиксельного значения непосредственно соседнего пикселя. Обработка ALF используется для компенсации искажения изображения, вызванного сжатием. Как правило, фильтр, используемый при обработке ALF, является фильтром Винера с коэффициентами фильтра, определенными таким образом, что среднеквадратическая погрешность (MSE) между воссозданным сигналом s' и входным сигналом si минимизирована. Коэффициенты фильтра обработки ALF вычисляются и передаются, например, для каждого кадра. Обработка ALF может быть применена ко всему кадру (изображению) или к локальным областям (блокам). Вспомогательная информация, указывающая, какие области должны быть отфильтрованы, может быть передана для каждого блока, для каждого кадра или для каждого дерева квадрантов.

[0044] Память 170 кадров (буфер кадров) сохраняет часть кодированного и воссозданного (декодированного) изображения (воссозданного сигнала s3). Сохраненное воссозданное изображение используется для декодирования интеркодированного блока.

[0045] Блок 180 предсказания получает сигнал s2 предсказания с использованием (того же самого) сигнала, который может использоваться и на стороне кодера, и на стороне декодера, чтобы поддержать совместимость между стороной кодера и стороной декодера. Сигнал, который может использоваться и на стороне кодера, и на стороне декодера, является воссозданным сигналом S3 (видеосигналом после обработки адаптивным контурным фильтром 160) на стороне кодера, который кодирован и затем воссоздан (декодирован), и воссозданным сигналом s4 (видеосигналом после обработки адаптивным контурным фильтром на фиг. 2) на стороне декодера, который декодирован из битового потока.

[0046] Блок 180 предсказания при формировании сигнала s2 предсказания посредством интеркодирования выполняет предсказание с использованием предсказания с компенсацией движения. Блок оценки движения блока 180 предсказания (не проиллюстрирован) находит наилучший соответствующий блок для текущего блока из блоков в пределах ранее кодированных и воссозданных видеокадров. Наиболее соответствующий блок затем становится сигналом предсказания. Относительное смещение (движение) между текущим блоком и его наиболее соответствующим блоком затем сообщается как данные движения, включенные во вспомогательную информацию, в виде трехмерных векторов движения. Сигнал передается вместе с кодированными видеоданными. Трехмерный вектор движения включает в себя два вектора движения пространственной размерности и один вектор движения временной размерности. Чтобы оптимизировать точность предсказания, векторы движения могут быть определены с пространственным субпиксельным разрешением, например, с разрешением в половину пикселя или с разрешением в четверть пикселя. Вектор движения с пространственным субпиксельным разрешением может указывать пространственную позицию в пределах уже воссозданного кадра, в которой нет реального доступного пиксельного значения, то есть субпиксельную позицию. Следовательно, необходима пространственная интерполяция таких пиксельных значений, чтобы выполнить предсказание с компенсацией движения. Это может быть достигнуто посредством фильтра интерполяции (интегрированного в пределах блока 180 предсказания на фиг. 1).

[0047] [1-3. Конфигурация устройства декодирования изображения]

Конфигурация декодера (устройства декодирования изображения) будет описана со ссылкой на фиг. 2.

[0048] Фиг. 2 является блок-схемой, показывающей пример декодера 200 в соответствии со стандартом видеокодирования Н.264/MPEG-4 AVC или HEVC.

[0049] Как показано на фиг. 2, декодер 200 включает в себя энтропийный декодер 290, блок 230 обратного преобразования, блок 240 суммирования, фильтр 250 удаления блочности, адаптивный контурный фильтр 260, память 270 кадров и блок 280 предсказания.

[0050] Битовый поток, введенный в декодер 200 (закодированный видеосигнал), сначала передается энтропийному декодеру 290.

[0051] Энтропийный декодер 290 извлекает кодированные квантованные коэффициенты из битового потока и кодированную вспомогательную информацию и декодирует кодированные квантованные коэффициенты и кодированную вспомогательную информацию. Вспомогательная информация, как описано выше, является информацией, необходимой для декодирования, такой как данные движения (вектор движения) и режим предсказания (тип предсказания).

[0052] Энтропийный декодер 290 преобразовывает декодированные квантованные коэффициенты в одномерном массиве в квантованные коэффициенты в двухмерном массиве посредством обратного сканирования. Энтропийный декодер 290 вводит квантованные коэффициенты в блок 230 обратного преобразования после того, как преобразовал их в двухмерный массив.

[0053] Блок 230 обратного преобразования выполняет обратное квантование и обратное преобразование над квантованными коэффициентами, преобразованными в двухмерный массив, для получения сигнала е' ошибки предсказания. Сигнал е' ошибки предсказания соответствует разностям, полученным посредством вычитания сигнала предсказания из сигнала, введенного в кодер, в случае, когда не внесен шум квантования и не возникла ошибка.

[0054] Блок 280 предсказания получает сигнал s2 предсказания посредством временного предсказания или пространственного предсказания. Такая информация, как тип предсказания, включенный во вспомогательную информацию, используется в случае интрапредсказания (пространственное предсказание). Кроме того, такая информация, как данные движения, включенные во вспомогательную информацию, используется в случае предсказания с компенсацией движения (интерпредсказание, временное предсказание).

[0055] Блок 240 суммирования складывает сигнал е' ошибки предсказания, полученный от блока 230 обратного преобразования 230, и сигнал е2 предсказания, полученный из блока 280 предсказания, для получения воссозданного сигнала s'.

[0056] Фильтр 250 удаления блочности выполняет обработку фильтра удаления блочности над воссозданным сигналом s'. Адаптивный контурный фильтр 260 применяет обработку SAO и обработку ALF к воссозданному сигналу s'', к которому применена обработка фильтра 250 удаления блочности. Декодированный сигнал S4, полученный из применения обработки SAO и обработки ALF в адаптивном контурном фильтре 260, сохраняется в памяти 270 кадров. Декодированный сигнал S4, сохраненный в памяти 270 кадров, используется в блоке 280 предсказания для предсказания следующего текущего блока, который должен быть декодирован, или текущего изображения, которое должно быть декодировано.

[0057] [1-4. Эффективность обработки]

Обычно параллелизм обработки рассматривается для увеличения эффективности обработки кодирования и обработки декодирования.

[0058] По сравнению со стандартом H.264/MPEG-4 AVC стандарт HEVC имеет функцию для поддержки параллельной обработки высокого уровня (обработка с распараллеливанием) кодирования и декодирования. В стандарте HEVC возможно разделить кадр на слайсы, так же как в стандарте H.264/MPEG-4 AVC. При этом слайсы являются группами элементов LCU в порядке сканирования. В стандарте Н.264/MPEG-4 AVC слайсы могут быть декодированы независимо, и никакое пространственное предсказание между слайсами не применяется. Таким образом, параллельная обработка может быть выполнена для каждого слайса.

[0059] Однако, поскольку слайсы обладают значительно большими заголовками и отсутствуют зависимости между слайсами, эффективность сжатия уменьшается. Кроме того, кодирование САВАС теряет эффективность, когда применяется к небольшим блокам данных.

[0060] Чтобы обеспечить более эффективную параллельную обработку, предложена волновая параллельная обработка (WPP). Алгоритм WPP поддерживает постоянную зависимость, которая отличается от параллельной обработки, в которой каждый из слайсов является независимым.

[0061] Последующее описание будет сделано посредством ссылки на случай, в котором изображение содержит элементы LCU, которые в этих изображениях расположены в матрице, и каждая строка элементов LCU содержит один слайс (см. фиг. 3). В алгоритме WPP среди элементов LCU, содержащих текущую строку 32 элементов LCU, в качестве вероятностной модели кодирования САВАС для сброса состояния кодирования САВАС первого элемента LCU (головного элемента LCU) используется вероятностная модель кодирования САВАС сразу после завершения обработки над вторым элементом LCU предыдущей строки 31 элемента LCU. Поддерживаются все зависимости между блоками. Это дает возможность распараллеливания декодирования строк элементов LCU. Выбор времени для начала обработки каждой строки элементов LCU задерживается на два элемента LCU относительно предыдущего. Информация о начальных точках для начала декодирования строки элемента LCU включена в заголовок слайса. Алгоритм WPP подробно описан в непатентной литературе 1.

[0062] Другой подход для улучшения распараллеливания называется фрагментами. В соответствии с этим кадр (изображение) разделяется на фрагменты. Фрагменты являются прямоугольными группами элементов LCU. Границы между фрагментами установлены таким образом, что все изображение разделено в матрице. Фрагменты обрабатываются в порядке растровой развертки.

[0063] Все зависимости разрываются на границах фрагментов. Энтропийное кодирование, такое как кодирование САВАС, также сбрасывается в начале каждого фрагмента. Только обработка фильтра удаления блочности и обработка адаптивного к отсчету смещения могут быть применены через границы фрагментов. Таким образом, фрагменты могут кодироваться и декодироваться параллельно. Фрагменты подробно описаны в непатентной литературе 2 и непатентной литературе 3.

[0064] Кроме того, чтобы улучшить концепцию слайсов и сделать ее подходящей для параллелизма, а не для устойчивости к ошибкам, что было первоначальной целью слайсов в стандарте H.264/MPEG-4 AVC, была предложена концепция зависимых слайсов и энтропийных слайсов.

[0065] Другими словами, в стандарте HEVC существует три типа поддерживаемых слайсов: (1) обычные слайсы; (2) энтропийные слайсы; и (3) зависимые слайсы.

[0066] Обычные слайсы обозначают слайсы, уже известные из стандарта Н.264/MPEG-4 AVC. Между обычными слайсами не разрешается пространственное предсказание. Другими словами, предсказание через границы слайсов не разрешается. Это означает, что обычный слайс кодирован без ссылок на какой-либо другой слайс. Чтобы обеспечить независимое декодирование таких слайсов, кодирование САВАС перезапускается в начале каждого слайса.

[0067] Когда слайс, который должен быть обработан, является обычным слайсом, перезапуск кодирования САВАС включает в себя конечную обработку арифметического кодирования или арифметического декодирования в конце предыдущего слайса и обработку инициализации контекстной таблицы (таблица вероятности) в значение по умолчанию в начале обычного слайса.

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

[0069] Термин "энтропийные слайсы" обозначает слайсы, в которых между родительским слайсом и энтропийным слайсом разрешено пространственное предсказание. Анализ родительского слайса и энтропийного слайса выполняется независимо.

[0070] Однако родительский слайс, например, является обычным слайсом сразу перед энтропийным слайсом. Родительский слайс требуется для воссоздания пиксельных значений энтропийного слайса. Чтобы обеспечить независимый анализ энтропийных слайсов, кодирование САВАС также перезапускается в начале слайса. В качестве заголовка энтропийных слайсов возможно использовать заголовок слайса, который короче, чем заголовок обычного слайса. Заголовок энтропийных слайсов включает в себя поднабор параметров кодирования относительно информации, передаваемой в заголовке обычного слайса. Недостающие элементы в заголовке энтропийного слайса копируются из заголовка родительского слайса.

[0071] Когда слайс, который должен быть обработан, является энтропийным слайсом, перезапуск кодирования САВАС аналогично случаю обычного слайса включает в себя конечную обработку в конце предыдущего слайса и обработку инициализации контекстной таблицы (таблицы вероятности) в значение по умолчанию в начале текущего слайса.

[0072] (3) Зависимый слайс подобен энтропийному слайсу, но частично отличается обработкой, в которой перезапускается кодирование САВАС.

[0073] Когда слайс, который должен быть обработан, является зависимым слайсом, и алгоритм WPP не используется, перезапуск кодирования САВАС включает в себя конечную обработку в предыдущем слайсе и обработку инициализации контекстной таблицы в значение состояния конца предыдущего слайса. Когда слайс, который должен быть обработан, является зависимым слайсом, и алгоритм WPP не используется, перезапуск кодирования САВАС включает в себя конечную обработку в предыдущем слайсе и обработку инициализации контекстной таблицы в значение состояния после обработки элемента LCU, который принадлежит предыдущему слайсу и является вторым от левого конца в начале текущего слайса.

[0074] Как описано выше, перезапуск кодирования САВАС всегда включает в себя конечную обработку. С другой стороны, при перезапуске кодирования САВАС состояние кодирования САВАС часто продлевается.

[0075] Зависимые слайсы не могут быть проанализированы без родительского слайса. Таким образом, зависимые слайсы не могут быть декодированы, когда родительский слайс не принят. Родительский слайс обычно является предыдущим слайсом зависимых слайсов в порядке кодирования, и слайсом, который включает в себя полный заголовок слайса. То же самое относится к родительскому слайсу энтропийного слайса.

[0076] Как описано выше, зависимые энтропийные слайсы используют заголовок слайса (в частности, информацию заголовка слайса, которая отсутствует в заголовке зависимого слайса) непосредственно предыдущего слайса в соответствии с порядком кодирования слайсов. Это правило применяется рекурсивно. Родительский слайс, от которого зависит текущий зависимый слайс, распознается как доступный для ссылки. Ссылка включает в себя использование пространственного предсказания между слайсами, совместное использование состояний кодирования САВАС и т.п. Зависимый слайс использует контекстные таблицы кодирования САВАС, которые сформированы в конце непосредственно предыдущего слайса. Таким образом, зависимый слайс не инициализирует таблицы кодирования САВАС в значения по умолчанию, а вместо этого продолжает использовать уже разработанные контекстные таблицы. Более подробная информация относительно энтропийных и зависимых слайсов может быть найдена в непатентной литературе 3.

[0077] Стандарт HEVC обеспечивает несколько профилей. Профиль включает в себя некоторые настройки устройства кодирования изображения и устройства декодирования изображения, подходящие для конкретного приложения. Например, "основной профиль" включает в себя только обычные и зависимые слайсы, но не энтропийные слайсы.

[0078] Как описано выше, кодированные слайсы далее инкапсулируются в элементы NAL, которые далее инкапсулируются, например, в протокол реального времени (RTP) и, наконец, в пакеты протокола Интернета (IP). Либо этот, либо другие стеки протоколов обеспечивают возможность передачи кодированного видео в пакетных сетях, таких как Интернет или некоторые проприетарные сети.

[0079] Сети обычно включают в себя по меньшей мере один или несколько маршрутизаторов, которые используют специальное оборудование, работающее очень быстро. Функция маршрутизатора состоит в приеме пакетов IP, анализе их заголовков пакетов IP и пересылке пакетов IP их соответствующим адресам назначения. Поскольку маршрутизаторы должны обрабатывать трафик из многих источников, логическая схема обработки пакетов должна быть максимально простой. Минимальное требование для маршрутизатора состоит в проверке поля адреса назначения в IP-заголовке, чтобы определить, какой маршрут выбрать для их пересылки. Чтобы обеспечить дополнительную поддержку качества обслуживания (QoS), интеллектуальные (осведомленные о среде) маршрутизаторы дополнительно проверяют специализированные поля в заголовках сетевого протокола, таких как IP-заголовок, RTP-заголовок и даже заголовок элемента NAL.

[0080] Как можно видеть из приведенного выше описания видеокодирования, разные типы слайсов, определенных в целях параллельной обработки, такие как зависимые слайсы и энтропийные слайсы, имеют разное значение относительно искажения качества при их повреждении. В частности, зависимые слайсы не могут быть проанализированы и декодированы без родительского слайса. Это вызвано тем, что в начале зависимого слайса энтропийный кодер или декодер не может быть перезапущен. В соответствии с этим родительский слайс является более важным для восстановления изображения или видео.

[0081] В стандарте HEVC зависимые и энтропийные слайсы вносят дополнительную размерность зависимости, а именно, зависимость между слайсами (зависимость в пределах кадра). Этот вид зависимости не учитывается маршрутизаторами.

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

[0083] (Подробные сведения о проблеме)

[1-5. Алгоритм WPP и зависимый слайс]

Зависимые слайсы могут использоваться вместе с инструментами параллельной обработки, такими как волновая параллельная обработка (WPP) и фрагменты. В частности, зависимые слайсы делают волновой фронт (подпоток) способным уменьшать задержки передачи, не вызывая потери кодирования.

[0084] Кроме того, зависимые слайсы служат начальными точками для подпотоков САВАС, поскольку кодирование САВАС не перезапускается в зависимых слайсах. Кроме того, информация, указывающая начальные точки, может быть передана в битовом потоке, чтобы обеспечить начальные точки для возможно независимого анализа. В частности, если более чем два подпотока САВАС инкапсулированы в обычном или зависимом слайсе, начальные точки сообщаются явно в виде количества байтов на подпоток. При этом подпоток обозначает часть потока, который может быть проанализирован независимо благодаря начальным точкам. Кроме того, зависимые слайсы могут использоваться в качестве "маркеров" начальных точек, поскольку каждый зависимый слайс должен иметь заголовок элемента NAL. Это означает, что начальные точки могут быть сообщены относительно таких маркеров.

[0085] Совместно используются два подхода, а именно, явное сообщение начальной точки и маркировка начальных точек через зависимые слайсы.

[0086] Как правило, начальная точка каждого элемента NAL (начало каждого заголовка NAL) должна быть идентифицируемой. Нет какого-либо требования о точной операции идентификации. Например, могут быть применены следующие два способа.

[0087] Первый способ представляет собой способ помещения начального кода (например, длиной 3 байта) в начале каждого заголовка NAL. Второй способ представляет собой способ помещения каждого элемента NAL в отдельный пакет. Вследствие зависимости слайсов размер заголовка слайса может быть уменьшен.

[0088] Что касается энтропийных слайсов, способ обеспечивает возможность параллельного анализа кодирования САВАС. Это вызвано тем, что кодирование САВАС действительно перезапускается в начале энтропийных слайсов. В случае параллельной обработки кодирования САВАС кодирование САВАС представляет узкое место, которое может быть преодолено посредством параллельного анализа кодирования САВАС, за которым следуют последовательные операции восстановления пикселей. В частности, инструмент распараллеливания алгоритма WPP обеспечивает возможность декодировать каждую строку элементов LCU одним ядром обработки (код интеллектуальной собственности (ядро IP), функциональный блок). Следует отметить, что присвоение строк элементов LCU ядрам может быть разным. Например, две строки могут быть присвоены одному ядру, и одна строка может быть присвоена двум ядрам.

[0089] Фиг. 3 является схемой, показывающей пример конфигурации изображения 300. На фиг. 3 изображение 300 разделено на строки 31-3m (m - порядковый номер элемента LCU) наибольших элементов кодирования (LCU). Каждая строка 3i (i=1, …, m) элементов LCU содержит элементы 3il-3in LCU (n - порядковый номер столбца элементов LCU), которые расположены подряд. Строка 3i элементов LCU соответствует "волновому фронту i". Параллельная обработка может быть выполнена для волновых фронтов. Стрелка состояния кодирования САВАС на фиг. 3 обозначает отношение между элементом LCU, относящимся к состоянию кодирования САВАС, и опорным адресом назначения.

[0090] В частности, на фиг. 3 сначала среди элементов LCU, включенных в строку 31 элементов LCU, обработка (кодирование или декодирование) начинается для головного элемента 311 LCU. Обработка элементов LCU выполняется в порядке от элемента 311 LCU до элемента 31n LCU. После того, как обработка первых двух элементов 311 и 312 LCU в строке 31 элементов LCU выполнена, начинается обработка строки 32 элементов LCU. При обработке первой строки 321 элементов LCU из столбца 32 элементов LCU, как показано в стрелке состояния САВАС на фиг. 3, состояние кодирования САВАС сразу после обработки элемента 312 LCU в строке 31 элементов LCU в первой строке используется в качестве начального состояния кодирования САВАС. Другими словами, между двумя параллельными обработками имеется задержка на два элемента LCU.

[0091] Фиг. 4 является схемой, показывающей пример случая, в котором используется зависимый слайс с использованием алгоритма WPP. Строки 41-43 элементов LCU соответствуют "волновому фронту 1", "волновому фронту 2" и "волновому фронту 3" соответственно. Строки 41-43 элементов LCU обрабатываются их соответствующими независимыми ядрами. На фиг. 4, строка 41 элементов LCU представляет собой обычный слайс, и строки 42-4m элементов LCU представляют собой зависимые слайсы.

[0092] Зависимые слайсы делают алгоритм WPP способным сократить задержки. Зависимые слайсы не имеют полного заголовка слайса. Кроме того, зависимые слайсы могут декодироваться независимо от других слайсов, пока известны начальные точки (или начальная точка зависимых слайсов, которая, как правило, известна, как описано выше). В частности, зависимые слайсы могут сделать алгоритм WPP подходящим также для приложений с низкой задержкой без потерь кодирования.

[0093] В обычном случае инкапсуляции подпотоков (строк элементов LCU) в слайсы является обязательным вставлять явные начальные точки в заголовок слайса для обеспечения параллельного энтропийного кодирования и декодирования. В результате слайс готов к передаче только после того, как полностью закодирован последний подпоток слайса. Заголовок слайса завершен только после того, как завершено кодирование всех подпотоков в слайсе. Это означает, что передача начала слайса не может быть начата через фрагментацию пакетов на уровне RTP/IP, пока не закончен целый слайс.

[0094] Однако, поскольку зависимые слайсы могут использоваться в качестве маркеров начальной точки, явное сообщение начальной точки не требуется. Таким образом, возможно разбить обычный слайс на несколько зависимых слайсов без потери кодирования. Зависимые слайсы могут быть переданы, как только завершено кодирование инкапсулированного подпотока (или еще раньше в случае фрагментации пакетов).

[0095] Зависимые слайсы не повреждают зависимость пространственного предсказания. Зависимые слайсы даже не повреждают зависимость анализа. Это вызвано тем, что обычно анализ текущего зависимого слайса требует состояний кодирования САВАС от предыдущего слайса.

[0096] Когда зависимые слайсы не были разрешены, тогда каждая строка элементов LCU могла быть сконфигурирована как слайс. Такая конфигурация понижает задержку передачи, но в то же время приводит к довольно высокой потере кодирования, как рассмотрено выше в разделе "Уровень техники".

[0097] В качестве альтернативы, весь кадр (изображение) инкапсулируется в единственный слайс. В этом случае начальные точки для подпотоков (строк элементов LCU) должны быть сообщены в заголовке слайса, чтобы обеспечить возможность их параллельного анализа. В результате имеется задержка передачи на уровне кадра. Другими словами, заголовок должен быть изменен после того, как кодирован весь кадр. Инкапсуляция всего изображения в единственном слайсе сама по себе не увеличивает задержку передачи. Например, передача некоторых частей слайса уже может начаться, прежде чем закончено все кодирование. Однако, если используется алгоритм WPP, то заголовок слайса должен быть изменен позже, чтобы записать начальные точки. Таким образом, передача всего слайса должна быть задержана.

[0098] Использование зависимых слайсов, таким образом, обеспечивает возможность сокращения задержки. Как показано на фиг. 4, изображение 400 разделено на строку 41 элементов LCU, которая представляет собой обычный слайс, и строки 42-4m элементов LCU, которые представляют собой зависимые слайсы. Когда каждая строка элементов LCU является одним зависимым слайсом, задержка передачи одной строки элементов LCU может быть достигнута без какой-либо потери кодирования. Это вызвано тем фактом, что зависимые слайсы не повреждают пространственной зависимости и не перезапускают механизм кодирования САВАС.

[0099] [1-6. Конфигурация пакета]

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

[0100] Фиг. 5 является схемой, показывающей пример инкапсуляции (пакетизации) битового потока.

[0101] Обычно для пакетизации используется протокол реального времени (RTP). Протокол RTP обычно используется для оперативной передачи медиапотоков. Длины заголовков соответствующих используемых протоколов в основном фиксированы. Заголовки протокола имеют поля расширения. Поля расширения могут увеличить длину заголовков на 4 байта. Например, заголовок IP может быть расширен максимум на 20 байтов. Синтаксические элементы в заголовках протокола IP, протокола пользовательских дейтаграмм (UDP) и протокола RTP также фиксированы по их длине.

[0102] Фиг. 5 демонстрирует заголовок 500 пакета, включенный в пакет IP. Заголовок пакета, показанный на фиг. 5, включает в себя заголовок 510 IP, заголовок 530 UDP, заголовок 540 RTP, заголовок 560 полезной нагрузки RTP Н264 и заголовок 570 NAL. Заголовок 510 IP является заголовком длиной 20 байтов с полем 520 расширения длиной 4 байта. Полезной нагрузкой пакета IP является пакет UDP. Пакет UDP включает в себя заголовок 530 UDP длиной 8 байтов и полезную нагрузку UDP. Полезная нагрузка UDP сформирована пакетом RTP. Пакет RTP включает в себя заголовок 540 RTP длиной начальной части 12 байтов и дополнительное поле 550 длиной 4 байтов. Пакет RTP может быть выборочно расширен посредством дополнительного поля. Полезная нагрузка пакета RTP включает в себя специальный заголовок 560 полезной нагрузки RTP Н264 длиной от 0 до 3 байтов, за которым следует заголовок 570 NAL стандарта HEVC, который составляет 2 байта в длину. Полезная нагрузка элемента NAL, включающая в себя кодированный видеопакет, следует за заголовками 500 пакета (не показано на фиг. 5).

[0103] Маршрутизаторы, которые способны обеспечивать улучшенное качество обслуживания, называются осведомленными о среде сетевыми элементами (MANE). Осведомленные о среде сетевые элементы проверяют некоторые поля заголовков пакета, показанных на фиг. 5. Например, элемент MANE называется "temporal_id" и включен в заголовок 570 NAL, или номер порядка декодирования, включенный в заголовок 540 RTP, может быть проверен для обнаружения потерь и порядка представления содержимого полученного пакета. Маршрутизаторы (сетевые элементы) обрабатывают пакеты максимально быстро, чтобы обеспечить высокую пропускную способность в сети. Требуется логическая схема для простого и быстрого получения доступа к полям в заголовках пакета, чтобы поддержать низкий уровень сложности обработки сетевого элемента.

[0104] Элемент NAL инкапсулирован посредством заголовка 500. Элемент NAL может включать в себя данные слайса, когда присутствует заголовок слайса.

[0105] Фиг. 6 является схемой, показывающей пример синтаксиса 600 заголовка слайса. Синтаксический элемент 601 dependent_slice_flag является синтаксическим элементом, указывающим, является ли слайс зависимым слайсом. Этот синтаксический элемент может использоваться для определения зависимости между слайсами. Однако заголовок слайса является содержимым элемента NAL. Анализ синтаксических элементов перед элементом 601 dependent_slice_flag требует довольно сложной логической схемы. Это уровень, который не может эффективно учитываться обычными маршрутизаторами, как будет показано ниже.

[0106] Как описано выше, элемент NAL включает в себя информацию, общую для множества слайсов, такую как набор параметров, или включает в себя непосредственно кодированные слайсы с информацией, необходимой для декодирования включенного в заголовок слайса. Синтаксис заголовка слайса, используемого для энтропийного или зависимого слайса, проиллюстрирован на фиг. 6. Фиг. 6 показывает таблицу со структурой заголовка слайса. Когда синтаксический элемент "dependent_slice_flag" установлен равным 1, требуются все слайсы вплоть до первого обычного слайса (слайса, который не является энтропийным слайсом или зависимым слайсом), предшествующие текущему слайсу в порядке декодирования. Когда слайсы не декодированы, в общем случае текущий зависимый слайс не может быть декодирован. В некоторых особых случаях, например, зависимый слайс может быть декодирован, когда доступна некоторая другая вспомогательная информация, сообщенная или полученная. Синтаксический элемент 601 dependent_slice_flag включен приблизительно в середине заголовка слайса. Кроме того, заголовок слайса включает в себя количество подпотоков САВАС в текущем слайсе, сообщенное посредством информационного элемента 602 num_entry_point_offsets, и количество байтов в подпотоке, сообщенное посредством синтаксического элемента 603 entry_point_offset [i]. При этом информационный элемент 602 num_entry_point_offsets соответствует количеству входных точек. Кроме того, i - целое число и индекс, обозначающий конкретные входные точки (смещения входных точек). Количество байтов в подпотоке, обозначенное посредством элемента 603 entry_point_offset [i], обеспечивает простую навигацию в пределах битового потока.

[0107] [1-7. Зависимость изображения]

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

[0108] Фиг. 7 является схемой, показывающей зависимости и их сообщение в случае, в котором используются только обычные слайсы, то есть нет зависимых и нет энтропийных слайсов. Фиг. 7 показывает три изображения 710, 720 и 730.

[0109] Изображение 710 является изображением базового уровня, которое передается в двух элементах NAL VCL, а именно, в элементе 1 NAL VCL и элементе 2 NAL VCL. РОС указывает порядок, в котором должны быть воспроизведены изображения. Элемент NAL VCL включает в себя синтаксический элемент, указывающий, принадлежит ли изображение базовому уровню или улучшающему уровню, и синтаксический элемент temporal_id. Синтаксический элемент, указывающий, принадлежит ли изображение базовому уровню или улучшающему уровню, передается в состоянии внутри заголовка 570 NAL заголовка 500 пакета, показанного на фиг. 5. Синтаксический элемент "temporal_id" также передается в состоянии внутри заголовка 570 NAL. Синтаксический элемент "temporal_id" указывает степень зависимости других изображений. Например, изображения или слайсы, кодированные с temporal_id=0, могут быть декодированы независимо от других изображений/слайсов, которые имеют более высокий temporal_id. Следует отметить, что в стандарте HEVC элемент temporal_id сообщается в заголовке NAL как элемент nuh_teraporal_id_plus1 (см. фиг. 9А). В частности, следующее выражение 1 может быть применено к отношению между элементом temporal_id, используемым в этих примерах, и синтаксическим элементом nuh_temporal_id_plus1.

[0110]

temporal_id=nuh_temporal_id_plus1 - 1 (Выражение 1)

[0111] Слайсы с temporal_id=l зависят от слайсов с temporal_id с более низким значением. Другими словами, значение temporal_id в этом случае равно 0. В частности, синтаксический элемент temporal_id относится к структуре предсказания изображения. В целом слайсы с конкретным значением temporal_id зависят только от слайсов с более низким или равным значением temporal_id.

[0112] В соответствии с этим сначала может быть декодировано изображение 710 на фиг. 7.

[0113] Изображение 720 является улучшающим уровнем для базового уровня изображения 710. Таким образом, существует зависимость, которая требует, чтобы изображение 720 было декодировано после декодирования, изображения 710. Изображение 720 включает в себя два элемента NAL, а именно, элемент 3 NAL VCL и элемент 4 NAL VCL. Оба изображения 710 и 720 имеют значение РОС равное 0. Это означает, что изображения 710 и 720 принадлежат одному и тому же изображению, которое будет сразу отображено. Изображения содержат базовый и улучшающий уровень.

[0114] Изображение 730 является базовым уровнем, который включает в себя два элемента NAL, а именно, элемент 5 NAL VCL и элемент 6 NAL VCL. Изображение 730 имеет значение РОС равное 1. Это означает, что изображение (часть) 730 должно быть отображено после изображений 720 и 710. Кроме того, изображение 730 имеет значение temporal_id=1. Это означает, что изображение 730 по времени зависит от изображения с temporal_id=0. В соответствии с этим, на основе зависимости, сообщенной в заголовке NAL, изображение 730 зависит от изображения 710.

[0115] Фиг. 8 является схемой, показывающей зависимости (степень зависимости) и их сообщение в случае, в котором используются зависимые слайсы и не используются энтропийные слайсы. Фиг. 8 показывает три изображения 810, 820 и 830. Фиг. 8 отличается от описанной выше фиг. 7 тем, что добавлены зависимости зависимых и энтропийных слайсов, сообщенных внутри заголовка слайса.

[0116] На фиг. 7 зависимость между уровнями показана с помощью примера изображений 710 и 720. Кроме того, временная зависимость показана в примере изображений 710 и 730. Обе эти зависимости сообщены в заголовке NAL.

[0117] Зависимость между слайсами, как показано на фиг. 8, свойственна зависимым и энтропийным слоям. В частности, кадр 810 базового уровня и кадр 820 улучшающего уровня оба имеют два слайса. Из этих двух слайсов один является родительским слайсом (обычный слайс), и другой является дочерним слайсом (зависимым слайсом). В кадре 810 слайс элемента 1 NAL VCL является родительским слайсом элемента 2 NAL VCL. В кадре 820 слайс элемента 3 NAL VCL являются родительским слайсом элемента 4 NAL VCL. Как описано выше, термин "родительский слайс" зависимого слайса относится к слайсу, от которого зависимый слайс зависит, то есть к слайсу, информация заголовка которого используется зависимым слайсом. Как правило, это первый из предыдущих слайсов, который имеет полный заголовок. Например, слайс, который имеет полный заголовок, является обычным слайсом, а не другим зависимым слайсом.

[0118] Соответствующий синтаксис заголовка элемента NAL и заголовка слайса, который в настоящее время используется в стандарте HEVC и, в частности, в стандарте НМ8.0, будет описан со ссылкой на фиг. 9А.

[0119] Фиг. 9А является схемой, показывающей синтаксис заголовка 910 элемента NAL и синтаксис заголовка 920 слайса. В частности, зависимости между уровнями запланированы (в текущей стандартизации) для сообщения внутри заголовка элемента NAL с использованием синтаксического элемента nuh_reserved_zero_6bits. Временные зависимости сообщаются с использованием синтаксического элемента nuh_temporal_id_plus1. Заголовок 920 слайса включает в себя сигнал, указывающий индикатор зависимости между слайсами. Индикатор зависимости между слайсами обозначен синтаксическим элементом dependent_slice_flag. Другими словами, зависимость между слайсами (например, временная зависимость) сообщается внутри заголовка слайса, где-то в заголовке слайса.

[0120] Чтобы проанализировать этот синтаксический элемент, должны быть проанализированы все синтаксические элементы, предшествующие dependent_slice_flag, а также синтаксические элементы набора параметров, необходимые для анализа синтаксических элементов заголовка слайса, предшествующих dependent_slice_flag.

[0121] [1-8. Обработка в маршрутизаторе]

Как описано выше, при определении формирования трафика желательно учесть зависимости, вносимые зависимыми и энтропийными слайсами, в дополнение к зависимостям, сообщенным в заголовке NAL. Например, маршрутизатор может быть реализован как осведомленная о среде базовая станция мобильной связи. Пропускная способность на нисходящей линии связи очень ограничена и должна регулироваться очень тщательно. Рассмотрим следующий иллюстративный случай. Предположим, что пакет случайным образом отброшен в потоке обычным маршрутизатором. В этом случае осведомленный о среде сетевой элемент (MANE) обнаруживает потерю пакета, проверяя номер пакета. После проверки потери пакета элемент MANE отбрасывает все пакеты, которые зависят от отброшенного пакета и которые следуют за ним. Эта функциональность является желательной для осведомленных о среде сетевых элементов. Таким образом, пакеты могут быть отброшены более интеллектуально. Когда маршрутизатор решает отбросить элемент NAL, он сразу придет к выводу, что следующие зависимые слайсы также должны быть отброшены. В текущем синтаксисе, введенном на фиг. 9А, доступ к элементу dependent_slice_flag требует анализа значительного количества информации. Это не существенно для операций по маршрутизации пакетов или формированию трафика в маршрутизаторах. Вся информация, которая необходима для обнаружения отношений между уровнями и временных отношений, присутствует в наборе видеопараметров. Набор видеопараметров является набором самого высокого уровня в иерархии наборов параметров.

[0122] В соответствии с этим описанная выше информация сообщается внутри заголовка 570 NAL. Однако в случае заголовка NAL и заголовка слайса, показанного на фиг. 9А, доступ к информации зависимости слайса требует отслеживания дополнительных наборов параметров, таких как набор PPS и набор SPS. С другой стороны, это повторно использует возможность осведомленных о среде межсетевых шлюзов или маршрутизаторов. Как можно увидеть из фиг. 9А, заголовок 920 слайса должен быть проанализирован вплоть до элемента dependent_slice_flag, и проанализированные параметры бесполезны для сетевой операции.

[0123] Чтобы быть в состоянии проанализировать адрес слайса, который предшествует элементу dependent_slice_flag, требуются следующие синтаксические элементы из синтаксических элементов, включенных в набор 930 SPS, как показано на фиг. 9В. Фиг. 9В является схемой, показывающей пример синтаксиса, включенного в набор SPS.

pic_width_in_luma_samples (номер 931 на фиг. 9В)

pic_height_in_luma_samples (номер 932 на фиг. 9В)

log2_min_coding_bloclc_size_minus3 (номер 933 на фиг. 9В)

log2_diff_max_min_coding_block_size (номер 934 на фиг. 9В)

[0124] Эти параметры показаны в таблице справа на фиг. 9В и необходимы для получения параметра slice_address. Синтаксический элемент slice_address кодируется с переменной длиной слова (как можно видеть во втором столбце по длине "v" в дескрипторе элемента slice_address и заголовка 920 слайса на фиг. 9А). Чтобы узнать длину этого кодированного с переменной длиной слова параметра, необходимы эти синтаксические элементы из набора SPS. Фактически, чтобы быть в состоянии проанализировать элемент dependent_slice_flag, фактическое значение slice_address синтаксического элемента не является необходимым. Чтобы процесс анализа мог быть продолжен, должна быть известна только длина синтаксического элемента, которая является переменной.

[0125] Таким образом, набор SPS должен быть проанализирован вплоть до точки 935 из синтаксических элементов в пределах набора 930 SPS, показанных на фиг. 9В. Эти четыре синтаксических элемента требуется сохранить. Они используются позже в формуле для вычисления длины синтаксического элемента slice_address.

[0126] Кроме того, чтобы получить доступ к элементу dependent_slice_enabled_flag, также предшествующему dependent_slice_flag, набор PPS должен быть проанализирован вплоть до точки 945 из синтаксических элементов в пределах набора PPS, показанных на фиг. 9С. Фиг. 9С является схемой, показывающей пример синтаксиса, включенного в набор PPS. Следует отметить, что синтаксические элементы, способы анализа которых описаны со ссылкой на фиг. 9А-9С, и которые расположены внутри заголовка слайса и набора SPS и набора PPS, не требуются для операций обычного маршрутизатора. Кроме того, некоторые синтаксические элементы не могут быть просто пропущены, поскольку некоторые синтаксические элементы кодированы с помощью кодов с переменной длиной. В соответствии с этим, даже если в битовом потоке выполняется переход на предопределенное количество битов, переход на dependent_slice_enabled_flag не является возможным.

[0127] Другими словами, чтобы прочитать dependent_slice_flag (указание зависимости), элемент MANE должен пойти дальше в заголовке слайса (обратиться к заголовку 920 слайса), анализ которого является довольно сложным.

[0128] В частности, должен быть проанализирован флаг first_slice_in_pic_flag. Флаг first_sllce_in_pic_flag является флагом, указывающим, является ли слайс первым слайсом в пределах изображения.

[0129] Затем должен быть проанализирован флаг no_output_of_prior_pics_flag, присутствие которого зависит от типа элемента NAL.

[0130] Кроме того, должен быть декодирован кодированный с переменной длиной слова элемент pic_parameter_set_id. Синтаксический элемент pic_parameter_set_id является

синтаксическим элементом, указывающим, какой из наборов параметров используется (синтаксический элемент, который определяет набор параметров). Посредством анализа элемента pic_parameter_set_id может быть определен набор параметров, который должен быть использован.

[0131] Наконец, требуется синтаксический элемент slice_address. Синтаксический элемент slice_address является синтаксическим элементом, указывающим начальную позицию слайса. Синтаксический элемент дополнительно требует анализа набора PPS и набора SPS, а также дополнительного вычисления.

[0132] В качестве последнего этапа из набора PPS должно быть получено значение элемента dependent_slice_enabled_flag (флаг разрешения зависимых слайсов), чтобы узнать, присутствует ли в битовом потоке элемент dependent_slice_flag. Когда dependent_slice_enabled_flag=0, это означает, что текущий слайс является обычным слайсом, поскольку зависимые слайсы не разрешены. Чтобы получить значение dependent_slice_enabled_flag, требуется проанализировать набор PPS приблизительно до его середины.

[0133] К сожалению, синтаксические элементы перед элементом dependent_slice_flag не могут быть пропущены и должны быть проанализированы, в отличие от случая данных заголовка RTP и NAL, в которых положение данных предопределено. Это вызвано тем фактом, что синтаксические элементы в заголовке слайса кодированы с переменной длиной слова. Таким образом, присутствие и длина элемента должны быть вычислены для каждого элемента NAL VCL. Кроме того, должны сохраняться дополнительные данные сеанса, поскольку они необходимые позже (для обращения к набору PPS и набору SPS). Кроме того, присутствие некоторых синтаксических элементов зависит от присутствия или значения других синтаксических элементов, возможно включенных в другие структуры параметров (синтаксические элементы кодированы условно).

[0134] В текущей стандартизации имеется предложение сообщать структуру зависимостей последовательности видеокадров в наборе видеопараметров (VPS), который описывает, сколько уровней содержится в битовом потоке, и индикаторы зависимости для указания различных зависимостей между уровнями. Набор VPS сообщается в самом начале видео перед первым набором SPS. Несколько наборов SPS могут относиться к одному набору VPS. Это означает, что VPS несет информацию, которая пригодна для нескольких последовательностей видеокадров. Главная цель набора VPS состоит в том, чтобы сообщить маршрутизатору или декодеру о содержимом видео, включающем в себя информацию. Сколько последовательностей видеокадров включено и как они взаимосвязаны. Набор SPS является пригодным только в пределах последовательности видеокадров, тогда как набор VPS несет информацию, относящуюся к нескольким последовательностям видеокадров.

[0135] Кроме того, характеристика информации, которую несет набор VPS, является информативной специально для маршрутизаторов. Например, набор VPS может нести информацию, которая требуется для настройки сеанса потоковой передачи, поскольку конфигурация не завершена. Маршрутизатор анализирует информацию в наборе VPS. Маршрутизатор без необходимости других наборов параметров (просто посредством просмотра заголовков NAL) может определить, какие пакеты данных следует передать декодеру, и какие пакеты отбросить.

[0136] Однако, чтобы обнаружить текущий активный набор VPS, должны быть выполнены следующие упорядоченные этапы: анализ PPS_id в заголовке слайса; анализ SPS_id в активном наборе PPS, определенном посредством PPS_id; и анализ VPS_id в активном наборе SPS, определенном посредством SPS_id.

[0137] Чтобы решить описанную выше проблему, способ кодирования изображения в соответствии с аспектом настоящего изобретения представляет собой способ кодирования изображения для выполнения обработки кодирования посредством разделения картинки на множество слайсов, способ кодирования изображения содержит передачу битового потока, который включает в себя: флаг разрешения зависимого слайса, указывающий, включает ли в себя картинка зависимый слайс, над которым выполняется обработка кодирования в зависимости от результата обработки кодирования, выполненного над слайсом, отличающимся от текущего слайса; адрес слайса, указывающий начальную позицию текущего слайса; и указание зависимости (dependent_slice_flag), указывающее, является ли текущий слайс зависимым слайсом, при этом флаг разрешения зависимого слайса расположен в наборе параметров, общем для слайсов, адрес слайса расположен в заголовке текущего слайса, и указание зависимости расположено в заголовке слайса и расположено перед адресом слайса и после синтаксического элемента (pic_parameter_set_id), идентифицирующего набор параметров.

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

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

[0140] Например, флаг разрешения зависимого слайса может быть расположен в начале набора параметров.

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

[0142] Например, указание зависимости не может быть включено в заголовок слайса, который обрабатывается первым для изображения среди слайсов.

[0143] Чтобы решить описанную выше проблему, способ декодирования изображения в соответствии с аспектом настоящего изобретения представляет собой способ декодирования изображения для выполнения обработки декодирования посредством разделения картинки на множество слайсов, способ декодирования изображения содержит извлечение из кодированного битового потока флага разрешения зависимого слайса, указывающего, включает ли в себя картинка зависимый слайс, над которым обработка декодирования выполняется в зависимости от результата обработки декодирования, выполненной над слайсом, отличающимся от текущего слайса, адрес слайса, указывающий начальную позицию текущего слайса, и указание зависимости, указывающее, является ли текущий слайс зависимым слайсом, при этом флаг разрешения зависимого слайса расположен в наборе параметров, общем для слайсов, адрес слайса расположен в заголовке текущего слайса, и указание зависимости расположено в заголовке слайса и расположено перед адресом слайса и после синтаксического элемента, идентифицирующего набор параметров.

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

[0145] Например, флаг разрешения зависимого слайса может быть расположен в начале набора параметров.

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

[0147] Например, указание зависимости не может быть включен в заголовок слайса, который обрабатывается первым для изображения среди слайсов.

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

[0149] Чтобы решить проблему, устройство декодирования изображения в соответствии с аспектом настоящего изобретения представляет собой устройство декодирования изображения, которое выполняет обработку декодирования посредством разделения картинки на множество слайсов, устройство декодирования изображения содержит декодер, который извлекает из кодированного битового потока флаг разрешения зависимого слайса, указывающий, включает ли в себя картинка зависимый слайс, над которым обработка декодирования выполняется в зависимости от результата обработки декодирования, выполненной над слайсом, отличающимся от текущего слайса, адрес слайса, указывающий начальную позицию текущего слайса, и указание зависимости, указывающее, является ли текущий слайс зависимым слайсом, при этом флаг разрешения зависимого слайса расположен в наборе параметров, общем для слайсов, адрес слайса расположен в заголовке текущего слайса, и указание зависимости расположено в заголовке слайса и расположено перед адресом слайса и после синтаксического элемента, идентифицирующего набор параметров.

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

[0151] В соответствии со способом кодирования изображения, способом декодирования изображения и т.п., которые описаны выше, указание относительно зависимости между слайсами расположено в пределах синтаксиса битового потока, относящегося к слайсу, независимо от других элементов. Указание зависимости расположено отдельно от других элементов без излишней необходимости анализа других элементов. В приведенных выше примерах стандарта HEVC указатель зависимости между слайсами dependent_slice_flag сообщается в местоположении, в котором нет необходимости анализировать синтаксические элементы, не важные для работы сети.

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

[0153] Такое устройство может быть включено, например, в энтропийный декодер 290 на фиг. 2. При упоминании извлечения из битового потока подразумевается извлечение и, в случае необходимости для извлечения, энтропийное декодирование. Энтропийное кодирование представляет собой кодирование с переменной длиной слова, например, арифметическое кодирование, такое как кодирование САВАС. В стандарте HEVC оно применяется к кодированию данных изображения. Элементы данных здесь относятся, например, к элементам NAL или элементам доступа. Выражение "без необходимости извлекать другие синтаксические элементы" относится к ситуации, в которой указанию зависимости предшествуют только элементы, длина которых известна и присутствие которых известно, или обусловлено уже проанализированными элементами, или не условно кодировано вообще.

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

[0155] Такое устройство может быть включено, например, в энтропийный кодер 190 на фиг. 1.

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

[0157] Следует отметить, что указание зависимости не обязательно должно быть расположено в самом начале заголовка слайса. Однако выгодно, когда никакой другой условно кодированный синтаксический элемент и/или синтаксический элемент, кодированный с помощью кода с переменной длиной слова, не предшествует указателю зависимости в заголовке слайса.

[0158] Например, текущая позиция элемента dependent_slice_flag изменена относительно описанного выше предшествующего уровня техники и расположена в начале заголовка слайса. С помощью этого изменения достигается сокращение количества синтаксических элементов, которые должны быть проанализированы. Предотвращены сложные операции анализа у маршрутизаторов, такие как декодирование с переменной длиной слова и анализ информации, которая требует дополнительных вычислений и/или сохранения дополнительных параметров для будущего использования и/или анализа других наборов параметров. Кроме того, сокращено количество наборов параметров, которые требуется отслеживать.

[0159] Далее со ссылкой на фигуры описаны варианты осуществления. Каждый из описанных ниже вариантов осуществления демонстрирует общий или конкретный пример. Численные значения, формы, материалы, структурные элементы, размещение и соединение структурных элементов, этапов, порядок обработки этапов и т.д., показанные в последующих вариантах осуществления, являются простыми примерами, и поэтому не ограничивают объем настоящего изобретения. Таким образом, среди структурных элементов в последующих вариантах осуществления, структурные элементы, не описанные в каком-либо из независимых пунктов формулы изобретения, описаны как произвольные структурные элементы.

[0160] (Вариант осуществления 1)

Фиг. 10 показывает пример синтаксиса битового потока в соответствии с настоящим вариантом осуществления. Заголовок 1010 NAL, показанный на фиг. 10, совпадает с заголовком 910 NAL, показанным на фиг. 9А. Другими словами, нет никакого изменения.

[0161] Однако структура синтаксиса заголовка 1020 слайса отличается от структуры синтаксиса заголовка 920 слайса на фиг. 9А. В частности, в заголовке 1020 слайса элемент dependent_slice_flag перемещен вверх в заголовке слайса таким образом, что нет каких-либо синтаксических элементов, предшествующих элементу dependent_slice_flag. Элемент dependent_slice_flag кодируется условно, кодируется с использованием кода с переменной длиной слова или принимает анализ, который требует дополнительного вычисления.

[0162] Синтаксические элементы first_slice_in_pic_flag и dependent_slice_flag фактически оба определяют пространственные зависимости. Синтаксические элементы кодированы непосредственно после заголовка NAL таким образом, что не нужно анализировать никакой другой синтаксический элемент. Поскольку элемент first_slice_in_pic_flag также несет информацию, которая относится к зависимостям между слайсами, он может предшествовать элементу dependent_slice_flag. Синтаксический элемент first_slice_in_pic_flag является флагом, который установлен в соответствии с правилом, что каждый кадр должен начинаться с обычного слайса. В соответствии с этим, когда флаг first_slice_in_pic_flag установлен, это означает, что слайс является обычным слайсом и, таким образом, независимым. Таким образом, элементы dependent_slice_flag и first_slice_in_pic_flag могут быть совместно рассмотрены как указатель зависимостей между слайсами.

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

[0164] Предпочтительно битовый поток включает в себя флаг разрешения зависимого слайса, указывающий, могут ли зависимые слайсы быть включены в битовый поток. Указание зависимости включается в битовый поток, только когда флаг разрешения зависимого слайса указывает, что зависимые слайсы могут быть включены в битовый поток. Флаг разрешения зависимого слайса расположен в битовом потоке в наборе параметров, общем для нескольких слайсов, и расположен в начале набора параметров. Набор параметров может представлять собой, например, набор параметров изображения, которое несет параметры для отдельного изображения. В качестве альтернативы, флаг разрешения зависимого слайса расположен в наборе параметров последовательности, который несет параметры для всей последовательности (видеокадров) изображений.

[0165] Однако в настоящем изобретении флаг dependent_slice_flag (указание зависимости) кодируется без условия относительно синтаксического элемента dependent_slice_enabled_flag (флага разрешения зависимого слайса). В настоящем варианте осуществления, поскольку идентификатор набора параметров изображения расположен после указания зависимости, предпочтительно избежать возможной ошибки анализа в случае, когда идентификатор набора параметров изображения сообщен в заголовке слайса.

[0166] Это изменение также может быть рассмотрено как изменение и/или интерполировано посредством изменения позиции других необходимых синтаксических элементов в наборах параметров или заголовках для сокращения количества синтаксических элементов, которые должны быть проанализированы для определения зависимостей между слайсами.

[0167] Например, синтаксический элемент dependent_slice_flag в заголовке слайса текущего синтаксиса стандарта НМ.8.0 присутствует, только когда значение синтаксического элемента dependent_slice_enabled_flag указывает, что разрешено использование зависимых слайсов в битовом потоке. Зависимые слайсы разрешены, и, таким образом, синтаксический элемент dependent_slice_enabled_flag также включен в набор PPS, как показано на фиг. 9С. В соответствии с этим синтаксический элемент dependent_slice_enabled_flag в наборе PPS перемещен вверх в синтаксисе наборы PPS, чтобы упростить его анализ, необходимый, чтобы проанализировать элемент dependent_slice_flag (например, в начало набора параметров). Это может быть также предпочтительно, когда элемент dependent_slice_flag кодирован после элемента pic_parameter_set_id (синтаксический элемент, определяющий набор параметров). Это вызвано тем, что при этом предотвращается ошибка анализа, даже когда флаг разрешения зависимого слайса обусловливает присутствие указания зависимости.

[0168] Вместо того, чтобы перемещать флаг dependent_slice_enabled_flag в пределах набора PPS, флаг dependent_slice_enabled_flag может быть перемещен из набора PPS в набор SPS и/или VPS, чтобы не требовалось отслеживать наборы параметров, которые находятся ниже в иерархии.

[0169] Другими словами, в соответствии с настоящим вариантом осуществления позиция необходимых синтаксических элементов изменена, чтобы уменьшить количество наборов параметров, которые должны отслеживаться. Это также уменьшает сложность анализа. "Требуемые параметры" в этом контексте означают, что подразумеваются параметры, которые способствуют определению, является ли слайс взаимозависимым слайсом. Первая возможность, применимая непосредственно к стандарту HEVC, состоит в том, чтобы обеспечить указание зависимости в начале заголовка зависимого слайса и без условия относительно флага разрешения зависимого слайса, который включен в набор параметров, отличающийся от заголовка слайса. Вторая возможность, применимая непосредственно к стандарту HEVC, состоит в том, чтобы обеспечить указание зависимости в заголовке зависимого слайса после указания набора параметров, определяющего набор параметров, в который включен флаг разрешения зависимого слайса. Указание зависимости может быть обусловлено относительно флага разрешения зависимого слайса. Перемещение вверх флага разрешения зависимого слайса в пределах набора PPS или перемещение флага разрешения зависимого слайса в набор SPS может быть предпочтительным для любой из этих возможностей. В частности, это предпочтительно для второй возможности, в которой флаг разрешения зависимого слайса необходим для анализа показателя зависимости.

[0170] Как можно видеть на фиг. 10, заголовок элемента NAL вместе с соответствующей частью заголовка слайса имеет 18 битов (14 битов заголовка элемента NAL и 2 бита заголовка слайса). В соответствии с этим примером, осведомленный о среде сетевой элемент может работать для пакета текущего слайса следующим образом. Если отброшен предыдущий слайс, который является обычным, энтропийным или зависимым слайсом, сетевой элемент проверяет первые два бита заголовка текущего слайса, которые являются флагом first_slice_in_pic_flag и (в случае, когда для битового потока разрешены зависимые слайсы) флагом dependent_slice_flag.

[0171] Когда тип элемента NAL представляет собой тип элемента NAL VCL, и последние два бита из проверенных 18 битов равны "01", элемент NAL отбрасывается. В частности, когда первый бит заголовка слайса равен "1", тогда это первый слайс в изображении, который не является (в соответствии с правилами) зависимым слайсом. Когда первый бит заголовка слайса равен "0", и следующий бит заголовка слайса также равен "0", слайс не является зависимым. В соответствии с этим, только когда два первых бита заголовка слайса равны "01", слайс является зависимым. Кроме того, слайс должен быть отброшен, поскольку он не может быть декодирован, когда родительский слайс уже был отброшен. В соответствии с этим флаги first_slice_in__pic_flag и dependent_slice_flag могут рассматриваться как расширение заголовка NAL, даже если они принадлежат синтаксису заголовка слайса.

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

[0173] (Вариант осуществления 2)

В соответствии с вариантом осуществления 2 флаг dependent_slice_enabled_flag отбрасывается из набора PPS. Следует отметить, что флаг dependent_slice_enabled_flag может быть перемещен в набор SPS вместо того, чтобы быть отброшенным.

[0174] Фиг. 11 показывает пример, в котором не нужно анализировать флаг dependent_slice_enabled_flag до осуществления доступа к элементам first_slice_in_pic_flag и dependent_slice_flag.

[0175] В этом примере не используется флаг dependent_slice_enabled_flag, поскольку он не обусловлен присутствием указания зависимости. Этот пример обеспечивает возможность иметь указание зависимости в начале заголовка слайса, не вызывая проблем анализа из-за неизвестной идентификации текущего набора PPS.

[0176] (Эффект варианта осуществления 2 и т.д.)

В варианте осуществления 1, чтобы проанализировать флаг dependent_slice_flag, должен быть проанализирован флаг dependent_slice_enabled_flag. Флаг dependent_slice_enabled_flag сообщен в наборе PPS. Это может вызвать некоторые накладные расходы анализа, как рассмотрено выше, когда флаг dependent_slice_enabled_flag расположен далеко от начала набора PPS, и предыдущие синтаксические элементы условно кодированы.

[0177] Кроме того, сообщение синтаксического элемента dependent_slice_flag до того, как проанализирован синтаксический элемент pic_parameter_set_id в наборе PPS, может создать ошибки анализа следующим образом. Присутствие элемента dependent_slice_flag зависит от элемента dependent_slice_enabled_flag, который сообщен в наборе PPS. Однако идентификатор текущего активного набора PPS сообщен после элемента dependent_slice_flag. Таким образом, невозможно проанализировать элемент dependent_slice_flag до осуществления доступа к предыдущим элементам.

[0178] В соответствии с этим предпочтительно удалить условие анализа относительно элемента dependent_slice_enabled_flag. Это может быть более предпочтительно, когда применяется следующее ограничение. А именно, если флаг dependent_slice_enabled_flag в наборе PPS равен нулю, то флаг dependent_slice_flag должен быть равен нулю.

[017 9] Однако эти предпочтительные реализации не предназначены для ограничения объема настоящего изобретения.

[0180] (Модификация 1 вариантов осуществления 1 и 2)

В качестве альтернативы или дополнения к удалению обусловленности флагом dependent_slice_enabled_flag, флаг dependent_slice_enabled_flag может быть перемещен из набора PPS в набор SPS и/или набор VPS.

[0181] Кроме того, вместо того, чтобы просто переместить флаг dependent_slice_enabled_flag, флаг dependent_slice_enabled_flag может быть продублирован в наборе SPS. В этом случае можно потребовать, чтобы указатель в наборе SPS и наборе PPS имел одинаковое значение. Или набору PPS может быть разрешено перезаписать указатель в наборе SPS.

[0182] Например, когда флаг sps_dependent_slice_enabled_flag равен 1, тогда флаг pps_dependent_slice_enabled_flag может быть равен 0 или 1. Затем, флаг sps_dependent_slice_enabled_flag является указанием относительно разрешения зависимых слайсов для последовательности изображений, сообщенных в наборе SPS, и флаг pps_dependent_slice_enabled_flag является указанием относительно разрешения зависимых слайсов для изображения, сообщенного в наборе PPS. Однако, когда значение флага dependent_slice_enabled_flag может изменяться в наборе PPS, это означает, что анализ набора PPS по-прежнему необходим, и упущено преимущество менее частого отслеживания и анализа набора PPS.

[0183] Эти модификации обеспечивают преимущество в том, что набор VPS и набор SPS несут структуры зависимостей. Перенос структур зависимостей посредством набора VPS и набора SPS позволяет сетевым элементам формировать битовые потоки, то есть выполнять определение для отбрасывания зависимых пакетов, которые в любом случае не могут быть декодированы, или для отбрасывания зависимых слайсов, а не независимых слайсов. Таким образом, флаг dependent_slice_enabled_flag в наборе VPS побудит маршрутизатор дополнительно проверять заголовок слайса.

[0184] Следует отметить, что эти модификации дополнительно не уменьшают сложность анализа, если применен пример на фиг. 10 и 11. Однако это обеспечивает более выгодную структуру синтаксиса для переноса структур зависимостей. В итоге, в соответствии с этим примером указатель для указания, разрешены ли зависимые слайсы для битового потока, сообщен в наборе видеопараметров. Набор видеопараметров является набором параметров, относящимся более чем к одному слайсу более чем в одном изображении.

[0185] Существует два разных преимущества сообщения флага dependent_slice_enabled_flag в наборе VPS и/или наборе SPS. Когда флаг просто перемещен или дублирован, не требуется анализировать набор PPS, и это уменьшает накладные расходы анализа. Другая выгода состоит в том, что маршрутизатору дают знать о структуре предсказания последовательности видеокадров. Это преимущество присутствует все время. Обычно маршрутизатор может проверить содержимое набора VPS/SPS, чтобы узнать, что он примет.

[0186] Набор VPS является самым верхним параметром в иерархии. Набор VPS может включать в себя информацию о нескольких последовательностях видеокадров, тогда как набор SPS и набор PPS заданы для единственной последовательности видеокадров и изображения соответственно. Информация в наборе VPS включает в себя битрейт, структуру temporal_layering последовательностей видеокадров и т.п. Также она включает в себя информацию о зависимостях между уровнями (зависимости между разными последовательностями видеокадров). В соответствии с этим набор VPS может рассматриваться как контейнер для нескольких последовательностей видеокадров, и оно дает общий обзор о каждой последовательности.

[0187] В текущей версии стандарта HEVC зависимость между слайсами в кадре устанавливается посредством и флага dependent_slice_flag, и флага first_slice_in_pic_flag. В соответствии с текущими техническими требованиями, сетевые объекты не могут использовать зависимости между слайсами, не применяя очень сложный анализ. Если имеется потеря пакетов, обнаруженная через номер отсутствующего пакета, прямым решением было бы отбросить все пакеты вплоть до того, когда встречается флаг first_slice_in_pic_flag, который равен значению 1. Это вызвано тем, что первый слайс в изображении всегда является обычным слайсом.

[0188] Однако это решение приводит к сокращению эффективности кодирования. Таким образом, как описано выше, может использоваться сообщение зависимости между слайсами, обеспечивающее эффективный анализ. Это достигается посредством сообщения флага dependent_slice_flag и флага first_slice_in_pic_flag в заголовке слайса сразу после заголовка NAL.

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

[0190] (Модификация 2 вариантов осуществления 1 и 2)

Фиг. 12 иллюстрирует модификацию 2, альтернативную по отношению к рассмотренной выше модификации 1. В частности, заголовок 1210 элемента NAL совпадает с заголовком элемента NAL, показанным на фиг. 10 (заголовком 910 элемента NAL, показанным на фиг. 9А). Однако заголовок 1220 слайса и заголовок 1020 слайса, показанные на фиг. 10, отличаются тем, что порядок синтаксических элементов заголовка слайса dependent_slice_flag и first_slice_in_pic_flag изменен на обратный. В частности, заголовок 1220 слайса включает в себя синтаксический элемент флаг dependent_slice_flag в качестве первого синтаксического элемента и синтаксический элемент first_slice_in_pic_flag в качестве второго синтаксического элемента, обусловленного присутствием флага dependent_slice_flag.

[0191] Как видно из этого примера, указание первого слайса, указывающее, является ли слайс первым слайсом в изображении, включено в синтаксис. Первый слайс в изображении всегда является слайсом, для которого декодирование с переменной длиной слова не зависит от других слайсов. Кроме того, флаг зависимого слайса включен в битовый поток перед указанием первого слайса. Указание первого слайса включено в битовый поток, только когда флаг зависимого слайса не указывает зависимый слайс. Это размещение обеспечивает те же самые преимущества, как и обусловленность. Другими словами, флаг зависимости обусловлен указанием первого слайса. Как видно на фиг. 12, оба элемента могут рассматриваться как указание зависимости и включены в начало заголовка слайса.

[0192] (Вариант осуществления 3)

В варианте осуществления 3 по сравнению с вариантами осуществления 1 и 2 изменен способ расположения синтаксических элементов для сокращения анализа ненужных синтаксических элементов.

[0193] В описанных выше вариантах осуществления флаг dependent_slice_flag описан в случае, в котором флаг first_slice_in_pic_flag включен в качестве условия для присутствия флага dependent_slice_flag. Однако флаг first_slice_in_pic_flag и флаг dependent_slice_flag могут быть оба включены в битовый поток без обусловленности одного присутствием другого. Например, способ кодирования флага dependent_slice_flag изменен, чтобы быть независимым от синтаксического элемента dependent_slice_enabled_flag в соответствии с одной из описанных выше модификаций.

[0194] Фиг. 13 является схемой, показывающей пример заголовка слайса в соответствии с настоящим вариантом осуществления. Фиг. 13 иллюстрирует случай, в котором по-прежнему включена обусловленность указания зависимости флагом разрешения зависимого слайса.

[0195] В частности, в заголовке слайса в соответствии с настоящим вариантом осуществления флаг dependent_slice_flag расположен перед элементом slice_address по сравнению с существующим заголовком слайса, показанным на фиг. 6. Кроме того, в заголовке слайса в соответствии с настоящим вариантом осуществления по сравнению с примерами на фиг. 10-12 флаг dependent_slice_flag расположен после элемента pic_parameter_set_id.

[0196] В настоящем варианте осуществления, поскольку флаг dependent_slice_flag расположен перед элементом slice_address, по меньшей мере набор SPS не обязательно должен быть проанализирован для анализа флага dependent_slice_flag. Как описано выше, элемент slice_address является синтаксическим элементом, указывающим начало слайса. Кроме того, элемент slice_address может быть проанализирован только с помощью синтаксических элементов, сообщенных в наборе SPS (pic_parameter_set_id).

[0197] В качестве альтернативы или дополнения, флаг dependent_slice_enabled_flag либо перемещен вверх в пределах набора PPS, либо перемещен в набор SPS и/или набор VPS. Если флаг разрешения находится в наборе VPS и/или в наборе SPS, может не потребоваться анализировать и отслеживать набор PPS и набор SPS.

[0198] (Модификация варианта осуществления 3, эффект и т.д.)

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

указание зависимости, которое является синтаксическим элементом, указывающим для слайса в заголовке слайса, зависит ли декодирование с переменной длиной слова слайса от других слайсов;

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

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

[0199] (2) Кроме того, в настоящем варианте осуществления указание зависимости сообщается в заголовке слайса перед адресом слайса и после синтаксического элемента, идентифицирующего набор параметров.

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

[0201] (3) В настоящем варианте осуществления флаг разрешения зависимого слайса расположен в битовом потоке в наборе параметров (наборе PPS), общем для нескольких слайсов, формирующих один и тот же кадр изображения, и расположен в начале набора параметров. Однако это не является ограничением.

[0202] В качестве альтернативы (или дополнения), флаг разрешения зависимого слайса расположен в битовом потоке в наборе параметров (наборе SPS), общем для нескольких слайсов, формирующих одну и ту же последовательность изображений. Также в качестве альтернативы (или дополнения), флаг разрешения зависимого слайса расположен в битовом потоке в наборе параметров (наборе VPS), общем для набора слайсов, формирующих несколько последовательностей кадров изображений.

[0203] (4), Кроме того, в настоящем варианте осуществления VPS_id и SPS_id могут быть сообщены явно в сообщении SEI. Когда флаг dependent_slice_enabled_flag сообщен в наборе SPS, флаг dependent_slice_flag по-прежнему должен следовать за элементом pic_parameter_set_id.

[0204] В ином случае вводится анализ зависимости, поскольку SPS_id сообщен в наборе PPS. С помощью сообщения идентификации текущего набора SPS или набора VPS, которые несут флаг dependent_slice_enabled_flag, указание зависимости может быть включено также перед элементом pic_parameter_set_id, поскольку анализ набора параметров изображения не является необходимым. Кроме того, такое сообщение SEI, несущее VPS_id или SPS_id, не является необходимым для операции декодирования, поскольку эти идентификаторы также определяются посредством анализа набора PPS. Сообщение SEI, таким образом, может быть отброшено без воздействия на операцию декодирования после использования сетевыми элементами.

[0205] (Вариант осуществления 4)

В варианте осуществления 4 информация зависимости между слайсами дублирована (дополнительно к информации, сообщенной в заголовке слайса и/или в наборе параметров) в другом элементе NAL, таком как сообщение SEI.

[0206] Например, может быть определено сообщение SEI, которое переносит информацию зависимости между слайсами в каждом элементе доступа или перед каждым зависимым слайсом. Термин "элемент доступа" относится к элементу данных, который состоит из набора элементов NAL. Элемент доступа включает в себя слайсы кодированного изображения, то есть элементы NAL VCL. В частности, элементы доступа могут определить точки для произвольного доступа и могут включать в себя элементы NAL одного изображения. Однако элемент доступа не обязательно является точкой произвольного доступа.

[0207] В текущем описании стандарта HEVC элемент доступа определен как набор элементов NAL, которые являются последовательными в порядке декодирования и содержат точно одно кодированное изображение. В дополнение к элементам NAL кодированного слайса кодированного изображения элемент доступа также может содержать другие элементы NAL, не содержащие слайсы кодированного изображения. Декодирование элемента доступа всегда дает в результате декодированное изображение. Однако в будущем расширении стандарта HEVC (таком как многоракурсное кодирование (MVC) или масштабируемое видеокодирование (SVC)) определение элемента доступа может быть смягчено или изменено. В соответствии с текущим описанием элемент доступа сформирован разделителем элемента доступа, сообщениями SEI и элементами NAL VCL.

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

[0209] (Вариант осуществления 5)

В соответствии с вариантом осуществления 5 информация зависимости между слайсами сообщена в заголовке NAL как флаг или неявно как тип элемента NAL, с которым она связана.

[0210] Как правило анализ синтаксических элементов в заголовке NAL не зависит ни от каких других синтаксических элементов. Каждый заголовок элемента NAL может быть проанализирован независимо. Заголовок NAL является обычным местом для сообщения информации зависимости. Таким образом, в соответствии с настоящим вариантом осуществления зависимость между слайсами также сообщается в нем.

[0211] Другими словами, устройство анализа может быть принято в маршрутизаторе или в декодере. Устройство анализа дополнительно включает в себя блок уровня сетевой адаптации для добавления к слайсу кодированных видеоданных и к заголовку слайса уровня сетевой адаптации и заголовка NAL. Предпочтительно указание зависимости расположено в битовом потоке в заголовке NAL и кодировано независимо от других синтаксических элементов.

[0212] Указатель зависимости может быть помещен в заголовок NAL, поскольку заголовок NAL в текущем описании стандарта HEVC предусматривает некоторые зарезервированные биты, которые могут использоваться для этого. Чтобы сообщить указание зависимости, достаточно одного бита.

[0213] В качестве альтернативы, указание зависимости указывается посредством типа элемента NAL, и предопределенный тип элемента NAL зарезервирован для переноса информации зависимости.

[0214] (Вариант осуществления 6)

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

[0215] Фиг. 14 показывает пример заголовка 1410 элемента NAL, в котором изменен заголовок 910 элемента NAL, показанный на фиг. 9А. Заголовок 1410 элемента NAL включает в себя флаг dependent_slice_flag.

[0216] Кроме того, чтобы переместить флаг dependent_slice_flag в заголовок NAL и сохранить размер заголовка NAL фиксированным для обратной совместимости, один бит, необходимый для флага dependent_slice_flag, взят из синтаксического элемента nuh_reserved_zero_6bit заголовка элемента NAL. В соответствии с этим синтаксический элемент nuh_reserved_zero_6bits теперь имеет только 5 битов. Синтаксический элемент nuh_reserved_zero_6bits включает в себя биты, зарезервированные для будущего использования, чтобы сокращение не вызывало проблем и не потребовало дополнительных модификаций.

[0217] В целом текущий элемент NAL VCL зависит от предыдущего элемента NAL VCL, который имеет тот же самый temporal_layer_id. Когда флаг dependent_slice_flag сообщен в заголовке NAL, один бит будет потрачен и для элементов NAL уровня VCL, и для элементов NAL не уровня VCL, поскольку каждый элемент данных, такой как слайс изображения или набор параметров, имеет один и тот же заголовок NAL. В соответствии с этим, хотя кажется, что флаг dependent_slice_flag также должен быть сообщен для наборов параметров или для сообщений SEI, это не является необходимым. Кроме того, флаг dependent_slice_flag всегда должен сообщаться, даже если зависимые слайсы не разрешены в наборе параметров последовательности. Это приводит к ненужным накладным расходам.

[0218] Во всех описанных выше вариантах осуществления указание зависимости может являться однобитовым флагом.

[0219] (Вариант осуществления 7)

В соответствии с вариантом осуществления 7 указание зависимости обозначено типом элемента NAL, и зарезервирован предопределенный тип элемента NAL для переноса информации зависимости.

[0220] В соответствии с этим новый (отдельный) тип NAL VCL определен с семиотикой, аналогичной существующим элементам NAL VCL. Например, когда NAL_unit_type равен 15 (или другому предварительно определенному типу элемента NAL, который не зарезервирован для другого конкретного типа элемента NAL), тогда текущий элемент NAL VCL зависит от предыдущего элемента NAL VCL, который имеет тот же самый temporal_layer_id. Зависимость относится к зависимости текущего слайса от заголовка слайса предыдущего слайса, как описано выше, то есть зависимость при анализе.

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

[0222] Когда информация зависимости сообщена в заголовке слайса в дополнение к заголовку NAL, сообщение в заголовке NAL становится необязательным. В частности, когда поле NAL_unit__type в заголовке NAL сконфигурировано для сообщения, что текущий слайс является зависимым слайсом, то невозможно сообщить любую другую информацию "типа". Например, в некоторых случаях могло бы быть более выгодно передавать информацию о том, что текущий слайс является "первым изображением в последовательности" (NAL_unit_type равен 10 или 11). Когда информация зависимости между слайсами в заголовке NAL является необязательной (поскольку она дублирована в заголовке слайса), может быть решено сообщить более ценную информацию.

[0223] Кроме того, может быть предпочтительно добавить два или более типов элементов NAL VCL, таких как "изображение RAP зависимого слайса" (требуется для анализа) или "не изображение RAP зависимого слайса". RAP обозначает изображение произвольного доступа. Изображение произвольного доступа является изображением, кодированным независимо (с точки зрения предсказания) от других изображений, чтобы такое изображение могло использоваться в качестве начальной точки для кодирования и декодирования. Таким образом, оно является подходящим в качестве точки произвольного доступа.

[0224] В заголовке зависимого слайса синтаксический элемент RapPicFlag используется в процессе анализа. В частности, синтаксический элемент RapPicFlag является указанием, указывающим, является ли текущее изображение изображением произвольного доступа.

[0225] Значение RAPPicFlag зависит от типа элемента NAL как следующее выражение 2.

[0226]

RapPicFlag=(nal_unit_type≥7 && nal_unit_type≤12) (Выражение 2)

[0227] Другими словами, в примере, показанном на фиг. 15, изображения произвольного доступа переносятся элементами NAL с типом между 7 и 12. Чтобы обеспечить корректный анализ и обеспечить возможность зависимости слайса для изображений произвольного доступа, таким образом, в настоящем изобретении определены два разных типа элемента NAL, чтобы гарантировать корректный анализ заголовка слайса.

[0228] Как правило, даже когда определен новый тип элемента NAL VCL, анализ заголовка слайса по-прежнему должен быть возможен без каких-либо проблем. Либо несколько типов NAL определены, как показано выше, либо заголовок зависимого слайса изменен таким образом, что не имеется проблем анализа.

[0229] Когда определен новый тип элемента NAL VCL, чтобы указать зависимый слайс, структура синтаксиса заголовка слайса может быть изменена следующим образом.

[0230] В приведенном выше примере тип элемента NAL "DS_NUT" используется для указания, что текущий элемент NAL VCL является зависимым слайсом. По сравнению со структурой синтаксиса заголовка слайса предшествующего уровня техники, которая описана в непатентной литературе 3, в настоящем варианте осуществления введены следующие два изменения.

[0231] (1) Флаг no_output_of_prior_pics_flag не сообщается в заголовке зависимого слайса. Другими словами, присутствие флага no_output_of_jprior_pics_flag основано на условии, что текущий слайс не является зависимым слайсом. (Флаг no_output_of_prior_pics_flag может присутствовать в заголовке слайса, когда текущий слайс не является зависимым слайсом).

[0232] (2) Флаг first_slice_in_pic_flag сообщается обусловленным образом относительно значения nal_unit_type. Когда значение nal_unit_type указывает, что текущий слайс является зависимым слайсом, синтаксический элемент first_slice_in_jpic_flag не сообщается явно и подразумевается равным 0. Это экономит битрейт с тем же самым качеством.

[0233] В соответствии с примером флаг no_output_of_prior_pics_flag не сообщается, когда текущий слайс является зависимым слайсом. В соответствии с этим не требуется оценивать значение RapPicFlag, когда текущий слайс является зависимым слайсом. Таким образом, заголовок зависимого слайса может быть проанализирован без проблем. В частности, заголовок зависимого слайса может быть проанализирован без ссылки на заголовок элемента NAL предыдущего элемента NAL. Проблема возникает, когда заголовок предыдущего элемента NAL не присутствует во время декодирования.

[0234] Во-вторых, флаг first_slice_in__pic_flag сообщается на основе значения NAL_unit_type. Это изменение совпадает с изменением примера, описанного на фиг. 12. На фиг. 12 флаг first_slice_in_pic_flag сообщается в заголовке слайса, только когда текущий слайс не является зависимым слайсом (что обозначено флагом dependent_slice_flag). Также в приведенном выше примере флаг first_slice_in_pic_flag сообщается, только когда nal_unit_type не равен "DS_NUT", что означает, что текущий слайс не является зависимым слайсом.

[0235] Не требуется, чтобы два изменения, которые представлены выше, были сделаны вместе. Также возможно выполнить только одно из изменений в заголовке слайса. Выгода каждого изменения связана с затратами на проверку, является ли слайс зависимым слайсом. Однако, когда два изменения выполняются вместе, выгода обоих изменений может быть получена за счет тех же самых затрат, как выгода каждого из отдельных изменений в случае, когда эти два синтаксических элемента first_slice_in_pic_flag и no_output_of_prior_pics_flag кодированы последовательно. Таким образом применение обоих изменений в сочетании с последовательным кодированием упомянутых двух синтаксических элементов дает преимущество перед прямым применением каждого из изменений индивидуально.

[0236] Во всем объяснении в вариантах осуществления также возможно удалить флаг dependent_slice_enabled_flag из битового потока, когда указание зависимого слайса не кодируется в нем условно. Другими словами, когда, например, новый тип элемента NAL используется, чтобы указать, что текущий слайс является зависимым слайсом, тогда флаг dependent_slice_enabled_flag может быть удален из битового потока.

[0237] Фиг. 15 показывает заголовок 1510 элемента NAL, который совпадает с заголовком 910 элемента NAL, показанным на фиг. 9А, и заголовок 1520 слайса, который изменен относительно заголовка 920 слайса, показанного на фиг. 9А. Заголовок 1520 слайса включает в себя завершение значения dependent_slice_flag в соответствии с типом элемента NAL. В частности, синтаксический элемент NAL_unit_type со значениями 15 и 16 определяет зависимые слайсы. Когда NAL_unit_type равен 15, тип слайса является зависимым слайсом изображения произвольного доступа. С другой стороны, если NAL_unit_type равен 16, слайс является зависимым слайсом изображения не произвольного доступа. Таким образом, установлены отношения следующего выражения 3.

[0238]

RapPicFlag=(nal_unit_type≥7 && nal_unit_type≤12 || nal_unit_type=15) (Выражение 3)

[0239] Следует отметить, что значения 15 и 16 были выбраны только в качестве примера. Как ясно специалистам в области техники, могут быть приняты любые предопределенные числа, которые не используются иным образом. В частности, первый тип элемента NAL должен быть определен для идентификации содержимого зависимого слайса изображения произвольного доступа, и второй тип элемента NAL должен быть определен для идентификации содержимого зависимого изображения не произвольного доступа.

[0240] Кроме того, может быть введено ограничение, что зависимые слайсы используются только для изображений RAP или используются только для изображений, не являющихся изображениями RAP. В таких случаях необходим только один новый тип элемента NAL.

[0241] (Вариант осуществления 8)

Фиг. 16 является схемой, показывающей альтернативное решение. Заголовок 1610 элемента NAL совпадает с заголовком 910 элемента NAL. Заголовок 1620 слайса предполагает определение типа NAL_unit_type со значениями 15 и 16, сообщающего о зависимых слайсах, как описано выше.

[0242] Однако тип элемента NAL не используется при анализе флага зависимого слайса. Это обеспечивает необязательность использования NAL_unit_type для кодера. В соответствии с этим преимущество настоящего варианта осуществления достигается, только когда кодер выполнен с возможностью принимать новые типы элементов NAL.

[0243] Тогда маршрутизатор должен только исследовать тип элемента NAL. Однако, когда кодер не использует новые типы элементов NAL, маршрутизатор будет рассматривать зависимые слайсы, как на предшествующем уровне техники.

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

[0245] В итоге, описанные выше варианты относятся к синтаксису битового потока, закодированные последовательности видеокадров, описанные выше варианты осуществления относятся относящемуся к зависимым и энтропийным слайсам, заголовок слайса которых зависит от заголовка слайса предыдущего слайса. Чтобы дать возможность осведомленному о среде сетевому элементу учитывать этот вид зависимости без существенного увеличения его осуществления переносящего В частности, к синтаксису, сложности и задержки вследствие анализа, указание зависимости сообщается в начале пакетов или, другими словами, вблизи заголовков или параметров, которые должны быть проанализированы. Это достигнуто, например, посредством включения указания зависимости в начало заголовка слайса (фиг. 10-12), возможно, после идентификатора набора параметров и перед адресом слайса, или посредством включения указания зависимости перед адресом слайса (фиг. 10 и 11), или посредством обеспечения указания зависимости в заголовке элемента NAL (фиг. 14), в отдельном сообщении или посредством специального типа элемента NAL для элементов NAL, несущих зависимые слайсы (фиг. 15 и 16).

[0246] (Модификации вариантов осуществления 1-8, эффект и т.п.)

Различные изменения возможны без ограничения вариантами осуществления 1-8, и, очевидно, они включены в объем настоящего изобретения.

[0247] Каждый из структурных элементов в каждом из описанных выше вариантов осуществления может быть выполнен в виде отдельного аппаратного продукта (схемы обработки) или может быть реализован посредством исполнения программы, подходящей для структурного элемента. Каждый из структурных элементов может быть реализован посредством исполняющего программы блока, такого как центральный процессор (CPU) или процессор, считывающий и исполняющий программу, записанную на носителе записи, таком как жесткий диск или полупроводниковая память.

[0248] Хотя в вариантах осуществления 1-8 описание подразумевает волновой фронт, оно не ограничено этим.

[0249] Однако в случае волнового фронта все подпотоки не могут быть начаты в одно и то же время. Как описано выше, относительно каждого из подпотоков за исключением подпотока в начале, начало обработки (кодирование или декодирование) задерживается на два элемента LCU от предыдущего подпотока. Таким образом, в волновом фронте требуется дополнительное сокращение обработки. В настоящем варианте осуществления посредством определения местоположения указания зависимости (dependent_slice_flag) после синтаксиса, который идентифицирует набор PPS и перед адресом слайса, количество синтаксических элементов, которые должны быть проанализированы, может быть уменьшено, и тем самым обработка сокращается.

[0250] Кроме того, в описанных выше вариантах осуществления 1-8 посредством перемещения указания зависимости вверх в заголовке слайса (особенно в начало) возможно, например, проверить, является ли каждый из слайсов зависимым слайсом, на ранней стадии обработки изображения.

[0251] Другими словами, во время начала обработки изображения (кодирования или декодирования), на этапе проверки, является ли каждый из слайсов зависимым слайсом, возможно извлечь начальную точку параллельной обработки во время начала обработки изображения. Другими словами, когда изображение включает в себя несколько обычных слайсов, возможно извлечь начальную точку параллельной обработки во время обработки изображения или на ранней стадии обработки.

[0252] При этом традиционно, когда указание зависимости расположено после адреса слайса, невозможно проверить, является ли слайс зависимым слайсом или обычным слайсом, пока не завершен анализ адреса слайса. В этом случае начало обработки обычного слайса в середине изображения значительно задерживается относительно начала обработки обычного слайса в начале изображения.

[0253] С другой стороны, в описанных выше вариантах осуществления 1-8, поскольку возможно проверить, является ли каждый из слайсов зависимым слайсом, на более ранней стадии обработки изображения, возможно ускорить начало обработки обычного слайса в середине изображения. Другими словами, возможно начать обработку обычного слайса в середине изображения тогда же, когда и обычного слайса в начале изображения.

[0254] (Вариант осуществления 9)

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

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

[0256] Фиг. 17 иллюстрирует общую конфигурацию системы ех100 обеспечения контента для реализации службы распространения контента. Область для обеспечения службы связи разделена на соты желаемого размера, и базовые станции ех106, ех107, ех108, ех109 и ex110, которые являются стационарными беспроводными станциями, помещены в каждую из сот.

[0257] Система ех100 обеспечения контента соединена с устройствами, такими как компьютер ex111, карманный персональный компьютер (PDA) ех112, камера ех113, сотовый телефон ех114 и игровой автомат ех115, через Интернет ex101, поставщика ех102 Интернет-услуг, телефонную сеть ех104, а также базовые станции ех106-ех110 соответственно.

[0258] Однако конфигурация системы ех100 обеспечения контента не ограничена конфигурацией, показанной на фиг. 17, и комбинация, в которой соединен любой из элементов, является приемлемой. Кроме того, каждое устройство может быть непосредственно соединено с телефонной сетью ех104, а не через базовые станции ех106-ех110, которые являются стационарными беспроводными станциями. Кроме того, устройства могут быть соединены друг с другом через беспроводную связь ближнего действия и другие.

[0259] Камера ех113, например, цифровая видеокамера, способна захватывать видеоинформацию. Камера ех116, например, цифровой фотоаппарат, способна захватывать как неподвижные изображения, так и видеоинформацию. Кроме того, сотовый телефон ех114 может соответствовать любому из стандартов, таких как глобальная система мобильной связи (GSM) (зарегистрированная торговая марка), множественный доступ с кодовым разделением (CDMA), широкополосный множественный доступ с кодовым разделением (W-CDMA), стандарт проекта долгосрочного развития (LTE) и высокоскоростной пакетный доступ (HSPA). В качестве альтернативы, сотовый телефон ex114 может являться системой персональных мобильных телефонов (PHS).

[0260] В системе ех100 обеспечения контента сервер ех103 потоковой передачи соединен с камерой ех113 и другими устройствами через телефонную сеть ех104 и базовую станцию ех109, что обеспечивает возможность распределения шоу в прямом эфире и других изображений. При таком распределении контент (например, видеоинформация музыкального шоу в прямом эфире), захваченный пользователем, использующим камеру ех113, кодируется, как описано выше в каждом из вариантов осуществления (то есть камера функционирует как устройство кодирования изображения в соответствии с аспектом настоящего изобретения), и кодированный контент передается серверу ех103 потоковой передачи. С другой стороны, сервер ех103 потоковой передачи выполняет распределение потоков переданных данных контента клиентам по их запросам. Клиенты включают в себя компьютер ех111, персональный карманный компьютер ех112, камеру ех113, сотовый телефон ех114 и игровой автомат ех115, которые способны декодировать упомянутые выше кодированные данные. Каждое из устройств, которые приняли распределенные данные, декодирует и воспроизводит кодированные данные (то есть функционирует как устройство декодирования изображения в соответствии с аспектом настоящего изобретения).

[0261] Захваченные данные могут быть кодированы камерой ех113 или сервером ех103 потоковой передачи, который передает данные, или процессы кодирования могут быть разделены между камерой ех113 и сервером ех103 потоковой передачи. Аналогичным образом, распределенные данные могут декодироваться клиентами или сервером ех103 потоковой передачи, или процессы декодирования могут быть разделены между клиентами и сервером ех103 потоковой передачи. Кроме того, данные неподвижных изображений и видеоинформации, захваченной не только камерой ех113, но также и камерой ех116, могут быть переданы серверу ех103 потоковой передачи через компьютер ex111. Процессы кодирования могут быть выполнены камерой exil6, компьютером ex111 или сервером ех103 потоковой передачи или разделены среди них.

[0262] Кроме того, процессы кодирования и декодирования могут быть выполнены посредством большой интегральной схемы (LSI; БИС) ех500, обычно включенной в компьютер ex111 и устройства. Большая интегральная схема ех500 может быть выполнена как однокристальная схема или множество однокристальных схем. Программное обеспечение для кодирования и декодирования видеоинформации может быть интегрировано в носитель записи некоторого типа (такой как компакт-диск (CD-ROM), гибкий диск и жесткий диск), который может быть прочитан компьютером ex111 и другими устройствами, и процессы кодирования и декодирования могут выполняться с использованием программного обеспечения. Кроме того, когда сотовый телефон ex114 оборудован камерой, видеоданные, полученные камерой, могут быть переданы. Видеоданные представляют собой данные, кодированные посредством большой интегральной схемы ех500, включенной в сотовый телефон ех114.

[0263] Кроме того, сервер ех103 потоковой передачи может состоять из серверов и компьютеров и может децентрализовывать данные и обрабатывать децентрализованные данные, записывать или распределять данные.

[0264] Как описано выше, клиенты могут принимать и воспроизводить кодированные данные в системе ех100 обеспечения контента. Другими словами, клиенты могут принимать и декодировать информацию, переданную пользователем, и воспроизводить декодированные данные в режиме реального времени в системе ех100 обеспечения контента, с тем чтобы пользователь, который не имеет какого-либо конкретного права и оборудования, мог реализовать персональное вещание.

[0265] Помимо примера системы ех100 обеспечения контента, по меньшей мере одно устройство из устройства кодирования движущегося изображения (устройства кодирования изображения) и устройства декодирования движущегося изображения (устройства декодирования изображения), описанных в каждом из вариантов осуществления, может быть реализовано в системе ех200 цифрового вещания, проиллюстрированной на фиг. 18. Более определенно, радиостанция ех201 передает по радио ретрансляционному спутнику ех202 мультиплексированные данные, полученные посредством мультиплексирования аудиоданных и других данных с видеоданными. Видеоданные представляют собой данные, кодированные способом кодирования движущегося изображения, описанным в каждом из вариантов осуществления (то есть данные, кодированные устройством кодирования изображения в соответствии с аспектом настоящего изобретения). После приема мультиплексированных данных ретрансляционный спутник ех202 передает радиоволны для вещания. Затем бытовая антенна ех204 с функцией приема спутникового вещания принимает радиоволны. Затем устройство, например, телевизор (приемник) ех300 и телеприставка (STB) ех217, декодирует принятые мультиплексированные данные и воспроизводит декодированные данные (то есть функционирует как устройство декодирования изображения в соответствии с аспектом настоящего изобретения).

[0266] Кроме того, устройство ех218 чтения/записи (i) считывает и декодирует мультиплексированные данные, записанные на носителе ех215 записи, таком как DVD и BD, или (i) кодирует видеосигналы на носителе ех215 записи и в некоторых случаях записывает данные, полученные посредством мультиплексирования аудиосигнала с кодированными данными. Устройство ех218 чтения/записи может включать в себя устройство декодирования движущегося изображения или устройство кодирования движущегося изображения, как показано в каждом из вариантов осуществления. В этом случае воспроизведенные видеосигналы отображаются на мониторе ех219 и могут быть воспроизведены другим устройством или системой с использованием носителя ех215 записи, на котором записаны мультиплексированные данные. Также возможно реализовать устройство декодирования движущегося изображения в телеприставке ех217, соединенной с кабелем ех203 для кабельного телевидения или с антенной ех204 для спутникового и/или наземного вещания, для отображения видеосигналов на мониторе ех219 телевизора ех300. Устройство декодирования движущегося изображения может быть реализовано не в телеприставке, а в телевизоре ех300.

[0267] Фиг. 19 иллюстрирует телевизор (приемник) ех300, который использует способ кодирования движущегося изображения и способ декодирования движущегося изображения, описанные в каждом из вариантов осуществления. Телевизор ех300 включает в себя: селектор ех301 каналов, который получает или обеспечивает мультиплексированные данные, полученные посредством мультиплексирования аудиоданных и видеоданных, через антенну ех204 или кабель ех203 и т.д. которые принимают вещание; блок ех302 модуляции/демодуляции, который демодулирует принятые мультиплексированные данные или модулирует данные в мультиплексированные данные, которые будут выданы вовне; и блок ех303 мультиплексирования/демультиплексирования, который демультиплексирует модулированные мультиплексированные данные в видеоданные и аудиоданные или мультиплексирует видеоданные и аудиоданные, кодированные блоком ех306 обработки сигналов, в данные.

[0268] Телевизор ех300 дополнительно включает в себя: блок ех306 обработки сигналов, содержащий блок ех304 обработки аудиосигнала и блок ех305 обработки видеосигнала, которые декодируют аудиоданные и видеоданные и кодируют аудиоданные и видеоданные соответственно (которые функционируют как устройство кодирования изображения и устройство декодирования изображения в соответствии с аспектами настоящего изобретения); и блок ех309 вывода, содержащий динамик ех307, который обеспечивает декодированный аудиосигнал, и блок ех308 отображения, который отображает декодированный видеосигнал, например, дисплей. Кроме того, телевизор ех300 включает в себя блок ех317 интерфейса, содержащий блок ех312 ввода операций, который принимает ввод пользовательским операций. Кроме того, телевизор ех300 включает в себя блок ех310 управления, который управляет всеми составляющими элементами телевизора ех300, и блок ех311 схемы электропитания, который подает питание каждому из элементов. Кроме блока ех312 ввода операций, блок ех317 интерфейса может включать в себя: мост ех313, который соединен с внешним устройством, таким как устройство ех218 чтения/записи; блок ех314 слота для обеспечения возможности присоединения носителя ех216 записи, такого как SD-карта; привод ех315 для соединения внешнего носителя записи, такого как жесткий диск; и модем ех316 для соединения с телефонной сетью. При этом носитель ех216 записи может электрически записывать информацию с использованием энергонезависимого/энергозависимого элемента полупроводниковой памяти для хранения. Составляющие элементы телевизора ех300 соединены друг с другом через синхронную шину.

[0269] Сначала будет описана конфигурация, в которой телевизор ех300 декодирует мультиплексированные данные, полученные извне через антенну ех204 и другие элементы, и воспроизводит декодированные данные. В телевизоре ех300 после пользовательской операции через пульт ех220 дистанционного управления и другие элементы блок ех303 мультиплексирования/демультиплексирования демультиплексирует мультиплексированные данные, демодулированные блоком ех302 модуляции/демодуляции, под управлением блока ех310 управления, содержащего центральный процессор. Кроме того, блок ех304 обработки аудиосигнала декодирует демультиплексированные аудиоданные, и блок ех305 обработки видеосигнала декодирует демультиплексированные видеоданные с использованием способа декодирования, описанного в каждом из вариантов осуществления, в телевизоре ех300. Блок ех309 вывода выдает вовне декодированный видеосигнал и аудиосигнал снаружи соответственно. Когда блок ех309 вывода выдает видеосигнал и аудиосигнал, сигналы могут быть временно сохранены в буферах ех318 и ех319 и других элементах, с тем чтобы сигналы были воспроизведены в синхронизации друг с другом. Кроме того, телевизор ех300 может считывать мультиплексированные данные не посредством вещания и т.п., а с носителей ех215 и ех216 записи, таких как магнитный диск, оптический диск и SD-карта. Далее будет описана конфигурация, в которой телевизор ех300 кодирует аудиосигнал и видеосигнал и передает данные вовне или записывает данные на носителе записи. В телевизоре ех300 после пользовательской операции через пульт ех220 дистанционного управления и другие элементы блок ех304 обработки аудиосигнала кодирует аудиосигнал, и блок ех305 обработки видеосигнала кодирует видеосигнал под управлением блока ех310 управления с использованием способа кодирования, описанного в каждом из вариантов осуществления. Блок ех303 мультиплексирования/демультиплексирования мультиплексирует кодированный видеосигнал и аудиосигнал и выдает вовне полученный в результате сигнал. Когда блок ех303 мультиплексирования/демультиплексирования мультиплексирует видеосигнал и аудиосигнал, сигналы могут быть временно сохранены в буферах ех320 и ех321 и других элементах, с тем чтобы сигналы были воспроизведены в синхронизации друг с другом. При этом в телевизоре ех303 может быть несколько буферов ех318, ех319, ех320 и ех321, как проиллюстрировано, или по меньшей мере один буфер может быть совместно использован. Кроме того, данные могут храниться в буфере таким образом, чтобы, например, можно было избежать системного переполнения и отрицательного переполнения между блоком ех302 модуляции/демодуляции и блоком ех303 мультиплексирования/демультиплексирования.

[0270] Кроме того, телевизор ех300 может включать в себя конфигурацию для приема ввода AV от микрофона или камеры кроме конфигурации для получения аудиоданных и видеоданных из вещания или с носителя записи и может кодировать полученные данные. Хотя телевизор ех300 может кодировать, мультиплексировать и выдавать вовне данные в описании, он может быть способен только принимать, декодировать и выдавать вовне данные, а не кодировать, мультиплексировать и выдавать вовне данные.

[0271] Кроме того, когда устройство ех218 чтения/записи читает или записывает мультиплексированные данные с носителя записи или на носитель записи, либо телевизор ех300, либо устройство ех218 чтения/записи может декодировать или кодировать мультиплексированные данные, и телевизор ех300 и устройство ех218 чтения/записи могут совместно использовать декодирование или кодирование.

[0272] В качестве примера фиг. 20 иллюстрирует конфигурацию блока ех400 воспроизведения/записи информации, когда данные считываются с оптического диска или записываются на оптический диск. Блок ех400 воспроизведения/записи информации включает в себя составляющие элементы ех401, ех402, ех403, ех404, ех405, ех406 и ех407, которые будут описаны далее. Оптическая головка ех401 излучает лазерное пятно на поверхности записи носителя ех215 записи, который является оптическим диском, для записи информации и обнаруживает отраженный свет от поверхности записи носителя ех215 записи, для считывания информации. Блок ех402 записи модуляции электрически управляет полупроводниковым лазером, включенным в оптическую головку ех401, и модулирует лазерный свет соответствии с записываемыми данными. Блок ех403 демодуляции воспроизведения усиливает сигнал воспроизведения, полученный посредством электрического обнаружения отраженного света от поверхности записи с использованием фотодетектора, включенного в оптическую головку ех401, и демодулирует сигнал воспроизведения посредством разделения компонента сигнала, записанного на носителе записи ех215, для воспроизведения необходимой информации. Буфер ех404 временно сохраняет информацию, которая будет записана на носителе ех215 записи, и информацию, воспроизведенную с носителя ех215 записи. Дисковый двигатель ех405 поворачивает вращает носитель ех215 записи. Блок ех406 управления сервомотором перемещает оптическую головку ех401 на предопределенную информационную дорожку, управляя приведением во вращательное движение дискового двигателя ех405, чтобы следовать за лазерным пятном. Системный блок ех407 управления управляет всем блоком ех400 воспроизведения/записи информации. Процессы чтения и записи могут быть реализованы посредством системного блока ех407 управления с использованием различной информации, хранящейся в буфере ех404, и формирования и добавления новой информации по мере необходимости, и блока ех402 записи модуляции, блока ех403 демодуляции воспроизведения и блока ех406 управления сервомотором, чтобы запись и воспроизведение информации через оптическую головку ех401 управлялась скоординированным образом. Системный блок ех407 управления включает в себя, например, микропроцессор и исполняет обработку, заставляя компьютер исполнять программу для чтения и записи.

[0273] Хотя в описании оптическая головка ех401 излучает лазерное пятно, она может выполнять высокоплотную запись используя ближнепольную оптику.

[0274] Фиг. 21 иллюстрирует носитель ех215 записи, который является оптическим диском. На поверхности записи носителя записи ех215 по спирали сформированы направляющие канавки, и информационная дорожка ех230 заранее записывает информацию адреса, указывающую абсолютную позицию на диске в соответствии с изменением формы направляющих канавок. Информация адреса включает в себя информацию для определения позиции блоков ех231 записи, которые являются единицами записи данных. Воспроизведение информационной дорожки ех230 и считывание информации адреса в устройстве, которое записывает и воспроизводит данные, может привести к определению позиций блоков записи. Кроме того, носитель ех215 записи включает в себя область ех233 записи данных, внутреннюю область ех232 окружности и внешнюю область ех234 окружности. Область ех233 записи данных является областью для использования при записи пользовательских данных. Внутренняя область ех232 окружности и внешняя область ех234 окружности, которые находятся внутри и снаружи области ех233 записи данных соответственно, предназначены для специального использования кроме записи пользовательских данных. Блок 400 воспроизведения/записи данных считывает и записывает кодированную аудиоинформацию, кодированные видеоданные или мультиплексированные данные, полученные посредством мультиплексирования кодированных аудиоданных и видеоданных, из области ех233 записи данных носителя ех215 записи и на нее.

[0275] Хотя в описании в качестве примера описан оптический диск, имеющий слайс, такой как DVD и BD, оптический диск не ограничен этим и может быть оптическим диском, имеющим многоуровневую структуру, и на котором запись может быть сделана на части, отличной от поверхности. Кроме того, оптический диск может иметь структуру для многомерной записи/воспроизведения, например, записи информации с использованием цветного света с разными длинами волн в одной и той же секции оптического диска и для записи информации, имеющей различные слайсы с различных углов.

[0276] Кроме того, автомобиль ех210, имеющий антенну ех205, может принимать данные от спутника ех202 и т.п. и воспроизводить видеоинформацию на устройстве отображения, таком как автомобильная навигационная система ех211, установленная в автомобиле ех210, в системе ех200 цифрового вещания. При этом, конфигурация автомобильной навигационной системы ех211 будет конфигурацией, например, включающей в себя блок приема GPS, из конфигурации, проиллюстрированной на фиг. 19. То же самое будет верно для конфигурации компьютера ex111, сотового телефона ех114 и т.п.

[0277] Фиг. 22А иллюстрирует сотовый телефон ех114, который использует способ кодирования движущегося изображения и способ декодирования движущегося изображения, описанные в вариантах осуществления. Сотовый телефон ex114 включает в себя: антенну ех350 для передачи и приема радиоволн через базовую станцию ex110; блок ех365 камеры, способный захватывать динамические и неподвижные изображений; и блок ех358 отображения, такой как жидкокристаллический дисплей, для отображения данных, таких как декодированная видеоинформация, захваченная блоком ех365 камеры или принятая антенной ех350. Сотовый телефон ех114 дополнительно включает в себя: блок корпуса, содержащий блок ех366 операционных клавиш; блок ех357 ауидовывода, например, динамик для вывода аудиоинформации; блок ех356 аудиоввода, например, микрофон для ввода аудиоинформации; блок ех367 памяти для хранения захваченной видеоинформации или фотоснимков, записанной аудиоинформации, кодированных или декодированных данных, принятой видеоинформации, фотоснимков, электронных писем и т.п.; и блок ех364 слота, который является блоком интерфейса для носителя записи, который хранит данные таким же образом, как блок ех367 памяти.

[0278] Далее будет: описан пример конфигурации сотового телефона ex114 со ссылкой на фиг. 22В. В сотовом телефоне ех114 основной блок ех360 управления, выполненный с возможностью управлять каждым блоком корпуса, в том числе блоком ех358 отображения, а также блоком ех366 операционных клавиш, соединен взаимно через синхронную шину ех370 с блоком ех361 схемы электропитания, блоком ех362 управления вводом, блоком ех355 обработки видеосигнала, блоком ех363 интерфейса камеры, блоком ех359 управления жидкокристаллическим дисплеем (LCD), блоком ех352 модуляции/демодуляции, блоком ех363 мультиплексирования/демультиплексирования, блоком ех354 обработки аудиосигнала, блоком ех364 слота и блоком ех367 памяти.

[0279] Когда клавиша окончания вызова или клавиша питания включены посредством пользовательской операции, блок ех361 схемы электропитания подает на соответствующие блоки питание от блока батарей, чтобы активировать сотовый телефон ех114.

[0280] В сотовом телефоне ех114 блок ех354 обработки аудиосигнала преобразовывает аудиосигналы, собранные блоком ех356 аудиоввода в режиме разговора, в цифровые аудиосигналы под управлением основного блока ех360 управления, включающего в себя центральный процессор (CPU), постоянное запоминающее устройство (ROM) и оперативное запоминающее устройство (RAM). Затем блок ех352 модуляции/демодуляции выполняет обработку расширения спектра над цифровыми аудиосигналами, и блок ех351 передачи и приема выполняет цифроаналоговое преобразование и частотное преобразование над данными, чтобы передать полученные в результате данные через антенну ех350. Кроме того, в сотовом телефоне ex114 блок ех351 передачи и приема усиливает данные, принятые антенной ех350 в режиме разговора, и выполняет частотное преобразование и аналого-цифровое преобразование над данными. Затем блок ех352 модуляции/демодуляции выполняет обратную обработку расширения спектра над данными, и блок ех354 обработки аудиосигнала преобразовывает их в аналоговые аудиосигналы для выдачи их через блок ех357 аудиовывода.

[0281] Кроме того, когда в режиме передачи данных передается электронная почта, текстовые данные электронной почты, введенные посредством блока ех366 операционных клавиш и т.п. корпуса, посылаются в основной блок ех360 управления через блок ех362 управления вводом. Основной блок ех360 управления заставляет блок ех352 модуляции/демодуляции выполнять обработку расширения спектра над текстовыми данными, и блок ех351 передачи и приема выполняет цифроаналоговое преобразование и частотное преобразование над полученными в результате данными, чтобы передать данные базовой станции ex110 через антенну ех350. Когда электронное письмо принимается, над принятыми данными выполняется обработка, которая является приблизительно обратной по отношению к обработке для передачи электронной почты, и полученные в результате данные выдаются блоку ех358 отображения.

[0282] Когда в режиме передачи данных передается видеоинформация, неподвижные изображения или видеоинформация и аудиоинформация, блок ех355 обработки видеосигнала сжимает и кодирует видеосигналы, предоставленные от блока ех365 камеры, с использованием способа кодирования движущегося изображения, показанного в каждом из вариантов осуществления (то есть функционирует как устройство кодирования изображения в соответствии с аспектом настоящего изобретения), и передает кодированные видеоданные блоку ех353 мультиплексирования/демультиплексирования. Напротив, в то время, когда блок ех365 камеры захватывает видеоинформацию, неподвижные изображения и т.п., блок ех354 обработки аудиосигнала кодирует аудиосигналы, собранные блоком ех356 аудиоввода, и передает кодированные аудиоданные блоку ех353 мультиплексирования/демультиплексирования.

[0283] Блок ех353 мультиплексирования/демультиплексирования мультиплексирует кодированные видеоданные, предоставленные от блока ех355 обработки видеосигнала, и кодированные аудиоданные, предоставленные от блока ех354 обработки аудиосигнала, с использованием предопределенного способа. Затем блок ех352 модуляции/демодуляции (блок схемы модуляции/демодуляции) выполняет обработку расширения спектра над мультиплексированными данных, и блок ех351 передачи и приема выполняет цифроаналоговое преобразование и частотное преобразование над данными, чтобы передать полученные в результате данные через антенну ех350.

[0284] При приеме данных видеофайла, который присоединен к веб-странице и т.п., в режиме передачи данных или при приеме электронной почты с присоединенной видеоинформацией и/или аудиоинформацией, чтобы декодировать мультиплексированные данные, принятые через антенну ех350, блок ех353 мультиплексирования/демультиплексирования демультиплексирует мультиплексированные данные в битовый поток видеоданных и битовый поток аудиоданных, и предоставляет блоку ех355 обработки видеосигнала кодированные видеоданные и блоку ех354 обработки аудиосигнала кодированными аудиоданные через синхронную шину ех370. Блок ех355 обработки видеосигнала декодирует видеосигнал с использованием способа декодирования движущегося изображения, соответствующего способу кодирования движущегося изображения, показанному в каждом из вариантов осуществления (то есть функционирует как устройство декодирования изображения в соответствии с аспектом настоящего изобретения), и затем блок ех358 отображения отображает, например, видеоизображения и неподвижные изображения, включенные в видеофайл, присоединенный к веб-странице, через блок ех359 управления LCD. Кроме. того, блок ех354 обработки аудиосигнала декодирует аудиосигнал, и блок ех357 аудиовывода выдает аудиоинформацию.

[0285] Кроме того, аналогично телевизору ех300 терминал, такой как сотовый телефон ех114, возможно имеет 3 типа конфигураций реализации, в том числе не только (i) терминал передачи и приема, включающий в себя и устройство кодирования, и устройство декодирования, но также и (ii) терминал передачи, включающий в себя только устройство кодирования, и (iii) терминал приема, включающий в себя только устройство декодирования. Хотя в описании система ех200 цифрового вещания принимает и передает мультиплексированные данные, полученные посредством мультиплексирования аудиоданных и видеоданных, мультиплексированные данные могут быть данными, полученными посредством мультиплексирования не аудиоданных, а символьных данных, имеющих отношение к видеоинформации, и видеоданных, и могут быть не мультиплексированными данными, а видеоданными непосредственно.

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

[0287] Кроме того, настоящее изобретение не ограничено вариантами осуществления, и возможны различные модификации и переработки без отступления от объема настоящего изобретения.

[0288] (Вариант осуществления 10)

Видеоданные могут быть сформированы посредством переключения по мере необходимости между (i) способом кодирования движущегося изображения или устройством кодирования движущегося изображения, показанных в каждом из вариантов осуществления, и (ii) способом кодирования движущегося изображения или устройством кодирования движущегося изображения в соответствии с другим стандартом, таким как MPEG 2, MPEG. 4 AVC и VC 1.

[0289] При этом, когда сформировано и затем декодируется множество видеоданных, которые соответствуют различным стандартам, способы декодирования должны быть выбраны для соответствия разным стандартам. Однако, поскольку не может быть обнаружен стандарт, которому соответствует каждое множество видеоданных, которые будут декодированы, имеется проблема в том, что не может быть выбран соответствующий способ декодирования.

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

[02 91] Фиг. 23 иллюстрирует структуру мультиплексированных данных. Как проиллюстрировано на фиг. 23, мультиплексированные данные могут быть получены посредством мультиплексирования по меньшей мере одного из видеопотока, аудиопотока, потока презентационной графики (PG) и потока интерактивной графики. Видеопоток представляет первичную видеоинформацию и вторичную видеоинформацию фильма, аудиопоток (IG) представляет первичную звуковую часть и вторичную звуковую часть, которая должна быть микширована с первичной звуковой частью, и поток презентационной графики представляет субтитры фильма. При этом первичная видеоинформация является обычной видеоинформацией, которая будет отображена на экране, и вторичная видеоинформация является видеоинформацией, которая будет отображена в меньшем окне в первичной видеоинформации. Кроме того, поток интерактивной графики представляет интерактивный экран, который будет сформирован посредством расположения компонентов графического пользовательского интерфейса (GUI) на экране. Видеопоток кодирован способом кодирования движущегося изображения или устройством кодирования движущегося изображения, показанными в каждом из вариантов осуществления, или способом кодирования движущегося изображения или устройством кодирования движущегося изображения в соответствии с традиционным стандартом, таким как MPEG 2, MPEG 4 AVC и VC 1. Аудиопоток кодирован в соответствии со стандартом, таким как Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD и линейный PCM.

[0292] Каждый поток, включенный в мультиплексированные данные, идентифицирован посредством PID. Например, значение 0×1011 выделяется видеопотоку, который будет использоваться для видеоинформации фильма, значения от 0×1100 до 0×111F выделяются аудиопотокам, значения от 0×1200 до 0×12IF выделяются потокам презентационной графики, значения от 0×1400 до 0×141F выделяются потокам интерактивной графики, значения от 0×1B00 до 0×1B1F выделяются видеопотокам, которые будут использоваться для вторичной видеоинформации фильма, и значения от 0×1A00 до 0×1A1F выделяются аудиопотокам, которые будут использоваться для вторичной аудиоинформации, которая будет микшироваться с первичной аудиоинформацией.

[0293] Фиг. 24 схематично иллюстрирует, как данные мультиплексируются. Сначала видеопоток ех235, состоящий из видеокадров, и аудиопоток ех238, состоящий из звуковых кадров, преобразовываются в поток PES пакетов ех236 и поток PES пакетов ех239 и затем в TS пакеты ех237 и TS пакеты ех240 соответственно. Аналогичным образом данные потока ех241 презентационной графики и данные потока ех244 интерактивной графики преобразовываются в поток PES пакетов ех242 и поток PES пакетов ех245 и затем в TS пакеты ех243 и TS пакеты ех246 соответственно. Эти TS пакеты мультиплексируются в поток для получения мультиплексированных данных ех247.

[0294] Фиг. 25 более подробно иллюстрирует, как видеопоток сохраняется в потоке PES пакетов. Первая полоса на фиг. 25 показывает поток видеокадров в видеопотоке. Вторая полоса показывает поток PES пакетов. Как указано стрелками, обозначенными yy1, yy2, yy3 и yy4 на фиг. 25, видеопоток разделяется на такие изображения, как I-изображения, В-изображения и Р-изображения, каждое из которых является блоком видеопрезентации, и изображения сохраняются в полезной нагрузке каждого из PES пакетов. Каждый из PES пакетов имеет PES заголовок, и PES заголовок хранит временную метку представления (PTS), указывающую времени отображения изображения, и временную метку декодирования (DTS), указывающую время декодирования изображения.

[0295] Фиг. 26 иллюстрирует формат TS пакетов, которые будут в конечном счете записаны в мультиплексированных данных. Каждый из TS пакетов представляет собой 188-байтовый пакет фиксированной длины, включающий в себя 4-байтовый TS заголовок, имеющий такую информацию, как PID для идентификации потока, и 184-байтовую полезную нагрузку TS для хранения данных. PES пакеты разделены и сохранены в полезных нагрузках TS соответственно. Когда используется BD ROM, каждому из TS пакетов дается 4-байтовый заголовок TP_Extra_Header, что дает в результате 192-байтовые пакеты источника. Пакеты источника записаны в мультиплексированных данных. Заголовок TP_Extra_Header хранит такую информацию, как метка Arrival_Time_Starap (ATS). Метка ATS показывает время начала передачи, в которое каждый из TS пакетов должен быть передан фильтру PID. Пакеты источника расположены в мультиплексированных данных, как показано внизу фиг. 26. Номера, увеличивающиеся от начала мультиплексированных данных, называются номерами пакетов источника (SPN).

[0296] Каждый из TS пакетов, включенных в мультиплексированные данные, включает в себя не только потоки аудиоинформации, видеоинформации, субтитров и т.п., но также и таблицу привязки программы (PAT), таблицу карты программы (РМТ) и метка времени программы (PCR). Таблица PAT показывает, что обозначает PID в таблице РМТ, используемой в мультиплексированных данных, и PID самой таблицы PAT записывается как нуль. Таблица РМТ хранит PID потоков видеоинформации, аудиоинформации, субтитров и т.п., включенных в мультиплексированные данные, и информацию атрибута потоков, соответствующих PID. Таблица РМТ также имеет различные дескрипторы, имеющие отношение к мультиплексированным данным. Дескрипторы имеют такую информацию, такая управляющая информация копирования, показывающая, разрешено ли копирование мультиплексированных данных. Метка PCR хранит информацию времени STC, соответствующую метке ATS, показывающую, когда пакет PCR передан декодеру, чтобы достигнуть синхронизации между временем поступления (АТС), которое является осью времени меток ATS, и системным таймером (STC), который является осью времени потоков PTS и DTS.

[0297] Фиг. 27 иллюстрирует структуру данных РМТ подробно. Заголовок РМТ расположен наверху РМТ. Заголовок РМТ описывает длину данных, включенных в РМТ и других. Множество дескрипторов, касающихся мультиплексированных данных, расположено после заголовка РМТ. Информация, такая как управляющая информация копии описана в дескрипторах. После дескрипторов расположено множество частей информации о потоке, касающейся потоков, включенных в мультиплексированные данные. Каждая часть информации о потоке включает потоковые дескрипторы каждая информация об описании, такие как потоковый тип для того, чтобы идентифицировать кодек сжатия потока, потокового PID, и потоковой информации атрибута (такой как частота кадров или формат изображения). Потоковые дескрипторы равны в числе к числу потоков в мультиплексированных данных.

[0298] Когда мультиплексированные данные записываются на носителе записи и т.п., они записываются вместе с файлами информации мультиплексированных данных.

[0299] Каждый из файлов информации мультиплексированных данных представляет собой информацию об управлении мультиплексированными данными, как показано на фиг. 28. Файлы информации мультиплексированных данных находятся во взаимнооднозначном соответствии с мультиплексированными данными, и каждый из файлов включает в себя информацию мультиплексированных данных, информацию атрибутов потока и карту записи.

[0300] Как проиллюстрировано на фиг. 28, информация мультиплексированных данных включает в себя системную скорость, время начала воспроизведения и время окончания воспроизведения. Системная скорость указывает максимальную скорость передачи, на которой системный целевой декодер, который будет описан позже, передает мультиплексированные данные PID фильтру. Интервалы меток ATS, включенных в мультиплексированные данные, устанавливаются не выше, чем системная скорость. Время начала воспроизведения указывает на метку PTS в видеокадре во начале мультиплексированных данных. Интервал одного кадра добавляется к метке PTS в видеокадре в конце мультиплексированных данных, и метка PTS устанавливается равной времени окончания воспроизведения.

[0301] Как показано на фиг. 29, часть информации атрибутов записывается в информации атрибутов потока для каждого PID каждого потока, включенного в мультиплексированные данные. Каждая часть информации атрибутов имеет различную информацию в зависимости от того, является ли соответствующий поток видеопотоком, аудиопотоком, потоком презентационной графики или потоком интерактивной графики. Каждая часть информации атрибутов видеопотока несет такую информацию, как информация о том, какой кодек сжатия используется для сжатия видеопотока, и разрешение, формат изображения и частоту кадров частей данных изображения, которые включены в видеопоток. Каждая часть информации атрибутов аудиопотока несет такую информацию, как информация о том, какой кодек сжатия используется для сжатия аудиопотока, сколько каналов включено в аудиопоток, какой язык поддерживает аудиопоток и насколько высока частота дискретизации. Информация атрибутов видеопотока и информация атрибутов аудиопотока используются для инициализации декодера, прежде чем проигрыватель воспроизведет информацию.

[0302] В настоящем варианте осуществления мультиплексированные данные, которые будут использоваться, имеют тип потока, включенный в таблицу РМТ. Кроме того, когда мультиплексированные данные записываются на носителе записи, используется информация атрибутов видеопотока, включенная в информацию мультиплексированных данных. Более определенно, способ кодирования движущегося изображения или устройство кодирования движущегося изображения, описанные в каждом из вариантов осуществления, включают в себя этап или блок для выделения уникальной информации, указывающей на видеоданные, сформированные способом кодирования движущегося изображения или устройством кодирования движущегося изображения в каждом из вариантов осуществления, для типа потока, включенного в таблицу РМТ или в информацию атрибутов видеопотока. При такой конфигурации видеоданные, сформированные способом кодирования движущегося изображения или устройством кодирования движущегося изображения, описанные в каждом из вариантов осуществления, можно отличить от видеоданных, которые соответствуют другому стандарту.

[0303] Кроме того, фиг. 30 иллюстрирует этапы способа декодирования движущегося изображения в соответствии с настоящим вариантом осуществления. На этапе exS100 из мультиплексированных данных получается тип потока, включенный в таблицу РМТ или в информацию атрибутов потока, включенную в информацию мультиплексированных данных. Затем на этапе exS101 определяется, указывают ли тип потока или информация атрибутов видеопотока, что мультиплексированные данные сформированы способом кодирования движущегося изображения или устройством кодирования движущегося изображения в каждом из вариантов осуществления. Когда определено, что тип потока или информация атрибутов видеопотока указывают, что мультиплексированные данные сформированы способом кодирования движущегося изображения или устройством кодирования движущегося изображения в каждом из вариантов осуществления, на этапе exS102 декодирование выполняется посредством способа декодирования движущегося изображения в каждом из вариантов осуществления. Кроме того, когда тип потока или информация атрибутов видеопотока указывают на соответствие традиционным стандартам, таким как MPEG 2, MPEG 4 AVC и VC 1, на этапе exS103 декодирование выполняется способом декодирования движущегося изображения в соответствии с традиционными стандартами.

[0304] Таким образом, выделение нового уникального значения для типа потока или информации атрибутов видеопотока обеспечивает возможность для определения, могут ли способ декодирования движущегося изображения или устройство декодирования движущегося изображения, которые описаны в каждом из вариантов осуществления, выполнить декодирование. Даже когда вводятся мультиплексированные данные, которые соответствуют другому стандарту, могут быть выбраны соответствующий способ или устройство декодирования. Таким образом, становится возможно декодировать информацию без какой-либо ошибки. Кроме того, способ или устройство кодирования движущегося изображения или способ или устройство декодирования движущегося изображения в настоящем варианте осуществления могут использоваться в описанных выше устройствах и системах.

[0305] (Вариант осуществления 11)

Каждый из способа кодирования движущегося изображения, устройства кодирования движущегося изображения, способа декодирования движущегося изображения и устройства декодирования движущегося изображения в каждом из вариантов осуществления обычно достигается в виде интегральной схемы или большой интегральной схемы (LSI). В качестве примера схемы LSI, фиг. 31 иллюстрирует конфигурацию схемы ех500 LSI, которая выполнена в одной микросхеме. Схема ех500 LSI включает в себя элементы ех501, ех502, ех503, ех504, ех505, ех506, ех507, ех508 и ех509, которые будут описан ниже, и элементы соединены друг с другом через шину ех510. Блок ех505 схемы электропитания активируется посредством подачи питания на каждый из элементов, когда блок ех505 схемы электропитания включен.

[0306] Например, когда выполняется кодирование, схема ех500 LSI принимает AV-сигнал от микрофона ех117, камеры ех113 и т.п. через блок ех509 ввода/вывода аудиоданных и видеоданных под управлением блока ех501 управления, включающего в. себя центральный процессор ех502, контроллер ех503 памяти, потоковый контроллер ех504 и блок ех512 управления задающей частотой. Принятый AV-сигнал временно сохраняется во внешней памяти ех511, такой как SDRAM. Под управлением блока ех501 управления сохраненные данные в соответствии с объемом и скоростью обработки сегментируются в секции данных, которые будут переданы блоку ех507 обработки сигналов. Затем блок ех507 обработки сигналов кодирует аудиосигнал и/или видеосигнал. При этом кодирование видеосигнала представляет собой кодирование, описанное в каждом из вариантов осуществления. Кроме того, блок ех507 обработки сигналов иногда мультиплексирует кодированные аудиоданные и кодированные видеоданные, и блок ех506 ввода/вывода потока выдает мультиплексированные данные вовне. Выданные мультиплексированные данные передаются базовой станции ех107 или записываются на носителе ех215 записи. Когда наборы данных мультиплексируются, данные должны временно сохраняться в буфере ех508, с тем чтобы наборы данных были синхронизированы друг с другом.

[0307] Хотя память ех511 является элементом, внешним по отношению к схеме ех500 LSI, она может быть включена в схему ех50 0 LSI. Буфер ех508 не ограничен одним буфером, а может быть составлен из буферов. Кроме того, схема ех500 LSI может быть выполнена как одна микросхема или множество микросхем.

[0308] Кроме того, хотя блок ех501 управления включает в себя центральный процессор ех502, контроллер ех503 памяти, потоковый ех504 контроллер, блок ех512 управления задающей частотой, конфигурация блока ех501 управления не ограничена этим. Например, блок ех507 обработки сигналов может дополнительно включать в себя центральный процессор. Включение другого центрального процессора в блок ех507 обработки сигналов может увеличить скорость обработки. Кроме того, в качестве другого примера, центральный процессор ех502 может служить в качестве или являться частью блока ех507 обработки сигналов и, например, может включать в себя блок обработки аудиосигнала. В таком случае блок ех501 управления включает в себя блок ех507 обработки сигналов или центральный процессор ех502, содержащий часть блока ех507 обработки сигналов.

[0309] Используемое здесь название представляет собой большую интегральную схему (LSI), но она также может называться интегральной схемой (1С), системной большой интегральной схемой, сверхбольшой интегральной схемой или ультрабольшой интегральной схемой в зависимости от степени интеграции.

[0310] Кроме того, способы достижения интеграции не ограничены схемами LSI, и специальная схема или процессор общего назначения и т.д. также могут достигать интеграции. Программируемая пользователем вентильная матрица (FPGA), которая может быть запрограммирована после изготовления схем LSI, или реконфигурируемый процессор, который позволяет реконфигурирование соединения или конфигурации LSI, может использоваться с той же целью. Такое программируемое логическое устройство обычно может исполнять способ кодирования движущегося изображения и/или способ декодирования движущегося изображения в соответствии с любым из описанных выше вариантов осуществления посредством загрузки или считывания из памяти и т.п. одной или более программ, которые включены в программное обеспечение или программно-аппаратное обеспечение.

[0311] В будущем, с развитием полупроводниковой технологии схемы LSI может заменить совершенно новая технология. Функциональные блоки могут быть интегрированы с использованием такой технологии. Возможность состоит в том, что настоящее изобретение применено к биотехнологии.

[0312] (Вариант осуществления 12)

Когда декодируются видеоданные, сформированные способом кодирования движущегося изображения или устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления, объем обработки может увеличиться по сравнению с декодированием видеоданных, которые соответствуют традиционному стандарту, такому как MPEG 2, MPEG 4 AVC и VC 1. Таким образом, схеме ех500 LSI нужна установка, более высокой задающей частоты, чем в центральном процессоре ех502, для использования, когда декодируются видеоданные в соответствии с традиционным стандартом. Однако, когда задающая частота установлена более высокой, имеется проблема, которая увеличивает расход энергии.

[0313] Чтобы решить эту проблему, устройство декодирования движущегося изображения, такое как телевизор ех300 и схема ех500 LSI, выполнены с возможностью определять, которому стандарту соответствуют видеоданные, и выполнять переключение между частотами возбуждения в соответствии с определенным стандартом. Фиг. 32 иллюстрирует конфигурацию ех800 в настоящем варианте осуществления. Блок ех803 переключения задающей частоты устанавливает задающую частоту равной более высокой задающей частоте, когда видеоданные сформированы способом кодирования движущегося изображения или устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления. Затем блок ех803 переключения задающей частоты дает команду блоку ех801 обработки декодирования, который исполняет способ декодирования движущегося изображения, описанный в каждом из вариантов осуществления, для декодирования видеоданных. Когда видеоданные соответствуют традиционному стандарту, блок ех803 переключения задающей частоты устанавливает задающую частоту равной более низкой задающей частоте, чем для видеоданных, сформированных способом кодирования движущегося изображения или устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления. Затем, блок ех803 переключения задающей частоты дает команду блоку ех802 обработки декодирования, который соответствует традиционному стандарту, для декодирования видеоданных.

[0314] Более определенно, блок ех803 переключения задающей частоты включает в себя центральный процессор ех502 и блок ех512 управления задающей частотой на фиг. 31. При этом каждый из блока ех801 обработки декодирования, который исполняет способ декодирования движущегося изображения, описанный в каждом из вариантов осуществления, и блока ех802 обработки декодирования, который соответствует традиционному стандарту, соответствует блоку ех507 обработки сигналов на фиг. 31. Центральный процессор 502 определяет, какому стандарту соответствуют видеоданные. Затем блок ех512 управления задающей частотой определяет задающую частоту на основе сигнала от центрального процессора ех502. Кроме того, блок ех507 обработки сигналов декодирует видеоданные на основе сигнала от центрального процессора ех502. Например, идентификационная информация, описанная в варианте осуществления 10 может использоваться для идентификации видеоданных. Идентификационная информация не ограничена описанной в варианте осуществления 10, а может представлять собой любую информацию, пока информация указывает, какому стандарту соответствуют видеоданные. Например, когда стандарт, которому соответствуют видеоданные, может быть определен на основе внешнего сигнала для определения, что видеоданные используются для телевидения или диска и т.д., определение может быть сделано на основе такого внешнего сигнала. Кроме того, центральный процессор ех502 выбирает задающую частоту, например, на основе таблицы поиска, в которой стандарты видеоданных соответствуют частотам возбуждения, как показано на фиг. 34. Задающая частота может быть выбрана посредством хранения таблицы поиска в буфере ех508 и во внутренней памяти схемы LSI и со ссылкой на таблицу поиска посредством центрального процессора ех502.

[0315] Фиг. 33 иллюстрирует этапы выполнения способа в настоящем варианте осуществления. Сначала на этапе exS200 блок ех507 обработки сигналов получает идентификационную информацию из мультиплексированных данных. Затем на этапе exS201, центральный процессор ех502 определяет, сформированы ли видеоданные способом кодирования и устройством кодирования, описанными в каждом из вариантов осуществления, на основе идентификационной, информации. Когда видеоданные сформированы способом кодирования движущегося изображения и устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления, на этапе exS202 центральный процессор ех502 передает сигнал для установки задающей частоты равной более высокой задающей частоте блоку ех512 управления задающей частотой. Затем блок ех512 управления задающей частотой устанавливает задающую частоту равной более высокой задающей частоте. С другой стороны, когда идентификационная информация указывает, что видеоданные соответствуют традиционному стандарту, такому как MPEG 2, MPEG 4 AVC и VC 1, на этапе exS203 центральный процессор ех502 передает сигнал для установки задающей частоты равной более низкой задающей частоте блоку ех512 управления задающей частотой. Затем блок ех512 управления задающей частотой устанавливает задающую частоту равной более низкой задающей частоте, чем в случае, когда видеоданные сформированы способом кодирования движущегося изображения и устройством кодирования движущегося изображения, описанными в каждом варианте осуществления.

[0316] Кроме того, наряду с переключением задающих частот, эффект экономии мощности может быть улучшен посредством изменения напряжения, которое будет приложено к схеме ех500 LSI или устройству, включающему в себя схему ех500 LSI. Например, когда задающая частота устанавливается ниже, напряжение, которое будет приложено к схеме ех500 LSI или устройству, включающему в себя схему ех500 LSI может быть установлено равным более низкому напряжению, чем в случае, когда задающая частота устанавливается выше.

[0317] Кроме того, когда объем обработки для декодирования больше, задающая частота может быть установлена выше, и когда объем обработки для декодировать меньше, задающая частота может быть установлена ниже, как в способе для установки задающей частоты. Таким образом, способ установки не ограничен описанными выше. Например, когда объем обработки для декодирования видеоданные в соответствии со стандартом MPEG-4 AVC больше, чем объем обработки для декодирования видеоданных, сформированных способом кодирования движущегося изображения и устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления, задающая частота может быть установлена в обратном порядке по отношению к описанной выше установке.

[0318] Кроме того, способ установки задающей частоты не ограничен способом установки более низкой задающей частоты. Например, когда идентификационная информация указывает, что видеоданные сформированы способом кодирования движущегося изображения и устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления, напряжение, которое будет приложено к схеме ех500 LSI или устройству, включающему в себя схему ех500 LSI может быть установлено более высоким. Когда идентификационная информация указывает, что видеоданные соответствуют традиционному стандарту, такому как MPEG 2, MPEG 4 AVC и VC 1, напряжение, которое будет приложено к схеме ех500 LSI или устройству, включающему в себя схему ех500 LSI, может быть установлено более низким. В качестве другого примера, когда идентификационная информация указывает, что видеоданные сформированы способом кодирования движущегося изображения и устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления, работа центрального процессора ех502 может не приостанавливаться, и когда идентификационная информация указывает, что видеоданные соответствуют традиционному стандарту, такому как MPEG 2, MPEG 4 AVC и VC 1, работа центрального процессора ех502 приостанавливается в заданное время, поскольку центральный процессор ех502 имеет дополнительную производительность обработки. Даже когда идентификационная информация указывает, что видеоданные сформированы способом кодирования движущегося изображения и устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления, в случае, когда центральный процессор ех502 имеет дополнительную производительность обработки, работа центрального процессора ех502 может приостанавливаться в заданное время. В таком случае время приостановки может устанавливаться более коротким, чем в случае, когда идентификационная информация указывает, что видеоданные соответствуют традиционному стандарту, такому как MPEG 2, MPEG 4 AVC и VC 1.

[0319] В соответствии с этим, эффект экономии мощности может быть улучшен посредством переключения между частотами возбуждения в соответствии со стандартом, которому соответствуют видеоданные. Кроме того, когда схема ех500 LSI или устройство, включающее в себя схему ех500 LSI, управляется с использованием батареи, время работы от батареи может быть увеличено с помощью эффекта экономии мощности.

[0320] (Вариант осуществления 13)

Имеются случаи, в которых множество видеоданных, которые соответствуют различным стандартам, выдается устройствам и системам, таким как телевизор и сотовый телефон. Чтобы обеспечить возможность декодировать множество видеоданных, которые соответствуют различным стандартам, блок ех507 обработки сигналов схемы ех500 LSI должен соответствовать различным стандартам. Однако проблемы увеличения масштаба схемы ех500 LSI и увеличения затрат возникают с отдельным использованием блоков ех507 обработки сигналов, которые удовлетворяют соответствующим стандартам.

[0321] Чтобы решить эту проблему, разработана конфигурация, в которой блок обработки декодирования для реализации способа декодирования движущегося изображения, описанный в каждом из вариантов осуществления, и блок обработки декодирования, который соответствует традиционному стандарту, такому как MPEG 2, MPEG 4 AVC и VC 1, частично распределены. Номер ех900 на фиг. 35А показывает пример конфигурации. Например, способ декодирования движущегося изображения, описанный в каждом из вариантов осуществления, и способ декодирования движущегося изображения, который соответствует стандарту MPEG- 4 AVC, имеют частично общие детали обработки, такие как статистическое кодирование, обратное квантование, фильтрация удаления блочности и предсказание с компенсацией движения. Блок ех902 обработки декодирования, который соответствует стандарту MPEG 4 AVC, может совместно использоваться общими операциями обработки, и специализированный блок ех901 обработки декодирования может использоваться для обработки, которая является уникальной для аспекта настоящего изобретения и не соответствует стандарту MPEG 4 AVC. Блок ех902 обработки декодирования, который соответствует стандарту MPEG 4 AVC, может совместно использоваться общими операциями обработки, и специализированный блок ех901 обработки декодирования может использоваться для обработки, которая является уникальной для аспекта настоящего изобретения и не соответствует стандарту MPEG 4 AVC. Блок обработки декодирования для реализации способа декодирования движущегося изображения, описанного в каждом из вариантов осуществления, может совместно использоваться для обработки, которая будет распределена, и специализированный блок обработки декодирования может использоваться для обработки, уникальной для стандарта MPEG-4 AVC.

[0322] Кроме того, номер ех1000 на фиг. 35В показывает другой пример, в котором обработка частично распределена. Этот пример использует конфигурацию, включающую в себя специализированный блок ex1001 обработки декодирования, который поддерживает обработку, уникальную для аспекта настоящего изобретения, специализированный блок ех1002 обработки декодирования, который поддерживает обработку, уникальную для другого традиционного стандарта, и блок ех1003 обработки декодирования, который поддерживает обработку, которая будет распределена между способом декодирования движущегося изображения в соответствии с аспектом настоящего изобретения и традиционным способом декодирования движущегося изображения. При этом специализированные блоки ex1001 и ех1002 обработки декодирования не обязательно специализированы для обработки в соответствии с аспектом настоящего изобретения и обработки традиционного стандарта соответственно, а могут быть способными к реализации общей обработки. Кроме того, конфигурация настоящего варианта осуществления может быть реализована посредством схемы ех500 LSI.

[0323] Таким образом, сокращение масштаба схемы LSI и сокращение затрат возможны посредством совместного использования блока обработки декодирования для обработки, которая будет распределена между способом декодирования движущегося изображения в соответствии с аспектом настоящего изобретения и способом декодирования движущегося изображения в соответствии с традиционным стандартом.

Промышленная применимость

[0324] Способ кодирования изображения и способ декодирования изображения в соответствии с настоящим изобретением могут быть применены к различным мультимедийным данным. Способ кодирования изображения и способ декодирования изображения в соответствии с настоящим изобретением являются полезными в качестве способа кодирования изображения и способа декодирования изображения при сохранении, передаче, взаимодействии и т.п. с использованием мобильного телефона, устройства DVD, персонального компьютера и т.п.

Список обозначений

[0325] 100 Кодер

105 Блок вычитания

110 Блок преобразования

120 Блок квантования

130, 230 Блок обратного преобразования

140, 240 Блок суммирования

150, 250 Фильтр удаления блочности

160, 260 Адаптивный контурный фильтр

170, 270 Память кадров

180, 280 Блок предсказания

190 Энтропийный кодер

200 Декодер

290 Энтропийный декодер

300, 400, 710 Изображение

31, 32, 3i, 41, 42 Строка элементов LCU

311, 312, 3i1, 321 Элемент LCU

500 Заголовок пакета

510 Заголовок IP

520, 550 Поле расширения

530 Заголовок UDP

540 Заголовок RTP

560 Заголовок полезной нагрузки

570 Заголовок NAL

s1 Входной сигнал

s2 Сигнал предсказания

е, е' Сигнал ошибки предсказания

s', s", s3 Воссозданный сигнал

Похожие патенты RU2653236C2

название год авторы номер документа
СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, СПОСОБ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, КОМПОНЕНТ КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, КОМПОНЕНТ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И КОМПОНЕНТ КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ 2013
  • Эсенлик Семих
  • Наррошке Маттиас
  • Веди Томас
RU2756093C2
СПОСОБ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, УСТРОЙСТВО ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, УСТРОЙСТВО КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И УСТРОЙСТВО КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ 2013
  • Эсенлик Семих
  • Наррошке Маттиас
  • Веди Томас
RU2639679C2
КОДИРОВАНИЕ ИЗОБРАЖЕНИЙ С МАЛОЙ ЗАДЕРЖКОЙ 2021
  • Ширль, Томас
  • Георге, Валери
  • Хенкель, Анастасия
  • Марпе, Детлеф
  • Грюнеберг, Карстен
  • Скупин, Роберт
RU2784930C1
СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЙ, СПОСОБ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ, УСТРОЙСТВО КОДИРОВАНИЯ ИЗОБРАЖЕНИЙ, УСТРОЙСТВО ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ И УСТРОЙСТВО КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ 2012
  • Вахаданиах Виктор
  • Лим Чонг Соон
  • Наинг Суе Мон Тет
  • Сунь Хай Вэй
  • Ниси Такахиро
  • Сасаи Хисао
  • Сибахара Йоудзи
  • Сугио Тосиясу
  • Таникава Киоко
  • Мацунобу Тору
  • Терада Кенго
RU2625944C2
КОДИРОВАНИЕ ИЗОБРАЖЕНИЙ С МАЛОЙ ЗАДЕРЖКОЙ 2019
  • Ширль, Томас
  • Георге, Валери
  • Хенкель, Анастасия
  • Марпе, Детлеф
  • Грюнеберг, Карстен
  • Скупин, Роберт
RU2758037C2
КОДИРОВАНИЕ ИЗОБРАЖЕНИЙ С МАЛОЙ ЗАДЕРЖКОЙ 2021
  • Ширль, Томас
  • Георге, Валери
  • Хенкель, Анастасия
  • Марпе, Детлеф
  • Грюнеберг, Карстен
  • Скупин, Роберт
RU2785714C1
СПОСОБ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, УСТРОЙСТВО ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, УСТРОЙСТВО КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И УСТРОЙСТВО КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ 2013
  • Сасаи Хисао
  • Ниси Такахиро
  • Сибахара Йоудзи
  • Таникава Киоко
  • Сугио Тосиясу
  • Мацунобу Тору
  • Терада Кенго
RU2646333C2
КОДИРОВАНИЕ ИЗОБРАЖЕНИЙ С МАЛОЙ ЗАДЕРЖКОЙ 2013
  • Ширль Томас
  • Георге Валери
  • Хенкель Анастасия
  • Марпе Детлеф
  • Грюнеберг Карстен
  • Скупин Роберт
RU2710908C2
СПОСОБ ЭНТРОПИЙНОГО КОДИРОВАНИЯ СЕГМЕНТА СЛАЙСА И УСТРОЙСТВО ДЛЯ НЕГО И СПОСОБ ЭНТРОПИЙНОГО ДЕКОДИРОВАНИЯ СЕГМЕНТА СЛАЙСА И УСТРОЙСТВО ДЛЯ НЕГО 2014
  • Ли, Тамми
  • Чои, Биеонг-Доо
RU2608465C1
СПОСОБ ЭНТРОПИЙНОГО КОДИРОВАНИЯ СЕГМЕНТА СЛАЙСА И УСТРОЙСТВО ДЛЯ НЕГО И СПОСОБ ЭНТРОПИЙНОГО ДЕКОДИРОВАНИЯ СЕГМЕНТА СЛАЙСА И УСТРОЙСТВО ДЛЯ НЕГО 2014
  • Ли Тамми
  • Чои Биеонг-Доо
RU2609750C1

Иллюстрации к изобретению RU 2 653 236 C2

Реферат патента 2018 года СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, СПОСОБ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, УСТРОЙСТВО КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, УСТРОЙСТВО ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И УСТРОЙСТВО КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ

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

Формула изобретения RU 2 653 236 C2

1. Способ кодирования изображения для выполнения обработки кодирования посредством разделения картинки на множество слайсов, способ кодирования изображения содержит этап, на котором

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

при этом флаг разрешения зависимого слайса расположен в наборе параметров, общем для слайсов,

адрес слайса расположен в заголовке слайса текущего слайса и

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

2. Способ кодирования изображения по п. 1,

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

3. Способ кодирования изображения по п. 1,

в котором флаг разрешения зависимого слайса расположен в начале набора параметров.

4. Способ кодирования изображения по п. 1,

в котором каждый из слайсов включает в себя множество макроблоков и

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

5. Способ кодирования изображения по одному из пп. 1-4,

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

6. Способ декодирования изображения для выполнения обработки декодирования посредством разделения картинки на множество слайсов, способ декодирования изображения содержит этап, на котором

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

при этом флаг разрешения зависимого слайса расположен в наборе параметров, общем для слайсов,

адрес слайса расположен в заголовке слайса текущего слайса и

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

7. Способ декодирования изображения по п. 6,

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

8. Способ декодирования изображения по п. 6,

в котором флаг разрешения зависимого слайса расположен в начале набора параметров.

9. Способ декодирования изображения по п. 6,

в котором каждый из слайсов включает в себя множество макроблоков и

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

10. Способ декодирования изображения по одному из пп. 6-9,

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

11. Устройство кодирования изображения, которое выполняет обработку кодирования посредством разделения картинки на множество слайсов, устройство кодирования изображения содержит

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

при этом флаг разрешения зависимого слайса расположен в наборе параметров, общем для слайсов,

адрес слайса расположен в заголовке слайса текущего слайса и

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

12. Устройство декодирования изображения, которое выполняет обработку декодирования посредством разделения картинки на множество слайсов, устройство декодирования изображения содержит

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

при этом флаг разрешения зависимого слайса расположен в наборе параметров, общем для слайсов,

адрес слайса расположен в заголовке слайса текущего слайса и

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

13. Устройство кодирования и декодирования изображения, содержащее:

устройство кодирования изображения по п. 11; и

устройство декодирования изображения по п. 12.

Документы, цитированные в отчете о поиске Патент 2018 года RU2653236C2

T
LEE et al
"On dependent slices", JCTVC-J0217 (version 2), опубл
Печь-кухня, могущая работать, как самостоятельно, так и в комбинации с разного рода нагревательными приборами 1921
  • Богач В.И.
SU10A1
Приспособление для суммирования отрезков прямых линий 1923
  • Иванцов Г.П.
SU2010A1
T
Schierl et al
"Dependent Slices", JCTVC-I0229 (version 1), опубл
Устройство для электрической сигнализации 1918
  • Бенаурм В.И.
SU16A1
T
Schierl et al
" Dependent slices support in HEVC main profile", JCTVC-J0264 (version 1), опубл
Аппарат для очищения воды при помощи химических реактивов 1917
  • Гордон И.Д.
SU2A1
RU 2010133234 A, 20.02.2012.

RU 2 653 236 C2

Авторы

Эсенлик Семих

Наррошке Маттиас

Веди Томас

Даты

2018-05-07Публикация

2013-09-19Подача