Область техники, к которой относится изобретение
[1] Настоящее изобретение относится к способу и оборудованию кодирования/декодирования изображений, а более конкретно к способу и оборудованию кодирования и декодирования изображений на основе информации сегментации кадров и информации субкадров и к носителю записи, сохраняющему поток битов.
Уровень техники
[2] В последнее время спрос на высококачественные изображения высокого разрешения, к примеру, изображения высокой четкости (HD) и изображения сверхвысокой четкости (UHD) растет в различных областях техники. По мере того, как разрешение и качество данных изображений повышается, объем передаваемой информации или битов относительно увеличивается по сравнению с существующими данными изображений. Увеличение объема передаваемой информации или битов приводит к увеличению затрат на передачу и затрат на хранение.
[3] Соответственно, имеется потребность в высокоэффективной технологии сжатия изображений для эффективной передачи, сохранения и воспроизведения информации относительно высококачественных изображений высокого разрешения.
Сущность изобретения
Техническая задача
[4] Цель настоящего изобретения заключается в том, чтобы предоставлять способ и оборудование кодирования/декодирования изображений с повышенной эффективностью кодирования/декодирования.
[5] Другая цель настоящего изобретения заключается в том, чтобы предоставлять способ и оборудование кодирования/декодирования изображений на основе информации сегментации кадров и информации субкадров в синтаксисе.
[6] Другая цель настоящего изобретения заключается в том, чтобы предоставлять способ и оборудование кодирования/декодирования изображений на основе информации субкадров, передаваемой в служебных сигналах на основе информации сегментации кадров.
[7] Другая цель настоящего изобретения заключается в том, чтобы предоставлять машиночитаемый носитель записи, сохраняющий поток битов, сформированный посредством способа или оборудования кодирования изображений согласно настоящему изобретению.
[8] Другая цель настоящего изобретения заключается в том, чтобы предоставлять машиночитаемый носитель записи, сохраняющий поток битов, принимаемый, декодированный и используемый для того, чтобы восстанавливать изображение посредством оборудования декодирования изображений согласно настоящему изобретению.
[9] Другая цель настоящего изобретения заключается в том, чтобы предоставлять способ передачи потока битов, сформированного посредством способа или оборудования кодирования изображений согласно настоящему изобретению.
[10] Технические проблемы, разрешаемые посредством настоящего изобретения, не ограничены вышеуказанными техническими проблемами, и другие технические проблемы, которые не описываются в данном документе, должны становиться очевидными для специалистов в данной области техники из нижеприведенного описания.
Техническое решение
[11] Способ декодирования изображений согласно аспекту настоящего изобретения может содержать получение первой информации относительно того, может или нет сегментироваться текущий кадр, из потока битов, получение, из потока битов, второй информации относительно числа одного или более субкадров, включенных в текущий кадр, на основе первой информации, извлечение одного или более субкадров, на основе второй информации и декодирование одного или более субкадров.
[12] Оборудование декодирования изображений согласно другому аспекту настоящего изобретения может содержать запоминающее устройство и, по меньшей мере, один процессор, при этом, по меньшей мере, один процессор выполнен с возможностью: получать первую информацию относительно того, сегментируется или нет текущий кадр, из потока битов, получать, из потока битов, вторую информацию относительно числа одного или более субкадров, включенных в текущий кадр, на основе первой информации, извлекать один или более субкадров, на основе второй информации и декодировать один или более субкадров.
[13] Способ кодирования изображений согласно другому аспекту настоящего изобретения может содержать извлечение одного или более субкадров, включенных в текущий кадр, кодирование первой информации, указывающей то, может или нет сегментироваться текущий кадр, на основе числа одного или более субкадров и кодирование второй информации относительно числа одного или более субкадров, на основе первой информации.
[14] Машиночитаемый носитель записи согласно другому аспекту настоящего изобретения может сохранять поток битов, сформированный посредством оборудования кодирования изображений или способа кодирования изображений настоящего изобретения.
[15] Способ передачи согласно другому аспекту настоящего изобретения может передавать поток битов, сформированный посредством оборудования кодирования изображений или способа кодирования изображений настоящего изобретения.
[16] Признаки, кратко обобщенные выше относительно настоящего изобретения, представляют собой просто примерные аспекты нижеприведенного подробного описания настоящего изобретения и не ограничивают объем настоящего изобретения.
Преимущества изобретения
[17] Согласно настоящему изобретению, можно предоставлять способ и оборудование кодирования/декодирования изображений с повышенной эффективностью кодирования/декодирования.
[18] Кроме того, согласно настоящему изобретению, можно предоставлять способ и оборудование кодирования/декодирования изображений на основе информации сегментации кадров и информации субкадров в синтаксисе.
[19] Кроме того, согласно настоящему изобретению, можно предоставлять способ и оборудование кодирования/декодирования изображений на основе информации субкадров, передаваемой в служебных сигналах на основе информации сегментации кадров.
[20] Кроме того, согласно настоящему изобретению, можно предоставлять машиночитаемый носитель записи, сохраняющий поток битов, сформированный посредством способа или оборудования кодирования изображений согласно настоящему изобретению.
[21] Кроме того, согласно настоящему изобретению, можно предоставлять машиночитаемый носитель записи, сохраняющий поток битов, принимаемый, декодированный и используемый для того, чтобы восстанавливать изображение посредством оборудования декодирования изображений согласно настоящему изобретению.
[22] Кроме того, согласно настоящему изобретению, можно предоставлять способ передачи потока битов, сформированного посредством способа или оборудования кодирования изображений согласно настоящему изобретению.
[23] Специалисты в данной области техники должны принимать во внимание, что преимущества, которые могут достигаться через настоящее изобретение, не ограничены тем, что конкретно описано выше, и другие преимущества настоящего изобретения должны более ясно пониматься из подробного описания.
Краткое описание чертежей
[24] Фиг. 1 является видом, схематично иллюстрирующим систему кодирования видео, к которой является применимым вариант осуществления настоящего изобретения.
[25] Фиг. 2 является видом, схематично иллюстрирующим оборудование кодирования изображений, к которому является применимым вариант осуществления настоящего изобретения.
[26] Фиг. 3 является видом, схематично иллюстрирующим оборудование декодирования изображений, к которому является применимым вариант осуществления настоящего изобретения.
[27] Фиг. 4 является видом, иллюстрирующим пример SPS.
[28] Фиг. 5 является видом, иллюстрирующим пример PPS.
[29] Фиг. 6 является видом, иллюстрирующим пример заголовка среза.
[30] Фиг. 7-9 является видом, иллюстрирующим PPS согласно варианту осуществления настоящего изобретения.
[31] Фиг. 10 является блок-схемой последовательности операций, иллюстрирующей способ кодирования изображений согласно варианту осуществления настоящего изобретения.
[32] Фиг. 11 является блок-схемой последовательности операций, иллюстрирующей способ декодирования изображений согласно варианту осуществления настоящего изобретения.
[33] Фиг. 12 является видом, иллюстрирующим систему потоковой передачи контента, к которой является применимым вариант осуществления настоящего изобретения.
Оптимальный режим осуществления изобретения
[34] В дальнейшем в этом документе подробно описываются варианты осуществления настоящего изобретения со ссылкой на прилагаемые чертежи, так что они могут легко реализовываться специалистами в данной области техники. Тем не менее, настоящее изобретение может реализовываться во всевозможных формах и не ограничено вариантами осуществления, описанными в данном документе.
[35] При описании настоящего изобретения, если определяется то, что подробное описание связанной известной функции или конструкции приводит к излишней неоднозначности объема настоящего изобретения, ее подробное описание опускается. На чертежах, части, не связанные с описанием настоящего изобретения, опускаются, и аналогичные ссылки с номерами присоединяются к аналогичным частям.
[36] В настоящем раскрытии сущности, когда компонент "соединяется (connected)", "соединяется (coupled)" или "связывается (linked)" с другим компонентом, это может включать в себя не только непосредственную взаимосвязь на основе соединения, но также и косвенную взаимосвязь на основе соединения, в которой присутствует промежуточный компонент. Помимо этого, когда компонент "включает в себя" или "имеет" другие компоненты, это означает то, что другие компоненты могут включаться дополнительно, а не исключение других компонентов, если не указано иное.
[37] В настоящем раскрытии сущности, термины "первый", "второй" и т.д. могут использоваться только для целей различения одного компонента от других компонентов и не ограничивают порядок или важность компонентов, если не указано иное. Соответственно, в пределах объема настоящего изобретения, первый компонент в одном варианте осуществления может называться "вторым компонентом" в другом варианте осуществления, и аналогично, второй компонент в одном варианте осуществления может называться "первым компонентом" в другом варианте осуществления.
[38] В настоящем раскрытии сущности, компоненты, которые отличаются друг от друга, имеют намерение ясно описывать каждый признак и не означают то, что компоненты обязательно разделяются. Таким образом, множество компонентов могут интегрироваться и реализовываться в одном аппаратном или программном модуле, или один компонент может распределяться и реализовываться во множестве аппаратных или программных модулей. Следовательно, даже если не указано иное, такие варианты осуществления, в которых компоненты интегрируются, или компонент распределяется, также включаются в объем настоящего изобретения.
[39] В настоящем раскрытии сущности, компоненты, описанные в различных вариантах осуществления, не обязательно означают существенные компоненты, и некоторые компоненты могут представлять собой необязательные компоненты. Соответственно, вариант осуществления, состоящий из поднабора компонентов, описанных в варианте осуществления, также включается в объем настоящего изобретения. Помимо этого, варианты осуществления, включающие в себя другие компоненты, в дополнение к компонентам, описанным в различных вариантах осуществления, включаются в объем настоящего изобретения.
[40] Настоящее изобретение относится к кодированию и декодированию изображения, и термины, используемые в настоящем раскрытии сущности, могут иметь общий смысл, широко используемый в области техники, которой принадлежит настоящее изобретение, если не задаются впервые в настоящем раскрытии сущности.
[41] В настоящем раскрытии сущности, "кадр", в общем, означает единицу, представляющую одно изображение в конкретный период времени, и срез/плитка представляет собой единицу кодирования, составляющую часть кадра, и один кадр может состоять из одного или более срезов/плиток. Помимо этого, срез/плитка может включать в себя одну или более единиц дерева кодирования (CTU).
[42] В настоящем раскрытии сущности, "пиксел" или "пел" может означать наименьшую единицу, составляющую один кадр (или изображение). Помимо этого, "выборка" может использоваться в качестве термина, соответствующего пикселу. Выборка, в общем, может представлять пиксел или значение пиксела и может представлять только пиксел/пиксельное значение компонента сигналов яркости либо только пиксел/пиксельное значение компонента сигналов цветности.
[43] В настоящем раскрытии сущности, "единица" может представлять базовую единицу обработки изображений. Единица может включать в себя, по меньшей мере, одно из конкретной области кадра и информации, связанной с областью. Единица может использоваться взаимозаменяемо с такими терминами, как "массив выборок", "блок" или "зона" в некоторых случаях. В общем случае, блок M×N может включать в себя выборки (или массивы выборок) либо набор (или массив) коэффициентов преобразования из M столбцов и N строк.
[44] В настоящем раскрытии сущности, "текущий блок" может означать одно из "текущего блока кодирования", "текущей единицы кодирования", "целевого блока кодирования", "целевого блока декодирования" или "целевого блока обработки". Когда прогнозирование выполняется, "текущий блок" может означать "текущий блок прогнозирования" или "целевой блок прогнозирования". Когда преобразование (обратное преобразование)/квантование (деквантование) выполняется, "текущий блок" может означать "текущий блок преобразования" или "целевой блок преобразования". Когда фильтрация выполняется, "текущий блок" может означать "целевой блок фильтрации".
[45] Помимо этого, в настоящем раскрытии сущности, "текущий блок" может означать блок, включающий в себя как блок компонентов сигналов яркости, так и блок компонентов сигналов цветности либо "блок сигналов яркости текущего блока", если не указан в явной форме в качестве блока сигналов цветности. Блок компонентов сигналов яркости текущего блока может выражаться посредством включения явного описания блока компонентов сигналов яркости, такого как "блок сигналов яркости" или "текущий блок сигналов яркости". Помимо этого, "блок компонентов сигналов цветности текущего блока" может выражаться посредством включения явного описания блока компонентов сигналов цветности, такого как "блок сигналов цветности" или "текущий блок сигналов цветности".
[46] В настоящем раскрытии сущности, термин "/" и "," должен интерпретироваться как указывающий "и/или". Например, выражение "A/B" и "A, B" может означать "A и/или B". Дополнительно, "A/B/C" и "A/B/C" могут означать "по меньшей мере, одно из A, B и/или C".
[47] В настоящем раскрытии сущности, термин "или" должен интерпретироваться как указывающий "и/или". Например, выражение "A или B" может содержать 1) только "A", 2) только "B" и/или 3) "как A, так и B". Другими словами, в настоящем раскрытии сущности, термин "или" должен интерпретироваться как указывающий "дополнительно или альтернативно".
[48] Общее представление системы кодирования видео
[49] Фиг. 1 является видом, схематично иллюстрирующим систему кодирования видео, к которой является применимым вариант осуществления настоящего изобретения.
[50] Система кодирования видео согласно варианту осуществления может включать в себя оборудование 10 кодирования и оборудование 20 декодирования. Оборудование 10 кодирования может доставлять кодированную информацию или данные видео и/или изображений в оборудование 20 декодирования в форме файла или потоковой передачи через цифровой носитель хранения данных или сеть.
[51] Оборудование 10 кодирования согласно варианту осуществления может включать в себя формирователь 11 видеоисточников, модуль 12 кодирования и передатчик 13. Оборудование 20 декодирования согласно варианту осуществления может включать в себя приемник 21, модуль 22 декодирования и модуль 23 рендеринга. Модуль 12 кодирования может называться "модулем кодирования видео/изображений", и модуль 22 декодирования может называться "модулем декодирования видео/изображений". Передатчик 13 может включаться в модуль 12 кодирования. Приемник 21 может включаться в модуль 22 декодирования. Модуль 23 рендеринга может включать в себя дисплей, и дисплей может быть сконфигурирован как отдельное устройство или внешний компонент.
[52] Формирователь 11 видеоисточников может получать видео/изображение через процесс захвата, синтезирования или формирования видео/изображения. Формирователь 11 видеоисточников может включать в себя устройство захвата видео/изображений и/или устройство формирования видео/изображений. Устройство захвата видео/изображений может включать в себя, например, одну или более камер, архивы видео/изображений, включающие в себя ранее захваченные видео/изображения, и т.п. Устройство формирования видео/изображений может включать в себя, например, компьютеры, планшетные компьютеры и смартфоны и может (электронно) формировать видео/изображения. Например, виртуальное видео/изображение может формироваться через компьютер и т.п. В этом случае, процесс захвата видео/изображений может заменяться посредством процесса формирования связанных данных.
[53] Модуль 12 кодирования может кодировать входное видео/изображение. Модуль 12 кодирования может выполнять последовательность процедур, таких как прогнозирование, преобразование и квантование, для эффективности сжатия и кодирования. Модуль 12 кодирования может выводить кодированные данные (кодированную информацию видео/изображений) в форме потока битов.
[54] Передатчик 13 может передавать кодированную информацию или данные видео/изображений, выводимую в форме потока битов, в приемник 21 оборудования 20 декодирования через цифровой носитель хранения данных или сеть в форме файла или потоковой передачи. Цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик 13 может включать в себя элемент для формирования мультимедийного файла через предварительно определенный формат файлов и может включать в себя элемент для передачи через широковещательную сеть/сеть связи. Приемник 21 может извлекать/принимать поток битов из носителя хранения данных или сети и передавать поток битов в модуль 22 декодирования.
[55] Модуль 22 декодирования может декодировать видео/изображение посредством выполнения последовательности процедур, таких как деквантование, обратное преобразование и прогнозирование, соответствующих работе модуля 12 кодирования.
[56] Модуль 23 рендеринга может подготавливать посредством рендеринга декодированное видео/изображение. Подготовленное посредством рендеринга видео/изображение может отображаться через дисплей.
[57] Общее представление оборудования кодирования изображений
[58] Фиг. 2 является видом, схематично иллюстрирующим оборудование кодирования изображений, к которому является применимым вариант осуществления настоящего изобретения.
[59] Как показано на фиг. 2, оборудование 100 кодирования изображений может включать в себя модуль 110 сегментации изображений, вычитатель 115, преобразователь 120, квантователь 130, деквантователь 140, обратный преобразователь 150, сумматор 155, фильтр 160, запоминающее устройство 170, модуль 180 взаимного прогнозирования, модуль 185 внутреннего прогнозирования и энтропийный кодер 190. Модуль 180 взаимного прогнозирования и модуль 185 внутреннего прогнозирования могут совместно называться "модулем прогнозирования". Преобразователь 120, квантователь 130, деквантователь 140 и обратный преобразователь 150 могут включаться в остаточный процессор. Остаточный процессор дополнительно может включать в себя вычитатель 115.
[60] Все или, по меньшей мере, часть из множества компонентов, конфигурирующих оборудование 100 кодирования изображений, могут быть сконфигурированы посредством одного аппаратного компонента (например, кодера или процессора) в некоторых вариантах осуществления. Помимо этого, запоминающее устройство 170 может включать в себя буфер декодированных кадров (DPB) и может быть сконфигурировано посредством цифрового носителя хранения данных.
[61] Модуль 110 сегментации изображений может сегментировать входное изображение (либо кадр или кинокадр), вводимое в оборудование 100 кодирования изображений, на одну более единиц обработки. Например, единица обработки может называться "единицей кодирования (CU)". Единица кодирования может получаться посредством рекурсивной сегментации единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU) согласно структуре в виде дерева квадрантов, двоичного дерева и троичного дерева (QT/BT/TT). Например, одна единица кодирования может сегментироваться на множество единиц кодирования большей глубины на основе структуры в виде дерева квадрантов, структуры в виде двоичного дерева и/или троичной структуры. Для сегментации единицы кодирования, сначала может применяться структура в виде дерева квадрантов, и впоследствии может применяться структура в виде двоичного дерева и/или троичная структура. Процедура кодирования согласно настоящему изобретению может выполняться на основе конечной единицы кодирования, которая более не сегментируется. Наибольшая единица кодирования может использоваться в качестве конечной единицы кодирования, или единица кодирования большей глубины, полученной посредством сегментации наибольшей единицы кодирования, может использоваться в качестве конечной единицы кодирования. Здесь, процедура кодирования может включать в себя процедуру прогнозирования, преобразования и восстановления, которая описывается ниже. В качестве другого примера, единица обработки процедуры кодирования может представлять собой единицу прогнозирования (PU) или единицу преобразования (TU). Единица прогнозирования и единица преобразования могут разбиваться или сегментироваться из конечной единицы кодирования. Единица прогнозирования может представлять собой единицу выборочного прогнозирования, и единица преобразования может представлять собой единицу для извлечения коэффициента преобразования и/или единицу для извлечения остаточного сигнала из коэффициента преобразования.
[62] Модуль прогнозирования (модуль 180 взаимного прогнозирования или модуль 185 внутреннего прогнозирования) может выполнять прогнозирование относительно блока, который должен обрабатываться (текущего блока), и формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование, на основе текущего блока или CU. Модуль прогнозирования может формировать различную информацию, связанную с прогнозированием текущего блока, и передавать сформированную информацию в энтропийный кодер 190. Информация относительно прогнозирования может кодироваться в энтропийном кодере 190 и выводиться в форме потока битов.
[63] Модуль 185 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки для ссылки могут быть расположены в окружении текущего блока или могут быть расположены с разнесением согласно режиму внутреннего прогнозирования и/или технологии внутреннего прогнозирования. Режимы внутреннего прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Ненаправленный режим может включать в себя, например, DC-режим и планарный режим. Направленный режим может включать в себя, например, 33 режима направленного прогнозирования или 65 режимов направленного прогнозирования согласно степени детальности направления прогнозирования. Тем не менее, это представляет собой просто пример, большее или меньшее число режимов направленного прогнозирования может использоваться в зависимости от настройки. Модуль 185 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.
[64] Модуль 180 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными или отличающимися. Временной соседний блок может называться "совместно размещенным опорным блоком", "совместно размещенной CU (colCU)" и т.п. Опорный кадр, включающий в себя временной соседний блок, может называться "совместно размещенным кадром (colPic)". Например, модуль 180 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и формировать информацию, указывающую то, какой возможный вариант используется для того, чтобы извлекать вектор движения и/или индекс опорного кадра текущего блока. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования. Например, в случае режима пропуска и режима объединения, модуль 180 взаимного прогнозирования может использовать информацию движения соседнего блока в качестве информации движения текущего блока. В случае режима пропуска, в отличие от режима объединения, остаточный сигнал может не передаваться. В случае режима прогнозирования векторов движения (MVP), вектор движения соседнего блока может использоваться в качестве предиктора вектора движения, и вектор движения текущего блока может передаваться в служебных сигналах посредством кодирования разности векторов движения и индикатора для предиктора вектора движения. Разность векторов движения может означать разность между вектором движения текущего блока и предиктором вектора движения.
[65] Модуль прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования и технологий прогнозирования, описанных ниже. Например, модуль прогнозирования может не только применять внутреннее прогнозирование или взаимное прогнозирование, но также и одновременно применять как внутреннее прогнозирование, так и взаимное прогнозирование, чтобы прогнозировать текущий блок. Способ прогнозирования с одновременным применением как внутреннего прогнозирования, так и взаимного прогнозирования для прогнозирования текущего блока может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может выполнять внутриблочное копирование (IBC) для прогнозирования текущего блока. Внутриблочное копирование может использоваться для кодирования изображений/видео контента игры и т.п., например, для кодирования экранного контента (SCC). IBC представляет собой способ прогнозирования текущего кадра с использованием ранее восстановленного опорного блока в текущем кадре в местоположении, разнесенном от текущего блока на предварительно определенное расстояние. Когда IBC применяется, местоположение опорного блока в текущем кадре может кодироваться как вектор (блочный вектор), соответствующий предварительно определенному расстоянию. IBC по существу выполняет прогнозирование в текущем кадре, но может выполняться аналогично взаимному прогнозированию в том, что опорный блок извлекается внутри текущего кадра. Таким образом, IBC может использовать, по меньшей мере, одну из технологий взаимного прогнозирования, описанных в настоящем раскрытии сущности.
[66] Прогнозный сигнал, сформированный посредством модуля прогнозирования, может использоваться для того, чтобы формировать восстановленный сигнал или формировать остаточный сигнал. Вычитатель 115 может формировать остаточный сигнал (остаточный блок или массив остаточных выборок) посредством вычитания прогнозного сигнала (прогнозированного блока или массива прогнозных выборок), выводимого из модуля прогнозирования, из сигнала входного изображения (исходного блока или массива исходных выборок). Сформированный остаточный сигнал может передаваться в преобразователь 120.
[67] Преобразователь 120 может формировать коэффициенты преобразования посредством применения технологии преобразования к остаточному сигналу. Например, технология преобразования может включать в себя, по меньшей мере, одно из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования Карунена-Лоэва (KLT), преобразования на основе графа (GBT) или условно нелинейного преобразования (CNT). Здесь, GBT означает преобразование, полученное из графа, когда информация взаимосвязи между пикселами представляется посредством графа. CNT означает преобразование, полученное на основе прогнозного сигнала, сформированного с использованием всех ранее восстановленных пикселов. Помимо этого, процесс преобразования может применяться к квадратным пиксельным блокам, имеющим идентичный размер, или может применяться к блокам, имеющим переменный размер, а не квадратный.
[68] Квантователь 130 может квантовать коэффициенты преобразования и передавать их в энтропийный кодер 190. Энтропийный кодер 190 может кодировать квантованный сигнал (информацию относительно квантованных коэффициентов преобразования) и выводить поток битов. Информация относительно квантованных коэффициентов преобразования может называться "остаточной информацией". Квантователь 130 может перекомпоновывать квантованные коэффициенты преобразования в блочном типе в одномерную векторную форму на основе порядка сканирования коэффициентов и формировать информацию относительно квантованных коэффициентов преобразования на основе квантованных коэффициентов преобразования в одномерной векторной форме.
[69] Энтропийный кодер 190 может осуществлять различные способы кодирования, такие как, например, кодирование экспоненциальным кодом Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и т.п. Энтропийный кодер 190 может кодировать информацию, необходимую для восстановления видео/изображений, отличную от квантованных коэффициентов преобразования (например, значений синтаксических элементов и т.д.), вместе или отдельно. Кодированная информация (например, кодированная информация видео/изображений) может передаваться или сохраняться в единицах слоев абстрагирования от сети (NAL) в форме потока битов. Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Передаваемая в служебных сигналах информация, передаваемая информация и/или синтаксические элементы, описанные в настоящем раскрытии сущности, могут кодироваться через вышеописанную процедуру кодирования и включаться в поток битов.
[70] Поток битов может передаваться по сети или может сохраняться на цифровом носителе хранения данных. Сеть может включать в себя широковещательную сеть и/или сеть связи, и цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как, USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик (не показан), передающий сигнал, выводимый из энтропийного кодера 190, и/или модуль хранения (не показан), сохраняющий сигнал, могут включаться в качестве внутреннего/внешнего элемента оборудования 100 кодирования, и альтернативно, передатчик может включаться в энтропийный кодер 190.
[71] Квантованные коэффициенты преобразования, выводимые из квантователя 130, могут использоваться для того, чтобы формировать остаточный сигнал. Например, остаточный сигнал (остаточный блок или остаточные выборки) может восстанавливаться посредством применения деквантования и обратного преобразования к квантованным коэффициентам преобразования через деквантователь 140 и обратный преобразователь 150.
[72] Сумматор 155 суммирует восстановленный остаточный сигнал с прогнозным сигналом, выводимым из модуля 180 взаимного прогнозирования или модуля 185 внутреннего прогнозирования, с тем чтобы формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок). Если отсутствует остаток для блока, который должен обрабатываться, к примеру, в случае, в котором режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока. Сумматор 155 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, и может использоваться для взаимного прогнозирования следующего кадра посредством фильтрации, как описано ниже.
[73] Фильтр 160 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 160 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 170, а именно, в DPB запоминающего устройства 170. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, фильтрацию на основе дискретизированного адаптивного смещения, адаптивный контурный фильтр, билатеральный фильтр и т.п. Фильтр 160 может формировать различную информацию, связанную с фильтрацией, и передавать сформированную информацию в энтропийный кодер 190, как описано ниже в описании каждого способа фильтрации. Информация, связанная с фильтрацией, может кодироваться посредством энтропийного кодера 190 и выводиться в форме потока битов.
[74] Модифицированный восстановленный кадр, передаваемый в запоминающее устройство 170, может использоваться в качестве опорного кадра в модуле 180 взаимного прогнозирования. Когда взаимное прогнозирование применяется через оборудование 100 кодирования изображений, рассогласование прогнозирования между оборудованием 100 кодирования изображений и оборудованием декодирования изображений может исключаться, и эффективность кодирования может повышаться.
[75] DPB запоминающего устройства 170 может сохранять модифицированный восстановленный кадр для использования в качестве опорного кадра в модуле 180 взаимного прогнозирования. Запоминающее устройство 170 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или кодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 180 взаимного прогнозирования и использоваться в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 170 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и может передавать восстановленные выборки в модуль 185 внутреннего прогнозирования.
[76] Общее представление оборудования декодирования изображений
[77] Фиг. 3 является видом, схематично иллюстрирующим оборудование декодирования изображений, к которому является применимым вариант осуществления настоящего изобретения.
[78] Как показано на фиг. 3, оборудование 200 декодирования изображений может включать в себя энтропийный декодер 210, деквантователь 220, обратный преобразователь 230, сумматор 235, фильтр 240, запоминающее устройство 250, модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования. Модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования могут совместно называться "модулем прогнозирования". Деквантователь 220 и обратный преобразователь 230 могут включаться в остаточный процессор.
[79] Все или, по меньшей мере, часть из множества компонентов, конфигурирующих оборудование 200 декодирования изображений, могут быть сконфигурированы посредством аппаратного компонента (например, декодера или процессора) согласно варианту осуществления. Помимо этого, запоминающее устройство 250 может включать в себя буфер декодированных кадров (DPB) или может быть сконфигурировано посредством цифрового носителя хранения данных.
[80] Оборудование 200 декодирования изображений, которое принимает поток битов, включающий в себя информацию видео/изображений, может восстанавливать изображение посредством выполнения процесса, соответствующего процессу, выполняемому посредством оборудования 100 кодирования изображений по фиг. 2. Например, оборудование 200 декодирования изображений может выполнять декодирование с использованием единицы обработки, применяемой в оборудовании кодирования изображений. Таким образом, единица обработки декодирования, например, может представлять собой единицу кодирования. Единица кодирования может получаться посредством сегментации единицы дерева кодирования или наибольшей единицы кодирования. Восстановленный сигнал изображения, декодированный и выводимый посредством оборудования 200 декодирования, может воспроизводиться посредством оборудования воспроизведения.
[81] Оборудование 200 декодирования изображений может принимать сигнал, выводимый из оборудования кодирования изображений по фиг. 2 в форме потока битов. Принимаемый сигнал может декодироваться через энтропийный декодер 210. Например, энтропийный декодер 210 может синтаксически анализировать поток битов, чтобы извлекать информацию (например, информацию видео/изображений), необходимую для восстановления изображений (или восстановления кадров). Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Оборудование декодирования изображений дополнительно может декодировать кадр на основе информации относительно набора параметров и/или общей информации ограничений. Передаваемая в служебных сигналах/принимаемая информация и/или синтаксические элементы, описанные в настоящем раскрытии сущности, могут декодироваться посредством процедуры декодирования и получаться из потока битов. Например, энтропийный декодер 210 декодирует информацию в потоке битов на основе способа кодирования, такого как кодирование экспоненциальным кодом Голомба, CAVLC или CABAC, и выходных значений синтаксических элементов, требуемых для восстановления изображений, и квантованных значений коэффициентов преобразования для остатка. Более конкретно, способ энтропийного CABAC-декодирования может принимать элемент разрешения, соответствующий каждому синтаксическому элементу в потоке битов, определять контекстную модель с использованием информации целевого синтаксического элемента декодирования, информации декодирования соседнего блока и целевого блока декодирования или информации символа/элемента разрешения, декодированного на предыдущей стадии, и выполнять арифметическое декодирование для элемента разрешения посредством прогнозирования вероятности появления элемента разрешения согласно определенной контекстной модели и формировать символ, соответствующий значению каждого синтаксического элемента. В этом случае, способ энтропийного CABAC-декодирования может обновлять контекстную модель посредством использования информации декодированного символа/элемента разрешения для контекстной модели следующего символа/элемента разрешения после определения контекстной модели. Информация, связанная с прогнозированием, из информации, декодированной посредством энтропийного декодера 210, может предоставляться в модуль прогнозирования (модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования), и остаточное значение, для которого энтропийное декодирование выполнено в энтропийном декодере 210, т.е. квантованные коэффициенты преобразования и связанная информация параметров, может вводиться в деквантователь 220. Помимо этого, информация относительно фильтрации из информации, декодированной посредством энтропийного декодера 210, может предоставляться в фильтр 240. Между тем, приемник (не показан) для приема сигнала, выводимого из оборудования кодирования изображений, может быть дополнительно сконфигурирован в качестве внутреннего/внешнего элемента оборудования 200 декодирования изображений, или приемник может представлять собой компонент энтропийного декодера 210.
[82] Между тем, оборудование декодирования изображений согласно настоящему изобретению может называться "оборудованием декодирования видео/изображений/кадров". Оборудование декодирования изображений может классифицироваться на информационный декодер (декодер информации видео/изображений/кадров) и выборочный декодер (декодер выборок видео/изображений/кадров). Информационный декодер может включать в себя энтропийный декодер 210. Выборочный декодер может включать в себя, по меньшей мере, одно из деквантователя 220, обратного преобразователя 230, сумматора 235, фильтра 240, запоминающего устройства 250, модуля 160 взаимного прогнозирования или модуля 265 внутреннего прогнозирования.
[83] Деквантователь 220 может деквантовать квантованные коэффициенты преобразования и выводить коэффициенты преобразования. Деквантователь 220 может перекомпоновывать квантованные коэффициенты преобразования в форме двумерного блока. В этом случае, перекомпоновка может выполняться на основе порядка сканирования коэффициентов, выполняемого в оборудовании кодирования изображений. Деквантователь 220 может выполнять деквантование для квантованных коэффициентов преобразования посредством использования параметра квантования (например, информации размера шага квантования) и получать коэффициенты преобразования.
[84] Обратный преобразователь 230 может обратно преобразовывать коэффициенты преобразования, чтобы получать остаточный сигнал (остаточный блок, массив остаточных выборок).
[85] Модуль 230 прогнозирования может выполнять прогнозирование для текущего блока и может формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование к текущему блоку, на основе информации относительно прогнозирования, выводимой из энтропийного декодера 210, и может определять конкретный режим внутреннего/взаимного прогнозирования (технологию прогнозирования).
[86] Идентично тому, что описано в модуле прогнозирования оборудования 100 кодирования изображений, модуль прогнозирования может формировать прогнозный сигнал на основе различных способов (технологий) прогнозирования, которые описываются ниже.
[87] Модуль 265 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Описание модуля 185 внутреннего прогнозирования в равной степени применяется к модулю 265 внутреннего прогнозирования.
[88] Модуль 260 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Например, модуль 260 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и извлекать вектор движения текущего блока и/или индекс опорного кадра на основе принимаемой информации выбора возможных вариантов. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования, и информация относительно прогнозирования может включать в себя информацию, указывающую режим взаимного прогнозирования для текущего блока.
[89] Сумматор 235 может формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок) посредством суммирования полученного остаточного сигнала с прогнозным сигналом (прогнозированным блоком, массивом прогнозированных выборок), выводимым из модуля прогнозирования (включающего в себя модуль 260 взаимного прогнозирования и/или модуль 265 внутреннего прогнозирования). Если отсутствует остаток для блока, который должен обрабатываться, к примеру, когда режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока. Описание сумматора 155 является в равной степени применимым к сумматору 235. Сумматор 235 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, и может использоваться для взаимного прогнозирования следующего кадра посредством фильтрации, как описано ниже.
[90] Фильтр 240 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 240 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 250, а именно в DPB запоминающего устройства 250. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, фильтрацию на основе дискретизированного адаптивного смещения, адаптивный контурный фильтр, билатеральный фильтр и т.п.
[91] (Модифицированный) восстановленный кадр, сохраненный в DPB запоминающего устройства 250, может использоваться в качестве опорного кадра в модуле 260 взаимного прогнозирования. Запоминающее устройство 250 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или декодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 260 взаимного прогнозирования, так что она используется в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 250 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и передавать восстановленные выборки в модуль 265 внутреннего прогнозирования.
[92] В настоящем раскрытии сущности, варианты осуществления, описанные в фильтре 160, модуле 180 взаимного прогнозирования и модуле 185 внутреннего прогнозирования оборудования 100 кодирования изображений, могут в равной или соответствующей степени применяться к фильтру 240, модулю 260 взаимного прогнозирования и модулю 265 внутреннего прогнозирования оборудования 200 декодирования изображений.
[93] Общее представление сегментации изображений
[94] Способ кодирования видео/изображений согласно настоящему изобретению может осуществляться на основе структуры сегментации изображений следующим образом. В частности, процедуры прогнозирования, остаточной обработки ((обратного) преобразования, (де)-квантования и т.д.), кодирования синтаксических элементов и фильтрации, которые описываются ниже, могут выполняться на основе CTU, CU (и/или TU, PU), извлекаемой на основе структуры сегментации изображений. Изображение может сегментироваться в единицах блоков, и процедура сегментации на блоки может выполняться в модуле 110 сегментации изображений оборудования кодирования. Связанная с сегментацией информация может кодироваться посредством энтропийного кодера 190 и передаваться в оборудование декодирования в форме потока битов. Энтропийный декодер 210 оборудования декодирования может извлекать структуру сегментации на блоки текущего кадра на основе связанной с сегментацией информации, полученной из потока битов, и на основе этого, может выполнять последовательность процедур (например, прогнозирование, остаточную обработку, восстановление блоков/кадров, внутриконтурную фильтрацию и т.д.) для декодирования изображений.
[95] CU-размер может быть равным TU-размеру, либо множество TU могут присутствовать в CU-области. Между тем, CU-размер, в общем, может указывать CB-размер компонентных (выборок) сигналов яркости. TU-размер, в общем, может указывать TB-размер компонентных (выборок) сигналов яркости. CB- или TB-размер компонентных (выборок) сигналов цветности может извлекаться на основе CB- или TB-размера компонентных (выборок) сигналов яркости согласно соотношению компонентов согласно формату сигналов цветности (цветовому формату, например, 4:4:4, 4:2:2, 4:2:0 и т.д.) кадра/изображения. TU-размер может извлекаться на основе maxTbSize, указывающего доступный максимальный TB-размер. Например, когда CU-размер превышает maxTbSize, множество TU (TB), имеющих maxTbSize, могут извлекаться из CU, и преобразование/обратное преобразование может выполняться в единице TU (TB). Помимо этого, например, когда внутреннее прогнозирование применяется, режим/тип внутреннего прогнозирования может извлекаться в единице CU (или CB), и процедура извлечения соседних опорных выборок и формирования прогнозных выборок может выполняться в единице TU (или TB). В этом случае, одна или множество TU (или TB) может присутствовать в CU- (или CB-)области. В этом случае, множество TU (или TB) могут совместно использовать идентичный режим/тип внутреннего прогнозирования.
[96] Помимо этого, при кодировании и декодировании изображений согласно настоящему изобретению, модуль обработки изображений может иметь иерархическую структуру. Например, один кадр может сегментироваться на одну или более плиток или групп плиток. Одна группа плиток может включать в себя одну или более плиток. Одна плитка может включать в себя одну или более CTU. CTU может сегментироваться на одну или более CU, как описано выше. Плитка может состоять из прямоугольной области, включающей в себя CTU, собранные в конкретной строке и конкретном столбце в кадре. Группа плиток может включать в себя целое число плиток согласно растровому сканированию плиток. Заголовок группы плиток может передавать в служебных сигналах информацию/параметры, применимые к соответствующей группе плиток. Когда оборудование кодирования/декодирования имеет многоядерный процессор, процедура кодирования/декодирования для плитки или группы плиток может выполняться параллельно. Здесь, группа плиток может иметь один из типов групп плиток, включающих в себя группу внутренних (I) плиток, группу прогнозирующих (P) плиток и группу бипрогнозирующих (B) плиток. Для блоков в группе I-плиток, взаимное прогнозирование может не использоваться, и только внутреннее прогнозирование может использоваться для прогнозирования. Конечно, даже в этом случае, исходное выборочное значение может кодироваться и передаваться в служебных сигналах без прогнозирования. Для блоков в группе P-плиток, внутреннее прогнозирование или взаимное прогнозирование может использоваться, и только унипрогнозирование может использоваться при взаимном прогнозировании. Между тем, для блоков в группе B-плиток, внутреннее прогнозирование или взаимное прогнозирование может использоваться, и вплоть до бипрогнозирования может использоваться, когда используется взаимное прогнозирование.
[97] В оборудовании кодирования, плитка/группа плиток, срез, размер максимальной и минимальной единицы кодирования могут определяться согласно характеристикам (например, разрешению) изображения и с учетом эффективности кодирования либо параллельной обработки, и информация для означенного или информация, допускающая извлечение означенного, может включаться в поток битов.
[98] В оборудовании декодирования, информация, указывающая то, сегментируется либо нет срез текущего кадра, плитка/группа плиток или CTU в плитке на множество единиц кодирования, может получаться. Когда эта информация получается (передается) только при конкретном условии, эффективность может повышаться.
[99] Заголовок среза или заголовок группы плиток (синтаксис заголовков групп плиток) может включать в себя информацию/параметр, которая является обычно применимой к группе срезов или плиток. APS (APS-синтаксис) или PPS (PPS-синтаксис) может включать в себя информацию/параметр, которая является обычно применимой к одному или более кадров. SPS (SPS-cинтаксис) может включать в себя информацию/параметр, которая является обычно применимой к одной или более последовательностей. VPS (VPS-синтаксис) может включать в себя информацию/параметр, которая является обычно применимой к полному видео. В настоящем раскрытии сущности, высокоуровневый синтаксис может включать в себя, по меньшей мере, одно из APS-синтаксиса, PPS-синтаксиса, SPS-cинтаксиса или VPS-синтаксиса.
[100] Помимо этого, например, информация относительно сегментации и конфигурации плитки/группы плиток может конструироваться в кодере через высокоуровневый синтаксис и передаваться в оборудование декодирования в форме потока битов.
[101] Передача в служебных сигналах сегментации кадров
[102] Кодированный кадр может состоять из одного или более срезов. Параметры, описывающие кодированный кадр, передаются в служебных сигналах в заголовке кадра (PH), и параметры, описывающие срез, передаются в служебных сигналах в заголовке среза. PH переносится в собственном типе NAL-единицы. SH присутствует в начале NAL-единицы, содержащей рабочие данные среза (т.е. данные срезов).
[103] VVC обеспечивает возможность сегментации кадра на субкадры, плитки и/или срезы. Передача в служебных сигналах субкадров присутствует в SPS, передача в служебных сигналах плиток и прямоугольных срезов присутствует в PPS, и в завершение, передача в служебных сигналах срезов на основе растрового сканирования присутствует в заголовке среза.
[104] Фиг. 4 является видом, иллюстрирующим пример SPS.
[105] Ссылаясь на фиг. 4, SPS может включать в себя синтаксический элемент subpic_info_present_flag; subpic_info_present_flag может указывать то, имеется или нет информация субкадров для CLVS (кодированной видеопоследовательности слоя). Например, subpic_info_present_flag, равный первому значению (например, 1), может указывать то, что имеется информация субкадров для CLVS, и имеются один или более субкадров в каждом кадре в CLVS. Напротив, subpic_info_present_flag, равный второму значению (например, 0), может указывать то, что отсутствует информация субкадров для CLVS, и имеется только один субкадр в каждом кадре в CLVS. Когда res_change_in_clvs_allowed_flag равен первому значению (например, 1), значение subpic_info_present_flag должно быть равным второму значению (например, 0). Здесь, res_change_in_clvs_allowed_flag, равный первому значению (например, 1), может указывать то, что пространственное разрешение кадров не изменяется во всех CLVS, ссылающихся на SPS.
[106] Между тем, когда поток битов представляет собой результат процесса извлечения субпотоков битов и содержит только поднабор субкадров входного потока битов в процесс извлечения субпотоков битов, может требоваться задавать значение subpic_info_present_flag, равным 1 в первичной байтовой последовательности данных (RBSP) SPS.
[107] Помимо этого, SPS может включать в себя синтаксический элемент sps_num_subpics_minus1; sps_num_subpics_minus1 плюс 1 может указывать число субкадров в каждом кадре в CLVS. Значение sps_num_subpics_minus1 должно составлять в диапазоне от 0 до Ceil(pic_width_max_in_luma_samples÷CtbSizeY) × Ceil(pic_height_max_in_luma_samples÷CtbSizeY)-1, включительно. Между тем, когда sps_num_subpics_minus1 не присутствует (т.е. он не передается в служебных сигналах), значение sps_num_subpics_minus1 может логически выводиться равным первому значению (например, 0).
[108] Помимо этого, SPS может включать в себя синтаксический элемент sps_independent_subpics_flag; sps_independent_subpics_flag может указывать то, является или нет независимой граница субкадра. Например, sps_independent_subpics_flag, равный первому значению (например, 1), может указывать то, что все границы субкадров в CLVS трактуются в качестве границ кадров, и отсутствует контурная фильтрация на границах субкадров. Напротив, sps_independent_subpics_flag, равный второму значению (например, 0), может указывать то, что не налагается такое ограничивающее условие. Когда sps_independent_subpics_flag не присутствует, значение sps_independent_subpics_flag может логически выводиться равным второму значению (например, 0).
[109] Помимо этого, SPS может включать в себя синтаксический элемент subpic_treated_as_pic_flag[i] ; subpic_treated_as_pic_flag[i] может указывать то, трактуется или нет субкадр в качестве кадра. Например, subpic_treated_as_pic_flag[i], равный первому значению (например, 1) может указывать то, что i-ый субкадр каждого кодированного кадра в CLVS трактуется в качестве кадра в процессе декодирования, за исключением операций внутриконтурной фильтрации. Напротив, subpic_treated_as_pic_flag[i], равный второму значению (например, 0), может указывать то, что i-ый субкадр каждого кодированного кадра в CLVS не трактуется в качестве кадра в процессе декодирования, за исключением операций внутриконтурной фильтрации. Когда subpic_treated_as_pic_flag[i] не присутствует, значение subpic_treated_as_pic_flag[i] может логически выводиться равным sps_independent_subpics_flag.
[110] Когда subpic_treated_as_pic_flag[i] равен первому значению (например, 1), требование соответствия потока битов заключается в том, что все следующие условия представляют собой "истина" для каждого выходного слоя и его опорных слоев в OLS, который включает в себя слой, содержащий i-ый субкадр, в качестве выходного слоя:
[111] - (Условие 1): Все кадры в выходном слое и его опорных слоях должны иметь идентичное значение pic_width_in_luma_samples и идентичное значение pic_height_in_luma_samples.
[112] - (Условие 2): Все SPS, на которые ссылаются выходной слой и его опорные слои, должны иметь идентичное значение sps_num_subpics_minus1 и должны иметь идентичные значения subpic_ctu_top_left_x[j], subpic_ctu_top_left_y[j], subpic_width_minus1[j], subpic_height_minus1[j] и loop_filter_across_subpic_enabled_flag[j], соответственно, для каждого значения j в диапазоне от 0 до sps_num_subpics_minus1, включительно.
[113] - (Условие 3): Все кадры в каждой единице доступа в выходном слое и его опорных слоях должны иметь идентичное значение SubpicIdVal[j] для каждого значения j в диапазоне от 0 до sps_num_subpics_minus1, включительно.
[114] Фиг. 5 является видом, иллюстрирующим пример PPS.
[115] Ссылаясь на фиг. 5, PPS может включать в себя синтаксический элемент no_pic_partition_flag; no_pic_partition_flag может указывать то, применяется или нет сегментация кадров к каждому кадру. Например, no_pic_partition_flag, равный первому значению (например, 1), может указывать то, что сегментация кадров не применяется к каждому кадру, ссылающемуся на PPS. Напротив, no_pic_partition_flag, равный второму значению (например, 0), может указывать то, что каждый кадр, ссылающийся на PPS, может сегментироваться более чем на одну плитку или срез.
[116] Требование соответствия потока битов заключается в том, что значение no_pic_partition_flag должно быть идентичным для всех PPS, на которые ссылаются кодированные кадры в CLVS.
[117] Требование соответствия потока битов заключается в том, что значение no_pic_partition_flag не должно быть равным 1, когда значение sps_num_subpics_minus1+1 больше 1.
[118] Помимо этого, PPS может включать в себя синтаксический элемент single_slice_per_subpic_flag; single_slice_per_subpic_flag может указывать число срезов в каждом субкадре. Например, single_slice_per_subpic_flag, равный первому значению (например, 1), может указывать то, что каждый субкадр состоит только из одного прямоугольного среза; single_slice_per_subpic_flag, равный второму значению (например, 0), может указывать то, что каждый субкадр может состоять из одного или более прямоугольных срезов. Когда single_slice_per_subpic_flag не присутствует, значение single_slice_per_subpic_flag логически выводится равным второму значению (например, 0).
[119] Фиг. 6 является видом, иллюстрирующим пример заголовка среза.
[120] Ссылаясь на фиг. 6, заголовок среза может включать в себя синтаксический элемент num_tiles_in_slice_minus1; num_tiles_in_slice_minus1 плюс 1 может указывать число плиток в срезе. Значение num_tiles_in_slice_minus1 должно составлять в диапазоне от 0 до NumTilesInPic-1, включительно. Здесь, переменная NumTilesInPic может указывать число плиток в кадре и может задаваться равной значению, полученному посредством умножения числа столбцов плиток (например, NumTileColumns) на число строк плиток (например, NumTileRows).
[121] Передача служебных сигналов, связанная с сегментацией кадров, описанной выше со ссылкой на фиг. 4-6, может иметь следующие проблемы:
[122] Во-первых, отдельная передача в служебных сигналах no_pic_partition_flag и pps_num_subpics_minus1 является неэффективной. Когда не предусмотрена сегментация кадров (т.е. no_pic_partition_flag==1), очевидно, что число субкадров не может превышать 1. Аналогично, когда имеется более двух субкадров, очевидно, что предусмотрена сегментация кадров, так что значение no_pic_partition_flag не может быть равным первому значению (например, 1). Передача служебных сигналов по фиг. 12 и 13 не учитывает такой факт.
[123] Во-вторых, связанная с сегментацией кадров передача служебных сигналов в данный момент существует в SPS и в PPS, и в данный момент они могут противоречить друг другу. Когда no_pic_partition_flag равен второму значению (например, 0), и число плиток в кадре равно 1, в данный момент можно задавать значение single_slice_per_subpic_flag ным первому значению (например, 1), указывающему то, что каждый субкадр состоит только из одного среза, даже когда имеется только 1 субкадр. Такая настройка должна противоречить смыслу no_pic_partition_flag, равного второму значению (например, 0), поскольку этот no_pic_partition_flag, равный первому значению (например, 1), означает то, что предусмотрена некоторая сегментация кадров.
[124] Чтобы разрешать вышеописанные проблемы, согласно варианту осуществления настоящего изобретения, в предварительно определенном высокоуровневом синтаксисе (например, PPS), первая информация (например, no_pic_partition_flag), указывающая то, возникает или нет сегментация кадров, может передаваться в служебных сигналах раньше второй информации, указывающей число субкадров. Когда не предусмотрена сегментация кадров, вторая информация может не передаваться в служебных сигналах. В этом случае, вторая информация должна иметь значение, указывающее то, что в каждом кадре имеется только один субкадр. Альтернативно, когда вторая информация указывает то, что число субкадров больше 1, первая информация может не передаваться в служебных сигналах. В этом случае, первая информация должна логически выводиться как имеющая значение, указывающее то, что предусмотрена сегментация кадров.
[125] Согласно варианту осуществления настоящего изобретения, когда предусмотрена сегментация кадров (например, no_pic_partition_flag==0), число плиток в кадре равно 1, и указывается то, что каждый субкадр содержит только 1 срез (например, single_slice_per_subpic_flag==1), имеется такое ограничение, что число субкадров в кадре должно быть больше 1. Альтернативно, single_slice_per_subpic_flag может не передаваться в служебных сигналах, когда предусмотрена сегментация кадров, число плиток равно 1, и число субкадров равно 1. В таком случае, значение single_slice_per_subpic_flag должно логически выводиться равным второму значению (например, 0), указывающему то, что каждый субкадр включает в себя один или более срезов.
[126] Далее подробнее описываются примерные варианты осуществления настоящего изобретения со ссылкой на прилагаемые чертежи.
[127] Вариант 1 осуществления
[128] Согласно варианту 1 осуществления, первая информация, указывающая то, предусмотрена или нет сегментация кадров, и вторая информация, указывающая число субкадров, могут передаваться в служебных сигналах вместе в идентичном синтаксисе (например, PPS). Помимо этого, вторая информация может передаваться в служебных сигналах только тогда, когда предусмотрена сегментация кадров (т.е. условная передача служебных сигналов).
[129] Фиг. 7 является видом, иллюстрирующим PPS согласно варианту осуществления настоящего изобретения.
[130] Ссылаясь на фиг. 7, PPS может включать в себя no_pic_partition_flag в качестве первой информации; no_pic_partition_flag может указывать то, применяется или нет сегментация кадров к каждому кадру. Например, no_pic_partition_flag, равный первому значению (например, 1), может указывать то, что сегментация кадров не применяется к каждому кадру, ссылающемуся на PPS. Напротив, no_pic_partition_flag, равный второму значению (например, 0), может указывать то, что каждый кадр, ссылающийся на PPS, может сегментироваться более чем на одну плитку или срез.
[131] Требование соответствия потока битов заключается в том, что значение no_pic_partition_flag должно быть идентичным для всех PPS, на которые ссылаются кодированные кадры в CLVS.
[132] Требование соответствия потока битов заключается в том, что значение no_pic_partition_flag не должно быть равным первому значению (например, 1), когда число субкадров в каждом кадре больше 1 (например, sps_num_subpics_minus1+1>1). Таким образом, когда число субкадров в кадре равно или больше 2, no_pic_partition_flag должен быть равным второму значению (например, 0), указывающему то, что сегментация кадров применяется к кадру.
[133] Помимо этого, PPS может включать в себя pps_num_subpics_minus1 в качестве второй информации; pps_num_subpics_minus1 плюс 1 может указывать число субкадров в каждом кадре, ссылающемся на PPS; pps_num_subpics_minus1 может соответствовать sps_num_subpics_minus1 в SPS, описанном выше со ссылкой на фиг. 13.
[134] Pps_num_subpics_minus1 может передаваться в служебных сигналах позднее no_pic_partition_flag в PPS. Помимо этого, pps_num_subpics_minus1 может передаваться в служебных сигналах только тогда, когда сегментация кадров применяется к кадру. Например, когда no_pic_partition_flag равен первому значению (например, 1), pps_num_subpics_minus1 может не передаваться в служебных сигналах. Напротив, когда no_pic_partition_flag равен второму значению (например, 0), pps_num_subpics_minus1 может передаваться в служебных сигналах. Следовательно, даже если не предусмотрена сегментация кадров (т.е. no_pic_partition_flag==1), передача в служебных сигналах второй информации в качестве значения, противоречащего первой информации (например, pps_num_subpics_minus1=2), может предотвращаться. Когда pps_num_subpics_minus1 не передается в служебных сигналах, значение pps_num_subpics_minus1 может логически выводиться равным второму значению (например, 0).
[135] Согласно варианту 1 осуществления, первая информация (например, no_pic_partition_flag), указывающая то, предусмотрена или нет сегментация кадров, и вторая информация (например, pps_num_subpics_minus1), указывающая число субкадров, могут передаваться в служебных сигналах в одном синтаксисе (например, PPS). В этом случае, первая информация может передаваться в служебных сигналах раньше второй информации, и когда первая информация указывает то, что не предусмотрена сегментация кадров, вторая информация может не передаваться в служебных сигналах. Следовательно, по сравнению со случаем, в котором первая информация и вторая информация отдельно передаются в служебных сигналах в различных синтаксисах, можно повышать эффективность передачи служебных сигналов и исключать возможность возникновения противоречия.
[136] Вариант 2 осуществления
[137] Согласно варианту 2 осуществления, первая информация, указывающая то, предусмотрена или нет сегментация кадров, и вторая информация, указывающая число субкадров, могут передаваться в служебных сигналах вместе в идентичном синтаксисе (например, PPS). Помимо этого, первая информация может не передаваться в служебных сигналах при предварительно определенном условии, когда число субкадров в кадре больше 1.
[138] Фиг. 8 является видом, иллюстрирующим PPS согласно варианту осуществления настоящего изобретения.
[139] Ссылаясь на фиг. 8, PPS может включать в себя синтаксический элемент subpic_id_mapping_in_pps_flag; subpic_id_mapping_in_pps_flag может указывать то, передается или нет преобразование идентификаторов субкадров в служебных сигналах в PPS. Например, subpic_id_mapping_in_pps_flag, равный первому значению (например, 1), может указывать то, что преобразование идентификаторов субкадров передается в служебных сигналах. Напротив, subpic_id_mapping_in_pps_flag, равный второму значению (например, 0), может указывать то, что преобразование идентификаторов субкадров не передается в служебных сигналах. Здесь, преобразование идентификаторов субкадров может означать то, что различные идентификаторы назначаются соответствующим субкадрам, чтобы идентифицировать множество субкадров.
[140] Помимо этого, PPS может включать в себя синтаксический элемент pps_num_subpics_minus1; pps_num_subpics_minus1 плюс 1 может указывать число субкадров в каждом кадре, ссылающемся на PPS; pps_num_subpics_minus1 может соответствовать sps_num_subpics_minus1 в SPS, описанном выше со ссылкой на фиг. 13.
[141] Pps_num_subpics_minus1 может передаваться в служебных сигналах только тогда, когда subpic_id_mapping_in_pps_flag равен первому значению (например, 1). Таким образом, когда преобразование идентификаторов субкадров не передается в служебных сигналах в PPS (т.е. subpic_id_mapping_in_pps_flag==0), pps_num_subpics_minus1 может не передаваться в служебных сигналах.
[142] Помимо этого, PPS может включать в себя синтаксический элемент no_pic_partition_flag; no_pic_partition_flag может указывать то, применяется или нет сегментация кадров к каждому кадру. Например, no_pic_partition_flag, равный первому значению (например, 1), может указывать то, что сегментация кадров не применяется к каждому кадру, ссылающемуся на PPS. Напротив, no_pic_partition_flag, равный второму значению (например, 0), может указывать то, что каждый кадр, ссылающийся на PPS, может сегментироваться более чем на одну плитку или срез. Когда no_pic_partition_flag не передается в служебных сигналах, значение no_pic_partition_flag логически выводится равным второму значению (например, 0).
[143] Требование соответствия потока битов заключается в том, что значение no_pic_partition_flag должно быть идентичным для всех PPS, на которые ссылаются кодированные кадры в CLVS. Требование соответствия потока битов заключается в том, что значение no_pic_partition_flag не должно быть равным первому значению (например, 1), когда значение sps_num_subpics_minus1+1 больше 1.
[144] Между тем, no_pic_partition_flag может с ограничением передаваться в служебных сигналах при предварительно определенном условии. Например, no_pic_partition_flag может передаваться в служебных сигналах только тогда, когда subpic_id_mapping_in_pps_flag равен второму значению (например, 0), или когда pps_num_subpics_minus1 равен 0. Это может означать то, что когда число субкадров в кадре больше 1, это может означать то, что no_pic_partition_flag не передается в служебных сигналах на основе преобразования идентификаторов субкадров, передаваемого в служебных сигналах в PPS. В этом отношении, вариант 2 осуществления отличается от варианта 1 осуществления тем, что no_pic_partition_flag безусловно передается в служебных сигналах. Между тем, когда no_pic_partition_flag не передается в служебных сигналах, no_pic_partition_flag должен быть равным второму значению (например, 0), указывающему то, что предусмотрена сегментация кадров.
[145] Согласно варианту 2 осуществления, первая информация (например, no_pic_partition_flag), указывающая то, предусмотрена или нет сегментация кадров, и вторая информация (например, pps_num_subpics_minus1), указывающая число субкадров, могут передаваться в служебных сигналах в одном синтаксисе (например, PPS). В этом случае, первая информация может не передаваться в служебных сигналах на основе числа субкадров в кадре, большего 1. Следовательно, по сравнению со случаем, в котором первая информация и вторая информация отдельно передаются в служебных сигналах в различных синтаксисах, можно повышать эффективность передачи служебных сигналов и исключать возможность возникновения противоречия.
[146] Вариант 3 осуществления
[147] Согласно варианту 3 осуществления, когда предусмотрена сегментация кадров, число плиток в кадре равно 1, и каждый субкадр содержит только один срез, число субкадров в кадре должно быть больше 1. Альтернативно, когда предусмотрена сегментация кадров, число плиток в кадре равно 1, и число субкадров равно 1, информация (например, single_slice_per_subpic_flag), указывающая то, содержит или нет каждый субкадр только один срез, может не передаваться в служебных сигналах. В этом случае, информация может логически выводиться равной второму значению (например, 0), указывающему то, что каждый субкадр включает в себя или более срезов.
[148] Фиг. 9 является видом, иллюстрирующим PPS согласно варианту осуществления настоящего изобретения.
[149] Ссылаясь на фиг. 9, PPS может включать в себя синтаксический элемент subpic_id_mapping_in_pps_flag; subpic_id_mapping_in_pps_flag может указывать то, передается или нет преобразование идентификаторов субкадров в служебных сигналах в PPS.
[150] Помимо этого, PPS может включать в себя синтаксический элемент pps_num_subpics_minus1. Значение pps_num_subpics_minus1+1 может указывать число субкадров в каждом кадре, ссылающемся на PPS; pps_num_subpics_minus1 может передаваться в служебных сигналах только тогда, когда subpic_id_mapping_in_pps_flag равен первому значению (например, 1).
[151] Помимо этого, PPS может включать в себя синтаксический элемент no_pic_partition_flag; no_pic_partition_flag может указывать то, применяется или нет сегментация кадров к каждому кадру.
[152] Семантика subpic_id_mapping_in_pps_flag, pps_num_subpics_minus1 и no_pic_partition_flag описана выше со ссылкой на фиг. 16.
[153] Помимо этого, PPS может включать в себя single_slice_per_subpic_flag в качестве третьей информации; single_slice_per_subpic_flag может указывать то, включает или нет каждый субкадр в себя только один прямоугольный срез. Например, single_slice_per_subpic_flag, равный первому значению (например, 1), может указывать то, что каждый субкадр включает в себя только один прямоугольный срез. Напротив, single_slice_per_subpic_flag, равный второму значению (например, 0), может указывать то, что каждый субкадр может включать в себя один или более прямоугольных срезов. Когда single_slice_per_subpic_flag не передается в служебных сигналах, значение single_slice_per_subpic_flag может логически выводиться равным второму значению (например, 0).
[154] В варианте осуществления, когда no_pic_partition_flag равен второму значению (например, 0), NumTilesInPic равен 1, и single_slice_per_subpic_flag равен первому значению (например, 1), число субкадров в кадре должно быть больше 1 (т.е. pps_num_subpics_minus1>0). Здесь, переменная NumTilesInPic может указывать число плиток в кадре и может задаваться равной значению, полученному посредством умножения числа столбцов плиток (например, NumTileColumns) на число строк плиток (например, NumTileRows). Вышеописанное ограничение может представлять собой ограничение для соответствия потока битов.
[155] Помимо этого, в варианте осуществления, когда no_pic_partition_flag равен второму значению (например, 0), NumTilesInPic равен 1, и pps_num_subpics_minus1 равен 0, single_slice_per_subpic_flag может не передаваться в служебных сигналах. В этом случае, значение single_slice_per_subpic_flag должно логически выводиться равным второму значению (например, 0).
[156] Между тем, single_slice_per_subpic_flag может с ограничением передаваться в служебных сигналах согласно предварительно определенному условию. В частности, single_slice_per_subpic_flag может передаваться в служебных сигналах только тогда, когда оба следующие первое и второе условия представляют собой "истина".
[157] - (Первое условие): no_pic_partition_flag=0
[158] - (Второе условие): rect_slice_flag=1 andand (NumTilesInPic>1 || subpic_id_mapping_in_pps_flag==0 || pps_num_subpics_minus1>0)
[159] Во втором условии, rect_slice_flag, равный второму значению (например, 0), может указывать то, что плитки в каждом срезе находятся в порядке растрового сканирования, и информация срезов не передается в служебных сигналах в PPS. Напротив, rect_slice_flag, равный первому значению (например, 1), может указывать то, что плитки в каждом срезе покрывают прямоугольную область кадра, и информация срезов передается в служебных сигналах в PPS. Когда rect_slice_flag не передается в служебных сигналах, rect_slice_flag может логически выводиться равным первому значению (например, 1). Когда subpic_info_present_flag равен первому значению (например, 1), значение rect_slice_flag должно быть равным первому значению (например, 1).
[160] Согласно варианту 3 осуществления, информация (например, pps_num_subpics_minus1), указывающая число субкадров, должна указывать то, что кадр включает в себя множество субкадров при предварительно определенном условии. Альтернативно, информация (например, single_slice_per_subpic_flag), указывающая то, содержит или нет каждый субкадр только один срез, должна логически выводиться равной второму значению (например, 0), указывающему то, что каждый субкадр содержит один или более срезов при предварительно определенном условии. Следовательно, можно возможность возникновения противоречия между информацией относительно сегментации кадров и информацией относительно числа субкадров.
[161] В дальнейшем в этом документе описывается способ кодирования/декодирования изображений согласно вариантам осуществления настоящего изобретения.
[162] Фиг. 10 является блок-схемой последовательности операций, иллюстрирующей способ кодирования изображений согласно варианту осуществления настоящего изобретения. Способ кодирования изображений по фиг. 10 может осуществляться посредством оборудования кодирования изображений по фиг. 2.
[163] Ссылаясь на фиг. 10, оборудование кодирования изображений может извлекать один или более субкадров, включенных в текущий кадр (S1010). Например, оборудование кодирования изображений может извлекать один или более субкадров посредством разделения текущего кадра на единицы субкадра. Каждый субкадр в кадре может составлять предварительно определенную прямоугольную область. Помимо этого, размеры субкадров в кадре могут задаваться различными способами. Например, все субкадры могут иметь идентичный размер, или, по меньшей мере, некоторые субкадры могут иметь различные размеры. В одном примере, в кадре, плитки и срезы могут ограничиваться таким образом, что они не охватывают границы каждого субкадра. С этой целью, оборудование кодирования изображений может выполнять кодирование таким образом, что каждый субкадр независимо декодируется.
[164] Оборудование кодирования изображений может формировать первую информацию (или информацию сегментации кадров), указывающую то, сегментируется или нет текущий кадр, на основе числа одного или более субкадров, включенных в текущий кадр (S1020). В варианте осуществления, первая информация может включать в себя no_pic_partition_flag, описанный выше со ссылкой на фиг. 7-9. Когда только один субкадр извлекается из текущего кадра, первая информация (например, no_pic_partition_flag) может быть равной первому значению (например, 1), указывающему то, что текущий кадр не сегментируется. Напротив, когда два или более субкадров извлекаются из текущего кадра, no_pic_partition_flag может быть равным второму значению (например, 0), указывающему то, что текущий кадр допускает сегментацию.
[165] В варианте осуществления, требование для соответствия потока битов может заключаться в том, что значение первой информации (например, no_pic_partition_flag) может ограничиваться таким образом, что оно имеет идентичное значение (например, - или 1) для всех наборов параметров кадра, на которые ссылаются кодированные кадры в CLVS (кодированной видеопоследовательности слоя).
[166] В варианте осуществления, на основе числа субкадров, включенных в текущий кадр, равного или большего 2 (например, sps_num_subpics_minus1+1>1), первая информация (например, no_pic_partition_flag) может иметь второе значение (например, 0), указывающее то, что текущий кадр допускает сегментацию.
[167] Оборудование кодирования изображений может кодировать вторую информацию относительно числа одного или более субкадров, включенных в текущий кадр, на основе вышеописанной первой информации (S1030). В варианте осуществления, вторая информация может включать в себя pps_num_subpics_minus1, описанный выше со ссылкой на фиг. 7-9.
[168] В варианте осуществления, на основе первой информации (например, no_pic_partition_flag), имеющей первое значение (например, 1), указывающей то, что текущий кадр не разбивается, вторая информация (например, pps_num_subpics_minus1) может не кодироваться.
[169] В варианте осуществления, вторая информация (например, pps_num_subpics_minus1) может кодироваться в наборе параметров кадра вместе с вышеописанной первой информацией (например, no_pic_partition_flag).
[170] В варианте осуществления, на основе первой информации (например, no_pic_partition_flag), имеющей второе значение (например, 0), указывающее то, что текущий кадр допускает сегментацию, причем текущий кадр включает в себя одну плитку, и каждый или более субкадров в пределах текущего кадра включает в себя только один срез (например, single_slice_per_subpic_flag==1), вторая информация (например, pps_num_subpics_minus1) может иметь предварительно определенное значение, указывающее то, что число одного или более субкадров превышает один (например, например, 1).
[171] В варианте осуществления, на основе первой информации (например, no_pic_partition_flag), имеющей второе значение (например, 0), указывающее то, что текущий кадр допускает сегментацию, причем текущий кадр включает в себя одну плитку, и число одного или более субкадров, включенных в текущее существо, равно одному, третья информация (например, single_slice_per_subpic_flag), указывающая число срезов, включенных в каждый из одного или более субкадров, может иметь первое значение (например, 1), указывающее то, что каждый из одного или более субкадров включает в себя только один срез.
[172] Оборудование кодирования изображений может формировать поток битов, включающий в себя, по меньшей мере, одно из первой информации (например, no_pic_partition_flag) - третьей информации (например, single_slice_per_subpic_flag). Поток битов может сохраняться на машиночитаемом носителе записи и может передаваться в оборудование декодирования изображений через носитель записи или сеть.
[173] Фиг. 11 является блок-схемой последовательности операций, иллюстрирующей способ декодирования изображений согласно варианту осуществления настоящего изобретения. Способ декодирования изображений по фиг. 11 может осуществляться посредством оборудования декодирования изображений по фиг. 3.
[174] Ссылаясь на фиг. 11, оборудование декодирования изображений может получать первую информацию относительно того, допускает или нет текущий кадр сегментацию, из потока битов (S1110). Первая информация может включать в себя no_pic_partition_flag, описанный выше со ссылкой на фиг. 7-9.
[175] В варианте осуществления, первая информация (например, no_pic_partition_flag) может иметь второе значение (например, 0), указывающее то, что текущий кадр допускает сегментацию, на основе числа одного или более субкадров, включенных в текущий кадр, равного двум или более (например, sps_num_subpics_minus1+1>1).
[176] В варианте осуществления, первая информация (например, no_pic_partition_flag) может иметь второе значение (например, 0), указывающее то, что текущий кадр допускает сегментацию, на основе неполучения первой информации из потока битов.
[177] Оборудование декодирования изображений может получать вторую информацию относительно числа одного или более субкадров, включенных в текущий кадр, из потока битов на основе первой информации (S1120). В варианте осуществления, вторая информация может включать в себя pps_num_subpics_minus1, описанный выше со ссылкой на фиг. 7-9.
[178] В варианте осуществления на основе первой информации (например, no_pic_partition_flag), имеющей первое значение (например, 1), указывающее то, что текущий кадр не сегментируется, вторая информация (например, pps_num_subpics_minus1) не получается из потока битов и может иметь предварительно определенное значение (например, 0), указывающее то, что число одного или более субкадров в текущем кадре равно одному.
[179] В варианте осуществления вторая информация (например, pps_num_subpics_minus1) может получаться из набора параметров кадра вместе с вышеописанной первой информацией (например, no_pic_partition_flag).
[180] В варианте осуществления на основе первой информации (например, no_pic_partition_flag), имеющей второе значение (например, 0), указывающее то, что текущий кадр допускает сегментацию, причем текущий кадр включает в себя одну плитку, и каждый из одного или более субкадров, включенных в причем текущий кадр, включает в себя только один срез (например, single_slice_per_subpic_flag==1), вторая информация (например, pps_num_subpics_minus1) составляет предварительно определенное значение, указывающее то, что число одного или более субкадров превышает один.
[181] В варианте осуществления на основе первой информации (например, no_pic_partition_flag), имеющей второе значение (например, 0), указывающее то, что текущий кадр допускает сегментацию, причем текущий кадр включает в себя одну плитку, и число одного или более субкадров, включенных в текущий кадр, равно одному, третья информация (например, single_slice_per_subpic_flag), указывающая число срезов, включенных в каждый из одного или более субкадров, может иметь первое значение (например, 1), указывающее то, что каждый из одного или более субкадров включает в себя только один срез.
[182] Оборудование декодирования изображений может извлекать один или более субкадров, включенных в текущий кадр, на основе второй информации (S1130). Например, оборудование декодирования изображений может извлекать один или более субкадров в текущем кадре посредством разделения текущего кадра на единицы субкадра на основе числа субкадров, указываемого посредством второй информации. В этом случае, каждый субкадр может иметь уникальный идентификатор субкадра (например, pps_subpic_id [i]), и идентификатор субкадра может иметь предварительно определенную длину (например, pps_subpic_id_len_minus1+1 бит).
[183] Оборудование декодирования изображений может декодировать один или более субкадров в текущем кадре (S1140). Оборудование декодирования изображений может декодировать субкадры на основе CABAC-способа, способа прогнозирования, способа остаточной обработки (преобразования и квантования) и/или способа внутриконтурной фильтрации. Помимо этого, оборудование декодирования изображений может выводить декодированные субкадры.
[184] Согласно вариантам осуществления настоящего изобретения, первая информация (например, no_pic_partition_flag) относительно того, предусмотрена или нет сегментация кадров, и вторая информация (например, pps_num_subpics_minus1), указывающая число субкадров, могут передаваться в служебных сигналах в одном синтаксисе (например, PPS). В этом случае, первая информация может передаваться в служебных сигналах раньше второй информации. Помимо этого, когда первая информация указывает то, что не предусмотрена сегментация кадров, вторая информация может не передаваться в служебных сигналах. Следовательно, по сравнению со случаем, в котором первая информация и вторая информация отдельно передаются в служебных сигналах в различных синтаксисах, можно повышать эффективность передачи служебных сигналов и исключать возможность возникновения противоречия.
[185] Название синтаксического элемента, описанного в настоящем раскрытии сущности, может включать в себя информацию относительно позиции, в которой соответствующий синтаксический элемент передается в служебных сигналах. Например, синтаксический элемент, начинающийся с "sps_", может означать то, что соответствующий синтаксический элемент передается в служебных сигналах в наборе параметров последовательности (SPS). Помимо этого, синтаксический элемент, начинающийся с "pps_", "ph_", "sh_"6 может означать то, что соответствующий синтаксический элемент передается в служебных сигналах в наборе параметров кадра (PPS), заголовке кадра и заголовке среза, соответственно.
[186] Хотя примерные способы настоящего изобретения, описанного выше, представляются как последовательность операций для ясности описания, это не имеет намерение ограничивать порядок, в котором выполняются этапы, и этапы могут выполняться одновременно или в другом порядке при необходимости. Чтобы реализовывать способ согласно настоящему изобретению, описанные этапы дополнительно могут включать в себя другие этапы, могут включать в себя оставшиеся этапы, за исключением некоторых этапов, либо могут включать в себя другие дополнительные этапы, за исключением некоторых этапов.
[187] В настоящем раскрытии сущности, оборудование кодирования изображений или оборудование декодирования изображений, которое выполняет предварительно определенную операцию (этап), может выполнять операцию (этап) подтверждения условия или ситуации выполнения соответствующей операции (этап). Например, если описывается то, что предварительно определенная операция выполняется, когда предварительно определенное условие удовлетворяется, оборудование кодирования изображений или оборудование декодирования изображений может выполнять предварительно определенную операцию после определения того, удовлетворяется или нет предварительно определенное условие.
[188] Различные варианты осуществления настоящего изобретения не представляют собой список всех возможных комбинаций и имеют намерение описывать характерные аспекты настоящего изобретения, и вопросы, описанные в различных вариантах осуществления, могут применяться независимо либо в комбинации двух или более из них.
[189] Различные варианты осуществления настоящего изобретения могут реализовываться в аппаратных средствах, микропрограммном обеспечении, программном обеспечении либо в комбинации вышеозначенного. В случае реализации настоящего изобретения посредством аппаратных средств, настоящее изобретение может реализовываться с помощью специализированных интегральных схем (ASIC), процессоров цифровых сигналов (DSP), устройств обработки цифровых сигналов (DSPD), программируемых логических устройств (PLD), программируемых пользователем вентильных матриц (FPGA), общих процессоров, контроллеров, микроконтроллеров, микропроцессоров и т.д.
[190] Помимо этого, оборудование декодирования изображений и оборудование кодирования изображений, к которым применяются варианты осуществления настоящего изобретения, могут включаться в мультимедийное широковещательное приемо-передающее устройство, терминал мобильной связи, видеоустройство системы домашнего кинотеатра, видеоустройство системы цифрового кинотеатра, камеру наблюдения, устройство проведения видеочатов, устройство связи в реальном времени, к примеру, для видеосвязи, мобильное устройство потоковой передачи, носитель хранения данных, записывающую видеокамеру, устройство предоставления услуг на основе технологии "видео по запросу" (VoD), устройство на основе OTT-видео (видео поверх сетей), устройство предоставления услуг потоковой передачи по Интернету, трехмерное видеоустройство, видеоустройство системы видеотелефонии, медицинское видеоустройство и т.п. и могут использоваться для того, чтобы обрабатывать видеосигналы или сигналы данных. Например, OTT-видеоустройства могут включать в себя игровую консоль, Blu-Ray-проигрыватель, телевизор с доступом в Интернет, систему домашнего кинотеатра, смартфон, планшетный PC, цифровое записывающее видеоустройство (DVR) и т.п.
[191] Фиг. 12 является видом, иллюстрирующим систему потоковой передачи контента, к которой является применимым вариант осуществления настоящего изобретения.
[192] Ссылаясь на фиг. 12, система потоковой передачи контента, к которой применяется вариант(ы) осуществления настоящего документа, может включать в себя, главным образом, сервер кодирования, потоковый сервер, веб-сервер, хранилище мультимедиа, пользовательское устройство и устройство ввода мультимедиа.
[193] Сервер кодирования сжимает контент, вводимый из устройств ввода мультимедиа, таких как смартфон, камера, записывающая видеокамера и т.д., в цифровые данные для того, чтобы формировать поток битов, и передает поток битов на потоковый сервер. В качестве другого примера, когда устройства ввода мультимедиа, такие как смартфоны, камеры, записывающие видеокамеры и т.д., непосредственно формируют поток битов, сервер кодирования может опускаться.
[194] Поток битов может формироваться посредством способа кодирования изображений или оборудования кодирования изображений, к которому применяется вариант осуществления настоящего изобретения, и потоковый сервер может временно сохранять поток битов в процессе передачи или приема потока битов.
[195] Потоковый сервер передает мультимедийные данные в пользовательское устройство на основе запроса пользователя через веб-сервер, и веб-сервер служит в качестве среды для информирования пользователя в отношении услуги. Когда пользователь запрашивает требуемую услугу из веб-сервера, веб-сервер может доставлять ее на потоковый сервер, и потоковый сервер может передавать мультимедийные данные пользователю. В этом случае, система потоковой передачи контента может включать в себя отдельный сервер управления. В этом случае, сервер управления служит для того, чтобы управлять командой/ответом между устройствами в системе потоковой передачи контента.
[196] Потоковый сервер может принимать контент из хранилища мультимедиа и/или сервера кодирования. Например, когда контент принимается из сервера кодирования, контент может приниматься в реальном времени. В этом случае, чтобы предоставлять плавную услугу потоковой передачи, потоковый сервер может сохранять поток битов в течение предварительно определенного времени.
[197] Примеры пользовательского устройства могут включать в себя мобильный телефон, смартфон, переносной компьютер, цифровой широковещательный терминал, персональное цифровое устройство (PDA), портативный мультимедийный проигрыватель (PMP), навигационное устройство, грифельный планшетный PC, планшетные PC, ультрабуки, носимые устройства (например, интеллектуальные часы, интеллектуальные очки, наголовные дисплеи), цифровые телевизоры, настольные компьютеры, систему цифровых информационных табло и т.п.
[198] Каждый сервер в системе потоковой передачи контента может работать в качестве распределенного сервера, причем в этом случае данные, принимаемые из каждого сервера, могут распределяться.
[199] Объем изобретения включает в себя программное обеспечение или машиноисполняемые команды (например, операционную систему, приложение, микропрограммное обеспечение, программу и т.д.) для обеспечения возможности выполнения операций согласно способам различных вариантов осуществления в оборудовании или компьютере, энергонезависимый машиночитаемый носитель, имеющий такое программное обеспечение или команды, сохраненные и выполняемые в оборудовании или компьютере.
Промышленная применимость
[200] Варианты осуществления настоящего изобретения могут использоваться для того, чтобы кодировать или декодировать изображение.
Изобретение относится к кодированию/декодированию изображений. Техническим результатом является повышение эффективности кодирования/декодирования изображений. Результат достигается тем, что декодирование изображений включает в себя получение первой информации относительно того, может или нет сегментироваться текущий кадр, из потока битов, получение из потока битов второй информации относительно числа одного или более субкадров, включенных в текущий кадр, на основе первой информации, извлечение одного или более субкадров на основе второй информации и декодирование одного или более субкадров. 3 н. и 11 з.п. ф-лы, 12 ил.
1. Способ декодирования изображений, осуществляемый посредством оборудования декодирования изображений, при этом способ декодирования изображений содержит этапы, на которых:
получают первую информацию относительно того, может или нет сегментироваться текущий кадр, из потока битов;
получают из потока битов вторую информацию относительно числа одного или более субкадров, включенных в текущий кадр, на основе первой информации;
извлекают один или более субкадров на основе второй информации; и
декодируют один или более субкадров.
2. Способ декодирования изображений по п. 1, в котором на основе первой информации, имеющей первое значение, указывающее то, что текущий кадр не сегментируется, вторая информация не получается для потока битов и имеет предварительно определенное значение, указывающее то, что число субкадров равно 1.
3. Способ декодирования изображений по п. 1, в котором первая информация и вторая информация включаются в набор параметров кадра.
4. Способ декодирования изображений по п. 1, в котором на основе числа одного или более субкадров, равного двум или больше, первая информация имеет второе значение, указывающее то, что текущий кадр может сегментироваться.
5. Способ декодирования изображений по п. 1, в котором на основе первой информации, имеющей второе значение, указывающее то, что текущий кадр может сегментироваться, причем текущий кадр содержит одну плитку, и каждый из одного или более субкадров содержит один срез, вторая информация имеет предварительно определенное значение, указывающее то, что число субкадров больше 1.
6. Способ декодирования изображений по п. 1, в котором на основе первой информации, имеющей второе значение, указывающее то, что текущий кадр может сегментироваться, причем текущий кадр содержит одну плитку, и число одного или более субкадров равно 1, третья информация имеет первое значение, указывающее то, что каждый из одного или более субкадров включает в себя один срез.
7. Способ декодирования изображений по п. 1, в котором на основе неполучения первой информации из потока битов, первая информация имеет второе значение, указывающее то, что текущий кадр может сегментироваться.
8. Способ кодирования изображений, осуществляемый посредством оборудования кодирования изображений, при этом способ кодирования изображений содержит этапы, на которых:
извлекают один или более субкадров, включенных в текущий кадр;
кодируют первую информацию, указывающую то, может или нет сегментироваться текущий кадр, на основе числа одного или более субкадров; и
кодируют вторую информацию относительно числа одного или более субкадров на основе первой информации.
9. Способ кодирования изображений по п. 8, в котором вторая информация не кодируется на основе первой информации, имеющей первое значение, указывающее то, что текущий кадр не сегментируется.
10. Способ кодирования изображений по п. 8, в котором первая информация и вторая информация включаются в набор параметров кадра.
11. Способ кодирования изображений по п. 8, в котором на основе числа одного или более субкадров, равного двум или больше, первая информация имеет второе значение, указывающее то, что текущий кадр может сегментироваться.
12. Способ кодирования изображений по п. 8, в котором на основе первой информации, имеющей второе значение, указывающее то, что текущий кадр может сегментироваться, причем текущий кадр содержит одну плитку, и каждый из одного или более субкадров содержит один срез, вторая информация имеет предварительно определенное значение, указывающее то, что число одного или более субкадров больше 1.
13. Способ кодирования изображений по п. 8, в котором на основе первой информации, имеющей второе значение, указывающее то, что текущий кадр может сегментироваться, причем текущий кадр содержит одну плитку, и число одного или более субкадров равно 1, третья информация, указывающая то, что число срезов, включенных в каждый из одного или более субкадров.
14. Способ передачи потока битов, сформированного посредством способа кодирования изображений, при этом способ кодирования изображений содержит этапы, на которых:
извлекают один или более субкадров, включенных в текущий кадр;
кодируют первую информацию, указывающую то, может или нет сегментироваться текущий кадр, на основе числа одного или более субкадров;
кодируют вторую информацию относительно числа одного или более субкадров на основе первой информации; и
передают поток битов, включающий в себя, по меньшей мере, одну из первой информации или второй информации.
US 9584819 B2, 2017.02.28 | |||
US 9479774 B2, 2016.10.25 | |||
US 8989508 B2, 2015.03.24 | |||
US 2015334410 A1, 2015.11.19 | |||
US 2013202051 A1, 2013.08.08 | |||
US 9374585 B2, 2016.06.21 | |||
US 2019014337 A1, 2019.01.10 | |||
СПОСОБЫ И СИСТЕМЫ ДЛЯ ОБРАБОТКИ ИЗОБРАЖЕНИЙ | 2016 |
|
RU2705014C1 |
ВРЕМЕНА УДАЛЕНИЯ ИЗ БУФЕРА КОДИРОВАННЫХ КАРТИНОК, СИГНАЛИЗИРУЕМЫЕ В СООБЩЕНИЯХ ДОПОЛНИТЕЛЬНОЙ ИНФОРМАЦИИ РАСШИРЕНИЯ ТАКТИРОВАНИЯ КАРТИНОК И СУБ-КАРТИНОК | 2013 |
|
RU2630374C2 |
Авторы
Даты
2025-03-24—Публикация
2021-03-31—Подача