Область техники, к которой относится изобретение
[1] Настоящее изобретение относится к способу и оборудованию кодирования/декодирования изображений, а более конкретно, к способу и оборудованию кодирования и декодирования изображений на основе смешанного типа NAL-единицы и к носителю записи для сохранения потока битов, сформированного посредством способа/оборудования кодирования изображений настоящего раскрытия сущности.
Уровень техники
[2] В последнее время, спрос на высококачественные изображения высокого разрешения, к примеру, изображения высокой четкости (HD) и изображения сверхвысокой четкости (UHD) растет в различных областях техники. По мере того, как разрешение и качество данных изображений повышается, объем передаваемой информации или битов относительно увеличивается по сравнению с существующими данными изображений. Увеличение объема передаваемой информации или битов приводит к увеличению затрат на передачу и затрат на хранение.
[3] Соответственно, имеется потребность в высокоэффективной технологии сжатия изображений для эффективной передачи, сохранения и воспроизведения информации относительно высококачественных изображений высокого разрешения.
Сущность изобретения
Техническая задача
[4] Цель настоящего изобретения заключается в том, чтобы предоставлять способ и оборудование кодирования/декодирования изображений с повышенной эффективностью кодирования/декодирования.
[5] Другая цель настоящего изобретения заключается в том, чтобы предоставлять способ и оборудование кодирования/декодирования изображений на основе смешанного типа NAL-единицы.
[6] Другая цель настоящего изобретения заключается в том, чтобы предоставлять способ и оборудование кодирования/декодирования изображений на основе двух или более субкадров, имеющих различные типы NAL-единиц.
[7] Другая цель настоящего изобретения заключается в том, чтобы предоставлять энергонезависимый декодерочитаемый носитель хранения данных для сохранения потока битов, сформированного посредством способа или оборудования кодирования изображений согласно настоящему раскрытию сущности.
[8] Другая цель настоящего изобретения заключается в том, чтобы предоставлять носитель записи, сохраняющий поток битов, принимаемый, декодированный и используемый для того, чтобы восстанавливать изображение посредством оборудования декодирования изображений согласно настоящему раскрытию сущности.
[9] Другая цель настоящего изобретения заключается в том, чтобы предоставлять способ передачи потока битов, сформированного посредством способа или оборудования кодирования изображений согласно настоящему раскрытию сущности.
[10] Технические проблемы, разрешаемые посредством настоящего изобретения, не ограничены вышеуказанными техническими проблемами, и другие технические проблемы, которые не описываются в данном документе, должны становиться очевидными для специалистов в данной области техники из нижеприведенного описания.
Техническое решение
[11] Способ декодирования изображений согласно одному аспекту настоящего изобретения содержит получение, из потока битов, информации типа единицы слоя абстрагирования от сети (NAL) слоя кодирования видео (VCL) текущего кадра и информации первого флага, указывающей то, трактуется или нет субкадр, включенный в текущий кадр, в качестве одного кадра, определение типа NAL-единицы каждого из множества срезов, включенных в текущий кадр, на основе полученной информации типа VCL NAL-единицы и декодирование множества срезов на основе определенного типа NAL-единицы и информации первого флага. Текущий кадр может содержать два или более субкадров на основе, по меньшей мере, некоторых из множества срезов, имеющих различные типы NAL-единиц, и информация первого флага может иметь предварительно определенное значение, указывающее то, что каждый из двух или более субкадров трактуется в качестве одного кадра на основе, по меньшей мере, некоторых из множества срезов, имеющих различные типы NAL-единиц.
[12] Оборудование декодирования изображений согласно другому аспекту настоящего изобретения содержит запоминающее устройство и, по меньшей мере, один процессор. По меньшей мере, один процессор может получать, из потока битов, информацию типа единицы слоя абстрагирования от сети (NAL) слоя кодирования видео (VCL) текущего кадра и информацию первого флага, указывающую то, трактуется или нет субкадр, включенный в текущий кадр, в качестве одного кадра, определять тип NAL-единицы каждого из множества срезов, включенных в текущий кадр, на основе полученной информации типа VCL NAL-единицы, и декодировать множество срезов на основе определенного типа NAL-единицы и информации первого флага. Текущий кадр может содержать два или более субкадров на основе, по меньшей мере, некоторых из множества срезов, имеющих различные типы NAL-единиц, и информация первого флага может иметь предварительно определенное значение, указывающее то, что каждый из двух или более субкадров трактуется в качестве одного кадра на основе, по меньшей мере, некоторых из множества срезов, имеющих различные типы NAL-единиц.
[13] Способ кодирования изображений согласно другому аспекту настоящего изобретения содержит сегментацию текущего кадра на один или более субкадров, определение типа единицы слоя абстрагирования от сети (NAL) каждого из множества срезов, включенных в один или более субкадров, и кодирование множества срезов на основе определенного типа NAL-единицы. Текущий кадр может сегментироваться на два или более субкадров на основе, по меньшей мере, некоторых из множества срезов, имеющих различные типы NAL-единиц, и каждый из двух или более субкадров может трактоваться в качестве одного кадра на основе, по меньшей мере, некоторых из множества срезов, имеющих различные типы NAL-единиц.
[14] Помимо этого, машиночитаемый носитель записи согласно другому аспекту настоящего изобретения может сохранять поток битов, сформированный посредством способа кодирования изображений или оборудования кодирования изображений настоящего изобретения.
[15] Помимо этого, способ передачи согласно другому аспекту настоящего изобретения может передавать поток битов, сформированный посредством оборудования кодирования изображений или способа кодирования изображений настоящего изобретения.
[16] Признаки, кратко обобщенные выше относительно настоящего изобретения, представляют собой просто примерные аспекты нижеприведенного подробного описания настоящего изобретения и не ограничивают объем настоящего изобретения.
Преимущества изобретения
[17] Согласно настоящему раскрытию сущности, можно предоставлять способ и оборудование кодирования/декодирования изображений с повышенной эффективностью кодирования/декодирования.
[18] Кроме того, согласно настоящему раскрытию сущности, можно предоставлять способ и оборудование кодирования/декодирования изображений на основе смешанного типа NAL-единицы.
[19] Кроме того, согласно настоящему раскрытию сущности, можно предоставлять способ и оборудование кодирования/декодирования изображений на основе двух или более субкадров, имеющих различные смешанные типы NAL-единиц.
[20] Кроме того, согласно настоящему раскрытию сущности, можно предоставлять способ передачи потока битов, сформированного посредством способа или оборудования кодирования изображений согласно настоящему раскрытию сущности.
[21] Кроме того, согласно настоящему раскрытию сущности, можно предоставлять носитель записи, сохраняющий поток битов, сформированный посредством способа или оборудования кодирования изображений согласно настоящему раскрытию сущности.
[22] Кроме того, согласно настоящему раскрытию сущности, можно предоставлять носитель записи, сохраняющий поток битов, принимаемый, декодированный и используемый для того, чтобы восстанавливать изображение посредством оборудования декодирования изображений согласно настоящему раскрытию сущности.
[23] Специалисты в данной области техники должны принимать во внимание, что преимущества, которые могут достигаться через настоящее раскрытие сущности, не ограничены тем, что конкретно описано выше, и другие преимущества настоящего изобретения должны более ясно пониматься из подробного описания.
Краткое описание чертежей
[24] Фиг. 1 является видом, схематично иллюстрирующим систему кодирования видео, к которой является применимым вариант осуществления настоящего изобретения.
[25] Фиг. 2 является видом, схематично иллюстрирующим оборудование кодирования изображений, к которому является применимым вариант осуществления настоящего изобретения.
[26] Фиг. 3 является видом, схематично иллюстрирующим оборудование декодирования изображений, к которому является применимым вариант осуществления настоящего изобретения.
[27] Фиг. 4 является блок-схемой последовательности операций способа, иллюстрирующей процедуру декодирования изображений, к которой является применимым вариант осуществления настоящего изобретения.
[28] Фиг. 5 является блок-схемой последовательности операций способа, иллюстрирующей процедуру кодирования изображений, к которой является применимым вариант осуществления настоящего изобретения.
[29] Фиг. 6 является видом, иллюстрирующим пример многослойной структуры для кодированного изображения/видео.
[30] Фиг. 7 является видом, иллюстрирующим набор параметров кадра (PPS) согласно варианту осуществления настоящего изобретения.
[31] Фиг. 8 является видом, иллюстрирующим заголовок среза согласно варианту осуществления настоящего изобретения.
[32] Фиг. 9 является видом, иллюстрирующим пример субкадра.
[33] Фиг. 10 является видом, иллюстрирующим пример кадра, имеющего смешанный тип NAL-единицы.
[34] Фиг. 11 является видом, иллюстрирующим пример набора параметров кадра (PPS) согласно варианту осуществления настоящего изобретения.
[35] Фиг. 12 является видом, иллюстрирующим пример набора параметров последовательности (SPS) согласно варианту осуществления настоящего изобретения.
[36] Фиг. 13 является видом, иллюстрирующим порядок декодирования и порядок вывода для каждого типа кадра.
[37] Фиг. 14 является блок-схемой последовательности операций, иллюстрирующей способ определения типа NAL-единицы текущего кадра согласно варианту осуществления настоящего изобретения.
[38] Фиг. 15 является блок-схемой последовательности операций, иллюстрирующей способ кодирования изображений согласно варианту осуществления настоящего изобретения.
[39] Фиг. 16 является блок-схемой последовательности операций, иллюстрирующей способ декодирования изображений согласно варианту осуществления настоящего изобретения.
[40] Фиг. 17 является видом, иллюстрирующим систему потоковой передачи контента, к которой является применимым вариант осуществления настоящего изобретения.
Оптимальный режим осуществления изобретения
[41] В дальнейшем в этом документе подробно описываются варианты осуществления настоящего изобретения со ссылкой на прилагаемые чертежи, так что они могут легко реализовываться специалистами в данной области техники. Тем не менее, настоящее раскрытие сущности может реализовываться во всевозможных формах и не ограничено вариантами осуществления, описанными в данном документе.
[42] При описании настоящего изобретения, если определяется то, что подробное описание связанной известной функции или конструкции приводит к излишней неоднозначности объема настоящего изобретения, ее подробное описание опускается. На чертежах, части, не связанные с описанием настоящего изобретения, опускаются, и аналогичные ссылки с номерами присоединяются к аналогичным частям.
[43] В настоящем раскрытии сущности, когда компонент "соединяется (connected)", "соединяется (coupled)" или "связывается (linked)" с другим компонентом, это может включать в себя не только непосредственную взаимосвязь на основе соединения, но также и косвенную взаимосвязь на основе соединения, в которой присутствует промежуточный компонент. Помимо этого, когда компонент "включает в себя" или "имеет" другие компоненты, это означает то, что другие компоненты могут включаться дополнительно, а не исключение других компонентов, если не указано иное.
[44] В настоящем раскрытии сущности, термины "первый", "второй" и т.д. могут использоваться только для целей различения одного компонента от других компонентов и не ограничивают порядок или важность компонентов, если не указано иное. Соответственно, в пределах объема настоящего изобретения, первый компонент в одном варианте осуществления может называться "вторым компонентом" в другом варианте осуществления, и аналогично, второй компонент в одном варианте осуществления может называться "первым компонентом" в другом варианте осуществления.
[45] В настоящем раскрытии сущности, компоненты, которые отличаются друг от друга, имеют намерение ясно описывать каждый признак и не означают то, что компоненты обязательно разделяются. Таким образом, множество компонентов могут интегрироваться и реализовываться в одном аппаратном или программном модуле, или один компонент может распределяться и реализовываться во множестве аппаратных или программных модулей. Следовательно, даже если не указано иное, такие варианты осуществления, в которых компоненты интегрируются, или компонент распределяется, также включаются в объем настоящего изобретения.
[46] В настоящем раскрытии сущности, компоненты, описанные в различных вариантах осуществления, не обязательно означают существенные компоненты, и некоторые компоненты могут представлять собой необязательные компоненты. Соответственно, вариант осуществления, состоящий из поднабора компонентов, описанных в варианте осуществления, также включается в объем настоящего изобретения. Помимо этого, варианты осуществления, включающие в себя другие компоненты, в дополнение к компонентам, описанным в различных вариантах осуществления, включаются в объем настоящего изобретения.
[47] Настоящее раскрытие сущности относится к кодированию и декодированию изображения, и термины, используемые в настоящем раскрытии сущности, могут иметь общий смысл, широко используемый в области техники, которой принадлежит настоящее раскрытие сущности, если не задаются впервые в настоящем раскрытии сущности.
[48] В настоящем раскрытии сущности, "кадр", в общем, означает единицу, представляющую одно изображение в конкретный период времени, и срез/плитка представляет собой единицу кодирования, составляющую часть кадра, и один кадр может состоять из одного или более срезов/плиток. Помимо этого, срез/плитка может включать в себя одну или более единиц дерева кодирования (CTU).
[49] В настоящем раскрытии сущности, "пиксел" или "пел" может означать наименьшую единицу, составляющую один кадр (или изображение). Помимо этого, "выборка" может использоваться в качестве термина, соответствующего пикселу. Выборка, в общем, может представлять пиксел или значение пиксела и может представлять только пиксел/пиксельное значение компонента сигналов яркости либо только пиксел/пиксельное значение компонента сигналов цветности.
[50] В настоящем раскрытии сущности, "единица" может представлять базовую единицу обработки изображений. Единица может включать в себя, по меньшей мере, одно из конкретной области кадра и информации, связанной с областью. Единица может использоваться взаимозаменяемо с такими терминами, как "массив выборок", "блок" или "зона" в некоторых случаях. В общем случае, блок MxN может включать в себя выборки (или массивы выборок) либо набор (или массив) коэффициентов преобразования из M столбцов и N строк.
[51] В настоящем раскрытии сущности, "текущий блок" может означать одно из "текущего блока кодирования", "текущей единицы кодирования", "целевого блока кодирования", "целевого блока декодирования" или "целевого блока обработки". Когда прогнозирование выполняется, "текущий блок" может означать "текущий блок прогнозирования" или "целевой блок прогнозирования". Когда преобразование (обратное преобразование)/квантование (деквантование) выполняется, "текущий блок" может означать "текущий блок преобразования" или "целевой блок преобразования". Когда фильтрация выполняется, "текущий блок" может означать "целевой блок фильтрации".
[52] Помимо этого, в настоящем раскрытии сущности, "текущий блок" может означать блок, включающий в себя как блок компонентов сигналов яркости, так и блок компонентов сигналов цветности либо "блок сигналов яркости текущего блока", если не указан в явной форме в качестве блока сигналов цветности. Блок компонентов сигналов яркости текущего блока может выражаться посредством включения явного описания блока компонентов сигналов яркости, такого как "блок сигналов яркости" или "текущий блок сигналов яркости". Помимо этого, "блок компонентов сигналов цветности текущего блока" может выражаться посредством включения явного описания блока компонентов сигналов цветности, такого как "блок сигналов цветности" или "текущий блок сигналов цветности".
[53] В настоящем раскрытии сущности, термин "/" и "," должен интерпретироваться как указывающий "и/или". Например, выражение "A/B" и "A, B" может означать "A и/или B". Дополнительно, "A/B/C" и "A/B/C" могут означать "по меньшей мере, одно из A, B и/или C".
[54] В настоящем раскрытии сущности, термин "или" должен интерпретироваться как указывающий "и/или". Например, выражение "A или B" может содержать 1) только "A", 2) только "B" и/или 3) "как A, так и B". Другими словами, в настоящем раскрытии сущности, термин "или" должен интерпретироваться как указывающий "дополнительно или альтернативно".
[55] Общее представление системы кодирования видео
[56] Фиг. 1 является видом, схематично иллюстрирующим систему кодирования видео согласно настоящему раскрытию сущности.
[57] Система кодирования видео согласно варианту осуществления может включать в себя оборудование 10 кодирования и оборудование 20 декодирования. Оборудование 10 кодирования может доставлять кодированную информацию или данные видео и/или изображений в оборудование 20 декодирования в форме файла или потоковой передачи через цифровой носитель хранения данных или сеть.
[58] Оборудование 10 кодирования согласно варианту осуществления может включать в себя формирователь 11 видеоисточников, модуль 12 кодирования и передатчик 13. Оборудование 20 декодирования согласно варианту осуществления может включать в себя приемник 21, модуль 22 декодирования и модуль 23 рендеринга. Модуль 12 кодирования может называться "модулем кодирования видео/изображений", и модуль 22 декодирования может называться "модулем декодирования видео/изображений". Передатчик 13 может включаться в модуль 12 кодирования. Приемник 21 может включаться в модуль 22 декодирования. Модуль 23 рендеринга может включать в себя дисплей, и дисплей может быть сконфигурирован как отдельное устройство или внешний компонент.
[59] Формирователь 11 видеоисточников может получать видео/изображение через процесс захвата, синтезирования или формирования видео/изображения. Формирователь 11 видеоисточников может включать в себя устройство захвата видео/изображений и/или устройство формирования видео/изображений. Устройство захвата видео/изображений может включать в себя, например, одну или более камер, архивы видео/изображений, включающие в себя ранее захваченные видео/изображения, и т.п. Устройство формирования видео/изображений может включать в себя, например, компьютеры, планшетные компьютеры и смартфоны и может (электронно) формировать видео/изображения. Например, виртуальное видео/изображение может формироваться через компьютер и т.п. В этом случае, процесс захвата видео/изображений может заменяться посредством процесса формирования связанных данных.
[60] Модуль 12 кодирования может кодировать входное видео/изображение. Модуль 12 кодирования может выполнять последовательность процедур, таких как прогнозирование, преобразование и квантование, для эффективности сжатия и кодирования. Модуль 12 кодирования может выводить кодированные данные (кодированную информацию видео/изображений) в форме потока битов.
[61] Передатчик 13 может передавать кодированную информацию или данные видео/изображений, выводимую в форме потока битов, в приемник 21 оборудования 20 декодирования через цифровой носитель хранения данных или сеть в форме файла или потоковой передачи. Цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик 13 может включать в себя элемент для формирования мультимедийного файла через предварительно определенный формат файлов и может включать в себя элемент для передачи через широковещательную сеть/сеть связи. Приемник 21 может извлекать/принимать поток битов из носителя хранения данных или сети и передавать поток битов в модуль 22 декодирования.
[62] Модуль 22 декодирования может декодировать видео/изображение посредством выполнения последовательности процедур, таких как деквантование, обратное преобразование и прогнозирование, соответствующих работе модуля 12 кодирования.
[63] Модуль 23 рендеринга может подготавливать посредством рендеринга декодированное видео/изображение. Подготовленное посредством рендеринга видео/изображение может отображаться через дисплей.
[64] Общее представление оборудования кодирования изображений
[65] Фиг. 2 является видом, схематично иллюстрирующим оборудование кодирования изображений, к которому является применимым вариант осуществления настоящего изобретения.
[66] Как показано на фиг. 2, оборудование 100 кодирования изображений может включать в себя модуль 110 сегментации изображений, вычитатель 115, преобразователь 120, квантователь 130, деквантователь 140, обратный преобразователь 150, сумматор 155, фильтр 160, запоминающее устройство 170, модуль 180 взаимного прогнозирования, модуль 185 внутреннего прогнозирования и энтропийный кодер 190. Модуль 180 взаимного прогнозирования и модуль 185 внутреннего прогнозирования могут совместно называться "модулем прогнозирования". Преобразователь 120, квантователь 130, деквантователь 140 и обратный преобразователь 150 могут включаться в остаточный процессор. Остаточный процессор дополнительно может включать в себя вычитатель 115.
[67] Все или, по меньшей мере, часть из множества компонентов, конфигурирующих оборудование 100 кодирования изображений, могут быть сконфигурированы посредством одного аппаратного компонента (например, кодера или процессора) в некоторых вариантах осуществления. Помимо этого, запоминающее устройство 170 может включать в себя буфер декодированных кадров (DPB) и может быть сконфигурировано посредством цифрового носителя хранения данных.
[68] Модуль 110 сегментации изображений может сегментировать входное изображение (либо кадр или кинокадр), вводимое в оборудование 100 кодирования изображений, на одну более единиц обработки. Например, единица обработки может называться "единицей кодирования (CU)". Единица кодирования может получаться посредством рекурсивной сегментации единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU) согласно структуре в виде дерева квадрантов, двоичного дерева и троичного дерева (QT/BT/TT). Например, одна единица кодирования может сегментироваться на множество единиц кодирования большей глубины на основе структуры в виде дерева квадрантов, структуры в виде двоичного дерева и/или троичной структуры. Для сегментации единицы кодирования, сначала может применяться структура в виде дерева квадрантов, и впоследствии может применяться структура в виде двоичного дерева и/или троичная структура. Процедура кодирования согласно настоящему раскрытию сущности может выполняться на основе конечной единицы кодирования, которая более не сегментируется. Наибольшая единица кодирования может использоваться в качестве конечной единицы кодирования, или единица кодирования большей глубины, полученной посредством сегментации наибольшей единицы кодирования, может использоваться в качестве конечной единицы кодирования. Здесь, процедура кодирования может включать в себя процедуру прогнозирования, преобразования и восстановления, которая описывается ниже. В качестве другого примера, единица обработки процедуры кодирования может представлять собой единицу прогнозирования (PU) или единицу преобразования (TU). Единица прогнозирования и единица преобразования могут разбиваться или сегментироваться из конечной единицы кодирования. Единица прогнозирования может представлять собой единицу выборочного прогнозирования, и единица преобразования может представлять собой единицу для извлечения коэффициента преобразования и/или единицу для извлечения остаточного сигнала из коэффициента преобразования.
[69] Модуль прогнозирования (модуль 180 взаимного прогнозирования или модуль 185 внутреннего прогнозирования) может выполнять прогнозирование относительно блока, который должен обрабатываться (текущего блока), и формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование, на основе текущего блока или CU. Модуль прогнозирования может формировать различную информацию, связанную с прогнозированием текущего блока, и передавать сформированную информацию в энтропийный кодер 190. Информация относительно прогнозирования может кодироваться в энтропийном кодере 190 и выводиться в форме потока битов.
[70] Модуль 185 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки для ссылки могут быть расположены в окружении текущего блока или могут быть расположены с разнесением согласно режиму внутреннего прогнозирования и/или технологии внутреннего прогнозирования. Режимы внутреннего прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Ненаправленный режим может включать в себя, например, DC-режим и планарный режим. Направленный режим может включать в себя, например, 33 режима направленного прогнозирования или 65 режимов направленного прогнозирования согласно степени детальности направления прогнозирования. Тем не менее, это представляет собой просто пример, большее или меньшее число режимов направленного прогнозирования может использоваться в зависимости от настройки. Модуль 185 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.
[71] Модуль 180 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными или отличающимися. Временной соседний блок может называться "совместно размещенным опорным блоком", "совместно размещенной CU (colCU)" и т.п. Опорный кадр, включающий в себя временной соседний блок, может называться "совместно размещенным кадром (colPic)". Например, модуль 180 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и формировать информацию, указывающую то, какой возможный вариант используется для того, чтобы извлекать вектор движения и/или индекс опорного кадра текущего блока. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования. Например, в случае режима пропуска и режима объединения, модуль 180 взаимного прогнозирования может использовать информацию движения соседнего блока в качестве информации движения текущего блока. В случае режима пропуска, в отличие от режима объединения, остаточный сигнал может не передаваться. В случае режима прогнозирования векторов движения (MVP), вектор движения соседнего блока может использоваться в качестве предиктора вектора движения, и вектор движения текущего блока может передаваться в служебных сигналах посредством кодирования разности векторов движения и индикатора для предиктора вектора движения. Разность векторов движения может означать разность между вектором движения текущего блока и предиктором вектора движения.
[72] Модуль прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования и технологий прогнозирования, описанных ниже. Например, модуль прогнозирования может не только применять внутреннее прогнозирование или взаимное прогнозирование, но также и одновременно применять как внутреннее прогнозирование, так и взаимное прогнозирование, чтобы прогнозировать текущий блок. Способ прогнозирования с одновременным применением как внутреннего прогнозирования, так и взаимного прогнозирования для прогнозирования текущего блока может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может выполнять внутриблочное копирование (IBC) для прогнозирования текущего блока. Внутриблочное копирование может использоваться для кодирования изображений/видео контента игры и т.п., например, для кодирования экранного контента (SCC). IBC представляет собой способ прогнозирования текущего кадра с использованием ранее восстановленного опорного блока в текущем кадре в местоположении, разнесенном от текущего блока на предварительно определенное расстояние. Когда IBC применяется, местоположение опорного блока в текущем кадре может кодироваться как вектор (блочный вектор), соответствующий предварительно определенному расстоянию. IBC по существу выполняет прогнозирование в текущем кадре, но может выполняться аналогично взаимному прогнозированию в том, что опорный блок извлекается внутри текущего кадра. Таким образом, IBC может использовать, по меньшей мере, одну из технологий взаимного прогнозирования, описанных в настоящем раскрытии сущности.
[73] Прогнозный сигнал, сформированный посредством модуля прогнозирования, может использоваться для того, чтобы формировать восстановленный сигнал или формировать остаточный сигнал. Вычитатель 115 может формировать остаточный сигнал (остаточный блок или массив остаточных выборок) посредством вычитания прогнозного сигнала (прогнозированного блока или массива прогнозных выборок), выводимого из модуля прогнозирования, из сигнала входного изображения (исходного блока или массива исходных выборок). Сформированный остаточный сигнал может передаваться в преобразователь 120.
[74] Преобразователь 120 может формировать коэффициенты преобразования посредством применения технологии преобразования к остаточному сигналу. Например, технология преобразования может включать в себя, по меньшей мере, одно из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования Карунена-Лоэва (KLT), преобразования на основе графа (GBT) или условно нелинейного преобразования (CNT). Здесь, GBT означает преобразование, полученное из графа, когда информация взаимосвязи между пикселами представляется посредством графа. CNT означает преобразование, полученное на основе прогнозного сигнала, сформированного с использованием всех ранее восстановленных пикселов. Помимо этого, процесс преобразования может применяться к квадратным пиксельным блокам, имеющим идентичный размер, или может применяться к блокам, имеющим переменный размер, а не квадратный.
[75] Квантователь 130 может квантовать коэффициенты преобразования и передавать их в энтропийный кодер 190. Энтропийный кодер 190 может кодировать квантованный сигнал (информацию относительно квантованных коэффициентов преобразования) и выводить поток битов. Информация относительно квантованных коэффициентов преобразования может называться "остаточной информацией". Квантователь 130 может перекомпоновывать квантованные коэффициенты преобразования в блочном типе в одномерную векторную форму на основе порядка сканирования коэффициентов и формировать информацию относительно квантованных коэффициентов преобразования на основе квантованных коэффициентов преобразования в одномерной векторной форме.
[76] Энтропийный кодер 190 может осуществлять различные способы кодирования, такие как, например, кодирование экспоненциальным кодом Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и т.п. Энтропийный кодер 190 может кодировать информацию, необходимую для восстановления видео/изображений, отличную от квантованных коэффициентов преобразования (например, значений синтаксических элементов и т.д.), вместе или отдельно. Кодированная информация (например, кодированная информация видео/изображений) может передаваться или сохраняться в единицах слоев абстрагирования от сети (NAL) в форме потока битов. Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Передаваемая в служебных сигналах информация, передаваемая информация и/или синтаксические элементы, описанные в настоящем раскрытии сущности, могут кодироваться через вышеописанную процедуру кодирования и включаться в поток битов.
[77] Поток битов может передаваться по сети или может сохраняться на цифровом носителе хранения данных. Сеть может включать в себя широковещательную сеть и/или сеть связи, и цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как, USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик (не показан), передающий сигнал, выводимый из энтропийного кодера 190, и/или модуль хранения (не показан), сохраняющий сигнал, могут включаться в качестве внутреннего/внешнего элемента оборудования 100 кодирования, и альтернативно, передатчик может включаться в энтропийный кодер 190.
[78] Квантованные коэффициенты преобразования, выводимые из квантователя 130, могут использоваться для того, чтобы формировать остаточный сигнал. Например, остаточный сигнал (остаточный блок или остаточные выборки) может восстанавливаться посредством применения деквантования и обратного преобразования к квантованным коэффициентам преобразования через деквантователь 140 и обратный преобразователь 150.
[79] Сумматор 155 суммирует восстановленный остаточный сигнал с прогнозным сигналом, выводимым из модуля 180 взаимного прогнозирования или модуля 185 внутреннего прогнозирования, с тем чтобы формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок). Если отсутствует остаток для блока, который должен обрабатываться, к примеру, в случае, в котором режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока. Сумматор 155 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, и может использоваться для взаимного прогнозирования следующего кадра посредством фильтрации, как описано ниже.
[80] Фильтр 160 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 160 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 170, а именно, в DPB запоминающего устройства 170. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, фильтрацию на основе дискретизированного адаптивного смещения, адаптивный контурный фильтр, билатеральный фильтр и т.п. Фильтр 160 может формировать различную информацию, связанную с фильтрацией, и передавать сформированную информацию в энтропийный кодер 190, как описано ниже в описании каждого способа фильтрации. Информация, связанная с фильтрацией, может кодироваться посредством энтропийного кодера 190 и выводиться в форме потока битов.
[81] Модифицированный восстановленный кадр, передаваемый в запоминающее устройство 170, может использоваться в качестве опорного кадра в модуле 180 взаимного прогнозирования. Когда взаимное прогнозирование применяется через оборудование 100 кодирования изображений, рассогласование прогнозирования между оборудованием 100 кодирования изображений и оборудованием декодирования изображений может исключаться, и эффективность кодирования может повышаться.
[82] DPB запоминающего устройства 170 может сохранять модифицированный восстановленный кадр для использования в качестве опорного кадра в модуле 180 взаимного прогнозирования. Запоминающее устройство 170 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или кодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 180 взаимного прогнозирования и использоваться в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 170 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и может передавать восстановленные выборки в модуль 185 внутреннего прогнозирования.
[83] Общее представление оборудования декодирования изображений
[84] Фиг. 3 является видом, схематично иллюстрирующим оборудование декодирования изображений, к которому является применимым вариант осуществления настоящего изобретения.
[85] Как показано на фиг. 3, оборудование 200 декодирования изображений может включать в себя энтропийный декодер 210, деквантователь 220, обратный преобразователь 230, сумматор 235, фильтр 240, запоминающее устройство 250, модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования. Модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования могут совместно называться "модулем прогнозирования". Деквантователь 220 и обратный преобразователь 230 могут включаться в остаточный процессор.
[86] Все или, по меньшей мере, часть из множества компонентов, конфигурирующих оборудование 200 декодирования изображений, могут быть сконфигурированы посредством аппаратного компонента (например, декодера или процессора) согласно варианту осуществления. Помимо этого, запоминающее устройство 250 может включать в себя буфер декодированных кадров (DPB) или может быть сконфигурировано посредством цифрового носителя хранения данных.
[87] Оборудование 200 декодирования изображений, которое принимает поток битов, включающий в себя информацию видео/изображений, может восстанавливать изображение посредством выполнения процесса, соответствующего процессу, выполняемому посредством оборудования 100 кодирования изображений по фиг. 2. Например, оборудование 200 декодирования изображений может выполнять декодирование с использованием единицы обработки, применяемой в оборудовании кодирования изображений. Таким образом, единица обработки декодирования, например, может представлять собой единицу кодирования. Единица кодирования может получаться посредством сегментации единицы дерева кодирования или наибольшей единицы кодирования. Восстановленный сигнал изображения, декодированный и выводимый посредством оборудования 200 декодирования, может воспроизводиться посредством оборудования воспроизведения.
[88] Оборудование 200 декодирования изображений может принимать сигнал, выводимый из оборудования кодирования изображений по фиг. 2 в форме потока битов. Принимаемый сигнал может декодироваться через энтропийный декодер 210. Например, энтропийный декодер 210 может синтаксически анализировать поток битов, чтобы извлекать информацию (например, информацию видео/изображений), необходимую для восстановления изображений (или восстановления кадров). Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Оборудование декодирования изображений дополнительно может декодировать кадр на основе информации относительно набора параметров и/или общей информации ограничений. Передаваемая в служебных сигналах/принимаемая информация и/или синтаксические элементы, описанные в настоящем раскрытии сущности, могут декодироваться посредством процедуры декодирования и получаться из потока битов. Например, энтропийный декодер 210 декодирует информацию в потоке битов на основе способа кодирования, такого как кодирование экспоненциальным кодом Голомба, CAVLC или CABAC, и выходных значений синтаксических элементов, требуемых для восстановления изображений, и квантованных значений коэффициентов преобразования для остатка. Более конкретно, способ энтропийного CABAC-декодирования может принимать элемент разрешения, соответствующий каждому синтаксическому элементу в потоке битов, определять контекстную модель с использованием информации целевого синтаксического элемента декодирования, информации декодирования соседнего блока и целевого блока декодирования или информации символа/элемента разрешения, декодированного на предыдущей стадии, и выполнять арифметическое декодирование для элемента разрешения посредством прогнозирования вероятности появления элемента разрешения согласно определенной контекстной модели и формировать символ, соответствующий значению каждого синтаксического элемента. В этом случае, способ энтропийного CABAC-декодирования может обновлять контекстную модель посредством использования информации декодированного символа/элемента разрешения для контекстной модели следующего символа/элемента разрешения после определения контекстной модели. Информация, связанная с прогнозированием, из информации, декодированной посредством энтропийного декодера 210, может предоставляться в модуль прогнозирования (модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования), и остаточное значение, для которого энтропийное декодирование выполнено в энтропийном декодере 210, т.е. квантованные коэффициенты преобразования и связанная информация параметров, может вводиться в деквантователь 220. Помимо этого, информация относительно фильтрации из информации, декодированной посредством энтропийного декодера 210, может предоставляться в фильтр 240. Между тем, приемник (не показан) для приема сигнала, выводимого из оборудования кодирования изображений, может быть дополнительно сконфигурирован в качестве внутреннего/внешнего элемента оборудования 200 декодирования изображений, или приемник может представлять собой компонент энтропийного декодера 210.
[89] Между тем, оборудование декодирования изображений согласно настоящему раскрытию сущности может называться "оборудованием декодирования видео/изображений/кадров". Оборудование декодирования изображений может классифицироваться на информационный декодер (декодер информации видео/изображений/кадров) и выборочный декодер (декодер выборок видео/изображений/кадров). Информационный декодер может включать в себя энтропийный декодер 210. Выборочный декодер может включать в себя, по меньшей мере, одно из деквантователя 220, обратного преобразователя 230, сумматора 235, фильтра 240, запоминающего устройства 250, модуля 160 взаимного прогнозирования или модуля 265 внутреннего прогнозирования.
[90] Деквантователь 220 может деквантовать квантованные коэффициенты преобразования и выводить коэффициенты преобразования. Деквантователь 220 может перекомпоновывать квантованные коэффициенты преобразования в форме двумерного блока. В этом случае, перекомпоновка может выполняться на основе порядка сканирования коэффициентов, выполняемого в оборудовании кодирования изображений. Деквантователь 220 может выполнять деквантование для квантованных коэффициентов преобразования посредством использования параметра квантования (например, информации размера шага квантования) и получать коэффициенты преобразования.
[91] Обратный преобразователь 230 может обратно преобразовывать коэффициенты преобразования, чтобы получать остаточный сигнал (остаточный блок, массив остаточных выборок).
[92] Модуль 230 прогнозирования может выполнять прогнозирование для текущего блока и может формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование к текущему блоку, на основе информации относительно прогнозирования, выводимой из энтропийного декодера 210, и может определять конкретный режим внутреннего/взаимного прогнозирования (технологию прогнозирования).
[93] Идентично тому, что описано в модуле прогнозирования оборудования 100 кодирования изображений, модуль прогнозирования может формировать прогнозный сигнал на основе различных способов (технологий) прогнозирования, которые описываются ниже.
[94] Модуль 265 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Описание модуля 185 внутреннего прогнозирования в равной степени применяется к модулю 265 внутреннего прогнозирования.
[95] Модуль 260 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Например, модуль 260 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и извлекать вектор движения текущего блока и/или индекс опорного кадра на основе принимаемой информации выбора возможных вариантов. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования, и информация относительно прогнозирования может включать в себя информацию, указывающую режим взаимного прогнозирования для текущего блока.
[96] Сумматор 235 может формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок) посредством суммирования полученного остаточного сигнала с прогнозным сигналом (прогнозированным блоком, массивом прогнозированных выборок), выводимым из модуля прогнозирования (включающего в себя модуль 260 взаимного прогнозирования и/или модуль 265 внутреннего прогнозирования). Если отсутствует остаток для блока, который должен обрабатываться, к примеру, когда режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока. Описание сумматора 155 является в равной степени применимым к сумматору 235. Сумматор 235 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, и может использоваться для взаимного прогнозирования следующего кадра посредством фильтрации, как описано ниже.
[97] Фильтр 240 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 240 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 250, а именно, в DPB запоминающего устройства 250. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, фильтрацию на основе дискретизированного адаптивного смещения, адаптивный контурный фильтр, билатеральный фильтр и т.п.
[98] (Модифицированный) восстановленный кадр, сохраненный в DPB запоминающего устройства 250, может использоваться в качестве опорного кадра в модуле 260 взаимного прогнозирования. Запоминающее устройство 250 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или декодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 260 взаимного прогнозирования, так что она используется в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 250 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и передавать восстановленные выборки в модуль 265 внутреннего прогнозирования.
[99] В настоящем раскрытии сущности, варианты осуществления, описанные в фильтре 160, модуле 180 взаимного прогнозирования и модуле 185 внутреннего прогнозирования оборудования 100 кодирования изображений, могут в равной или соответствующей степени применяться к фильтру 240, модулю 260 взаимного прогнозирования и модулю 265 внутреннего прогнозирования оборудования 200 декодирования изображений.
[100] Общая процедура кодирования изображений/видео
[101] При кодировании изображений/видео, кадр, конфигурирующий изображение/видео, может кодироваться/декодироваться согласно порядку декодирования. Порядок кадров, соответствующий порядку вывода декодированного кадра, может задаваться по-другому по сравнению с порядком декодирования, и на основе этого, не только прямое прогнозирование, но также и обратное прогнозирование может выполняться во время взаимного прогнозирования.
[102] Фиг. 4 является блок-схемой последовательности операций способа, иллюстрирующей процедуру декодирования изображений, к которой является применимым вариант(ы) осуществления настоящего изобретения.
[103] Каждая процедура, показанная на фиг. 4, может выполняться посредством оборудования декодирования изображений по фиг. 3. Например, этап S410 может выполняться посредством энтропийного декодера 210, этап S420 может выполняться посредством модулей 265 и 260 прогнозирования, этап S430 может выполняться посредством остаточного процессора 220 и 230, этап S440 может выполняться посредством сумматора 235, и этап S450 может выполняться посредством фильтра 240. Этап S410 может включать в себя процедуру декодирования информации, описанную в настоящем раскрытии сущности, этап S420 может включать в себя процедуру взаимного/внутреннего прогнозирования, описанную в настоящем раскрытии сущности, этап S430 может включать в себя процедуру остаточной обработки, описанную в настоящем раскрытии сущности, этап S440 может включать в себя процедуру восстановления блоков/кадров, описанную в настоящем раскрытии сущности, и этап S450 может включать в себя процедуру внутриконтурной фильтрации, описанную в настоящем раскрытии сущности.
[104] Ссылаясь на фиг. 4, процедура декодирования кадров может схематично включать в себя процедуру (S410) для получения информации изображений/видео (посредством декодирования) из потока битов, процедуру (S420-S440) восстановления кадров и процедуру (S450) внутриконтурной фильтрации для восстановленного кадра. Процедура восстановления кадров может выполняться на основе прогнозных выборок и остаточных выборок, полученных через взаимное/внутреннее прогнозирование (S420) и остаточную обработку (S430) (деквантование и обратное преобразование квантованного коэффициента преобразования), описанную в настоящем раскрытии сущности. Модифицированный восстановленный кадр может формироваться через процедуру внутриконтурной фильтрации для восстановленного кадра, сформированного через процедуру восстановления кадров. В этом случае, модифицированный восстановленный кадр может выводиться в качестве декодированного кадра, сохраняться в буфере декодированных кадров (DPB) запоминающего устройства 250 и использоваться в качестве опорного кадра в процедуре взаимного прогнозирования при декодировании кадра впоследствии. Процедура (S450) внутриконтурной фильтрации может опускаться. В этом случае, восстановленный кадр может выводиться в качестве декодированного кадра, сохраняться в DPB запоминающего устройства 250 и использоваться в качестве опорного кадра в процедуре взаимного прогнозирования при декодировании кадра впоследствии. Процедура (S450) внутриконтурной фильтрации может включать в себя процедуру фильтрации для удаления блочности, процедуру фильтрации на основе дискретизированного адаптивного смещения (SAO), процедуру адаптивной контурной фильтрации (ALF) и/или процедуру билатеральной фильтрации, как описано выше, некоторые или все из которых могут опускаться. Помимо этого, одна или некоторые из процедуры фильтрации для удаления блочности, процедуры фильтрации на основе дискретизированного адаптивного смещения (SAO), процедуры адаптивной контурной фильтрации (ALF) и/или процедуры билатеральной фильтрации могут последовательно применяться, либо все они могут последовательно применяться. Например, после того, как процедура фильтрации для удаления блочности применяется к восстановленному кадру, может выполняться SAO-процедура. Альтернативно, после того, как процедура фильтрации для удаления блочности применяется к восстановленному кадру, ALF-процедура может выполняться. Это может аналогично выполняться даже в оборудовании кодирования.
[105] Фиг. 5 является блок-схемой последовательности операций способа, иллюстрирующей процедуру кодирования изображений, к которой является применимым вариант осуществления настоящего изобретения.
[106] Каждая процедура, показанная на фиг. 5, может выполняться посредством оборудования кодирования изображений по фиг. 2. Например, этап S510 может выполняться посредством модулей 185 и 180 прогнозирования, этап S520 может выполняться посредством остаточного процессора 115, 120 и 130, и этап S530 может выполняться в энтропийном кодере 190. Этап S510 может включать в себя процедуру взаимного/внутреннего прогнозирования, описанную в настоящем раскрытии сущности, этап S520 может включать в себя процедуру остаточной обработки, описанную в настоящем раскрытии сущности, и этап S530 может включать в себя процедуру кодирования информации, описанную в настоящем раскрытии сущности.
[107] Ссылаясь на фиг. 5, процедура кодирования кадров может схематично включать в себя не только процедуру для кодирования и вывода информации для восстановления кадров (например, информации прогнозирования, остаточной информации, информации сегментации и т.д.) в форме потока битов, но также и процедуру для формирования восстановленного кадра для текущего кадра и процедуру (необязательно) для применения внутриконтурной фильтрации к восстановленному кадру. Оборудование кодирования может извлекать (модифицированные) остаточные выборки из квантованного коэффициента преобразования через деквантователь 140 и обратный преобразователь 150 и формировать восстановленный кадр на основе прогнозных выборок, которые представляют собой вывод этапа S510, и (модифицированных) остаточных выборок. Восстановленный кадр, сформированный таким образом, может быть равным восстановленному кадру, сформированному в оборудовании декодирования. Модифицированный восстановленный кадр может формироваться через процедуру внутриконтурной фильтрации для восстановленного кадра. В этом случае, модифицированный восстановленный кадр может сохраняться в буфере декодированных кадров запоминающего устройства 170 и может использоваться в качестве опорного кадра в процедуре взаимного прогнозирования при кодировании кадра впоследствии, аналогично оборудованию декодирования. Как описано выше, в некоторых случаях, часть или вся процедура внутриконтурной фильтрации может опускаться. Когда процедура внутриконтурной фильтрации выполняется, связанная с (внутриконтурной) фильтрацией информация (параметр) может кодироваться в энтропийном кодере 190 и выводиться в форме потока битов, и оборудование декодирования может выполнять процедуру внутриконтурной фильтрации с использованием идентичного способа со способом в оборудовании кодирования на основе связанной с фильтрацией информации.
[108] Через такую процедуру внутриконтурной фильтрации, шум, возникающий во время кодирования изображений/видео, к примеру, артефакт блочности и артефакт кольцевания, может уменьшаться, и субъективное/объективное визуальное качество может повышаться. Помимо этого, посредством выполнения процедуры внутриконтурной фильтрации как в оборудовании кодирования, так и в оборудовании декодирования, оборудование кодирования и оборудование декодирования могут извлекать идентичный результат прогнозирования, надежность кодирования кадров может повышаться, и объем данных, которые должны передаваться для кодирования кадров, может уменьшаться.
[109] Как описано выше, процедура восстановления кадров может выполняться не только в оборудовании декодирования изображений, но также и в оборудовании кодирования изображений. Восстановленный блок может формироваться на основе внутреннего прогнозирования/взаимного прогнозирования в единицах блоков, и может формироваться восстановленный кадр, включающий в себя восстановленные блоки. Когда текущий кадр/срез/группа плиток представляет собой I-кадр/срез/группу плиток, блоки, включенные в текущий кадр/срез/группу плиток, могут восстанавливаться только на основе внутреннего прогнозирования. С другой стороны, когда текущий кадр/срез/группа плиток представляет собой P- или B-кадр/срез/группу плиток, блоки, включенные в текущий кадр/срез/группу плиток, могут восстанавливаться на основе внутреннего прогнозирования или взаимного прогнозирования. В этом случае, внутреннее прогнозирование может применяться к некоторым блокам в текущем кадре/срезе/группе плиток, и взаимное прогнозирование может применяться к оставшимся блокам. Цветовой компонент кадра может включать в себя компонент сигналов яркости и компонент сигналов цветности, и способы и варианты осуществления настоящего изобретения являются применимыми к компоненту сигналов яркости и компоненту сигналов цветности, если явно не ограничено в настоящем раскрытии сущности.
[110] Пример структуры слоев кодирования
[111] Кодированное видео/изображение настоящего изобретения может обрабатываться, например, согласно слою кодирования и структуре, которая описывается ниже.
[112] Фиг. 6 является видом, иллюстрирующим многослойную структуру для кодированного изображения.
[113] Кодированное изображение классифицируется на слой кодирования видео (VCL) для процесса декодирования изображений и обработки себя, нижнюю систему для передачи и сохранения кодированной информации и слой абстрагирования от сети (NAL), присутствующий между VCL и нижней системой и отвечающий за функцию сетевой адаптации.
[114] В VCL, могут формироваться VCL-данные, включающие в себя сжатые данные изображений (данные срезов), либо может формироваться набор параметров, включающий в себя такую информацию, как набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS) или сообщение с дополнительной улучшающей информацией (SEI), дополнительно требуемое для процесса декодирования изображения.
[115] В NAL, информация заголовка (заголовок NAL-единицы) может добавляться в первичную байтовую последовательность данных (RBSP), сформированную в VCL, чтобы формировать NAL-единицу. В этом случае, RBSP означает данные срезов, набор параметров, SEI-сообщение, сформированное в VCL. Заголовок NAL-единицы может включать в себя информацию типа NAL-единиц, указываемую согласно RBSP-данным, включенным в соответствующую NAL-единицу.
[116] Как показано на фиг. 6, NAL-единица может классифицироваться на VCL NAL-единицу и не-VCL NAL-единицу согласно типу RBSP, сформированной в VCL. VCL NAL-единица может означать NAL-единицу, включающую в себя информацию относительно изображения (данные срезов), и не-VCL NAL-единица может означать NAL-единицу, включающую в себя информацию (набор параметров или SEI-сообщение), требуемую для того, чтобы декодировать изображение.
[117] VCL NAL-единица и не-VCL NAL-единица могут иметь присоединенную информацию заголовка и передаваться через сеть согласно формату данных нижней системы. Например, NAL-единица может модифицироваться в данные, имеющие предварительно определенный формат данных, такой как H.266/VVC-формат файлов, RTP (транспортный протокол реального времени) или TS (транспортный поток), и передаваться через различные сети.
[118] Как описано выше, в NAL-единице, тип NAL-единицы может указываться согласно структуре RBSP-данных, включенной в соответствующую NAL-единицу, и информация относительно типа NAL-единицы может сохраняться в заголовке NAL-единицы и передаваться в служебных сигналах. Например, он может широко классифицироваться на тип VCL NAL-единицы и тип не-VCL NAL-единицы на основе того, включает или нет NAL-единица в себя информацию относительно изображения (данные срезов). Тип VCL NAL-единицы может классифицироваться согласно свойству и типу кадра, и тип не-VCL NAL-единицы может классифицироваться согласно типу набора параметров.
[119] Ниже приводится пример типа NAL-единицы, указываемого согласно типу набора параметров/информации, включенной в тип не-VCL NAL-единицы.
[120] - Тип NAL-единицы (NUT) DCI (информации характеристик декодирования): тип для NAL-единицы, включающей в себя DCI
[121] - NUT VPS (набора параметров видео): тип для NAL-единицы, включающей в себя VPS
[122] - NUT SPS (набора параметров последовательности): тип для NAL-единицы, включающей в себя SPS
[123] - NUT PPS (набора параметров кадра): тип для NAL-единицы, включающей в себя PPS
[124] - NUT APS (набора параметров адаптации): тип для NAL-единицы, включающей в себя APS
[125] - NUT PH (заголовка кадра): Тип для NAL-единицы, включающей в себя PH
[126] Вышеописанные типы NAL-единиц могут иметь синтаксическую информацию относительно типов NAL-единиц, и синтаксическая информация может сохраняться в заголовке NAL-единицы и передаваться в служебных сигналах. Например, синтаксическая информация может включать в себя nal_unit_type, и типы NAL-единиц могут указываться посредством значения nal_unit_type.
[127] Между тем, как описано выше, один кадр может включать в себя множество срезов, и один срез может включать в себя заголовок среза и данные срезов. В этом случае, один заголовок кадра дополнительно может добавляться во множество срезов (заголовок среза и набор данных срезов) в одном кадре. Заголовок кадра (синтаксис заголовков кадра) может включать в себя информацию/параметры, обычно применимую к кадру. Заголовок среза (синтаксис заголовков срезов) может включать в себя информацию/параметры, обычно применимые к срезу. APS (APS-синтаксис) или PPS (PPS-синтаксис) может включать в себя информацию/параметры, обычно применимые к одному или более срезов либо кадров. SPS (SPS-cинтаксис) может включать в себя информацию/параметры, обычно применимые к одной или более последовательностей. VPS (VPS-синтаксис) может информацию/параметры, обычно применимые к нескольким слоям. DCI (DCI-синтаксис) может включать в себя информацию/параметры, связанную с характеристиками декодирования.
[128] В настоящем раскрытии сущности, высокоуровневый синтаксис (HLS) может включать в себя, по меньшей мере, одно из APS-синтаксиса, PPS-синтаксиса, SPS-cинтаксиса, VPS-синтаксиса, DCI-синтаксиса, синтаксиса заголовков кадра или синтаксиса заголовков срезов. Помимо этого, в настоящем раскрытии сущности, низкоуровневый синтаксис (LLS) может включать в себя, например, синтаксис данных срезов, CTU-синтаксис, синтаксис единицы кодирования, синтаксис единицы преобразования и т.д.
[129] В настоящем раскрытии сущности, информация изображений/видео, кодированная посредством оборудования кодирования и передаваемая в служебных сигналах в оборудование декодирования в форме потока битов, может включать в себя не только связанную с сегментацией внутри кадров информацию, информацию внутреннего/взаимного прогнозирования, остаточную информацию, информацию внутриконтурной фильтрации, но также и информацию относительно заголовка среза, информацию относительно заголовка кадра, информацию относительно APS, информацию относительно PPS, информацию относительно SPS, информацию относительно VPS и/или информацию относительно DCI. Помимо этого, информация изображений/видео дополнительно может включать в себя общую информацию ограничений и/или информацию относительно заголовка NAL-единицы.
[130] Общее представление передачи в служебных сигналах входных точек
[131] Как описано выше, VCL NAL-единица может включать в себя данные срезов в качестве RBSP (первичной байтовой последовательности данных). Данные срезов могут совмещаться в VCL NAL-единице в байтах и могут включать в себя один или более поднаборов. По меньшей мере, одна входная точка для произвольного доступа (RA) может задаваться для поднаборов, и параллельная обработка может выполняться на основе входной точки.
[132] Стандарт универсального кодирования видео (VVC) (ITU-T-рекомендация H.266) поддерживает волновую параллельную обработку (WPP), которая представляет собой одну из различных технологий параллельной обработки. Множество срезов в кадре могут кодироваться/декодироваться параллельно на основе WPP.
[133] Чтобы активировать характеристики параллельной обработки, информация входных точек может передаваться в служебных сигналах. Оборудование декодирования изображений может непосредственно осуществлять доступ к начальной точке сегмента данных, включенного в NAL-единицу на основе информации входных точек. Здесь, начальная точка сегмента данных может означать начальную точку плиток в срезе или начальную точку CTU-строк в срезе.
[134] Информация входных точек может передаваться в служебных сигналах в высокоуровневом синтаксисе, например, в наборе параметров кадра (PPS) и/или заголовке среза.
[135] Фиг. 7 является видом, иллюстрирующим набор параметров кадра (PPS) согласно варианту осуществления настоящего изобретения, и фиг. 8 является видом, иллюстрирующим заголовок среза согласно варианту осуществления настоящего изобретения.
[136] Во-первых, ссылаясь на фиг. 7, набор параметров кадра (PPS) может включать в себя entry_point_offsets_present_flag в качестве синтаксического элемента, указывающего то, передается или нет информация входных точек в служебных сигналах.
[137] entry_point_offsets_present_flag может указывать то, присутствует или нет передача в служебных сигналах информации входных точек в заголовке среза, ссылающемся на набор параметров кадра (PPS). Например, entry_point_offsets_present_flag, имеющий первое значение (например, 0), может указывать то, что передача в служебных сигналах информации входных точек для плитки или конкретных CTU-строк в плитке не присутствует в заголовке среза. Напротив, entry_point_offsets_present_flag, имеющий второе значение (например, 1), может указывать то, что передача в служебных сигналах информации входных точек для плитки или конкретных CTU-строк в плитке присутствует в заголовке среза.
[138] Между тем, хотя случай, в котором entry_point_offsets_present_flag включается в набор параметров кадра (PPS), проиллюстрирован на фиг. 7, это представляет собой пример, и в силу этого варианты осуществления настоящего изобретения не ограничены этим. Например, entry_point_offsets_present_flag может включаться в набор параметров последовательности (SPS).
[139] Затем, ссылаясь на фиг. 8, заголовок среза может включать в себя offset_len_minus1 и entry_point_offset_minus1[i] в качестве синтаксических элементов для идентификации входной точки.
[140] offset_len_minus1 может указывать значение, полученное посредством вычитания 1 из длины в битах entry_point_offset_minus1[i]. Значение offset_len_minus1 может иметь диапазон от 0 до 31. В примере, offset_len_minus1 может передаваться в служебных сигналах на основе переменной NumEntryPoints, указывающей общее число входных точек. Например, offset_len_minus1 может передаваться в служебных сигналах только тогда, когда NumEntryPoints больше 0. Помимо этого, offset_len_minus1 может передаваться в служебных сигналах на основе entry_point_offsets_present_flag, описанного выше со ссылкой на фиг. 7. Например, когда offset_len_minus1 может передаваться в служебных сигналах только тогда, когда entry_point_offsets_present_flag имеет второе значение (например, 1) (т.е. передача в служебных сигналах информации входных точек присутствует в заголовке среза).
[141] entry_point_offset_minus1[i] может указывать смещение точки i-ой записи в байтах и может выражаться посредством суммирования 1 бита с offset_len_minus1. Данные срезов в NAL-единице могут включать в себя число поднаборов, идентичное значению, полученному посредством суммирования 1 с NumEntryPoints и значением индекса, указывающим то, что каждый из поднаборов может иметь диапазон от 0 до NumEntryPoints. Первый байт данных срезов в NAL-единице может представляться посредством байта 0.
[142] Когда entry_point_offset_minus1[i] передается в служебных сигналах, байты предотвращения эмуляции, включенные в данные срезов в NAL-единице, могут подсчитываться в качестве части данных срезов для идентификации поднаборов. Поднабор 0, который представляет собой первый поднабор данных срезов, может иметь конфигурацию от байта 0 до entry_point_offset_minus1[0]. Аналогично, поднабор k, который представляет собой k-ый поднабор данных срезов, может иметь конфигурацию от firstByte[k] до lastByte[k]. Здесь, firstByte[k] может извлекаться так, как показано в нижеприведенном уравнении 1, lastByte[k] может извлекаться так, как показано в нижеприведенном уравнении 2.
[143] уравнение 1
[144] уравнение 2
[145] В уравнениях 1 и 2, k может иметь диапазон от 1 до значения, полученного посредством вычитания 1 из NumEntryPoints.
[146] Последний поднабор (т.е. NumEntryPoints-ый поднабор) данных срезов может состоять из оставшихся байтов данных срезов.
[147] Между тем, если предварительно определенный процесс синхронизации для контекстных переменных не выполняется до декодирования CTU, включающей в себя первый CTB CTB-строки в каждой плитке (например, sps_entropy_coding_sync_enabled_flag==0), и срез включает в себя одну или более полных плиток, каждый поднабор заголовка среза может состоять из всех кодированных битов для всех CTU в идентичной плитке. В этом случае, общее число поднаборов данных срезов может быть равным общему числу плиток в срезе.
[148] Напротив, когда предварительно определенный процесс синхронизации не выполняется, и срез включает в себя один поднабор для CTU-строк в одной плитке, NumEntryPoints может быть равным 0. В этом случае, один поднабор данных срезов может состоять из всех кодированных битов для всех CTU в срезе.
[149] Напротив, когда предварительно определенный процесс синхронизации выполняется (например, sps_entropy_coding_sync_enabled_flag==1), каждый поднабор может состоять из всех кодированных битов для всех CTU одной CTU-строки в одной плитке. В этом случае, общее число поднаборов данных срезов может быть равным общему числу CTU-строк каждой плитки в срезе.
[150] Общее представление смешанного типа NAL-единицы
[151] В общем, один тип NAL-единицы может задаваться для одного кадра. Как описано выше, синтаксическая информация, указывающая тип NAL-единицы, может сохраняться в заголовке NAL-единицы для NAL-единицы и передаваться в служебных сигналах. Например, синтаксическая информация может включать в себя nal_unit_type, и типы NAL-единиц могут указываться посредством значения nal_unit_type.
[152] Пример типов NAL-единиц, к которым является применимым вариант осуществления настоящего изобретения, показывается в нижеприведенной таблице 1.
[153] Табл. 1
slice_layer_rbsp()
slice_layer_rbsp()
slice_layer_rbsp()
slice_layer_rbsp()
8
IDR_N_LP
slice_layer_rbsp()
silce_layer_rbsp()
slice_layer_rbsp()
12
RSV_IRAP_12
decoding_capability_information_rbsp()
video_parameter_set_rbsp()
seq_parameter_set_rbsp()
pic_parameter_set_rbsp()
18
SUFFIX_APS_NUT
adaptation_parameter_set_rbsp()
picture_header_rbsp()
access_unit_delimiter_rbsp()
end_of_seq_rbsp()
end_of_bitstream_rbsp()
24
SUFFIX_SEI_NUT
sei_rbsp()
filler_data_rbsp()
27
RSV_NVCL_27
STSA: Пошаговый доступ с переключением к временному подслою
RADL: Опережающий декодируемый с произвольным доступом
RASL: Опережающий пропускаемый с произвольным доступом
IDR: Мгновенное обновление при декодировании
LP: Опережающий кадр
_W_RADL: С RADL
_N_LP: не-LP, без LP
CRA: Чистый произвольный доступ
GDR: Постепенное обновление при декодировании
IRAP: Внутренняя точка произвольного доступа
[154] Ссылаясь на таблицу 1, тип VCL NAL-единицы может классифицироваться на типы 0-12 NAL-единиц согласно атрибуту и типу кадра. Помимо этого, тип не-VCL NAL-единицы может классифицироваться на типы 13-31 NAL-единиц согласно типу набора параметров.
[155] Подробные примеры типа VCL NAL-единицы заключаются в следующем.
[156] - Тип NAL-единицы (NUT) на основе IRAP (внутренней точки произвольного доступа): тип для NAL-единицы IRAP-кадра, который задается равным диапазону от IDR_W_RADL до CRA_NUT.
[157] - NUT на основе IDR (мгновенного обновления при декодировании): тип для NAL-единицы IDR-кадра, который задается равным IDR_W_RADL или IDR_N_LP.
[158] - NUT на основе CRA (чистого произвольного доступа): тип для NAL-единицы для CRA-кадра, который задается равным CRA_NUT.
[159] - RADL (опережающий декодируемый с произвольным доступом) NUT: тип для NAL-единицы для RADL-кадра, который задается равным RADL_NUT.
[160] - RASL (опережающий пропускаемый с произвольным доступом) NUT: тип для NAL-единицы для RASL-кадра, который задается равным RASL_NUT.
[161] - Запаздывающий NUT: тип для NAL-единицы для запаздывающего кадра, который задается равным TRAIL_NUT.
[162] - NUT на основе GDR (постепенного обновления при декодировании): тип для NAL-единицы для GDR-кадра, который является GDR_NUT.
[163] - NUT на основе STSA (пошагового доступа к временному подслою): тип для NAL-единицы для STSA-кадра, который задается равным STSA_NUT.
[164] Между тем, VVC-стандарт обеспечивает возможность одному кадру включать в себя множество срезов, имеющих различные типы NAL-единиц. Например, один кадр может включать в себя, по меньшей мере, один первый срез, имеющий первый тип NAL-единицы, и, по меньшей мере, один второй срез, имеющий второй тип NAL-единицы, отличающийся от первого типа NAL-единицы. В этом случае, тип NAL-единицы кадра может упоминаться как смешанный тип NAL-единицы. Поскольку VVC-стандарт поддерживает смешанный тип NAL-единицы, множество кадров могут проще восстанавливаться/синтезироваться в процессе синтеза контента, в процессе кодирования/декодирования и т.д.
[165] Тем не менее, согласно существующей схеме для смешанного типа NAL-единицы, имеется такое ограничение, что только двум типам NAL-единиц разрешается смешиваться. Помимо этого, когда один кадр имеет смешанный тип NAL-единицы, имеется такое ограничение, что одна или более VCL NAL-единиц кадра должны иметь тип NAL-единицы в диапазоне от IDR_W_RADL до CRA_NUT, и оставшиеся VCL NAL-единицы кадра должны иметь тип NAL-единицы в диапазоне от TRAIL_NUT до RSV_VCL_6. Как результат, хотя смешанный тип NAL-единицы является полезным в процедуре обработки изображений, имеется проблема в том, что смешанный тип NAL-единицы не является общеупотребительным.
[166] Чтобы разрешать такую проблему, согласно вариантам осуществления настоящего изобретения, двум или более типов NAL-единиц может разрешаться смешиваться, и может предоставляться больше различных смешанных типов NAL-единиц.
[167] В дальнейшем в этом документе подробно описываются варианты осуществления настоящего изобретения.
[168] Когда один кадр включает в себя два или более срезов, и типы NAL-единиц срезов отличаются, кадр может быть ограничен таким образом, что он включает в себя два или более субкадров. Таким образом, когда один кадр имеет смешанный тип NAL-единицы, кадр может включать в себя два или более субкадров.
[169] Субкадр может включать в себя один или более срезов и конструировать прямоугольную область в кадре. Каждый из субкадров, включенных в кадр, может иметь отличающийся размер друг от друга. С другой стороны, для всех кадров, принадлежащих одной последовательности, размеры и позиции конкретных отдельных субкадров могут задаваться равными друг другу.
[170] Фиг. 9 является видом, иллюстрирующим пример субкадра.
[171] Ссылаясь на фиг. 9, один кадр может сегментироваться на 18 плиток в сумме. 12 плиток из 18 плиток могут размещаться в левой стороне кадра, и каждая из 12 плиток может включать в себя один срез, включающий в себя CTU 4×4. Помимо этого, 6 плиток могут размещаться в правой стороне кадра, и каждая из 6 плиток может включать в себя два среза, включающие в себя CTU 2×2 и уложенные в вертикальном направлении. Как результат, кадр может включать в себя 24 субкадра и 24 среза, и каждый субкадр может включать в себя один срез.
[172] В одном варианте осуществления, каждый субкадр в одном кадре может трактоваться в качестве одного кадра, чтобы поддерживать смешанный тип NAL-единицы. Когда субкадр трактуется в качестве одного кадра, субкадр может независимо кодироваться/декодироваться независимо от результата кодирования/декодирования другого субкадра. Здесь, независимое кодирование/декодирование может означать то, что структура сегментации на блоки (например, структура в виде одиночного дерева, структура в виде сдвоенного дерева и т.д.), тип режима прогнозирования (например, внутреннее прогнозирование, взаимное прогнозирование и т.д.), порядок декодирования и т.д. субкадра отличаются от структуры, типа, порядка и т.д. для другого субкадра. Например, когда первый субкадр кодируется/декодируется на основе режима внутреннего прогнозирования, второй субкадр, смежный с первым субкадром и трактуемый в качестве одного кадра, может кодироваться/декодироваться на основе режима взаимного прогнозирования.
[173] Когда один кадр включает в себя два или более независимых субкадров, и субкадры имеют отличающиеся типы NAL-единиц друг от друга, кадр может иметь смешанный тип NAL-единицы.
[174] Фиг. 10 является видом, иллюстрирующим пример кадра, имеющего смешанный тип NAL-единицы.
[175] Ссылаясь на фиг. 10, один кадр 1000 может включать в себя первый-третий субкадры 1010-1030. Каждый из первого и третьего субкадров 1010 и 1030 может включать в себя два среза. Напротив, второй субкадр 1020 может включать в себя четыре среза.
[176] Когда каждый из первого-третьего субкадров 1010-1030 трактуется в качестве одного кадра, первый-третий субкадры 1010-1030 могут независимо кодироваться, чтобы конструировать различные потоки битов. Например, кодированные данные срезов первого субкадра 1010 могут инкапсулироваться в одну или более NAL-единиц, имеющих тип NAL-единицы, идентичный типу NAL-единицы RASL_NUT, чтобы конструировать первый поток битов (поток 1 битов). Помимо этого, кодированные данные срезов второго субкадра 1020 могут инкапсулироваться в одну или более NAL-единиц, имеющих тип NAL-единицы, идентичный типу NAL-единицы RADL_NUT, чтобы конструировать второй поток битов (поток 2 битов). Помимо этого, кодированные данные срезов третьего субкадра 1030 могут инкапсулироваться в одну или более NAL-единиц, имеющих тип NAL-единицы, идентичный типу NAL-единицы RASL_NUT, чтобы конструировать третий поток битов (поток 3 битов). Как результат, один кадр 1000 может иметь смешанный тип NAL-единицы, в котором смешиваются RASL_NUT и RADL_NUT.
[177] В одном варианте осуществления, все срезы, включенные в каждый субкадр в кадре, могут быть ограничены таким образом, что они имеют идентичный тип NAL-единицы. Например, оба из двух срезов, включенных в первый субкадр 1010, могут иметь тип NAL-единицы, идентичный типу NAL-единицы RASL_NUT. Помимо этого, все четыре среза, включенные во второй субкадр 1020, могут иметь тип NAL-единицы, идентичный типу NAL-единицы RADL_NUT. Помимо этого, оба из двух срезов, включенных в третий субкадр 1030, могут иметь тип NAL-единицы, идентичный типу NAL-единицы RASL_NUT.
[178] Информация относительно субкадра может передаваться в служебных сигналах в высокоуровневом синтаксисе, например, в наборе параметров кадра (PPS) и наборе параметров последовательности (SPS). Помимо этого, информация, указывающая то, следует или нет применять смешанный тип NAL-единицы, может передаваться в служебных сигналах в высокоуровневом синтаксисе, например, в наборе параметров кадра (PPS).
[179] Фиг. 11 является видом, иллюстрирующим пример набора параметров кадра (PPS) согласно варианту осуществления настоящего изобретения, и фиг. 12 является видом, иллюстрирующим пример набора параметров последовательности (SPS) согласно варианту осуществления настоящего изобретения.
[180] Во-первых, ссылаясь на фиг. 11, набор параметров кадра (PPS) может включать в себя pps_mixed_nalu_types_in_pic_flag в качестве синтаксического элемента, указывающего то, следует или нет применять смешанный тип NAL-единицы.
[181] pps_mixed_nalu_types_in_pic_flag может указывать то, имеет или нет текущий кадр смешанный тип NAL-единицы. Например, pps_mixed_nalu_types_in_pic_flag, имеющий первое значение (например, 0), может указывать то, что текущий кадр не имеет смешанного типа NAL-единицы. В этом случае, текущий кадр может иметь идентичный тип NAL-единицы для всех VCL NAL-единиц, например, тип NAL-единицы, идентичный типу NAL-единицы кодированных NAL-единиц срезов. Напротив, pps_mixed_nalu_types_in_pic_flag, имеющий второе значение (например, 1), может указывать то, что текущий кадр имеет смешанный тип NAL-единицы.
[182] В варианте осуществления, VCL NAL-единица текущего кадра может быть ограничена таким образом, что она не имеет тип NAL-единицы, идентичный типу NAL-единицы GDR_NUT, когда текущий кадр имеет смешанный тип NAL-единицы (например, pps_mixed_nalu_types_in_pic_flag==1).
[183] В варианте осуществления, когда текущий кадр имеет смешанный тип NAL-единицы (например, pps_mixed_nalu_types_in_pic_flag==1), если одна VCL NAL-единица текущего кадра имеет тип NAL-единицы (тип A NAL-единицы), идентичный типу NAL-единицы IDR_W_RADL, IDR_N_LP или CRA_NUT, другие VCL NAL-единицы текущего кадра могут быть ограничены таким образом, что они имеют тип NAL-единицы, идентичный типу NAL-единицы IDR_W_RADL, IDR_N_LP, CRA_NUT или TRAIL_NUT.
[184] Когда текущий кадр имеет смешанный тип NAL-единицы (например, pps_mixed_nalu_types_in_pic_flag==1), каждый субкадр в текущем кадре может иметь любые из типов VCL NAL-единиц, описанных выше со ссылкой на таблицу 1. Например, когда субкадр в текущем кадре представляет собой IDR-субкадр, субкадр может иметь тип NAL-единицы, идентичный типу NAL-единицы IDR_W_RADL или IDR_N_LP. Альтернативно, когда субкадр в текущем кадре представляет собой запаздывающий субкадр, субкадр может иметь тип NAL-единицы, идентичный типу NAL-единицы TRAIL_NUT.
[185] pps_mixed_nalu_types_in_pic_flag, имеющий второе значение (например, 1), может указывать то, что кадры, ссылающиеся на набор параметров кадра (PPS), могут включать в себя срезы, имеющие различные типы NAL-единиц. Здесь, кадры могут быть инициированы из операции объединения потоков битов субкадров, в которой кодер обеспечивает согласование структуры потока битов и совмещение между параметрами исходных потоков битов. В качестве примера совмещения, когда синтаксические элементы списка опорных кадров (RPL) для среза, имеющего тип NAL-единицы, идентичный типу NAL-единицы IDR_W_RADL или IDR_N_LP, не присутствуют в заголовке среза (например, sps_idr_rpl_present_flag==0), и текущий кадр, включающий в себя срез, имеет смешанный тип NAL-единицы (например, pps_mixed_nalu_types_in_pic_flag==1), текущий кадр может быть ограничен таким образом, что он не включает в себя срезы, имеющие тип NAL-единицы, идентичный типу NAL-единицы IDR_W_RADL или IDR_N_LP.
[186] Между тем, когда имеется такое ограничение, что смешанный тип NAL-единицы не применяется для всех кадров в наборе выходных слоев (OLS) (например, gci_no_mixed_nalu_types_in_pic_constraint_flag==1), pps_mixed_nalu_types_in_pic_flag может иметь первое значение (например, 0).
[187] Помимо этого, набор параметров кадра (PPS) может включать в себя pps_no_pic_partition_flag в качестве синтаксического элемента, указывающего то, следует или нет применять сегментацию кадров.
[188] pps_no_pic_partition_flag может указывать то, является или нет сегментация кадров применимой к текущему кадру. Например, pps_no_pic_partition_flag, имеющий первое значение (например, 0), может указывать то, что текущий кадр не может сегментироваться. Напротив, pps_no_pic_partition_flag, имеющий второе значение (например, 1), может указывать то, что текущий кадр может сегментироваться на две или более плиток или срезов. Когда текущий кадр имеет смешанный тип NAL-единицы (например, pps_mixed_nalu_types_in_pic_flag==1), текущий кадр может быть ограничен таким образом, что он имеет две или более плиток или срезов (например, pps_no_pic_partition_flag=1).
[189] Помимо этого, набор параметров кадра (PPS) может включать в себя pps_num_subpics_minus1 в качестве синтаксического элемента, указывающего число субкадров.
[190] pps_num_subpics_minus1 может указывать значение, полученное посредством вычитания 1 из числа субкадров, включенных в текущий кадр. pps_num_subpics_minus1 может передаваться в служебных сигналах только тогда, когда сегментация кадров является применимой к текущему кадру (например, pps_no_pic_partition_flag==1). Когда pps_num_subpics_minus1 не передается в служебных сигналах, значение pps_num_subpics_minus1 может логически выводиться в качестве 0. Между тем, синтаксический элемент, указывающий число субкадров, может передаваться в служебных сигналах в высокоуровневом синтаксисе, отличающемся от набора параметров кадра (PPS), например, в наборе параметров последовательности (SPS).
[191] В варианте осуществления, когда текущий кадр включает в себя только один субкадр (например, pps_num_subpics_minus1==0), текущий кадр может быть ограничен таким образом, что он не имеет смешанный тип NAL-единицы (например, pps_mixed_nalu_types_in_pic_flag==0). Таким образом, когда текущий кадр имеет смешанный тип NAL-единицы (например, pps_mixed_nalu_types_in_pic_flag==1), текущий кадр может быть ограничен таким образом, что он включает в себя два или более субкадров (например, pps_num_subpics_minus1>0).
[192] Затем, ссылаясь на фиг. 12, набор параметров последовательности (SPS) может включать в себя sps_subpic_treated_as_pic_flag[i] в качестве синтаксического элемента, связанного с трактовкой субкадра во время кодирования/декодирования.
[193] sps_subpic_treated_as_pic_flag[i] может указывать то, трактуется или нет каждый субкадр в текущем кадре в качестве одного кадра. Например, sps_subpic_treated_as_pic_flag[i], имеющий первое значение (например, 0), может указывать то, что i-ый субкадр в текущем кадре не трактуется в качестве одного кадра. Напротив, sps_subpic_treated_as_pic_flag[i], имеющий второе значение (например, 1), может указывать то, что i-ый субкадр в текущем кадре трактуется в качестве одного кадра в процессе кодирования/декодирования за исключением операций внутриконтурной фильтрации. Когда sps_subpic_treated_as_pic_flag[i] не передается в служебных сигналах, sps_subpic_treated_as_pic_flag[i] может логически выводиться как имеющий второе значение (например, 1).
[194] В варианте осуществления, когда текущий кадр включает в себя два или более субкадров (например, pps_num_subpics_minus1>0), и, по меньшей мере, один из субкадров не трактуется в качестве одного кадра (например, sps_subpic_treated_as_pic_flag[i]==0), текущий кадр может быть ограничен таким образом, что он не имеет смешанный тип NAL-единицы (например, pps_mixed_nalu_types_in_pic_flag=0). Таким образом, когда текущий кадр имеет смешанный тип NAL-единицы (например, pps_mixed_nalu_types_in_pic_flag==1), все субкадры в текущем кадре могут быть ограничены таким образом, что они трактуются в качестве одного кадра (например, sps_subpic_treated_as_pic_flag[i]=1).
[195] В дальнейшем в этом документе подробно описывается тип NAL-единицы согласно вариантам осуществления настоящего изобретения для каждого типа кадра.
[196] (1) Кадр на основе IRAP (внутренних точек произвольного доступа)
[197] IRAP-кадр представляет собой случайно доступный кадр и может иметь идентичный тип NAL-единицы, такой как IDR_W_RADL, IDR_N_LP или CRA_NUT, как описано выше со ссылкой на таблицу 1. IRAP-кадр может не ссылаться на кадр, отличный от IRAP-кадра для взаимного прогнозирования в процессе декодирования. IRAP-кадр может включать в себя кадр на основе IDR (мгновенного обновления при декодировании) и кадр на основе CRA (чистого произвольного доступа).
[198] Первый кадр в потоке битов в порядке декодера может быть ограничен IRAP-кадром или кадром на основе GDR (постепенного обновления при декодировании). Для потока битов одного слоя, когда существенный набор параметров, на который следует ссылаться, доступен, хотя кадры, предшествующие IRAP-кадру в порядке декодирования, вообще не декодируются, IRAP-кадр и все не-RASL-кадры после IRAP-кадра в порядке декодирования могут корректно декодироваться.
[199] В варианте осуществления, IRAP-кадр может не иметь смешанного типа NAL-единицы. Таким образом, для IRAP-кадра, pps_mixed_nalu_types_in_pic_flag может иметь первое значение (например, 0), и все срезы в IRAP-кадре могут иметь идентичный тип NAL-единицы в диапазоне от IDR_W_RADL до CRA_NUT. Как результат, когда первый срез, который должен декодироваться в кадре, имеет тип NAL-единицы в диапазоне от IDR_W_RADL до CRA_NUT, кадр может определяться в качестве IRAP-кадра.
[200] (2) Кадр на основе CRA (чистого произвольного доступа)
[201] CRA-кадр представляет собой один из IRAP-кадров и может иметь тип NAL-единицы, идентичный типу NAL-единицы CRA_NUT, как описано выше со ссылкой на таблицу 1. CRA-кадр может не ссылаться на кадр, отличный от CRA-кадра для взаимного прогнозирования в процессе декодирования.
[202] CRA-кадр может представлять собой первый кадр в потоке битов в порядке декодирования или кадре после первого кадра. CRA-кадр может быть ассоциирован с RADL- или RASL-кадрами.
[203] Когда NoIncorrectPicOutputFlag имеет второе значение (например, 1) для CRA-кадра, RASL-кадры, ассоциированные с CRA-кадром, ссылаются на кадры, которые не присутствуют в потоке битов и в силу этого могут не декодироваться и, как результат, могут не выводиться посредством оборудования декодирования изображений. Здесь, NoIncorrectPicOutputFlag может указывать то, выводятся или нет кадры, предшествующие кадру на основе точек восстановления в порядке декодирования, перед кадром на основе точек восстановления. Например, NoIncorrectPicOutputFlag, имеющий первое значение (например, 0), может указывать то, что кадры, предшествующие кадру на основе точек восстановления в порядке декодирования, выводятся перед кадром на основе точек восстановления. В этом случае, CRA-кадр может не представлять собой первый кадр в потоке битов или первый кадр после NAL-единицы конца последовательности (EOS) в порядке декодирования, что может означать то, что произвольный доступ не возникает. Напротив, NoIncorrectPicOutputFlag, имеющий второе значение (например, 1), может указывать то, что кадры, предшествующие кадру на основе точек восстановления в порядке декодирования, не могут выводиться перед кадром на основе точек восстановления. В этом случае, CRA-кадр может представлять собой первый кадр в потоке битов или первый кадр после NAL-единицы конца последовательности (EOS) в порядке декодирования, что может означать то, что произвольный доступ возникает. Между тем, NoIncorrectPicOutputFlag может упоминаться как NoOutputBeforeRecoveryFlag в некоторых вариантах осуществления.
[204] Для всех единиц кадров (PU), идущих после текущего кадра в порядке декодирования в CLVS (кодированной видеопоследовательности слоя), список 0 опорных кадров (например, RefPicList[0]) и список 1 опорных кадров (например, RefPicList[1]) для одного среза, включенного в CRA-субкадр, принадлежащий единицам кадров (PU), могут быть ограничены таким образом, что они не включают в себя любой кадр, предшествующий кадру, включающему в себя CRA-субкадр, в порядке декодирования в пределах активной записи. Здесь, единица кадров (PU) может означать набор NAL-единиц, включающий в себя множество NAL-единиц, которые являются взаимно ассоциированными согласно предварительно определенному правилу классификации и являются непрерывными в порядке декодирования для одного кодированного кадра.
[205] (3) Кадр на основе IDR (мгновенного обновления при декодировании)
[206] IDR-кадр представляет собой один из IRAP-кадров и может иметь тип NAL-единицы, идентичный типу NAL-единицы IDR_W_RADL или IDR_N_LP, как описано выше со ссылкой на таблицу 1. IDR-кадр может не ссылаться на кадр, отличный от IDR-кадра для взаимного прогнозирования в процессе декодирования.
[207] IDR-кадр может представлять собой первый кадр в потоке битов в порядке декодирования или может представлять собой кадр после первого кадра. Каждый IDR-кадр может представлять собой первый кадр CVS (кодированной видеопоследовательности) в порядке декодирования.
[208] Когда IDR-кадр имеет тип NAL-единицы, идентичный типу NAL-единицы IDR_W_RADL для каждой NAL-единицы, IDR-кадр может иметь ассоциированные RADL-кадры. Напротив, когда IDR-кадр имеет тип NAL-единицы, идентичный типу NAL-единицы IDR_N_LP для каждой NAL-единицы, IDR-кадр может иметь неассоциированные опережающие кадры. Между тем, IDR-кадр может не быть ассоциирован с RASL-кадрами.
[209] Для всех единиц кадров (PU), идущих после текущего кадра в порядке декодирования в CLVS (кодированной видеопоследовательности слоя), список 0 опорных кадров (например, RefPicList[0]) и список 1 опорных кадров (например, RefPicList[1]) для одного среза, включенного в IDR-субкадр, принадлежащий единицам кадров (PU), могут быть ограничены таким образом, что они не включают в себя любой кадр, предшествующий кадру, включающему в себя IDR-субкадр, в порядке декодирования в пределах активной записи.
[210] (4) RADL (опережающий декодируемый с произвольным доступом) кадр
[211] RADL-кадр представляет собой один из опережающих кадров и может иметь тип NAL-единицы, идентичный типу NAL-единицы RADL_NUT, как описано выше со ссылкой на таблицу 1.
[212] RADL-кадр может не использоваться в качестве опорного кадра в процессе декодирования запаздывающего кадра, имеющего идентичный ассоциированный IRAP-кадр. Когда field_seq_flag имеет первое значение (например, 0) для RADL-кадра, RADL-кадр может предшествовать всем неопережающим кадрам, имеющим идентичный ассоциированный IRAP-кадр, в порядке декодирования. Здесь, field_seq_flag может указывать то, передает CLVS (кодированная видеопоследовательность слоя) кадр, указывающий поля, или кадр, указывающий кинокадры. Например, field_seq_flag, имеющий первое значение (например, 0), может указывать то, что CLVS передает кадр, указывающий кинокадры. Напротив, field_seq_flag, имеющий второе значение (например, 1), может указывать то, что CLVS передает кадр, указывающий поля.
[213] (5) RASL (опережающий пропускаемый с произвольным доступом) кадр
[214] RASL-кадр представляет собой один из опережающих кадров и может иметь тип NAL-единицы, идентичный типу NAL-единицы RASL_NUT, как описано выше со ссылкой на таблицу 1.
[215] В примере, все RASL-кадры могут представлять собой опережающие кадры ассоциированного CRA-кадра. Когда NoIncorrectPicOutputFlag имеет второе значение (например, 1) для CRA-кадра, RASL-кадры ссылаются на кадры, которые не присутствуют в потоке битов и в силу этого могут не декодироваться и, как результат, могут не выводиться посредством оборудования декодирования изображений.
[216] RASL-кадр может не использоваться в качестве опорного кадра в процессе декодирования не-RASL-кадров. Тем не менее, когда RADL-кадр, принадлежащий слою, идентичному слою RASL-кадра и ассоциированный с идентичным CRA-кадром, присутствует, RASL-кадр может использоваться в качестве совместно размещенного опорного кадра для взаимного прогнозирования RADL-субкадра, включенного в RADL-кадр.
[217] Когда field_seq_flag имеет первое значение (например, 0) для RASL-кадра, RASL-кадр может предшествовать всем неопережающим кадрам CRA-кадра, ассоциированного с RASL-кадром в порядке декодирования.
[218] (6) Запаздывающий кадр
[219] Запаздывающий кадр представляет собой не-IRAP-кадр после ассоциированного IRAP-кадра или GDR-кадра в порядке вывода и может не представлять собой STSA-кадр. Помимо этого, запаздывающий кадр может идти после ассоциированного IRAP-кадра в порядке декодирования. Таким образом, запаздывающий кадр, который идет после ассоциированным IRAP-кадром в порядке вывода, но предшествует ассоциированному IRAP-кадру в порядке декодирования, может не разрешаться.
[220] (7) Кадр на основе GDR (постепенного обновления при декодировании)
[221] GDR-кадр представляет собой случайно доступный кадр и может иметь тип NAL-единицы, идентичный типу NAL-единицы GDR_NUT, как описано выше со ссылкой на таблицу 1.
[222] (8) Кадр на основе STSA (пошагового доступа к временному подслою)
[223] STSA-кадр представляет собой случайно доступный кадр и может иметь тип NAL-единицы, идентичный типу NAL-единицы STSA_NUT, как описано выше со ссылкой на таблицу 1.
[224] STSA-кадр может не ссылаться на кадры, имеющие TemporalId, идентичный TemporalId STSA-кадра для взаимного прогнозирования. Здесь, TemporalId может представлять собой идентификатор, указывающий временной слой, например, временной подслой в масштабируемом кодировании видео. В варианте осуществления, STSA-кадры могут быть ограничены таким образом, что они имеют TemporalId, больший 0.
[225] Кадры, имеющие TemporalID, идентичный TemporalID STSA-кадра и идущие после STSA-кадра в порядке декодирования, могут не ссылаться на кадры, имеющие TemporalID, идентичный TemporalID STSA-кадра, и предшествующие STSA-кадру в порядке декодирования, для взаимного прогнозирования. STSA-кадр может активировать повышающее переключение из непосредственно нижнего подслоя текущего подслоя, которому принадлежит STSA-кадр, на текущий подслой.
[226] Фиг. 13 является видом, иллюстрирующим порядок декодирования и порядок вывода для каждого типа кадра.
[227] Множество кадров могут классифицироваться на I-кадр, P-кадр или B-кадр согласно способу прогнозирования. I-кадр может ссылаться на кадр, к которому является применимым только внутреннее прогнозирование, и может декодироваться без ссылки на другой кадр. I-кадр может упоминаться как внутренний кадр и может включать в себя вышеописанный IRAP-кадр. P-кадр может ссылаться на кадр, к которому являются применимыми внутреннее прогнозирование и однонаправленное взаимное прогнозирование, и может декодироваться посредством ссылки на другой кадр. B-кадр может ссылаться на кадр, к которому являются применимыми внутреннее прогнозирование и двунаправленное/однонаправленное взаимное прогнозирование, и может декодироваться с использованием одного или двух других кадров. P-кадр и B-кадр могут упоминаться как взаимный кадр и могут включать в себя вышеописанный RADL-кадр, RASL-кадр и запаздывающий кадр.
[228] Взаимный кадр дополнительно может классифицироваться на опережающий кадр (LP) или неопережающий кадр (NLP) согласно порядку декодирования и порядку вывода. Опережающий кадр может ссылаться на кадр, который идет после IRAP-кадром в порядке декодирования и предшествует IRAP-кадру в порядке вывода, и может включать в себя вышеописанный RADL-кадр и RASL-кадр. Неопережающий кадр может ссылаться на кадр, который идет после IRAP-кадром в порядке декодирования и порядке вывода, и может включать в себя вышеописанный запаздывающий кадр.
[229] На фиг. 13, название каждого кадра может указывать свой тип кадра. Например, I5-кадр может представлять собой I-кадр, и B0-, B2-, B3-, B4- и B6-кадры могут представлять собой B-кадры, и P1- и P7-кадры могут представлять собой P-кадры. Помимо этого, на фиг. 13, каждая стрелка может указывать на опорное направление между кадрами. Например, B0-кадр может декодироваться посредством ссылки на P1-кадр.
[230] Ссылаясь на фиг. 13, I5-кадр может представлять собой IRAP-кадр, например, CRA-кадр. Когда произвольный доступ для I5-кадра возникает, I5-кадр может представлять собой первый кадр в порядке декодирования.
[231] B0- и P1-кадры могут предшествовать I5-кадру в порядке декодирования и конструировать отдельную видеопоследовательность относительно I5-кадра. B2-, B3-, B4-, B6- и P7-кадры могут идти после I5-кадра в порядке декодирования и конструировать одну видеопоследовательность вместе с I5-кадром.
[232] B2, B3- и B4-кадры идут после I5-кадра в порядке декодирования и предшествуют I5-кадру в порядке вывода и в силу этого могут классифицироваться на опережающий кадр. B2-кадр может декодироваться посредством ссылки на I5-кадр, предшествующий P1-кадру в порядке декодирования. Соответственно, когда произвольный доступ возникает из I5-кадра, B2-кадр может не декодироваться корректно посредством ссылки на P1-кадр, который не присутствует в потоке битов. Тип кадра, такой как B2-кадр может упоминаться как RASL-кадр. Напротив, B3-кадр может декодироваться посредством ссылки на B3-кадр, предшествующий I5-кадру в порядке декодирования. Соответственно, когда произвольный доступ возникает из I5-кадра, B3-кадр может корректно декодироваться посредством ссылки на предварительно декодированный I5-кадр. Помимо этого, B4 может декодироваться посредством ссылки на I5-кадр и B4-кадр, предшествующий B3-кадру в порядке декодирования. Соответственно, когда произвольный доступ возникает из I5-кадра, B4-кадр может корректно декодироваться посредством ссылки на предварительно декодированный I5-кадр и B3-кадр. Тип кадра, к примеру, B3- и B4-кадры может упоминаться как RADL-кадр.
[233] Между тем, B6- и P7-кадры идут после I5-кадра в порядке декодирования и порядке вывода и в силу этого могут классифицироваться на неопережающий кадр. B6-кадр может декодироваться посредством ссылки на I5-кадр и P7-кадр, предшествующие в порядке декодирования. Соответственно, когда произвольный доступ возникает из I5-кадра, B6-кадр может корректно декодироваться посредством ссылки на предварительно декодированный I5-кадр и P7-кадр.
[234] В одной видеопоследовательности, процесс декодирования и процесс вывода могут выполняться в различных порядках на основе типа кадра. Например, когда одна видеопоследовательность включает в себя IRAP-кадр, опережающий кадр и неопережающий кадр, процесс декодирования может выполняться в порядке IRAP-кадра, опережающего кадра и неопережающего кадра, и процесс вывода может выполняться в порядке опережающего кадра, IRAP-кадра и неопережающего кадра.
[235] Фиг. 14 является блок-схемой последовательности операций, иллюстрирующей способ определения типа NAL-единицы текущего кадра согласно варианту осуществления настоящего изобретения.
[236] Ссылаясь на фиг. 14, оборудование кодирования изображений может определять то, включает или нет текущий кадр в себя два или более субкадров (S1410). Информация сегментации текущего кадра может передаваться в служебных сигналах с использованием одного или более синтаксических элементов в высокоуровневом синтаксисе. Например, через набор параметров кадра (PPS), описанный выше со ссылкой на фиг. 7, no_pic_partition_flag, указывающий то, сегментируется или нет текущий кадр, и pps_num_subpics_minus1, указывающий число субкадров, включенных в текущий кадр, может передаваться в служебных сигналах. Когда текущий кадр включает в себя два или более субкадров, no_pic_partition_flag может иметь первое значение (например, 0), и pps_num_subpics_minus может иметь значение, большее 0.
[237] Когда текущий кадр не включает в себя два или более субкадров ("Нет" S1410), оборудование кодирования изображений может определять то, что текущий кадр имеет один тип NAL-единицы (S1450). Таким образом, все срезы в текущем кадре могут иметь любые из типов NAL-единиц, описанных выше со ссылкой на таблицу 1.
[238] Напротив, когда текущий кадр включает в себя два или более субкадров ("Да" S1410), оборудование кодирования изображений может определять то, трактуется или нет каждый субкадр в текущем кадре в качестве одного кадра (S1420). Информация, указывающая то, трактуется или нет субкадр в качестве одного кадра, может передаваться в служебных сигналах с использованием предварительно определенного синтаксического элемента в высокоуровневом синтаксисе, например, через набор параметров последовательности (SPS), описанный выше со ссылкой на фиг. 12, sps_subpic_treated_as_pic_flag[i], указывающий то, трактуется или нет субкадр в качестве одного кадра, может передаваться в служебных сигналах. Когда каждый субкадр в текущем кадре трактуется в качестве одного кадра, sps_subpic_treated_as_pic_flag[i] может иметь второе значение (например, 1).
[239] Когда каждый субкадр в текущем кадре не трактуется в качестве одного кадра ("Нет" S1420), оборудование кодирования изображений может определять то, что текущий кадр имеет один тип NAL-единицы (S1450).
[240] Напротив, когда каждый субкадр в текущем кадре трактуется в качестве одного кадра ("Да" S1420), оборудование кодирования изображений может определять то, имеют или нет, по меньшей мере, некоторые из множества срезов в текущем кадре различные типы NAL-единиц (S1430).
[241] Когда, по меньшей мере, некоторые из множества срезов в текущем кадре имеют различные типы NAL-единиц ("Да" на S1430), оборудование кодирования изображений может определять то, что текущий кадр имеет смешанный тип NAL-единицы (S1440).
[242] Напротив, когда все из множества срезов в текущем кадре имеют идентичный тип NAL-единицы ("Нет" на S1430), оборудование кодирования изображений может определять то, что текущий кадр имеет один тип NAL-единицы (S1450).
[243] Когда текущий кадр имеет смешанный тип NAL-единицы, оборудование кодирования изображений может формировать субпоток битов для каждого субкадра, включенного в текущий кадр. В этом случае, множество субпотоков битов, сформированных для текущего кадра, могут составлять один поток битов.
[244] Информация, указывающая то, имеет или нет текущий кадр смешанный тип NAL-единицы, может передаваться в служебных сигналах с использованием предварительно определенного синтаксического элемента в высокоуровневом синтаксисе. Например, через вышеописанный набор параметров кадра (PPS), описанный выше со ссылкой на фиг. 11, pps_mixed_nalu_types_in_pic_flag, указывающий то, имеет или нет текущий кадр смешанный тип NAL-единицы, может передаваться в служебных сигналах. В этом случае, оборудование декодирования изображений может определять то, имеет или нет текущий кадр смешанный тип NAL-единицы, на основе pps_mixed_nalu_types_in_pic_flag. Например, когда pps_mixed_nalu_types_in_pic_flag имеет первое значение (например, 0), оборудование декодирования изображений может определять то, что текущий кадр имеет один тип NAL-единицы. Напротив, когда pps_mixed_nalu_types_in_pic_flag имеет второе значение (например, 1), оборудование декодирования изображений может определять то, что текущий кадр имеет смешанный тип NAL-единицы.
[245] Между тем, все срезы в каждом субкадре, включенном в текущий кадр, могут иметь идентичный тип NAL-единицы. Таким образом, каждый субкадр может иметь только один тип NAL-единицы. Кроме того, когда текущий кадр имеет смешанный тип NAL-единицы, по меньшей мере, некоторые субкадры, включенные в текущий кадр, могут иметь различные типы NAL-единиц. Например, первый субкадр, включенный в текущий кадр, может иметь первый тип NAL-единицы, и второй субкадр, включенный в текущий кадр, может иметь второй тип NAL-единицы, отличающийся от первого типа NAL-единицы.
[246] Тип каждого субкадра, включенного в текущий кадр, может определяться на основе типа NAL-единицы каждого субкадра. Например, как описано выше со ссылкой на таблицу 1, тип субкадра, имеющего тип NAL-единицы, такой как TRAIL_NUT может определяться в качестве запаздывающего субкадра. Кроме того, тип субкадра, имеющего тип NAL-единицы, такой как STSA_NUT может определяться в качестве STSA-субкадра, и тип субкадра, имеющего тип NAL-единицы, такой как GDR_NUT может определяться в качестве GDR-субкадра. Кроме того, тип субкадра, имеющего тип NAL-единицы, такой как RADL_NUT может определяться в качестве RADL-субкадра, и тип субкадра, имеющего тип NAL-единицы, такой как RASL_NUT может определяться в качестве RASL-субкадра. Помимо этого, тип субкадра, имеющего тип NAL-единицы, такой как IDR_W_RADL или IDR_N_LP может определяться в качестве IDR-субкадра, и тип субкадра, имеющего тип NAL-единицы, такой как CRA_NUT может определяться в качестве CRA-субкадра.
[247] Согласно вариантам осуществления настоящего изобретения, когда текущий кадр включает в себя два или более субкадров, и каждый субкадр трактуется в качестве одного кадра, текущий кадр может иметь смешанный тип NAL-единицы. Следовательно, в различных вариантах применения или вариантах использования, эффективность кодирования/декодирования изображений дополнительно может повышаться.
[248] В дальнейшем в этом документе подробно описывается способ кодирования/декодирования изображений согласно варианту осуществления настоящего изобретения со ссылкой на фиг. 15 и фиг. 16.
[249] Фиг. 15 является блок-схемой последовательности операций, иллюстрирующей способ кодирования изображений согласно варианту осуществления настоящего изобретения.
[250] Способ кодирования изображений по фиг. 15 может осуществляться посредством оборудования кодирования изображений по фиг. 2. Например, этап S1510 может выполняться посредством модуля 110 сегментации изображений, и этапы S1520 и S1530 могут выполняться посредством энтропийного кодера 190.
[251] Ссылаясь на фиг. 15, оборудование кодирования изображений может сегментировать текущий кадр на два или более субкадров (S1510).
[252] В варианте осуществления, если текущий кадр имеет смешанный тип NAL-единицы, текущий кадр может быть ограничен таким образом, что он включает в себя два или более субкадров. Таким образом, на основе, по меньшей мере, некоторых из множества срезов, включенных в текущий кадр, имеющий различные типы NAL-единиц, текущий кадр может сегментироваться на два или более субкадров.
[253] Информация сегментации текущего кадра может передаваться в служебных сигналах с использованием одного или более синтаксических элементов в высокоуровневом синтаксисе. Например, через набор параметров кадра (PPS), описанный выше со ссылкой на фиг. 7, информация no_pic_partition_flag флага, указывающая то, сегментируется или нет текущий кадр, и информация pps_num_subpics_minus1 флага, указывающая число субкадров, включенных в текущий кадр, может кодироваться/передаваться в служебных сигналах. В этом случае, когда текущий кадр сегментируется на два или более субкадров, no_pic_partition_flag может иметь первое значение (например, 0), и pps_num_subpics_minus может иметь значение, большее 0.
[254] В варианте осуществления, когда текущий кадр имеет смешанный тип NAL-единицы, каждый субкадр, включенный в текущий кадр, может трактоваться в качестве одного кадра. Например, текущий кадр, имеющий смешанный тип NAL-единицы, может включать в себя первый субкадр и второй субкадр, и каждый из первого субкадра и второго субкадра может независимо кодироваться/декодироваться за исключением операции внутриконтурной фильтрации.
[255] Информация относительно того, трактуется или нет субкадр, включенный в текущий кадр, в качестве одного кадра, может кодироваться/передаваться в служебных сигналах с использованием предварительно определенного синтаксического элемента в высокоуровневом синтаксисе. Например, информация sps_subpic_treated_as_pic_flag[i] флага, указывающая то, трактуется или нет i-ый субкадр, включенный в текущий кадр, в качестве одного кадра, может кодироваться/передаваться в служебных сигналах через набор параметров последовательности (SPS), описанный выше со ссылкой на фиг. 12. В этом случае, когда i-ый субкадр, включенный в текущий кадр, не трактуется в качестве одного кадра, sps_subpic_treated_as_pic_flag[i] может иметь первое значение (например, 0). С другой стороны, когда i-ый субкадр, включенный в текущий кадр, трактуется в качестве одного кадра, sps_subpic_treated_as_pic_flag[i] может иметь второе значение (например, 1).
[256] Оборудование кодирования изображений может определять тип NAL-единицы каждого из множества срезов, включенных в текущий кадр (S1520).
[257] В варианте осуществления, все срезы, включенные в каждый субкадр в текущем кадре, могут иметь идентичный тип NAL-единицы. Например, все срезы, включенные в первый субкадр текущего кадра, могут иметь первый тип NAL-единицы, и все срезы, включенные во второй субкадр текущего кадра, могут иметь второй тип NAL-единицы. В этом случае, когда текущий кадр имеет смешанный тип NAL-единицы, второй тип NAL-единицы может отличаться от первого типа NAL-единицы. Альтернативно, когда текущий кадр имеет один тип NAL-единицы, второй тип NAL-единицы может быть идентичным первому типу NAL-единицы.
[258] В варианте осуществления, то, имеют или нет, по меньшей мере, некоторые из множества срезов, включенных в текущий кадр, различные типы NAL-единиц (т.е. то, имеет или нет текущий кадр смешанный тип NAL-единицы), может кодироваться/передаваться в служебных сигналах с использованием синтаксического элемента. Например, информация pps_mixed_nalu_types_in_pic_flag флага, указывающая то, имеет или нет текущий кадр смешанный тип NAL-единицы, может кодироваться/передаваться в служебных сигналах через набор параметров кадра (PPS), описанный выше со ссылкой на фиг. 11. В этом случае, когда текущий кадр имеет один тип NAL-единицы, pps_mixed_nalu_types_in_pic_flag может иметь первое значение (например, 0). Напротив, когда текущий кадр имеет смешанный тип NAL-единицы, pps_mixed_nalu_types_in_pic_flag может иметь второе значение (например, 1).
[259] В варианте осуществления, значение pps_mixed_nalu_types_in_pic_flag может определяться на основе того, является или нет смешанный тип NAL-единицы применимым ко всем кадрам в наборе выходных слоев (OLS). Например, когда смешанный тип NAL-единицы не является применимым ко всем кадрам в наборе выходных слоев (OLS), pps_mixed_nalu_types_in_pic_flag может быть ограничен таким образом, что он имеет первое значение (например, 0). Напротив, когда смешанный тип NAL-единицы является применимым ко всем кадрам в наборе выходных слоев (OLS), pps_mixed_nalu_types_in_pic_flag может иметь первое значение (например, 0) или второе значение (например, 1).
[260] Между тем, то, является или нет смешанный тип NAL-единицы применимым ко всем кадрам в наборе выходных слоев (OLS), может кодироваться/передаваться в служебных сигналах с использованием предварительно определенного синтаксического элемента в высокоуровневом синтаксисе. Например, информация gci_no_mixed_nalu_types_in_pic_constraint_flag флага, указывающая то, ограничен или нет смешанный тип NAL-единицы, может кодироваться/передаваться в служебных сигналах через general_constraints_info, включающий в себя общую информацию ограничений. В этом случае, когда смешанный тип NAL-единицы является применимым ко всем кадрам в наборе выходных слоев (OLS), gci_no_mixed_nalu_types_in_pic_constraint_flag может иметь первое значение (например, 0). Напротив, когда смешанный тип NAL-единицы не является применимым ко всем кадрам в наборе выходных слоев (OLS), gci_no_mixed_nalu_types_in_pic_constraint_flag может иметь второе значение (например, 1).
[261] В варианте осуществления, значение pps_mixed_nalu_types_in_pic_flag может определяться на основе того, включает или нет текущий кадр в себя только один субкадр. Например, когда текущий кадр включает в себя только один субкадр, pps_mixed_nalu_types_in_pic_flag может быть ограничен таким образом, что он имеет первое значение (например, 0). С другой стороны, когда текущий кадр включает в себя два или более субкадров, pps_mixed_nalu_types_in_pic_flag может иметь первое значение (например, 0) или второе значение (например, 1).
[262] В варианте осуществления, значение pps_mixed_nalu_types_in_pic_flag может определяться на основе того, трактуется или нет каждый из всех субкадров, включенных в текущий кадр, в качестве одного кадра. Например, когда, по меньшей мере, один из субкадров, включенных в текущий кадр, не трактуется в качестве одного кадра, pps_mixed_nalu_types_in_pic_flag может быть ограничен таким образом, что он имеет первое значение (например, 0). Напротив, когда каждый из всех субкадров, включенных в текущий кадр, трактуется в качестве одного кадра, pps_mixed_nalu_types_in_pic_flag может иметь первое значение (например, 0) или второе значение (например, 1).
[263] Оборудование кодирования изображений может кодировать субкадры в текущем кадре на основе типа NAL-единицы, определенного на S1520 (S1530). В это время, процесс кодирования для каждого среза может выполняться в единицах кодирования (CU) на основе предварительно определенного режима прогнозирования, как описано выше. Между тем, каждый субкадр может независимо кодироваться, чтобы конструировать различные потоки битов (субкадров). Например, первый субпоток битов, включающий в себя информацию кодирования первого субкадра, может конструироваться, и второй субпоток битов, включающий в себя информацию кодирования второго субкадра, может конструироваться.
[264] Фиг. 16 является блок-схемой последовательности операций, иллюстрирующей способ декодирования изображений согласно варианту осуществления настоящего изобретения.
[265] Способ декодирования изображений по фиг. 16 может осуществляться посредством оборудования декодирования изображений по фиг. 3. Например, этапы S1610 и S1620 могут выполняться посредством энтропийного декодера 210, и этап S1630 может выполняться посредством деквантователя 220 в модуль 265 внутреннего прогнозирования.
[266] Ссылаясь на фиг. 16, оборудование декодирования изображений может получать, из потока битов, информацию типа VCL NAL-единицы текущего кадра и информацию первого флага, указывающую то, трактуется или нет субкадр, включенный в текущий кадр, в качестве одного кадра (S1610).
[267] Информация типа NAL-единиц текущего кадра может включать в себя значение типа NAL-единицы для VCL NAL-единицы, включающей в себя кодированные данные изображений (например, данные срезов) текущего кадра. Значение типа NAL-единицы может получаться посредством синтаксического анализа синтаксического элемента nal_unit_type, включенного в заголовок NAL-единицы для VCL NAL-единицы.
[268] Информация первого флага может получаться посредством синтаксического анализа высокоуровневого синтаксиса, например, sps_subpic_treated_as_pic_flag[i], включенного в набор параметров последовательности (SPS). В этом случае, когда i-ый субкадр, включенный в текущий кадр, не трактуется в качестве одного кадра, sps_subpic_treated_as_pic_flag[i] может иметь первое значение (например, 0). С другой стороны, когда i-ый субкадр, включенный в текущий кадр, трактуется в качестве одного кадра, sps_subpic_treated_as_pic_flag[i] может иметь второе значение (например, 1).
[269] Оборудование декодирования изображений может определять тип NAL-единицы каждого из множества срезов в текущем кадре на основе информации типа VCL NAL-единицы текущего кадра (S1620).
[270] В варианте осуществления, когда, по меньшей мере, некоторые из множества срезов в текущем кадре имеют различные типы NAL-единиц (т.е. когда текущий кадр имеет смешанный тип NAL-единицы), текущий кадр включает в себя два или более субкадров.
[271] В варианте осуществления, когда, по меньшей мере, некоторые из множества срезов в текущем кадре имеют различные типы NAL-единиц, каждый из всех субкадров, включенных в текущий кадр, может трактоваться в качестве одного кадра. В этом случае, для всех субкадров, включенных в текущий кадр, информация первого флага (например, sps_subpic_treated_as_pic_flag[i]) может иметь второе значение (например, 1).
[272] В варианте осуществления, все срезы, включенные в каждый субкадр в текущем кадре, могут иметь идентичный тип NAL-единицы. Например, все срезы, включенные в первый субкадр текущего кадра, могут иметь первый тип NAL-единицы, и все срезы, включенные во второй субкадр текущего кадра, могут иметь второй тип NAL-единицы. В этом случае, когда текущий кадр имеет смешанный тип NAL-единицы, второй тип NAL-единицы может отличаться от первого типа NAL-единицы. Напротив, когда текущий кадр имеет один тип NAL-единицы, второй тип NAL-единицы может быть идентичным первому типу NAL-единицы.
[273] В варианте осуществления, то, имеют или нет, по меньшей мере, некоторые из множества срезов в текущем кадре различные типы NAL-единиц, может определяться на основе высокоуровневого синтаксиса, например, информации второго флага (например, pps_mixed_nalu_types_in_pic_flag), полученной из набора параметров кадра (PPS). Например, когда информация второго флага имеет первое значение (например, 0), все срезы в текущем кадре могут иметь идентичный тип NAL-единицы. Напротив, когда информация второго флага имеет второе значение (например, 1), по меньшей мере, некоторые из множества срезов в текущем кадре могут иметь различные типы NAL-единиц.
[274] В варианте осуществления, информация второго флага (например, pps_mixed_nalu_types_in_pic_flag) может иметь предварительно определенное значение на основе того, является или нет смешанный тип NAL-единицы применимым ко всем кадрам в наборе выходных слоев (OLS). Например, когда смешанный тип NAL-единицы не является применимым ко всем кадрам в наборе выходных слоев (OLS), информация второго флага может иметь первое значение (например, 0). В этом случае, оборудование декодирования изображений может логически выводить значение информации второго флага как составляющее первое значение (например, 0) без отдельного синтаксического анализа информации второго флага. Напротив, когда смешанный тип NAL-единицы является применимым ко всем кадрам в наборе выходных слоев (OLS), информация второго флага может иметь первое значение (например, 0) или второе значение (например, 1).
[275] В варианте осуществления, информация второго флага (например, pps_mixed_nalu_types_in_pic_flag) может иметь предварительно определенное значение на основе того, включает или нет текущий кадр в себя только один субкадр. Например, когда текущий кадр включает в себя только один субкадр, информация второго флага может иметь только первое значение (например, 0). В этом случае, оборудование декодирования изображений может логически выводить значение информации второго флага как составляющее первое значение (например, 0) без отдельного синтаксического анализа информации второго флага. Напротив, когда текущий кадр включает в себя два или более субкадров, информация второго флага может иметь первое значение (например, 0) или второе значение (например, 1).
[276] В варианте осуществления, информация второго флага (например, pps_mixed_nalu_types_in_pic_flag) может иметь предварительно определенное значение на основе того, трактуется или нет каждый из всех субкадров, включенных в текущий кадр, в качестве одного кадра. Например, когда, по меньшей мере, один из субкадров, включенных в текущий кадр, не трактуется в качестве одного кадра, pps_mixed_nalu_types_in_pic_flag может иметь только первое значение (например, 0). В этом случае, оборудование декодирования изображений может логически выводить значение информации второго флага как составляющее первое значение (например, 0) без отдельного синтаксического анализа информации второго флага. Напротив, когда каждый из всех субкадров, включенных в текущий кадр, трактуется в качестве одного кадра, pps_mixed_nalu_types_in_pic_flag может иметь первое значение (например, 0) или второе значение (например, 1).
[277] Между тем, тип каждого субкадра, включенного в текущий кадр, может определяться на основе типа NAL-единицы каждого субкадра. Например, как описано выше со ссылкой на таблицу 1, тип субкадра, имеющего тип NAL-единицы, такой как TRAIL_NUT может определяться в качестве запаздывающего субкадра. Кроме того, тип субкадра, имеющего тип NAL-единицы, такой как STSA_NUT может определяться в качестве STSA-субкадра, и тип субкадра, имеющего тип NAL-единицы, такой как GDR_NUT может определяться в качестве GDR-субкадра. Кроме того, тип субкадра, имеющего тип NAL-единицы, такой как RADL_NUT может определяться в качестве RADL-субкадра, и тип субкадра, имеющего тип NAL-единицы, такой как RASL_NUT может определяться в качестве RASL-субкадра. Помимо этого, тип субкадра, имеющего тип NAL-единицы, такой как IDR_W_RADL или IDR_N_LP может определяться в качестве IDR-субкадра, и тип субкадра, имеющего тип NAL-единицы, такой как CRA_NUT может определяться в качестве CRA-субкадра.
[278] Оборудование декодирования изображений может декодировать множество срезов в текущем кадре на основе информации первого флага, полученной на этапе S1610, и типа NAL-единицы, определенного на S1620 (S1630). В это время, процесс декодирования каждого среза может выполняться в единицах кодирования (CU) на основе предварительно определенного режима прогнозирования, как описано выше.
[279] Согласно варианту осуществления настоящего изобретения, текущий кадр может иметь два или более типов NAL-единиц на основе структуры субкадра.
[280] Название синтаксического элемента, описанного в настоящем раскрытии сущности, может включать в себя информацию относительно позиции, в которой соответствующий синтаксический элемент передается в служебных сигналах. Например, синтаксический элемент, начинающийся с "sps_", может означать то, что соответствующий синтаксический элемент передается в служебных сигналах в наборе параметров последовательности (SPS). Помимо этого, синтаксический элемент, начинающийся с "pps_", "ph_", "sh_"6 может означать то, что соответствующий синтаксический элемент передается в служебных сигналах в наборе параметров кадра (PPS), заголовке кадра и заголовке среза, соответственно.
[281] Хотя примерные способы настоящего изобретения, описанного выше, представляются как последовательность операций для ясности описания, это не имеет намерение ограничивать порядок, в котором выполняются этапы, и этапы могут выполняться одновременно или в другом порядке при необходимости. Чтобы реализовывать способ согласно настоящему раскрытию сущности, описанные этапы дополнительно могут включать в себя другие этапы, могут включать в себя оставшиеся этапы, за исключением некоторых этапов, либо могут включать в себя другие дополнительные этапы, за исключением некоторых этапов.
[282] В настоящем раскрытии сущности, оборудование кодирования изображений или оборудование декодирования изображений, которое выполняет предварительно определенную операцию (этап), может выполнять операцию (этап) подтверждения условия или ситуации выполнения соответствующей операции (этап). Например, если описывается то, что предварительно определенная операция выполняется, когда предварительно определенное условие удовлетворяется, оборудование кодирования изображений или оборудование декодирования изображений может выполнять предварительно определенную операцию после определения того, удовлетворяется или нет предварительно определенное условие.
[283] Различные варианты осуществления настоящего изобретения не представляют собой список всех возможных комбинаций и имеют намерение описывать характерные аспекты настоящего изобретения, и вопросы, описанные в различных вариантах осуществления, могут применяться независимо либо в комбинации двух или более из них.
[284] Различные варианты осуществления настоящего изобретения могут реализовываться в аппаратных средствах, микропрограммном обеспечении, программном обеспечении либо в комбинации вышеозначенного. В случае реализации настоящего изобретения посредством аппаратных средств, настоящее раскрытие сущности может реализовываться с помощью специализированных интегральных схем (ASIC), процессоров цифровых сигналов (DSP), устройств обработки цифровых сигналов (DSPD), программируемых логических устройств (PLD), программируемых пользователем вентильных матриц (FPGA), общих процессоров, контроллеров, микроконтроллеров, микропроцессоров и т.д.
[285] Помимо этого, оборудование декодирования изображений и оборудование кодирования изображений, к которым применяются варианты осуществления настоящего изобретения, могут включаться в мультимедийное широковещательное приемо-передающее устройство, терминал мобильной связи, видеоустройство системы домашнего кинотеатра, видеоустройство системы цифрового кинотеатра, камеру наблюдения, устройство проведения видеочатов, устройство связи в реальном времени, к примеру, для видеосвязи, мобильное устройство потоковой передачи, носитель хранения данных, записывающую видеокамеру, устройство предоставления услуг на основе технологии "видео по запросу" (VoD), устройство на основе OTT-видео (видео поверх сетей), устройство предоставления услуг потоковой передачи по Интернету, трехмерное видеоустройство, видеоустройство системы видеотелефонии, медицинское видеоустройство и т.п. и могут использоваться для того, чтобы обрабатывать видеосигналы или сигналы данных. Например, OTT-видеоустройства могут включать в себя игровую консоль, Blu-Ray-проигрыватель, телевизор с доступом в Интернет, систему домашнего кинотеатра, смартфон, планшетный PC, цифровое записывающее видеоустройство (DVR) и т.п.
[286] Фиг. 17 является видом, иллюстрирующим систему потоковой передачи контента, к которой является применимым вариант осуществления настоящего изобретения.
[287] Ссылаясь на фиг. 17, система потоковой передачи контента, к которой применяется вариант(ы) осуществления настоящего документа, может включать в себя, главным образом, сервер кодирования, потоковый сервер, веб-сервер, хранилище мультимедиа, пользовательское устройство и устройство ввода мультимедиа.
[288] Сервер кодирования сжимает контент, вводимый из устройств ввода мультимедиа, таких как смартфон, камера, записывающая видеокамера и т.д., в цифровые данные для того, чтобы формировать поток битов, и передает поток битов на потоковый сервер. В качестве другого примера, когда устройства ввода мультимедиа, такие как смартфоны, камеры, записывающие видеокамеры и т.д., непосредственно формируют поток битов, сервер кодирования может опускаться.
[289] Поток битов может формироваться посредством способа кодирования изображений или оборудования кодирования изображений, к которому применяется вариант осуществления настоящего изобретения, и потоковый сервер может временно сохранять поток битов в процессе передачи или приема потока битов.
[290] Потоковый сервер передает мультимедийные данные в пользовательское устройство на основе запроса пользователя через веб-сервер, и веб-сервер служит в качестве среды для информирования пользователя в отношении услуги. Когда пользователь запрашивает требуемую услугу из веб-сервера, веб-сервер может доставлять ее на потоковый сервер, и потоковый сервер может передавать мультимедийные данные пользователю. В этом случае, система потоковой передачи контента может включать в себя отдельный сервер управления. В этом случае, сервер управления служит для того, чтобы управлять командой/ответом между устройствами в системе потоковой передачи контента.
[291] Потоковый сервер может принимать контент из хранилища мультимедиа и/или сервера кодирования. Например, когда контент принимается из сервера кодирования, контент может приниматься в реальном времени. В этом случае, чтобы предоставлять плавную услугу потоковой передачи, потоковый сервер может сохранять поток битов в течение предварительно определенного времени.
[292] Примеры пользовательского устройства могут включать в себя мобильный телефон, смартфон, переносной компьютер, цифровой широковещательный терминал, персональное цифровое устройство (PDA), портативный мультимедийный проигрыватель (PMP), навигационное устройство, грифельный планшетный PC, планшетные PC, ультрабуки, носимые устройства (например, интеллектуальные часы, интеллектуальные очки, наголовные дисплеи), цифровые телевизоры, настольные компьютеры, систему цифровых информационных табло и т.п.
[293] Каждый сервер в системе потоковой передачи контента может работать в качестве распределенного сервера, причем в этом случае данные, принимаемые из каждого сервера, могут распределяться.
[294] Объем изобретения включает в себя программное обеспечение или машиноисполняемые команды (например, операционную систему, приложение, микропрограммное обеспечение, программу и т.д.) для обеспечения возможности выполнения операций согласно способам различных вариантов осуществления в оборудовании или компьютере, энергонезависимый машиночитаемый носитель, имеющий такое программное обеспечение или команды, сохраненные и выполняемые в оборудовании или компьютере.
Промышленная применимость
[295] Варианты осуществления настоящего изобретения могут использоваться для того, чтобы кодировать или декодировать изображение.
Изобретение относится к средствам для кодирования изображений. Технический результат заключается в повышении эффективности кодирования изображений. Получают из потока битов информацию типа единицы слоя абстрагирования от сети (NAL) слоя кодирования видео (VCL) текущего кадра и информацию первого флага, указывающую то, трактуется или нет субкадр, включенный в текущий кадр, в качестве одного кадра. Определяют тип NAL-единицы каждого из множества срезов, включенных в текущий кадр, на основе полученной информации типа VCL NAL-единицы. Декодируют множество срезов на основе определенного типа NAL-единицы и информации первого флага. При этом текущий кадр содержит два или более субкадров на основе, по меньшей мере, некоторых из множества срезов, имеющих различные типы NAL-единиц. При этом информация первого флага имеет предварительно определенное значение, указывающее то, что каждый из двух или более субкадров трактуется в качестве одного кадра на основе, по меньшей мере, некоторых из множества срезов, имеющих различные типы NAL-единиц. 3 н. и 11 з.п. ф-лы, 17 ил.
1. Оборудование декодирования для декодирования изображений, при этом оборудование декодирования содержит:
запоминающее устройство;
по меньшей мере один процессор, при этом, по меньшей мере, один процессор выполнен с возможностью:
получать, из потока битов, информацию типа единицы слоя абстрагирования от сети (NAL) слоя кодирования видео (VCL) текущего кадра и информацию первого флага, указывающую то, трактуется или нет субкадр, включенный в текущий кадр, в качестве одного кадра;
определять тип NAL-единицы каждого из множества срезов, включенных в текущий кадр, на основе полученной информации типа VCL NAL-единицы;
декодировать множество срезов на основе определенного типа NAL-единицы и информации первого флага,
при этом текущий кадр содержит два или более субкадров на основе, по меньшей мере, некоторых из множества срезов, имеющих различные типы NAL-единиц, и
при этом информация первого флага имеет предварительно определенное значение, указывающее то, что каждый из двух или более субкадров трактуется в качестве одного кадра на основе, по меньшей мере, некоторых из множества срезов, имеющих различные типы NAL-единиц.
2. Оборудование декодирования по п. 1, в котором все срезы в каждом субкадре, включенном в текущий кадр, имеют идентичный тип NAL-единицы.
3. Оборудование декодирования по п. 1, в котором то, имеют или нет, по меньшей мере, некоторые из множества срезов различные типы NAL-единиц, определяется на основе информации второго флага, полученной из набора параметров кадра (PPS).
4. Оборудование декодирования по п. 3, в котором информация второго флага имеет предварительно определенное значение, указывающее то, что все из множества срезов имеют идентичный тип NAL-единицы, на основе неприменимости смешанного типа NAL-единицы ко всем кадрам в наборе выходных слоев (OLS).
5. Оборудование декодирования по п. 3, в котором информация второго флага имеет предварительно определенное значение, указывающее то, что все из множества срезов имеют идентичный тип NAL-единицы, на основе текущего кадра, включающего в себя только один субкадр.
6. Оборудование декодирования по п. 3, в котором информация второго флага имеет предварительно определенное значение, указывающее то, что все из множества срезов имеют идентичный тип NAL-единицы, на основе, по меньшей мере, одного из субкадров, включенных в текущий кадр, не трактуемого в качестве одного кадра.
7. Оборудование декодирования по п. 1, в котором тип субкадра каждого субкадра, включенного в текущий кадр, определяется на основе типа NAL-единицы каждого субкадра.
8. Оборудование кодирования для кодирования изображений, при этом оборудование кодирования содержит:
запоминающее устройство;
по меньшей мере один процессор, при этом, по меньшей мере, один процессор выполнен с возможностью:
сегментировать текущий кадр на один или более субкадров;
определять тип единицы слоя абстрагирования от сети (NAL) каждого из множества срезов, включенных в один или более субкадров;
кодировать множество срезов на основе определенного типа NAL-единицы,
при этом текущий кадр сегментируется на два или более субкадров на основе, по меньшей мере, некоторых из множества срезов, имеющих различные типы NAL-единиц,
при этом каждый из двух или более субкадров трактуется в качестве одного кадра на основе, по меньшей мере, некоторых из множества срезов, имеющих различные типы NAL-единиц.
9. Оборудование кодирования по п. 8, в котором все срезы в каждом субкадре, включенном в текущий кадр, имеют идентичный тип NAL-единицы.
10. Оборудование кодирования по п. 8, в котором то, имеют или нет, по меньшей мере, некоторые из множества срезов различные типы NAL-единиц, кодируется на основе предварительно определенной информации флага, включенной в набор параметров кадра (PPS).
11. Оборудование кодирования по п. 10, в котором информация флага имеет предварительно определенное значение, указывающее то, что все из множества срезов имеют идентичный тип NAL-единицы, на основе неприменимости смешанного типа NAL-единицы ко всем кадрам в наборе выходных слоев (OLS).
12. Оборудование кодирования по п. 10, в котором информация флага имеет предварительно определенное значение, указывающее то, что все из множества срезов имеют идентичный тип NAL-единицы, на основе текущего кадра, включающего в себя только один субкадр.
13. Оборудование кодирования по п. 10, в котором информация флага имеет предварительно определенное значение, указывающее то, что все из множества срезов имеют идентичный тип NAL-единицы, на основе, по меньшей мере, одного из субкадров, включенных в текущий кадр, не трактуемого в качестве одного кадра.
14. Оборудование для передачи данных для изображения, при этом оборудование содержит:
по меньшей мере один процессор, выполненный с возможностью получать поток битов, сформированный посредством способа кодирования, выполняемого посредством оборудования кодирования для кодирования изображений;
передатчик, выполненный с возможностью передавать поток битов,
при этом способа кодирования содержит этапы, на которых:
сегментируют текущий кадр на один или более субкадров;
определяют тип единицы слоя абстрагирования от сети (NAL) каждого из множества срезов, включенных в один или более субкадров;
кодируют множество срезов на основе определенного типа NAL-единицы,
при этом текущий кадр сегментируется на два или более субкадров на основе, по меньшей мере, некоторых из множества срезов, имеющих различные типы NAL-единиц,
при этом каждый из двух или более субкадров трактуется в качестве одного кадра на основе, по меньшей мере, некоторых из множества срезов, имеющих различные типы NAL-единиц.
Benjamin Bross et al., "Versatile Video Coding (Draft 8)", JVET-Q2001, 17-th meeting: Brussels, pp | |||
Электромагнитный телеграфный приемник | 1923 |
|
SU482A1 |
Hendry, "AHG9: A summary of HLS contributions on mixed NAL unit types within a coded picture", JVET-Q0773-v1, 17-th meeting: Brussels, pp | |||
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
US 9584819 B2, 28.02.2017 | |||
Hendry, "AHG17: On mixed NAL unit types within |
Авторы
Даты
2024-01-22—Публикация
2021-03-05—Подача