Область техники, к которой относится изобретение
[1] Настоящее раскрытие сущности относится к способу и оборудованию кодирования/декодирования изображений и к способу передачи потока битов, а более конкретно, к способу и оборудованию для кодирования/декодирования изображения с использованием фильтрации и к способу передачи потока битов, сформированного посредством способа/оборудования кодирования изображений настоящего раскрытия сущности.
Уровень техники
[2] В последнее время, спрос на высококачественные изображения высокого разрешения, к примеру, изображения высокой четкости (HD) и изображения сверхвысокой четкости (UHD) растет в различных областях техники. По мере того, как разрешение и качество данных изображений повышается, объем передаваемой информации или битов относительно увеличивается по сравнению с существующими данными изображений. Увеличение объема передаваемой информации или битов приводит к увеличению затрат на передачу и затрат на хранение.
[3] Соответственно, имеется потребность в высокоэффективной технологии сжатия изображений для эффективной передачи, сохранения и воспроизведения информации относительно высококачественных изображений высокого разрешения.
Сущность изобретения
Техническая задача
[4] Цель настоящего раскрытия сущности заключается в том, чтобы предоставлять способ и оборудование кодирования/декодирования изображений с повышенной эффективностью кодирования/декодирования.
[5] Цель настоящего раскрытия сущности заключается в том, чтобы предоставлять способ и оборудование для кодирования/декодирования изображения с использованием фильтрации.
[6] Другая цель настоящего раскрытия сущности заключается в том, чтобы предоставлять способ передачи потока битов, сформированного посредством способа или оборудования кодирования изображений согласно настоящему раскрытию сущности.
[7] Другая цель настоящего раскрытия сущности заключается в том, чтобы предоставлять носитель записи, сохраняющий поток битов, сформированный посредством способа или оборудования кодирования изображений согласно настоящему раскрытию сущности.
[8] Другая цель настоящего раскрытия сущности заключается в том, чтобы предоставлять носитель записи, сохраняющий поток битов, принимаемый, декодированный и используемый для того, чтобы восстанавливать изображение посредством оборудования декодирования изображений согласно настоящему раскрытию сущности.
[9] Технические проблемы, разрешаемые посредством настоящего раскрытия сущности, не ограничены вышеуказанными техническими проблемами, и другие технические проблемы, которые не описываются в данном документе, должны становиться очевидными для специалистов в данной области техники из нижеприведенного описания.
Техническое решение
[10] Согласно способу кодирования/декодирования изображений согласно аспекту настоящего раскрытия сущности, поскольку ситуация, в которой параллельная обработка фильтра удаления блочности является невозможной вследствие снижения размера блока преобразования, или ситуация, в которой перекрытие между фильтрами возникает вследствие различных целевых границ, не возникает, оборудование кодирования/декодирования изображений может всегда выполнять параллельную обработку фильтрации, и эффективность кодирования/декодирования изображений может увеличиваться.
[11] Способ декодирования изображений, осуществляемый посредством оборудования декодирования изображений согласно аспекту настоящего раскрытия сущности, может содержать извлечение восстановленного блока для текущего блока, извлечение целевой границы для восстановленного блока, определение длины фильтра для фильтра удаления блочности, который должен применяться для целевой границы, и применение фильтра удаления блочности для целевой границы на основе определенной длины фильтра. Длина фильтра может определяться на основе, по меньшей мере, одной из ширины или высоты блока преобразования, смежного с целевой границей.
[12] В способе декодирования изображений настоящего раскрытия сущности, текущий блок может представлять собой блок, к которому применяется режим на основе внутренних субсегментов (ISP).
[13] Способ декодирования изображений настоящего раскрытия сущности дополнительно может содержать определение типа границы для целевой границы, и тип границы может определяться как представляющий собой одно из вертикальной границы и горизонтальной границы.
[14] В способе декодирования изображений настоящего раскрытия сущности, на основе целевой границы, представляющей собой вертикальную границу, и ширины блока преобразования, равной или меньшей первого значения, длина фильтра может определяться в качестве первой длины.
[15] В способе декодирования изображений настоящего раскрытия сущности, на основе ширины блока преобразования, равной или большей второго значения, длина фильтра может определяться в качестве второй длины.
[16] В способе декодирования изображений настоящего раскрытия сущности, на основе ширины блока преобразования, большей первого значения и меньшей второго значения, длина фильтра может определяться в качестве третьей длины.
[17] В способе декодирования изображений настоящего раскрытия сущности, первое значение может быть равным 4, и первая длина может быть равной 1.
[18] В способе декодирования изображений настоящего раскрытия сущности, на основе целевой границы, представляющей собой горизонтальную границу, и высоты блока преобразования, равной или меньшей первого значения, длина фильтра может определяться в качестве первой длины.
[19] В способе декодирования изображений настоящего раскрытия сущности, на основе высоты блока преобразования, равной или большей второго значения, длина фильтра может определяться в качестве второй длины.
[20] В способе декодирования изображений настоящего раскрытия сущности, на основе высоты блока преобразования, большей первого значения и меньшей второго значения, длина фильтра может определяться в качестве третьей длины.
[21] В способе декодирования изображений настоящего раскрытия сущности, первое значение равно 4, и первая длина может быть равной 1.
[22] Оборудование декодирования изображений согласно другому аспекту настоящего раскрытия сущности может содержать запоминающее устройство и, по меньшей мере, один процессор.
[23] По меньшей мере, один процессор может извлекать восстановленный блок для текущего блока, извлекать целевую границу для восстановленного блока, определять длину фильтра для фильтра удаления блочности, который должен применяться к целевой границе, и применять фильтр удаления блочности к целевой границе на основе определенной длины фильтра. Длина фильтра может определяться на основе, по меньшей мере, одной из ширины или высоты блока преобразования, смежного с целевой границей.
[24] Способ кодирования изображений согласно другому аспекту настоящего раскрытия сущности может содержать извлечение восстановленного блока для текущего блока, извлечение целевой границы для восстановленного блока, определение длины фильтра для фильтра удаления блочности, который должен применяться для целевой границы, и применение фильтра удаления блочности для целевой границы на основе определенной длины фильтра. Длина фильтра может определяться на основе, по меньшей мере, одной из ширины или высоты блока преобразования, смежного с целевой границей.
[25] В способе кодирования изображений настоящего раскрытия сущности, текущий блок может представлять собой блок, к которому применяется режим на основе внутренних субсегментов (ISP).
[26] Помимо этого, машиночитаемый носитель записи согласно другому аспекту настоящего раскрытия сущности может сохранять поток битов, сформированный посредством оборудования кодирования изображений или способа кодирования изображений настоящего раскрытия сущности.
[27] Признаки, кратко обобщенные выше относительно настоящего раскрытия сущности, представляют собой просто примерные аспекты нижеприведенного подробного описания настоящего раскрытия сущности и не ограничивают объем настоящего раскрытия сущности.
Преимущества изобретения
[28] Согласно настоящему раскрытию сущности, можно предоставлять способ и оборудование кодирования/декодирования изображений с повышенной эффективностью кодирования/декодирования.
[29] Кроме того, согласно настоящему раскрытию сущности, можно предоставлять способ и оборудование для кодирования/декодирования изображения с использованием фильтрации.
[30] Кроме того, согласно настоящему раскрытию сущности, можно предоставлять способ передачи потока битов, сформированного посредством способа или оборудования кодирования изображений согласно настоящему раскрытию сущности.
[31] Кроме того, согласно настоящему раскрытию сущности, можно предоставлять носитель записи, сохраняющий поток битов, сформированный посредством способа или оборудования кодирования изображений согласно настоящему раскрытию сущности.
[32] Кроме того, согласно настоящему раскрытию сущности, можно предоставлять носитель записи, сохраняющий поток битов, принимаемый, декодированный и используемый для того, чтобы восстанавливать изображение посредством оборудования декодирования изображений согласно настоящему раскрытию сущности.
[33] Специалисты в данной области техники должны принимать во внимание, что преимущества, которые могут достигаться через настоящее раскрытие сущности, не ограничены тем, что конкретно описано выше, и другие преимущества настоящего раскрытия сущности должны более ясно пониматься из подробного описания.
Краткое описание чертежей
[34] Фиг. 1 является видом, схематично показывающим систему кодирования видео, к которой является применимым вариант осуществления настоящего раскрытия сущности.
[35] Фиг. 2 является видом, схематично показывающим оборудование кодирования изображений, к которому является применимым вариант осуществления настоящего раскрытия сущности.
[36] Фиг. 3 является видом, схематично показывающим оборудование декодирования изображений, к которому является применимым вариант осуществления настоящего раскрытия сущности.
[37] Фиг. 4 является видом, иллюстрирующим вариант осуществления типа сегментации блока согласно многотипной древовидной структуре.
[38] Фиг. 5 является видом, иллюстрирующим механизм передачи в служебных сигналах информации разбиения на блоки в дереве квадрантов с вложенной многотипной древовидной структурой согласно настоящему раскрытию сущности.
[39] Фиг. 6 является видом, иллюстрирующим способ применения фильтра удаления блочности согласно варианту осуществления.
[40] Фиг. 7 является видом, иллюстрирующим способ определения интенсивности фильтрации в фильтре удаления блочности.
[41] Фиг. 8 является видом, иллюстрирующим режим на основе внутренних субсегментов (ISP) из технологий внутреннего прогнозирования.
[42] Фиг. 9-11 являются видами, иллюстрирующими способ определения длины фильтра для фильтра удаления блочности, применяемого к целевой границе.
[43] Фиг. 12 является видом, иллюстрирующим способ кодирования/декодирования изображений согласно варианту осуществления настоящего раскрытия сущности.
[44] Фиг. 13 и 14 являются видами, иллюстрирующими способ определения длины фильтра удаления блочности согласно другому варианту осуществления настоящего раскрытия сущности.
[45] Фиг. 15 и 16 являются видами, иллюстрирующими способ определения длины фильтра удаления блочности согласно другому варианту осуществления настоящего раскрытия сущности.
[46] Фиг. 17 является видом, показывающим систему потоковой передачи контента, к которой является применимым вариант осуществления настоящего раскрытия сущности.
Оптимальный режим осуществления изобретения
[47] В дальнейшем в этом документе подробно описываются варианты осуществления настоящего раскрытия сущности со ссылкой на прилагаемые чертежи, так что они легко могут реализовываться специалистами в данной области техники. Тем не менее, настоящее раскрытие сущности может реализовываться во всевозможных формах и не ограничено вариантами осуществления, описанными в данном документе.
[48] При описании настоящего раскрытия сущности, если определяется то, что подробное описание связанной известной функции или конструкции приводит к излишней неоднозначности объема настоящего раскрытия сущности, ее подробное описание опускается. На чертежах, части, не связанные с описанием настоящего раскрытия сущности, опускаются, и аналогичные ссылки с номерами присоединяются к аналогичным частям.
[49] В настоящем раскрытии сущности, когда компонент "соединяется", "спаривается" или "связывается" с другим компонентом, это может включать в себя не только непосредственную взаимосвязь на основе соединения, но также и косвенную взаимосвязь на основе соединения, в которой присутствует промежуточный компонент. Помимо этого, когда компонент "включает в себя" или "имеет" другие компоненты, это означает то, что другие компоненты могут включаться дополнительно, а не исключение других компонентов, если не указано иное.
[50] В настоящем раскрытии сущности, термины "первый", "второй" и т.д. могут использоваться только для целей различения одного компонента от других компонентов и не ограничивают порядок или важность компонентов, если не указано иное. Соответственно, в пределах объема настоящего раскрытия сущности, первый компонент в одном варианте осуществления может называться "вторым компонентом" в другом варианте осуществления, и аналогично, второй компонент в одном варианте осуществления может называться "первым компонентом" в другом варианте осуществления.
[51] В настоящем раскрытии сущности, компоненты, которые отличаются друг от друга, имеют намерение ясно описывать каждый признак и не означают то, что компоненты обязательно разделяются. Таким образом, множество компонентов могут интегрироваться и реализовываться в одном аппаратном или программном модуле, или один компонент может распределяться и реализовываться во множестве аппаратных или программных модулей. Следовательно, даже если не указано иное, такие варианты осуществления, в которых компоненты интегрируются, или компонент распределяется, также включаются в объем настоящего раскрытия сущности.
[52] В настоящем раскрытии сущности, компоненты, описанные в различных вариантах осуществления, не обязательно означают существенные компоненты, и некоторые компоненты могут представлять собой необязательные компоненты. Соответственно, вариант осуществления, состоящий из поднабора компонентов, описанных в варианте осуществления, также включается в объем настоящего раскрытия сущности. Помимо этого, варианты осуществления, включающие в себя другие компоненты, в дополнение к компонентам, описанным в различных вариантах осуществления, включаются в объем настоящего раскрытия сущности.
[53] Настоящее раскрытие сущности относится к кодированию и декодированию изображения, и термины, используемые в настоящем раскрытии сущности, могут иметь общий смысл, широко используемый в области техники, которой принадлежит настоящее раскрытие сущности, если не задаются впервые в настоящем раскрытии сущности.
[54] В настоящем раскрытии сущности, "кадр", в общем, означает единицу, представляющую одно изображение в конкретный период времени, и срез/плитка представляет собой единицу кодирования, составляющую часть кадра, и один кадр может состоять из одного или более срезов/плиток. Помимо этого, срез/плитка может включать в себя одну или более единиц дерева кодирования (CTU).
[55] В настоящем раскрытии сущности, "пиксел" или "пел" может означать наименьшую единицу, составляющую один кадр (или изображение). Помимо этого, "выборка" может использоваться в качестве термина, соответствующего пикселу. Выборка, в общем, может представлять пиксел или значение пиксела и может представлять только пиксел/пикселное значение компонента сигнала яркости либо только пиксел/пикселное значение компонента сигнала цветности.
[56] В настоящем раскрытии сущности, "единица" может представлять базовую единицу обработки изображений. Единица может включать в себя, по меньшей мере, одно из конкретной области кадра и информации, связанной с областью. Единица может использоваться взаимозаменяемо с такими терминами, как "массив выборок", "блок" или "зона" в некоторых случаях. В общем случае, блок MxN может включать в себя выборки (или массивы выборок) либо набор (или массив) коэффициентов преобразования из M столбцов и N строк.
[57] В настоящем раскрытии сущности, "текущий блок" может означать одно из "текущего блока кодирования", "текущей единицы кодирования", "целевого блока кодирования", "целевого блока декодирования" или "целевого блока обработки". Когда прогнозирование выполняется, "текущий блок" может означать "текущий блок прогнозирования" или "целевой блок прогнозирования". Когда преобразование (обратное преобразование)/квантование (деквантование) выполняется, "текущий блок" может означать "текущий блок преобразования" или "целевой блок преобразования". Когда фильтрация выполняется, "текущий блок" может означать "целевой блок фильтрации".
[58] В настоящем раскрытии сущности, термин "/" и "" должен интерпретироваться как указывающий "и/или". Например, выражение "A/B" и "A, B" может означать "A и/или B". Дополнительно, "A/B/C" и "A/B/C" может означать "по меньшей мере, одно из A, B и/или C".
[59] В настоящем раскрытии сущности, термин "или" должен интерпретироваться как указывающий "и/или". Например, выражение "A или B" может содержать 1) только "A", 2) только "B" и/или 3) "как A, так и B". Другими словами, в настоящем раскрытии сущности, термин "или" должен интерпретироваться как указывающий "дополнительно или альтернативно".
[60] Общее представление системы кодирования видео
[61] Фиг. 1 является видом, показывающим систему кодирования видео согласно настоящему раскрытию сущности.
[62] Система кодирования видео согласно варианту осуществления может включать в себя оборудование 10 кодирования и оборудование 20 декодирования. Оборудование 10 кодирования может доставлять кодированную информацию или данные видео и/или изображений в оборудование 20 декодирования в форме файла или потоковой передачи через цифровой носитель хранения данных или сеть.
[63] Оборудование 10 кодирования согласно варианту осуществления может включать в себя формирователь 11 видеоисточников, модуль 12 кодирования и передатчик 13. Оборудование 20 декодирования согласно варианту осуществления может включать в себя приемник 21, модуль 22 декодирования и модуль 23 рендеринга. Модуль 12 кодирования может называться "модулем кодирования видео/изображений", и модуль 22 декодирования может называться "модулем декодирования видео/изображений". Передатчик 13 может включаться в модуль 12 кодирования. Приемник 21 может включаться в модуль 22 декодирования. Модуль 23 рендеринга может включать в себя дисплей, и дисплей может быть сконфигурирован как отдельное устройство или внешний компонент.
[64] Формирователь 11 видеоисточников может получать видео/изображение через процесс захвата, синтезирования или формирования видео/изображения. Формирователь 11 видеоисточников может включать в себя устройство захвата видео/изображений и/или устройство формирования видео/изображений. Устройство захвата видео/изображений может включать в себя, например, одну или более камер, архивы видео/изображений, включающие в себя ранее захваченные видео/изображения, и т.п. Устройство формирования видео/изображений может включать в себя, например, компьютеры, планшетные компьютеры и смартфоны и может (электронно) формировать видео/изображения. Например, виртуальное видео/изображение может формироваться через компьютер и т.п. В этом случае, процесс захвата видео/изображений может заменяться посредством процесса формирования связанных данных.
[65] Модуль 12 кодирования может кодировать входное видео/изображение. Модуль 12 кодирования может выполнять последовательность процедур, таких как прогнозирование, преобразование и квантование, для эффективности сжатия и кодирования. Модуль 12 кодирования может выводить кодированные данные (кодированную информацию видео/изображений) в форме потока битов.
[66] Передатчик 13 может передавать кодированную информацию или данные видео/изображений, выводимую в форме потока битов, в приемник 21 оборудования 20 декодирования через цифровой носитель хранения данных или сеть в форме файла или потоковой передачи. Цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик 13 может включать в себя элемент для формирования мультимедийного файла через предварительно определенный формат файлов и может включать в себя элемент для передачи через широковещательную сеть/сеть связи. Приемник 21 может извлекать/принимать поток битов из носителя хранения данных или сети и передавать поток битов в модуль 22 декодирования.
[67] Модуль 22 декодирования может декодировать видео/изображение посредством выполнения последовательности процедур, таких как деквантование, обратное преобразование и прогнозирование, соответствующих работе модуля 12 кодирования.
[68] Модуль 23 рендеринга может подготавливать посредством рендеринга декодированное видео/изображение. Подготовленное посредством рендеринга видео/изображение может отображаться через дисплей.
[69] Общее представление оборудования кодирования изображений
[70] Фиг. 2 является видом, схематично показывающим оборудование кодирования изображений, к которому является применимым вариант осуществления настоящего раскрытия сущности.
[71] Как показано на фиг. 2, оборудование 100 кодирования изображений может включать в себя модуль 110 сегментации изображений, вычитатель 115, преобразователь 120, квантователь 130, деквантователь 140, обратный преобразователь 150, сумматор 155, фильтр 160, запоминающее устройство 170, модуль 180 взаимного прогнозирования, модуль 185 внутреннего прогнозирования и энтропийный кодер 190. Модуль 180 взаимного прогнозирования и модуль 185 внутреннего прогнозирования могут совместно называться "модулем прогнозирования". Преобразователь 120, квантователь 130, деквантователь 140 и обратный преобразователь 150 могут включаться в остаточный процессор. Остаточный процессор дополнительно может включать в себя вычитатель 115.
[72] Все или, по меньшей мере, часть из множества компонентов, конфигурирующих оборудование 100 кодирования изображений, могут быть сконфигурированы посредством одного аппаратного компонента (например, кодера или процессора) в некоторых вариантах осуществления. Помимо этого, запоминающее устройство 170 может включать в себя буфер декодированных кадров (DPB) и может быть сконфигурировано посредством цифрового носителя хранения данных.
[73] Модуль 110 сегментации изображений может сегментировать входное изображение (либо кадр или кинокадр), вводимое в оборудование 100 кодирования изображений, на одну более единиц обработки. Например, единица обработки может называться "единицей кодирования (CU)". Единица кодирования может получаться посредством рекурсивной сегментации единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU) согласно структуре в виде дерева квадрантов, двоичного дерева и троичного дерева (QT/BT/TT). Например, одна единица кодирования может сегментироваться на множество единиц кодирования большей глубины на основе структуры в виде дерева квадрантов, структуры в виде двоичного дерева и/или троичной структуры. Для сегментации единицы кодирования, сначала может применяться структура в виде дерева квадрантов, и впоследствии может применяться структура в виде двоичного дерева и/или троичная структура. Процедура кодирования согласно настоящему раскрытию сущности может выполняться на основе конечной единицы кодирования, которая более не сегментируется. Наибольшая единица кодирования может использоваться в качестве конечной единицы кодирования, или единица кодирования большей глубины, полученной посредством сегментации наибольшей единицы кодирования, может использоваться в качестве конечной единицы кодирования. Здесь, процедура кодирования может включать в себя процедуру прогнозирования, преобразования и восстановления, которая описывается ниже. В качестве другого примера, единица обработки процедуры кодирования может представлять собой единицу прогнозирования (PU) или единицу преобразования (TU). Единица прогнозирования и единица преобразования могут разбиваться или сегментироваться из конечной единицы кодирования. Единица прогнозирования может представлять собой единицу выборочного прогнозирования, и единица преобразования может представлять собой единицу для извлечения коэффициента преобразования и/или единицу для извлечения остаточного сигнала из коэффициента преобразования.
[74] Модуль прогнозирования (модуль 180 взаимного прогнозирования или модуль 185 внутреннего прогнозирования) может выполнять прогнозирование относительно блока, который должен обрабатываться (текущего блока), и формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование, на основе текущего блока или CU. Модуль прогнозирования может формировать различную информацию, связанную с прогнозированием текущего блока, и передавать сформированную информацию в энтропийный кодер 190. Информация относительно прогнозирования может кодироваться в энтропийном кодере 190 и выводиться в форме потока битов.
[75] Модуль 185 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки для ссылки могут быть расположены в окружении текущего блока или могут быть расположены с разнесением согласно режиму внутреннего прогнозирования и/или технологии внутреннего прогнозирования. Режимы внутреннего прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Ненаправленный режим может включать в себя, например, DC-режим и планарный режим. Направленный режим может включать в себя, например, 33 режима направленного прогнозирования или 65 режимов направленного прогнозирования согласно степени детальности направления прогнозирования. Тем не менее, это представляет собой просто пример, большее или меньшее число режимов направленного прогнозирования может использоваться в зависимости от настройки. Модуль 185 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.
[76] Модуль 180 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными или отличающимися. Временной соседний блок может называться "совместно размещенным опорным блоком", "совместно размещенной CU (colCU)" и т.п. Опорный кадр, включающий в себя временной соседний блок, может называться "совместно размещенным кадром (colPic)". Например, модуль 180 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и формировать информацию, указывающую то, какой возможный вариант используется для того, чтобы извлекать вектор движения и/или индекс опорного кадра текущего блока. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования. Например, в случае режима пропуска и режима объединения, модуль 180 взаимного прогнозирования может использовать информацию движения соседнего блока в качестве информации движения текущего блока. В случае режима пропуска, в отличие от режима объединения, остаточный сигнал может не передаваться. В случае режима прогнозирования векторов движения (MVP), вектор движения соседнего блока может использоваться в качестве предиктора вектора движения, и вектор движения текущего блока может передаваться в служебных сигналах посредством кодирования разности векторов движения и индикатора для предиктора вектора движения. Разность векторов движения может означать разность между вектором движения текущего блока и предиктором вектора движения.
[77] Модуль прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования и технологий прогнозирования, описанных ниже. Например, модуль прогнозирования может не только применять внутреннее прогнозирование или взаимное прогнозирование, но также и одновременно применять как внутреннее прогнозирование, так и взаимное прогнозирование, чтобы прогнозировать текущий блок. Способ прогнозирования с одновременным применением как внутреннего прогнозирования, так и взаимного прогнозирования для прогнозирования текущего блока может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может выполнять внутриблочное копирование (IBC) для прогнозирования текущего блока. Внутриблочное копирование может использоваться для кодирования изображений/видео контента игры и т.п., например, для кодирования экранного контента (SCC). IBC представляет собой способ прогнозирования текущего кадра с использованием ранее восстановленного опорного блока в текущем кадре в местоположении, разнесенном от текущего блока на предварительно определенное расстояние. Когда IBC применяется, местоположение опорного блока в текущем кадре может кодироваться как вектор (блочный вектор), соответствующий предварительно определенному расстоянию.
[78] Прогнозный сигнал, сформированный посредством модуля прогнозирования, может использоваться для того, чтобы формировать восстановленный сигнал или формировать остаточный сигнал. Вычитатель 115 может формировать остаточный сигнал (остаточный блок или массив остаточных выборок) посредством вычитания прогнозного сигнала (прогнозированного блока или массива прогнозных выборок), выводимого из модуля прогнозирования, из сигнала входного изображения (исходного блока или массива исходных выборок). Сформированный остаточный сигнал может передаваться в преобразователь 120.
[79] Преобразователь 120 может формировать коэффициенты преобразования посредством применения технологии преобразования к остаточному сигналу. Например, технология преобразования может включать в себя, по меньшей мере, одно из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования Карунена-Лоэва (KLT), преобразования на основе графа (GBT) или условно нелинейного преобразования (CNT). Здесь, GBT означает преобразование, полученное из графа, когда информация взаимосвязи между пикселами представляется посредством графа. CNT означает преобразование, полученное на основе прогнозного сигнала, сформированного с использованием всех ранее восстановленных пикселов. Помимо этого, процесс преобразования может применяться к квадратным пикселным блокам, имеющим идентичный размер, или может применяться к блокам, имеющим переменный размер, а не квадратный.
[80] Квантователь 130 может квантовать коэффициенты преобразования и передавать их в энтропийный кодер 190. Энтропийный кодер 190 может кодировать квантованный сигнал (информацию относительно квантованных коэффициентов преобразования) и выводить поток битов. Информация относительно квантованных коэффициентов преобразования может называться "остаточной информацией". Квантователь 130 может перекомпоновывать квантованные коэффициенты преобразования в блочной форме в одномерную векторную форму на основе порядка сканирования коэффициентов и формировать информацию относительно квантованных коэффициентов преобразования на основе квантованных коэффициентов преобразования в одномерной векторной форме.
[81] Энтропийный кодер 190 может осуществлять различные способы кодирования, такие как, например, кодирование экспоненциальным кодом Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и т.п. Энтропийный кодер 190 может кодировать информацию, необходимую для восстановления видео/изображений, отличную от квантованных коэффициентов преобразования (например, значений синтаксических элементов и т.д.), вместе или отдельно. Кодированная информация (например, кодированная информация видео/изображений) может передаваться или сохраняться в единицах слоев абстрагирования от сети (NAL) в форме потока битов. Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Передаваемая в служебных сигналах информация, передаваемая информация и/или синтаксические элементы, описанные в настоящем раскрытии сущности, могут кодироваться через вышеописанную процедуру кодирования и включаться в поток битов.
[82] Поток битов может передаваться по сети или может сохраняться на цифровом носителе хранения данных. Сеть может включать в себя широковещательную сеть и/или сеть связи, и цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как, USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик (не показан), передающий сигнал, выводимый из энтропийного кодера 190, и/или модуль хранения (не показан), сохраняющий сигнал, могут включаться в качестве внутреннего/внешнего элемента оборудования 100 кодирования, и альтернативно, передатчик может включаться в энтропийный кодер 190.
[83] Квантованные коэффициенты преобразования, выводимые из квантователя 130, могут использоваться для того, чтобы формировать остаточный сигнал. Например, остаточный сигнал (остаточный блок или остаточные выборки) может восстанавливаться посредством применения деквантования и обратного преобразования к квантованным коэффициентам преобразования через деквантователь 140 и обратный преобразователь 150.
[84] Сумматор 155 суммирует восстановленный остаточный сигнал с прогнозным сигналом, выводимым из модуля 180 взаимного прогнозирования или модуля 185 внутреннего прогнозирования, с тем чтобы формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок). Если отсутствует остаток для блока, который должен обрабатываться, к примеру, в случае, в котором режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока. Сумматор 155 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, и может использоваться для взаимного прогнозирования следующего кадра посредством фильтрации, как описано ниже.
[85] Между тем, преобразование сигнала яркости с масштабированием сигнала цветности (LMCS) может применяться в процессе кодирования кадров, как описано ниже.
[86] Фильтр 160 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 160 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 170, а именно, в DPB запоминающего устройства 170. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, дискретизированное адаптивное смещение, адаптивный контурный фильтр, билатеральный фильтр и т.п. Фильтр 160 может формировать различную информацию, связанную с фильтрацией, и передавать сформированную информацию в энтропийный кодер 190, как описано ниже в описании каждого способа фильтрации. Информация, связанная с фильтрацией, может кодироваться посредством энтропийного кодера 190 и выводиться в форме потока битов.
[87] Модифицированный восстановленный кадр, передаваемый в запоминающее устройство 170, может использоваться в качестве опорного кадра в модуле 180 взаимного прогнозирования. Когда взаимное прогнозирование применяется через оборудование 100 кодирования изображений, рассогласование прогнозирования между оборудованием 100 кодирования изображений и оборудованием декодирования изображений может исключаться, и эффективность кодирования может повышаться.
[88] DPB запоминающего устройства 170 может сохранять модифицированный восстановленный кадр для использования в качестве опорного кадра в модуле 180 взаимного прогнозирования. Запоминающее устройство 170 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или кодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 180 взаимного прогнозирования и использоваться в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 170 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и может передавать восстановленные выборки в модуль 185 внутреннего прогнозирования.
[89] Общее представление оборудования декодирования изображений
[90] Фиг. 3 является видом, схематично показывающим оборудование декодирования изображений, к которому является применимым вариант осуществления настоящего раскрытия сущности.
[91] Как показано на фиг. 3, оборудование 200 декодирования изображений может включать в себя энтропийный декодер 210, деквантователь 220, обратный преобразователь 230, сумматор 235, фильтр 240, запоминающее устройство 250, модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования. Модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования могут совместно называться "модулем прогнозирования". Деквантователь 220 и обратный преобразователь 230 могут включаться в остаточный процессор.
[92] Все или, по меньшей мере, часть из множества компонентов, конфигурирующих оборудование 200 декодирования изображений, могут быть сконфигурированы посредством аппаратного компонента (например, декодера или процессора) согласно варианту осуществления. Помимо этого, запоминающее устройство 250 может включать в себя буфер декодированных кадров (DPB) или может быть сконфигурировано посредством цифрового носителя хранения данных.
[93] Оборудование 200 декодирования изображений, которое принимает поток битов, включающий в себя информацию видео/изображений, может восстанавливать изображение посредством выполнения процесса, соответствующего процессу, выполняемому посредством оборудования 100 кодирования изображений по фиг. 1. Например, оборудование 200 декодирования изображений может выполнять декодирование с использованием единицы обработки, применяемой в оборудовании кодирования изображений. Таким образом, единица обработки декодирования, например, может представлять собой единицу кодирования. Единица кодирования может получаться посредством сегментации единицы дерева кодирования или наибольшей единицы кодирования. Восстановленный сигнал изображения, декодированный и выводимый посредством оборудования 200 декодирования, может воспроизводиться посредством оборудования воспроизведения.
[94] Оборудование 200 декодирования изображений может принимать сигнал, выводимый из оборудования кодирования изображений по фиг. 1 в форме потока битов. Принимаемый сигнал может декодироваться через энтропийный декодер 210. Например, энтропийный декодер 210 может синтаксически анализировать поток битов, чтобы извлекать информацию (например, информацию видео/изображений), необходимую для восстановления изображений (или восстановления кадров). Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Оборудование декодирования изображений дополнительно может декодировать кадр на основе информации относительно набора параметров и/или общей информации ограничений. Передаваемая в служебных сигналах/принимаемая информация и/или синтаксические элементы, описанные в настоящем раскрытии сущности, могут декодироваться посредством процедуры декодирования и получаться из потока битов. Например, энтропийный декодер 210 декодирует информацию в потоке битов на основе способа кодирования, такого как кодирование экспоненциальным кодом Голомба, CAVLC или CABAC, и выходных значений синтаксических элементов, требуемых для восстановления изображений, и квантованных значений коэффициентов преобразования для остатка. Более конкретно, способ энтропийного CABAC-декодирования может принимать элемент разрешения, соответствующий каждому синтаксическому элементу в потоке битов, определять контекстную модель с использованием информации целевого синтаксического элемента декодирования, информации декодирования соседнего блока и целевого блока декодирования или информации символа/элемента разрешения, декодированного на предыдущей стадии, и выполнять арифметическое декодирование для элемента разрешения посредством прогнозирования вероятности появления элемента разрешения согласно определенной контекстной модели и формировать символ, соответствующий значению каждого синтаксического элемента. В этом случае, способ энтропийного CABAC-декодирования может обновлять контекстную модель посредством использования информации декодированного символа/элемента разрешения для контекстной модели следующего символа/элемента разрешения после определения контекстной модели. Информация, связанная с прогнозированием из информации, декодированной посредством энтропийного декодера 210, может предоставляться в модуль прогнозирования (модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования), и остаточное значение, для которого энтропийное декодирование выполнено в энтропийном декодере 210, т.е. квантованные коэффициенты преобразования и связанная информация параметров, может вводиться в деквантователь 220. Помимо этого, информация относительно фильтрации из информации, декодированной посредством энтропийного декодера 210, может предоставляться в фильтр 240. Между тем, приемник (не показан) для приема сигнала, выводимого из оборудования кодирования изображений, может быть дополнительно сконфигурирован в качестве внутреннего/внешнего элемента оборудования 200 декодирования изображений, или приемник может представлять собой компонент энтропийного декодера 210.
[95] Между тем, оборудование декодирования изображений согласно настоящему раскрытию сущности может называться "оборудованием декодирования видео/изображений/кадров". Оборудование декодирования изображений может классифицироваться на информационный декодер (декодер информации видео/изображений/кадров) и выборочный декодер (декодер выборок видео/изображений/кадров). Информационный декодер может включать в себя энтропийный декодер 210. Выборочный декодер может включать в себя, по меньшей мере, одно из деквантователя 220, обратного преобразователя 230, сумматора 235, фильтра 240, запоминающего устройства 250, модуля 260 взаимного прогнозирования или модуля 265 внутреннего прогнозирования.
[96] Деквантователь 220 может деквантовать квантованные коэффициенты преобразования и выводить коэффициенты преобразования. Деквантователь 220 может перекомпоновывать квантованные коэффициенты преобразования в форме двумерного блока. В этом случае, перекомпоновка может выполняться на основе порядка сканирования коэффициентов, выполняемого в оборудовании кодирования изображений. Деквантователь 220 может выполнять деквантование для квантованных коэффициентов преобразования посредством использования параметра квантования (например, информации размера шага квантования) и получать коэффициенты преобразования.
[97] Обратный преобразователь 230 может обратно преобразовывать коэффициенты преобразования, чтобы получать остаточный сигнал (остаточный блок, массив остаточных выборок).
[98] Модуль прогнозирования может выполнять прогнозирование для текущего блока и может формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование к текущему блоку, на основе информации относительно прогнозирования, выводимой из энтропийного декодера 210, и может определять конкретный режим внутреннего/взаимного прогнозирования.
[99] Идентично тому, что описано в модуле прогнозирования оборудования 100 кодирования изображений, модуль прогнозирования может формировать прогнозный сигнал на основе различных способов (технологий) прогнозирования, которые описываются ниже.
[100] Модуль 265 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Описание модуля 185 внутреннего прогнозирования в равной степени применяется к модулю 265 внутреннего прогнозирования.
[101] Модуль 260 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Например, модуль 260 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и извлекать вектор движения текущего блока и/или индекс опорного кадра на основе принимаемой информации выбора возможных вариантов. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования, и информация относительно прогнозирования может включать в себя информацию, указывающую режим взаимного прогнозирования для текущего блока.
[102] Сумматор 235 может формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок) посредством суммирования полученного остаточного сигнала с прогнозным сигналом (прогнозированным блоком, массивом прогнозированных выборок), выводимым из модуля прогнозирования (включающего в себя модуль 260 взаимного прогнозирования и/или модуль 265 внутреннего прогнозирования). Описание сумматора 155 является в равной степени применимым к сумматору 235.
[103] Между тем, преобразование сигнала яркости с масштабированием сигнала цветности (LMCS) может применяться в процессе декодирования кадров, как описано ниже.
[104] Фильтр 240 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 240 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 250, а именно, в DPB запоминающего устройства 250. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, дискретизированное адаптивное смещение, адаптивный контурный фильтр, билатеральный фильтр и т.п.
[105] (Модифицированный) восстановленный кадр, сохраненный в DPB запоминающего устройства 250, может использоваться в качестве опорного кадра в модуле 260 взаимного прогнозирования. Запоминающее устройство 250 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или декодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 260 взаимного прогнозирования, так что она используется в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 250 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и передавать восстановленные выборки в модуль 265 внутреннего прогнозирования.
[106] В настоящем раскрытии сущности, варианты осуществления, описанные в фильтре 160, модуле 180 взаимного прогнозирования и модуле 185 внутреннего прогнозирования оборудования 100 кодирования, могут в равной или соответствующей степени применяться к фильтру 240, модулю 260 взаимного прогнозирования и модулю 265 внутреннего прогнозирования оборудования 200 декодирования изображений.
[107] Общее представление сегментации CTU
[108] Как описано выше, единица кодирования может получаться посредством рекурсивной сегментации единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU) согласно структуре в виде дерева квадрантов/двоичного дерева/троичного дерева (QT/BT/TT). Например, CTU может сначала сегментироваться на структуры в виде дерева квадрантов. После этого, узлы-листья структуры в виде дерева квадрантов дополнительно могут сегментироваться посредством многотипной древовидной структуры.
[109] Сегментация согласно дереву квадрантов означает то, что текущая CU (или CTU) сегментируется одинаково на четыре. Посредством сегментации согласно дереву квадрантов, текущая CU может сегментироваться на четыре CU, имеющие идентичную ширину и идентичную высоту. Когда текущая CU более не сегментируется на структуру в виде дерева квадрантов, текущая CU соответствует узлу-листу структуры в виде дерева квадрантов. CU, соответствующая узлу-листу структуры в виде дерева квадрантов, более не может сегментироваться и может использоваться в качестве вышеописанной конечной единицы кодирования. Альтернативно, CU, соответствующая узлу-листу структуры в виде дерева квадрантов, дополнительно может сегментироваться посредством многотипной древовидной структуры.
[110] Фиг. 4 является видом, показывающим вариант осуществления типа сегментации блока согласно многотипной древовидной структуре. Сегментация согласно многотипной древовидной структуре может включать в себя два типа разбиения согласно структуре в виде двоичного дерева и два типа разбиения согласно структуре в виде троичного дерева.
[111] Два типа разбиения согласно структуре в виде двоичного дерева могут включать в себя вертикальное двоичное разбиение (SPLIT_BT_VER) и горизонтальное двоичное разбиение (SPLIT_BT_HOR). Вертикальное двоичное разбиение (SPLIT_BT_VER) означает то, что текущая CU разбивается одинаково напополам в вертикальном направлении. Как показано на фиг. 4, посредством вертикального двоичного разбиения, могут формироваться две CU, имеющие высоту, идентичную высоте текущей CU, и имеющие ширину, которая составляет половину от ширины текущей CU. Горизонтальное двоичное разбиение (SPLIT_BT_HOR) означает то, что текущая CU разбивается одинаково напополам в горизонтальном направлении. Как показано на фиг. 4, посредством горизонтального двоичного разбиения, могут формироваться две CU, имеющие высоту, которая составляет половину от высоты текущей CU, и имеющие ширину, идентичную ширине текущей CU.
[112] Два типа разбиения согласно структуре в виде троичного дерева могут включать в себя вертикальное троичное разбиение (SPLIT_TT_VER) и горизонтальное троичное разбиение (SPLIT_TT_HOR). В вертикальном троичном разбиении (SPLIT_TT_VER), текущая CU разбивается в вертикальном направлении в соотношении 1:2:1. Как показано на фиг. 4, посредством вертикального троичного разбиения, могут формироваться две CU, имеющие высоту, идентичную высоте текущей CU, и имеющие ширину, которая составляет 1/4 от ширины текущей CU, и CU, имеющая высоту, идентичную высоте текущей CU, и имеющая ширину, которая составляет половину от ширины текущей CU. В горизонтальном троичном разбиении (SPLIT_TT_HOR), текущая CU разбивается в горизонтальном направлении в соотношении 1:2:1. Как показано на фиг. 4, посредством горизонтального троичного разбиения, могут формироваться две CU, имеющие высоту, которая составляет 1/4 от высоты текущей CU, и имеющие ширину, идентичную ширине текущей CU, и CU, имеющая высоту, которая составляет половину от высоты текущей CU, и имеющая ширины, идентичную ширине текущей CU.
[113] Фиг. 5 является видом, показывающим механизм передачи в служебных сигналах информации разбиения на сегменты в дереве квадрантов с вложенной многотипной древовидной структурой согласно настоящему раскрытию сущности.
[114] Здесь, CTU трактуется в качестве корневого узла дерева квадрантов и сегментируется в первый раз на структуру в виде дерева квадрантов. Информация (например, qt_split_flag), указывающая то, выполняется или нет разбиение на дерево квадрантов для текущей CU (CTU или узла (QT_node) дерева квадрантов), передается в служебных сигналах. Например, когда qt_split_flag имеет первое значение (например, "1"), текущая CU может сегментироваться на дерево квадрантов. Помимо этого, когда qt_split_flag имеет второе значение (например, "0"), текущая CU не сегментируется на дерево квадрантов, но становится узлом-листом (QT_leaf_node) дерева квадрантов. Каждый узел-лист дерева квадрантов затем дополнительно может сегментироваться на многотипные древовидные структуры. Таким образом, узел-лист дерева квадрантов может становиться узлом (MTT_node) многотипного дерева. В многотипной древовидной структуре, первый флаг (например, Mtt_split_cu_flag) передается в служебных сигналах, чтобы указывать то, сегментируется или нет дополнительно текущий узел. Если соответствующий узел дополнительно сегментируется (например, если первый флаг равен 1), второй флаг (например, Mtt_split_cu_vertical_flag) может передаваться в служебных сигналах, чтобы указывать направление разбиения. Например, направление разбиения может представлять собой вертикальное направление, если второй флаг равен 1, и может представлять собой горизонтальное направление, если второй флаг равен 0. Затем третий флаг (например, Mtt_split_cu_binary_flag) может передаваться в служебных сигналах, чтобы указывать то, представляет тип разбиения собой тип на основе двоичного разбиения или тип на основе троичного разбиения. Например, тип разбиения может представлять собой тип на основе двоичного разбиения, когда третий флаг равен 1, и может представлять собой тип на основе троичного разбиения, когда третий флаг равен 0. Узел многотипного дерева, полученного посредством двоичного разбиения или троичного разбиения, дополнительно может сегментироваться на многотипные древовидные структуры. Тем не менее, узел многотипного дерева может не сегментироваться на структуры в виде дерева квадрантов. Если первый флаг равен 0, соответствующий узел многотипного дерева более не разбивается, но становится узлом-листом (MTT_leaf_node) многотипного дерева. CU, соответствующая узлу-листу многотипного дерева, может использоваться в качестве вышеописанной конечной единицы кодирования.
[115] На основе mtt_split_cu_vertical_flag и mtt_split_cu_binary_flag, режим разбиения на основе многотипного дерева (MttSplitMode) CU может извлекаться так, как показано в нижеприведенной таблице 1.
[116] Табл. 1
[117]
[118] CTU может включать в себя блок кодирования выборок сигнала яркости (далее называемый "блоком сигналов яркости") и два блока кодирования выборок сигнала цветности, соответствующих ему (далее называемые "блоками сигналов цветности"). Вышеописанная схема на основе дерева кодирования можно одинаково или отдельно применяться к блоку сигналов яркости и к блоку сигналов цветности текущей CU. В частности, блоки сигналов яркости и сигналов цветности в одной CTU могут сегментироваться на идентичную блочную древовидную структуру, и в этом случае, древовидная структура представляется как SINGLE_TREE. Альтернативно, блоки сигналов яркости и сигналов цветности в одной CTU могут сегментироваться на отдельные блочные древовидные структуры, и в этом случае, древовидная структура может представляться как DUAL_TREE. Таким образом, когда CTU сегментируется на сдвоенные деревья, блочная древовидная структура для блока сигналов яркости и блочная древовидная структура для блока сигналов цветности могут отдельно присутствовать. В этом случае, блочная древовидная структура для блока сигналов яркости может называться "DUAL_TREE_LUMA", и блочная древовидная структура для компонента сигнала цветности может называться "DUAL_TREE_CHROMA". Для групп P- и B-срезов/плиток, блоки сигналов яркости и сигналов цветности в одной CTU могут быть ограничены тем, что они имеют идентичную структуру в виде дерева кодирования. Тем не менее, для групп I-срезов/плиток, блоки сигналов яркости и сигналов цветности могут иметь отдельную блочную древовидную структуру относительно друг друга. Если отдельная блочная древовидная структура применяется, CTB сигналов яркости может сегментироваться на CU на основе конкретной структуры в виде дерева кодирования, и CTB сигналов цветности может сегментироваться на CU сигнала цветности на основе другой структуры в виде дерева кодирования. Таким образом, CU в группе I-срезов/плиток, к которой применяется отдельная блочная древовидная структура, может состоять из блока кодирования блоков компонентов сигнала яркости или блоков кодирования двух компонентов сигнала цветности. Помимо этого, CU в группе I-срезов/плиток, к которой идентичная блочная древовидная структура применяется, и CU группы P- или B-срезов/плиток могут состоять из блоков трех цветовых компонентов (компонента сигнала яркости и двух компонентов сигнала цветности).
[119] Хотя описывается структура в виде дерева кодирования на основе дерева квадрантов с вложенным многотипным деревом, структура, в которой CU сегментируется, не ограничена этим. Например, BT-структура и TT-структура могут интерпретироваться в качестве понятия, включенного в структуру в виде дерева с несколькими видами сегментации (MPT), и CU может интерпретироваться как сегментируемая через QT-структуру и MPT-структуру. В примере, в котором CU сегментируется через QT-структуру и MPT-структуру, синтаксический элемент (например, MPT_split_type), включающий в себя информацию относительно того, на сколько блоков сегментируется узел-лист QT-структуры, и синтаксический элемент (например, MPT_split_mode), включающий в себя информацию относительно того, в каком из вертикального и горизонтального направлений сегментируется узел-лист QT-структуры, может передаваться в служебных сигналах, чтобы определять структуру сегментации.
[120] В другом примере, CU может сегментироваться способом, отличающимся от QT-структуры, BT-структуры или TT-структуры. Таким образом, в отличие от того, что CU меньшей глубины сегментируется на 1/4 от CU большей глубины согласно QT-структуре, CU меньшей глубины сегментируется на 1/2 от CU большей глубины согласно BT-структуре, или CU меньшей глубины сегментируется на 1/4 или 1/2 от CU большей глубины согласно TT-структуре, CU меньшей глубины может сегментироваться на 1/5, 1/3, 3/8, 3/5, 2/3 или 5/8 от CU большей глубины в некоторых случаях, и способ сегментации CU не ограничен этим.
[121] Общее представление фильтрации
[122] В дальнейшем в этом документе описывается способ фильтрации согласно настоящему раскрытию сущности.
[123] Согласно некоторым вариантам осуществления настоящего раскрытия сущности, фильтрация может выполняться для восстановленного кадра, сформированного посредством оборудования кодирования/декодирования изображений. В результате выполнения фильтрации, может формироваться модифицированный восстановленный кадр, и оборудование декодирования изображений может определять модифицированный восстановленный кадр в качестве конечного декодированного кадра. Помимо этого, в оборудовании кодирования/декодирования изображений, модифицированный восстановленный кадр может сохраняться в буфере декодированных кадров (DPB) или в запоминающем устройстве и затем может использоваться в качестве опорного кадра при кодировании/декодировании кадра.
[124] Фильтрация согласно некоторым вариантам осуществления настоящего раскрытия сущности может использоваться со смысловым значением, идентичным смысловому значению внутриконтурной фильтрации. Фильтр, используемый для фильтрации, может включать в себя, по меньшей мере, одно из фильтра удаления блочности, фильтра на основе дискретизированного адаптивного смещения (SAO), адаптивного контурного фильтра (SLF) или двустороннего фильтра. По меньшей мере, один из фильтра удаления блочности, SAO-фильтра, ALF и/или двустороннего фильтра может последовательно применяться к восстановленному кадру, за счет этого формируя модифицированный восстановленный кадр. Порядок применения фильтра может быть предварительно установлен в оборудовании кодирования/декодирования изображений. Например, после того, как фильтр удаления блочности применяется к восстановленному кадру, SAO-фильтр может применяться. В качестве другого примера, после того, как фильтр удаления блочности применяется к восстановленному кадру, ALF может применяться. Фильтрация согласно некоторым вариантам осуществления настоящего раскрытия сущности может выполняться, по меньшей мере, посредством одного из фильтра 160 по фиг. 2 и/или фильтра 240 по фиг. 3.
[125] Например, фильтр удаления блочности может исключать искажение, сформированное на границе блока восстановленного кадра. Например, фильтр удаления блочности может извлекать целевую границу, которая представляет собой границу между блоками в восстановленном кадре, и задавать граничную интенсивность или интенсивность фильтрации для целевой границы. Оборудование кодирования/декодирования изображений может выполнять фильтрацию для удаления блочности для целевой границы посредством применения фильтрации на основе заданной интенсивности фильтрации к целевой границе. В этом случае, интенсивность фильтрации может определяться на основе, по меньшей мере, одного из режимов прогнозирования двух блоков, смежных с целевой границей, разности векторов движения, того, являются или нет опорные кадры идентичными, либо присутствия/отсутствия ненулевого эффективного коэффициента.
[126] В качестве другого примера, SAO-фильтр может компенсировать разность смещения между восстановленным кадром и исходным кадром в единицах выборок. Например, SAO-фильтр может реализовываться посредством типа фильтра, такого как фильтр на основе полосового смещения или фильтр на основе смещения. SAO: При применении фильтра, выборки могут классифицироваться на различные категории согласно SAO-типу, и значение смещения может суммироваться с каждой выборкой на основе категории. Информация относительно SAO-фильтра может включать в себя, по меньшей мере, одно из информации относительно того, следует или нет применять SAO-фильтр, информации типа SAO-фильтра и/или информации значений SAO-смещения. Между тем, например, SAO-фильтр может быть ограничен применением к восстановленному кадру, к которому применяется фильтр удаления блочности.
[127] В качестве другого примера, ALF может представлять собой фильтр единиц выборок для применения коэффициентов фильтрации согласно форме фильтра к восстановленному кадру. Оборудование кодирования изображений может передавать в служебных сигналах, по меньшей мере, одно из того, следует или нет применять ALF, формы ALF и/или коэффициента фильтрации, посредством сравнения восстановленного кадра с исходным кадром. Таким образом, информация относительно ALF может включать в себя, по меньшей мере, одно из информации относительно того, следует или нет применять ALF, информации формы ALF-фильтра и/или информации коэффициентов ALF-фильтрации. Между тем, например, ALF может быть ограничен применением к восстановленному кадру, к которому применяется фильтр удаления блочности.
[128] Фиг. 6 является видом, иллюстрирующим способ применения фильтра удаления блочности.
[129] Как описано выше, фильтр удаления блочности может применяться к восстановленному кадру. Фильтр удаления блочности может применяться к границе каждой CU или TU, включенной в текущий блок, на основе порядка кодирования/декодирования кадра.
[130] Ссылаясь на фиг. 6, способ применения фильтра удаления блочности согласно некоторым вариантам осуществления настоящего раскрытия сущности может включать в себя извлечение целевой границы, к которой должна применяться фильтрация для удаления блочности (S610), определение интенсивности фильтрации (S620) и применение фильтра удаления блочности к целевой границе на основе определенной интенсивности фильтрации (S630).
[131] В дальнейшем в этом документе описывается определение интенсивности фильтрации, применяемой к целевой границе (S620). Согласно некоторым вариантам осуществления настоящего раскрытия сущности, интенсивность фильтрации может определяться согласно условиям блока преобразования, смежного с целевой границей. В нижеприведенном описании, когда целевая граница представляет собой вертикальную границу, на основе целевой границы, левый блок может задаваться как P-блок, и правый блок может задаваться как Q-блок. Помимо этого, когда целевая граница представляет собой горизонтальную границу, на основе целевой границы, верхний блок может задаваться как P-блок, и нижний блок может задаваться как Q-блок. Помимо этого, в нижеприведенном описании, первое значение, второе значение и третье значение интенсивности фильтрации, соответственно, могут означать 0, 1 и 2, но объем настоящего раскрытия сущности не ограничен этим определением.
[132] Например, когда дифференциальная импульсно-кодовая модуляция в квантованной остаточной области на основе блоков (BDPCM) применяется к выборке P-блоков и выборке Q-блоков, включенной в одну CU сигналов яркости, интенсивность фильтрации для целевой границы может определяться как составляющая первое значение. В качестве другого примера, когда выборка P-блоков и выборка Q-блоков, включенные в одну CU, внутренне прогнозируются, интенсивность фильтрации для целевой границы может определяться как составляющая третье значение. В качестве другого примера, когда целевая граница представляет собой границу TU, и комбинированное взаимное и внутреннее прогнозирование (CIIP) применяется к выборке P-блоков и выборке Q-блоков, включенным в одну CU, интенсивность фильтрации для целевой границы может определяться как составляющая третье значение. В качестве другого примера, когда целевая граница представляет собой границу TU, и, по меньшей мере, одна из выборки P-блоков, и выборка Q-блоков, включенных в одну TU, имеет уровень ненулевых коэффициентов преобразования, интенсивность фильтрации для целевой границы может определяться как составляющая второе значение. В качестве другого примера, когда режим прогнозирования субблока CU, включающей в себя выборку P-блоков, отличается от режима прогнозирования субблока CU, включающей в себя выборку Q-блоков, интенсивность фильтрации для целевой границы может определяться как составляющая второе значение.
[133] В качестве другого примера, когда текущий блок представляет собой блок сигналов яркости, и, по меньшей мере, одно из следующих условий удовлетворяется, интенсивность фильтрации для целевой границы может определяться как составляющая второе значение. Между тем, когда все следующие условия не удовлетворяются, интенсивность фильтрации для целевой границы может определяться как составляющая первое значение. Например, когда как субблок CU, включающей в себя выборку P-блоков, так и субблок CU, включающей в себя выборку Q-блоков, кодируются/декодируются в IBC-режиме, и разность горизонтальных или вертикальных значений вектора движения каждого субблока равна или больше 4 единиц в 1/4 выборки сигналов яркости, интенсивность фильтрации для целевой границы может определяться как составляющая второе значение. Альтернативно, когда субблок CU, включающей в себя выборку P-блоков, и субблок CU, включающей в себя выборку Q-блоков, ссылаются на различные опорные кадры или имеют различные числа векторов движения, интенсивность фильтрации для целевой границы может определяться как составляющая второе значение. Когда один вектор движения используется для того, чтобы прогнозировать субблок CU, включающей в себя выборку P-блоков, и субблок CU, включающей в себя выборку Q-блоков, или разность между горизонтальными значениями или вертикальными значениями вектора движения каждого субблока равна или больше 4 единиц в 1/4 выборки сигналов яркости, интенсивность фильтрации для целевой границы может определяться как составляющая второе значение. Когда два вектора движения и два различных опорных кадра используются для того, чтобы прогнозировать субблок CU, включающей в себя выборку P-блоков, и два вектора движения и два идентичных опорных кадра используются для того, чтобы прогнозировать субблок CU, включающей в себя выборку Q-блоков, и разность между горизонтальными значениями или вертикальными значениями векторов движения для идентичного опорного кадра равна или больше 4 единиц в 1/4 выборки сигналов яркости, интенсивность фильтрации для целевой границы может определяться как составляющая второе значение.
[134] Когда два вектора движения и идентичные два опорных кадра используются для того, чтобы прогнозировать субблок CU, включающей в себя выборку P-блоков, и два движения и идентичные два опорных кадра используются для того, чтобы прогнозировать субблок CU, включающей в себя выборку Q-блоков, интенсивность фильтрации для целевой границы может определяться как составляющая второе значение, если удовлетворяются следующие два условия. Первое условие может означать условие случая, в котором разность горизонтальных значений или вертикальных значений вектора движения списка 0 каждого субблока равна или больше 4 единиц в 1/4 выборки сигналов яркости, либо случая, в котором разность горизонтальных значений или вертикальных значений вектора движения списка 1 каждого субблока равна или больше 4 единиц в 1/4 выборки сигналов яркости. Второе условие может означать условие случая, в котором разность горизонтальных значений или вертикальных значений вектора движения списка 0 для прогнозирования субблока CU, включающей в себя выборку P-блоков, и векторов движения списка 1 для прогнозирования субблока CU, включающей в себя выборку Q-блоков, равна или больше 4 единиц в 1/4 выборки сигналов яркости, либо случая, в котором разность горизонтальных значений или вертикальных значений вектора движения списка 1 для прогнозирования субблока CU, включающей в себя выборку P-блоков, и векторов движения списка 0 для прогнозирования субблока CU, включающей в себя выборку Q-блоков, равна или больше 4 единиц в 1/4 выборки сигналов яркости.
[135] Оборудование кодирования/декодирования изображений может определять интенсивность фильтрации для целевой границы на основе вышеописанных условий. Между тем, когда интенсивность фильтрации имеет первое значение, фильтрация может не выполняться для целевой границы. Фильтр удаления блочности согласно некоторым вариантам осуществления настоящего раскрытия сущности может применяться на основе, по меньшей мере, одного из интенсивности фильтрации и/или длины фильтра.
[136] В дальнейшем в этом документе описывается способ определения интенсивности фильтрации согласно значению восстановленной выборки сигналов яркости.
[137] Фиг. 7 является видом, иллюстрирующим способ определения интенсивности фильтрации в фильтре удаления блочности.
[138] В некоторых вариантах осуществления настоящего раскрытия сущности, фильтр удаления блочности может определяться согласно переменным β и tC. Здесь, переменные β и tC могут составлять значения, определенные посредством параметра квантования qP_L. Например, интенсивность фильтрации в фильтре удаления блочности может извлекаться посредством суммирования смещения, определенного согласно значению восстановленной выборки сигналов яркости, с qP_L. Например, восстановленный уровень сигнала яркости может задаваться как LL, и LL может извлекаться согласно нижеприведенному уравнению 1.
[139] уравнение 1
[140] LL=((p_0,0+p_0,3+q_0,0+q_0,3)>>2)/(1<<bitDepth)
[141] p_i, k и q_i, k уравнения 1 могут означать выборочное значение P-блока или Q-блока, определенное согласно фиг. 7.
[142] Между тем, qP_L может определяться согласно нижеприведенному уравнению 2.
[143] уравнение 2
[144] qP_L=((Q_p_Q+Q_p_P+1)>>1)+qpOffset
[145] Q_p_Q и Q_p_P уравнения 2 могут означать параметры квантования CU, включающей в себя q_0,0 и p_0,0, и qpOffset может представлять собой смещение, передаваемое на SPS-уровне.
[146] В некоторых вариантах осуществления настоящего раскрытия сущности, фильтр удаления блочности может применяться к области 8×8. Фильтр удаления блочности может применяться не только к границе CU и границе субблока или блока преобразования, конструирующего CU. В этом случае, субблок может означать, по меньшей мере, одно из субблока или блока преобразования, сформированного посредством режима объединения на основе субблоков, аффинного режима, режима на основе внутренних субсегментов (ISP) и/или преобразования на основе субблоков.
[147] Фильтр удаления блочности может применяться к субблоку, сформированному посредством ISP-режима или преобразования на основе субблоков, когда ненулевой коэффициент присутствует в границе, пересекающей границу TU. Между тем, фильтр удаления блочности может применяться к субблоку согласно режиму объединения на основе субблоков или аффинному режиму на основе опорных кадров и вектора движения соседних субблоков.
[148] Общее представление режима на основе внутренних субсегментов (ISP)
[149] Фиг. 8 является видом, иллюстрирующим режим на основе внутренних субсегментов (ISP) из технологий внутреннего прогнозирования.
[150] При традиционном внутреннем прогнозировании, текущий блок, который должен кодироваться/декодироваться (текущий блок), рассматривается в качестве одной единицы, и кодирование/декодирование выполняется без разбиения. Тем не менее, при применении ISP, текущий блок может разбиваться в горизонтальном или вертикальном направлении, и внутреннее прогнозирующее кодирование/декодирование может выполняться. В это время, кодирование/декодирование может выполняться в единицах разбитых ISP-субблоков, чтобы формировать восстановленный ISP-субблок, и восстановленный ISP-субблок может использоваться в качестве опорного блока следующего разбитого ISP-субблока.
[151] Когда ISP-режим применяется к текущему блоку, внутреннее прогнозирование может выполняться относительно каждого из ISP-субблоков, полученных посредством разбиения текущего блока в горизонтальном или вертикальном направлении. Таким образом, внутреннее прогнозирование, формирование остаточных сигналов и формирование восстановленных сигналов выполняются в единицах ISP-субблоков, и восстановленный сигнал восстановленного субсегмента может использоваться в качестве опорной выборки внутреннего прогнозирования следующего субсегмента.
[152] Оборудование кодирования изображений может определять направление ISP-разбиения с использованием различных способов (например, способа на основе RDO). Определенное направление разбиения может явно передаваться в служебных сигналах через поток битов в качестве информации относительно направления ISP-разбиения. Оборудование декодирования изображений может определять направление ISP-разбиения текущего блока на основе информации относительно передаваемого в служебных сигналах направления разбиения. Когда направление ISP-разбиения неявно определяется посредством параметра кодирования текущего блока, такого как размер (ширина или высота) текущего блока, оборудование кодирования изображений и оборудование декодирования изображений могут определять направление ISP-разбиения текущего блока с использованием идентичного способа.
[153] Каждый из ISP-субблоков, полученных посредством разбиения текущего блока, возможно, должен включать в себя минимум 16 выборок. Например, когда текущий блок представляет собой блок 4×4, может неявно определяться то, что ISP не применяется. Помимо этого, когда текущий блок представляет собой блок 4×8 или блок 8×4, как показано на фиг. 8(a), текущий блок, к которому применяется ISP, может разбиваться на два ISP-субблока. Помимо этого, когда текущий блок не представляет собой блок 4×4, блок 4×8 или блок 8×4, как показано на фиг. 8(b), текущий блок, к которому применяется ISP, может разбиваться на четыре ISP-субблока. В примерах, показанных на фиг. 8(a) и 8(b), когда направление ISP-разбиения представляет собой горизонтальное направление, кодирование и декодирование могут выполняться в порядке от верхнего ISP-субблока к нижнему ISP-субблоку. Помимо этого, когда направление ISP-разбиения представляет собой вертикальное направление, кодирование и декодирование может выполняться в порядке от левого ISP-субблока к правому ISP-субблоку.
[154] Например, размер ISP-субблока или группы коэффициентов согласно размеру текущего блока может определяться на основе нижеприведенной таблицы 2.
[155] Табл. 2
[156]
[157] Вариант #1 осуществления
[158] В дальнейшем в этом документе описывается способ кодирования/декодирования изображения с использованием вышеописанного фильтра удаления блочности. Согласно варианту осуществления настоящего раскрытия сущности, длина фильтра для фильтра удаления блочности может определяться. Хотя, в нижеприведенном описании, блок преобразования, P-блок и/или Q-блок описываются в качестве субблока, извлекаемого на основе ISP-режима, объем настоящего раскрытия сущности не ограничен этим. Здесь, блок преобразования может означать, по меньшей мере, одно из P-блока или Q-блока, смежного с целевой границей. Помимо этого, хотя текущий блок или блок преобразования описывается как представляющий собой блок сигналов яркости в нижеприведенном описании, объем настоящего раскрытия сущности не ограничен этим.
[159] Согласно варианту осуществления настоящего раскрытия сущности, когда ширина P-блока или ширина Q-блока равна 4, длина фильтра Q-блоков, применяемая к целевой границе, которая представляет собой вертикальную границу, может определяться равной 1. Напротив, когда ширина Q-блока равна или больше 32, длина фильтра Q-блоков, применяемая к целевой границе, может определяться равной 7. В другом случае, длина фильтра Q-блоков, применяемая к целевой границе, может определяться равной 3.
[160] Между тем, когда ширина P-блока или ширина Q-блока равна 4, длина фильтра P-блоков, применяемая к целевой границе, которая представляет собой вертикальную границу, может определяться равной 1. Напротив, когда ширина P-блока равна или больше 32, длина фильтра P-блоков, применяемая к целевой границе, может определяться равной 7. В другом случае, длина фильтра P-блоков, применяемая к целевой границе, может определяться равной 3.
[161] Между тем, когда высота P-блока или высота Q-блока равна 4, длина фильтра Q-блоков, применяемая к целевой границе, которая представляет собой горизонтальную границу, может определяться равной 1. Напротив, когда высота Q-блока равна или больше 32, длина фильтра, применяемая к целевой границе, может определяться равной 7. В другом случае, длина фильтра Q-блоков, применяемая к целевой границе, может определяться равной 3.
[162] Между тем, когда высота P-блока или высота Q-блока равна 4, длина фильтра P-блоков, применяемая к целевой границе, которая представляет собой горизонтальную границу, может определяться равной 1. Напротив, когда высота P-блока равна или больше 32, длина фильтра, применяемая к целевой границе, может определяться равной 7. В другом случае, длина фильтра P-блоков, применяемая к целевой границе, может определяться равной 3.
[163] Согласно варианту осуществления настоящего раскрытия сущности, когда ширина или размер блока преобразования равны или меньше предварительно определенного значения, может возникать такая проблема, что параллелизация фильтра не может выполняться. В дальнейшем в этом документе подробно описывается проблема фильтра удаления блочности, который может возникать в вышеописанном варианте осуществления.
[164] Фиг. 9-11 являются видами, иллюстрирующими способ определения длины фильтра для фильтра удаления блочности, применяемого к целевой границе.
[165] Фиг. 9-11 показывают состояния, в которых блок 16×16 сегментируется на четыре блока 4×16, и второй и четвертый блоки 4×16, соответственно, сегментируются на два субблока 2×16 и четыре субблока 1×16 посредством ISP-режима.
[166] Ссылаясь на фиг. 9, для первой границы фильтра, длина фильтра P-блоков может определяться равной 1, и граница фильтра Q-блоков может определяться равной 3. Ссылаясь на фиг. 10, для второй границы фильтра, длина фильтра P-блоков может определяться равной 3, и длина фильтра Q-блоков может определяться равной 1. Ссылаясь на фиг. 11, для третьей границы фильтра, длина фильтра Q-блоков может определяться равной 3, и для четвертой границы фильтра, длина фильтра P-блоков может определяться равной 3.
[167] На фиг. 10 и 11, хотя ширина субблока меньше 4, поскольку сумма длины фильтра, когда соответствующий блок представляет собой P-блок, и длины фильтра, когда соответствующий блок представляет собой Q-блок, больше 4, перекрытие между фильтрацией, применяемой посредством обеих границ, может возникать. Может возникать такая проблема, что параллельная обработка для фильтрации не может выполняться в силу перекрытия длин фильтра. В дальнейшем в этом документе подробно описывается способ разрешения такой проблемы.
[168] В частности, когда ISP-режим применяется к текущему блоку, блок преобразования, сформированный в качестве результата внутреннего прогнозирования, может иметь размер, меньший размера традиционно заданного максимального блока преобразования. Таким образом, согласно некоторым вариантам осуществления настоящего раскрытия сущности, параллельная обработка для фильтрации может выполняться даже для блока, к которому применяется ISP-режим.
[169] Фиг. 12 является видом, иллюстрирующим способ кодирования/декодирования изображений согласно варианту осуществления настоящего раскрытия сущности.
[170] Ссылаясь на фиг. 12, способ кодирования/декодирования изображений согласно варианту осуществления настоящего раскрытия сущности может включать в себя извлечение восстановленного блока для текущего блока (S1210), извлечение целевой границы для восстановленного блока (S1220), определение длины фильтра для фильтра удаления блочности, который должен применяться для целевой границы (S1230), и/или применение фильтра удаления блочности на основе определенной длины фильтра (S1240).
[171] В этом случае, длина фильтра может определяться на основе, по меньшей мере, одной из ширины или высоты блока преобразования, смежного с целевой границей.
[172] Вариант #2 осуществления
[173] Согласно другому варианту осуществления настоящего раскрытия сущности, когда ширина или высота блока преобразования удовлетворяет предварительно определенному условию, длина фильтра, применяемая к целевой границе, может определяться с учетом этого.
[174] Например, когда ширина или высота блока преобразования меньше размера минимального блока преобразования, длина фильтра, применяемая к целевой границе, может определяться в качестве предварительно установленного значения. Например, когда ширина или высота блока преобразования меньше 4, длина фильтра, применяемая к целевой границе, может определяться равной 1.
[175] Фиг. 13 и 14 являются видами, иллюстрирующими способ определения длины фильтра удаления блочности согласно другому варианту осуществления настоящего раскрытия сущности.
[176] Фиг. 13 показывает способ определения длины фильтра удаления блочности, который разрешает проблему согласно варианту осуществления по фиг. 10. Когда ширина или высота блока преобразования равна или меньше 4, длина фильтра целевой границы может определяться равной 1. Ссылаясь на фиг. 13, поскольку ширина субблока 2×16 равна или меньше 4, как длина фильтра Q-блоков первой целевой границы, так и длина фильтра P-блоков второй целевой границы могут определяться равными 1. Следовательно, перекрытие между фильтром Q-блоков первой целевой границы и фильтром P-блоков второй целевой границы может не возникать.
[177] Фиг. 14 показывает способ определения длины фильтра удаления блочности, который разрешает проблему согласно варианту осуществления по фиг. 11. Ссылаясь на фиг. 13, поскольку ширина ISP-субблока 1×16 равна или меньше 4, как длина фильтра Q-блоков первой целевой границы, так и длина фильтра P-блоков второй целевой границы могут определяться равными 1. Следовательно, перекрытие между фильтром Q-блоков третьей целевой границы и фильтром P-блоков четвертой целевой границы может не возникать.
[178] Фиг. 15 и 16 являются видами, иллюстрирующими способ определения длины фильтра удаления блочности согласно другому варианту осуществления настоящего раскрытия сущности.
[179] Ссылаясь на фиг. 15, во-первых, может определяться то, представляет извлеченная целевая граница собой вертикальную границу или горизонтальную границу (S1510). Когда целевая граница представляет собой горизонтальную границу (S1510-N), процесс извлечения длин фильтра горизонтальной границы может выполняться (S1525). В дальнейшем описывается процесс извлечения длин фильтра горизонтальной границы посредством фиг. 16.
[180] Например, оборудование кодирования/декодирования изображений может сначала определять длину фильтра Q-блоков. Когда целевая граница представляет собой вертикальную границу (S1510-Y), может определяться то, равна или меньше либо нет по меньшей мере, одна из ширины P-блока или ширины Q-блока первого значения (S1520). Когда, по меньшей мере, одна из ширины P-блока или ширины Q-блока равна или меньше первого значения (S1520-Y), длина фильтра Q-блоков для целевой границы может определяться в качестве первой длины (S1521). Между тем, когда ширина P-блока и ширина Q-блока больше первого значения (S1520-N), равна или больше либо нет ширина Q-блока второго значения (S1530). Когда ширина Q-блока равна или больше второго значения (S1530-Y), длина фильтра Q-блоков для целевой границы может определяться в качестве второй длины (S1531). Между тем, когда ширина Q-блока больше первого значения и меньше второго значения (S1530-N), длина фильтра Q-блоков для целевой границы может определяться в качестве третьей длины (S1532).
[181] Затем, оборудование кодирования/декодирования изображений может определять длину фильтра P-блоков. После определения длины фильтра Q-блоков, может определяться то, равна или меньше либо нет, по меньшей мере, одна из ширины P-блока или ширины Q-блока первого значения (S1540). Когда, по меньшей мере, одна из ширины P-блока или ширины Q-блока равна или меньше первого значения (S1540-Y), длина фильтра P-блоков для целевой границы может определяться в качестве первой длины (S1541). Между тем, когда ширина P-блока и ширина Q-блока больше первого значения (S1540-N), может определяться то, равна или больше либо нет ширина P-блока второго значения (S1550). Когда ширина P-блока равна или больше второго значения (S1550-Y), длина фильтра P-блоков для целевой границы может определяться в качестве второй длины (S1551). Между тем, когда ширина P-блока больше первого значения и меньше второго значения (S1550-N), длина фильтра P-блоков для целевой границы может определяться в качестве третьей длины (S1552).
[182] Например, первое значение и второе значение могут быть равными 4 и 32, соответственно. Помимо этого, первая длина, вторая длина и третья длина, соответственно, могут иметь значения в 1, 7 и 3, но это представляет собой только пример и не ограничено означенным. Помимо этого, хотя в вышеприведенном примере описывается вариант осуществления, в котором сначала извлекается длина фильтра Q-блоков, а затем извлекается длина фильтра P-блоков, вариант осуществления, в котором сначала извлекается длина фильтра Q-блоков, а затем извлекается длина фильтра P-блоков, и вариант осуществления, в котором одновременно извлекаются длина фильтра Q-блоков и длина фильтра P-блоков, также могут включаться в объем настоящего раскрытия сущности.
[183] Ссылаясь на фиг. 16, во-первых, может определяться то, представляет извлеченная целевая граница собой вертикальную границу или горизонтальную границу (S1610). S1620-S1651 по фиг. 16 могут представлять собой подробное описание S1525 по фиг. 15. Помимо этого, S1610 по фиг. 16 и S1510 по фиг. 15 могут указывать идентичную конфигурацию.
[184] Например, оборудование кодирования/декодирования изображений может сначала определять длину фильтра Q-блоков. Когда целевая граница представляет собой горизонтальную границу (S1610-Y), по меньшей мере, одна из высоты P-блока или высоты Q-блока равна или меньше первого значения (S1620). Когда, по меньшей мере, одна из ширины P-блока или ширины Q-блока равна или меньше первого значения (S1620-Y), длина фильтра Q-блоков для целевой границы может определяться в качестве первой длины (S1621). Между тем, когда высота P-блока и высота Q-блока больше первого значения (S1620-N), может определяться то, равна или больше либо нет высота Q-блока второго значения S1630). Когда высота Q-блока равна или больше второго значения (S1630-Y), длина фильтра Q-блоков для целевой границы может определяться в качестве второй длины (S1631). Между тем, высота Q-блока больше первого значения и меньше второго значения (S1530-N), длина фильтра Q-блоков для целевой границы может определяться в качестве третьей длины (S1532).
[185] Затем, оборудование кодирования/декодирования изображений может определять длину фильтра P-блоков. После определения длины фильтра Q-блоков, может определяться то, равна или меньше либо нет, по меньшей мере, одна из высоты P-блока или высоты Q-блока первого значения (S1640). Когда, по меньшей мере, одна из высоты P-блока или высоты Q-блока равна или меньше первого значения (S1640-Y), длина фильтра P-блоков для целевой границы может определяться в качестве первой длины (S1641). Между тем, когда высота P-блока и высота Q-блока больше первого значения (S1640-N), равна или больше либо нет высота P-блока второго значения (S1650). Когда высота P-блока равна или больше второй длины (S1650-Y), длина фильтра P-блоков для целевой границы может определяться в качестве второй длины (S1651). Между тем, когда высота P-блока больше первого значения и меньше второго значения (S1650-N), длина фильтра P-блоков для целевой границы может определяться в качестве третьей длины (S1652).
[186] Например, первое значение и второе значение могут быть равными 4 и 32, соответственно. Помимо этого, первая длина, вторая длина и третья длина, соответственно, могут иметь значения в 1, 7 и 3, но это представляет собой только пример и не ограничено означенным. Помимо этого, хотя в вышеприведенном примере описывается вариант осуществления, в котором сначала извлекается длина фильтра Q-блоков, а затем извлекается длина фильтра P-блоков, вариант осуществления, в котором сначала извлекается длина фильтра Q-блоков, а затем извлекается длина фильтра P-блоков, и вариант осуществления, в котором одновременно извлекаются длина фильтра Q-блоков и длина фильтра P-блоков, также могут включаться в объем настоящего раскрытия сущности.
[187] Согласно настоящему варианту осуществления, поскольку ситуация, в которой параллельная обработка фильтра удаления блочности является невозможной вследствие снижения размера блока преобразования (например, в случае субблока, сформированного посредством применения ISP-режима), или ситуация, в которой перекрытие между фильтрами возникает вследствие различных целевых границ, не возникает, оборудование кодирования/декодирования изображений может всегда выполнять параллельную обработку фильтрации, и эффективность кодирования/декодирования изображений может увеличиваться.
[188] В этом описании, выполнение параллелизации или параллельной обработки не означает то, что оборудование кодирования/декодирования изображений всегда выполняет параллельную обработку. Даже когда параллельная обработка поддерживается, то, следует или нет выполнять параллельную обработку, может определяться с учетом аппаратной производительности, типа услуги и качества обслуживания оборудования кодирования/декодирования изображений. Например, когда оборудование кодирования/декодирования изображений реализуется с использованием многопроцессорной системы, параллельная обработка фильтра удаления блочности может выполняться через вариант осуществления настоящего раскрытия сущности. Между тем, когда оборудование кодирования/декодирования изображений реализуется с использованием одного процессора, фильтр удаления блочности может последовательно применяться к целевой границе без применения вышеописанного варианта осуществления.
[189] Хотя примерные способы настоящего раскрытия сущности, описанного выше, представляются как последовательность операций для ясности описания, это не имеет намерение ограничивать порядок, в котором выполняются этапы, и этапы могут выполняться одновременно или в другом порядке при необходимости. Чтобы реализовывать способ согласно настоящему раскрытию сущности, описанные этапы дополнительно могут включать в себя другие этапы, могут включать в себя оставшиеся этапы, за исключением некоторых этапов, либо могут включать в себя другие дополнительные этапы, за исключением некоторых этапов.
[190] В настоящем раскрытии сущности, оборудование кодирования изображений или оборудование декодирования изображений, которое выполняет предварительно определенную операцию (этап), может выполнять операцию (этап) подтверждения условия или ситуации выполнения соответствующей операции (этап). Например, если описывается то, что предварительно определенная операция выполняется, когда предварительно определенное условие удовлетворяется, оборудование кодирования изображений или оборудование декодирования изображений может выполнять предварительно определенную операцию после определения того, удовлетворяется или нет предварительно определенное условие.
[191] Различные варианты осуществления настоящего раскрытия сущности не представляют собой список всех возможных комбинаций и имеют намерение описывать характерные аспекты настоящего раскрытия сущности, и вопросы, описанные в различных вариантах осуществления, могут применяться независимо либо в комбинации двух или более из них.
[192] Различные варианты осуществления настоящего раскрытия сущности могут реализовываться в аппаратных средствах, микропрограммном обеспечении, программном обеспечении либо в комбинации вышеозначенного. В случае реализации настоящего раскрытия сущности посредством аппаратных средств, настоящее раскрытие сущности может реализовываться с помощью специализированных интегральных схем (ASIC), процессоров цифровых сигналов (DSP), устройств обработки цифровых сигналов (DSPD), программируемых логических устройств (PLD), программируемых пользователем вентильных матриц (FPGA), общих процессоров, контроллеров, микроконтроллеров, микропроцессоров и т.д.
[193] Помимо этого, оборудование декодирования изображений и оборудование кодирования изображений, к которым применяются варианты осуществления настоящего раскрытия сущности, могут включаться в мультимедийное широковещательное приемо-передающее устройство, терминал мобильной связи, видеоустройство системы домашнего кинотеатра, видеоустройство системы цифрового кинотеатра, камеру наблюдения, устройство проведения видеочатов, устройство связи в реальном времени, к примеру, для видеосвязи, мобильное устройство потоковой передачи, носитель хранения данных, записывающую видеокамеру, устройство предоставления услуг на основе технологии "видео по запросу" (VoD), устройство на основе OTT-видео (видео поверх сетей), устройство предоставления услуг потоковой передачи по Интернету, трехмерное видеоустройство, видеоустройство системы видеотелефонии, медицинское видеоустройство и т.п. и могут использоваться для того, чтобы обрабатывать видеосигналы или сигналы данных. Например, OTT-видеоустройства могут включать в себя игровую консоль, Blu-Ray-проигрыватель, телевизор с доступом в Интернет, систему домашнего кинотеатра, смартфон, планшетный PC, цифровое записывающее видеоустройство (DVR) и т.п.
[194] Фиг. 17 является видом, показывающим систему потоковой передачи контента, к которой является применимым вариант осуществления настоящего раскрытия сущности.
[195] Ссылаясь на фиг. 17, система потоковой передачи контента, к которой применяется вариант(ы) осуществления настоящего документа, может включать в себя, главным образом, сервер кодирования, потоковый сервер, веб-сервер, хранилище мультимедиа, пользовательское устройство и устройство ввода мультимедиа.
[196] Сервер кодирования сжимает контент, вводимый из устройств ввода мультимедиа, таких как смартфон, камера, записывающая видеокамера и т.д., в цифровые данные для того, чтобы формировать поток битов, и передает поток битов на потоковый сервер. В качестве другого примера, когда устройства ввода мультимедиа, такие как смартфоны, камеры, записывающие видеокамеры и т.д., непосредственно формируют поток битов, сервер кодирования может опускаться.
[197] Поток битов может формироваться посредством способа кодирования изображений или оборудования кодирования изображений, к которому применяется вариант осуществления настоящего раскрытия сущности, и потоковый сервер может временно сохранять поток битов в процессе передачи или приема потока битов.
[198] Потоковый сервер передает мультимедийные данные в пользовательское устройство на основе запроса пользователя через веб-сервер, и веб-сервер служит в качестве среды для информирования пользователя в отношении услуги. Когда пользователь запрашивает требуемую услугу из веб-сервера, веб-сервер может доставлять ее на потоковый сервер, и потоковый сервер может передавать мультимедийные данные пользователю. В этом случае, система потоковой передачи контента может включать в себя отдельный сервер управления. В этом случае, сервер управления служит для того, чтобы управлять командой/ответом между устройствами в системе потоковой передачи контента.
[199] Потоковый сервер может принимать контент из хранилища мультимедиа и/или сервера кодирования. Например, когда контент принимается из сервера кодирования, контент может приниматься в реальном времени. В этом случае, чтобы предоставлять плавную услугу потоковой передачи, потоковый сервер может сохранять поток битов в течение предварительно определенного времени.
[200] Примеры пользовательского устройства могут включать в себя мобильный телефон, смартфон, переносной компьютер, цифровой широковещательный терминал, персональное цифровое устройство (PDA), портативный мультимедийный проигрыватель (PMP), навигационное устройство, грифельный планшетный PC, планшетные PC, ультрабуки, носимые устройства (например, интеллектуальные часы, интеллектуальные очки, наголовные дисплеи), цифровые телевизоры, настольные компьютеры, систему цифровых информационных табло и т.п.
[201] Каждый сервер в системе потоковой передачи контента может работать в качестве распределенного сервера, причем в этом случае данные, принимаемые из каждого сервера, могут распределяться.
[202] Объем раскрытия сущности включает в себя программное обеспечение или машиноисполняемые команды (например, операционную систему, приложение, микропрограммное обеспечение, программу и т.д.) для обеспечения возможности выполнения операций согласно способам различных вариантов осуществления в оборудовании или компьютере, энергонезависимый машиночитаемый носитель, имеющий такое программное обеспечение или команды, сохраненные и выполняемые в оборудовании или компьютере.
Промышленная применимость
[203] Варианты осуществления настоящего раскрытия сущности могут использоваться для того, чтобы кодировать или декодировать изображение.
Группа изобретений относится к технологиям кодирования/декодирования изображений, в частности к оборудованию для кодирования/декодирования изображения с использованием фильтрации. Техническим результатом является повышение эффективности кодирования/декодирования изображений. Предложен способ декодирования изображений, осуществляемый посредством оборудования декодирования изображений, содержащего модуль декодирования, который выполняет декодирование изображения из потока битов. Способ содержит этап, на котором извлекают целевую границу фильтра удаления блочности в восстановленном кадре и определяют максимальную длину фильтра удаления блочности для целевой границы. Применяют фильтр удаления блочности для целевой границы на основе максимальной длины. При этом, на основе целевой границы, представляющей собой вертикальную границу, максимальная длина определяется на основе ширины по меньшей мере одного из первого блока, смежного с левой стороной целевой границы или второго блока, смежного с правой стороной целевой границы. 4 н. и 11 з.п. ф-лы, 17 ил., 2 табл.
1. Способ декодирования изображений, осуществляемый посредством оборудования декодирования изображений, содержащего модуль декодирования, который выполняет декодирование изображения из потока битов, при этом способ декодирования изображений содержит этапы, на которых:
извлекают целевую границу фильтра удаления блочности в восстановленном кадре;
определяют максимальную длину фильтра удаления блочности для целевой границы; и
применяют фильтр удаления блочности для целевой границы на основе максимальной длины,
при этом, на основе целевой границы, представляющей собой вертикальную границу, максимальная длина определяется на основе ширины по меньшей мере одного из первого блока, смежного с левой стороной целевой границы или второго блока, смежного с правой стороной целевой границы, и
при этом, на основе целевой границы, представляющей собой горизонтальную границу, максимальная длина определяется на основе высоты по меньшей мере одного из третьего блока, смежного с верхней стороной целевой границы или четвертого блока, смежного с нижней стороной целевой границы.
2. Способ декодирования изображений по п. 1, в котором с первого по четвертый блоки представляют собой подблоки, основанные на режиме внутренних субсегментов (ISP), и
при этом максимальная длина определяется как равная или меньшая, чем ширина первого блока или второго блока, или высота третьего блока или четвертого блока.
3. Способ декодирования изображений по п. 1, в котором максимальная длина содержит первую максимальную длину на стороне первого блока и вторую максимальную длину на стороне второго блока.
4. Способ декодирования изображений по п. 3, в котором, на основе ширины по меньшей мере одного из первого блока или второго блока, равной или меньшей 4, каждая из первой максимальной длины и второй максимальной длины определяется равной 1.
5. Способ декодирования изображений по п. 3, в котором на основе ширины первого блока, равной или большей 32, первая максимальная длина определяется равной 7,
при этом, на основе ширины второго блока, равной или большей 32, вторая максимальная длина определяется равной 7.
6. Способ декодирования изображений по п. 3, в котором на основе ширины первого блока, меньшей 32, первая максимальная длина определяется равной 3,
при этом, на основе ширины второго блока, меньшей 32, вторая максимальная длина определяется равной 3.
7. Способ декодирования изображений по п. 1, в котором максимальная длина содержит третью максимальную длину на стороне третьего блока и четвертую максимальную длину на стороне четвертого блока.
8. Способ декодирования изображений по п. 7, в котором, на основе высоты по меньшей мере одного из третьего блока или четвертого блока, равной или меньшей 4, каждая из третьей максимальной длины и четвертой максимальной длины определяется равной 1.
9. Способ декодирования изображений по п. 7, в котором на основе высоты третьего блока, равной или большей 32, третья максимальная длина определяется равной 7,
при этом, на основе высоты четвертого блока, равной или большей 32, четвертая максимальная длина определяется равной 7.
10. Способ декодирования изображений по п. 7, в котором на основе высоты третьего блока, меньшей 32, третья максимальная длина определяется равной 3,
при этом, на основе высоты четвертого блока, меньшей 32, четвертая максимальная длина определяется равной 3.
11. Способ кодирования изображений, осуществляемый посредством оборудования кодирования изображений, содержащего модуль кодирования, который выполняет кодирование изображения в поток битов, при этом способ кодирования изображений содержит этапы, на которых:
извлекают целевую границу фильтра удаления блочности в восстановленном кадре;
определяют максимальную длину фильтра удаления блочности для целевой границы; и
применяют фильтр удаления блочности для целевой границы на основе максимальной длины,
при этом, на основе целевой границы, представляющей собой вертикальную границу, максимальная длина определяется на основе ширины по меньшей мере одного из первого блока, смежного с левой стороной целевой границы или второго блока, смежного с правой стороной целевой границы, и
при этом, на основе целевой границы, представляющей собой горизонтальную границу, максимальная длина определяется на основе высоты по меньшей мере одного из третьего блока, смежного с верхней стороной целевой границы или четвертого блока, смежного с нижней стороной целевой границы.
12. Способ кодирования изображений по п. 11, в котором с первого по четвертый блоки представляют собой подблоки, основанные на режиме внутренних субсегментов (ISP), и
при этом максимальная длина определяется как равная или меньшая, чем ширина первого блока или второго блока, или высота третьего блока или четвертого блока.
13. Способ кодирования изображений по п. 11, в котором максимальная длина определяется путем сравнения ширины или высоты с заданным пороговым значением,
при этом количество целевых блоков сравнения определяется равным 1 или 2, на основе заданного порогового значения.
14. Энергонезависимый машиночитаемый носитель, хранящий инструкции, которые при исполнении компьютером предписывают компьютер выполнять способ кодирования изображений, при этом способ кодирования изображений содержит этапы, на которых:
извлекают целевую границу фильтра удаления блочности в восстановленном кадре;
определяют максимальную длину фильтра удаления блочности для целевой границы; и
применяют фильтр удаления блочности для целевой границы на основе максимальной длины,
при этом, на основе целевой границы, представляющей собой вертикальную границу, максимальная длина определяется на основе ширины по меньшей мере одного из первого блока, смежного с левой стороной целевой границы или второго блока, смежного с правой стороной целевой границы, и
при этом, на основе целевой границы, представляющей собой горизонтальную границу, максимальная длина определяется на основе высоты по меньшей мере одного из третьего блока, смежного с верхней стороной целевой границы или четвертого блока, смежного с нижней стороной целевой границы.
15. Способ передачи потока битов, содержащий:
передачу потока битов, сформированного этапами, на которых:
извлекают целевую границу фильтра удаления блочности в восстановленном кадре;
определяют максимальную длину фильтра удаления блочности для целевой границы; и
применяют фильтр удаления блочности для целевой границы на основе максимальной длины,
при этом, на основе целевой границы, представляющей собой вертикальную границу, максимальная длина определяется на основе ширины по меньшей мере одного из первого блока, смежного с левой стороной целевой границы или второго блока, смежного с правой стороной целевой границы, и
при этом, на основе целевой границы, представляющей собой горизонтальную границу, максимальная длина определяется на основе высоты по меньшей мере одного из третьего блока, смежного с верхней стороной целевой границы или четвертого блока, смежного с нижней стороной целевой границы.
WO 2018038492 A1, 01.03.2018 | |||
WO 2011145601 A1, 24.11.2011 | |||
US 20160100163 A1, 07.04.2016 | |||
US 20170064307 A1, 02.03.2017 | |||
СПОСОБ ФИЛЬТРАЦИИ ДЛЯ УМЕНЬШЕНИЯ БЛОЧНОСТИ, УЧИТЫВАЮЩИЙ РЕЖИМ intra-BL, И ИСПОЛЬЗУЮЩИЙ ЕГО МНОГОУРОВНЕВЫЙ ВИДЕОКОДЕР/ВИДЕОДЕКОДЕР | 2006 |
|
RU2355125C1 |
СПОСОБ ФИЛЬТРАЦИИ, СПОСОБ ДЕКОДИРОВАНИЯ И СПОСОБ КОДИРОВАНИЯ | 2012 |
|
RU2606304C2 |
Авторы
Даты
2023-12-12—Публикация
2020-07-20—Подача