Область техники, к которой относится изобретение
[1] Настоящее раскрытие сущности относится к способу и оборудованию кодирования/декодирования изображений и к способу передачи потока битов, а более конкретно, к способу и оборудованию для кодирования/декодирования изображения с использованием фильтрации и к способу передачи потока битов, сформированного посредством способа/оборудования кодирования изображений настоящего раскрытия сущности.
Уровень техники
[2] В последнее время, спрос на высококачественные изображения высокого разрешения, к примеру, изображения высокой четкости (HD) и изображения сверхвысокой четкости (UHD) растет в различных областях техники. По мере того, как разрешение и качество данных изображений повышается, объем передаваемой информации или битов относительно увеличивается по сравнению с существующими данными изображений. Увеличение объема передаваемой информации или битов приводит к увеличению затрат на передачу и затрат на хранение.
[3] Соответственно, имеется потребность в высокоэффективной технологии сжатия изображений для эффективной передачи, сохранения и воспроизведения информации относительно высококачественных изображений высокого разрешения.
Сущность изобретения
Техническая задача
[4] Цель настоящего раскрытия сущности заключается в том, чтобы предоставлять способ и оборудование кодирования/декодирования изображений с повышенной эффективностью кодирования/декодирования.
[5] Другая цель настоящего раскрытия сущности заключается в том, чтобы предоставлять способ и оборудование кодирования/декодирования изображений для кодирования/декодирования изображения на основе субкадра.
[6] Другая цель настоящего раскрытия сущности заключается в том, чтобы предоставлять способ и оборудование кодирования/декодирования изображений для выполнения BDOF или PROF на основе определения того, трактуется или нет текущий субкадр в качестве кадра.
[7] Другая цель настоящего раскрытия сущности заключается в том, чтобы предоставлять способ передачи потока битов, сформированного посредством способа или оборудования кодирования изображений согласно настоящему раскрытию сущности.
[8] Другая цель настоящего раскрытия сущности заключается в том, чтобы предоставлять носитель записи, сохраняющий поток битов, сформированный посредством способа или оборудования кодирования изображений согласно настоящему раскрытию сущности.
[9] Другая цель настоящего раскрытия сущности заключается в том, чтобы предоставлять носитель записи, сохраняющий поток битов, принимаемый, декодированный и используемый для того, чтобы восстанавливать изображение посредством оборудования декодирования изображений согласно настоящему раскрытию сущности.
[10] Технические проблемы, разрешаемые посредством настоящего раскрытия сущности, не ограничены вышеуказанными техническими проблемами, и другие технические проблемы, которые не описываются в данном документе, должны становиться очевидными для специалистов в данной области техники из нижеприведенного описания.
Техническое решение
[11] Способ декодирования изображений согласно аспекту настоящего раскрытия сущности может содержать определение того, применяется либо нет двунаправленный оптический поток (BDOF) или детализация прогнозирования с помощью оптического потока (PROF) к текущему блоку, на основе BDOF или PROF, применяемого к текущему блоку, осуществление выборки прогнозной выборки текущего блока из опорного кадра текущего блока на основе информации движения текущего блока и извлечение детализированной прогнозной выборки для текущего блока, посредством применения BDOF или PROF к текущему блоку на основе подвергнутой выборке прогнозной выборки.
[12] В способе декодирования изображений настоящего раскрытия сущности, осуществление выборки прогнозной выборки текущего блока может выполняться на основе того, трактуется или нет текущий субкадр, включающий в себя текущий блок, в качестве кадра.
[13] В способе декодирования изображений настоящего раскрытия сущности, то, трактуется или нет текущий субкадр в качестве кадра, может определяться на основе информации флага, передаваемой в служебных сигналах через поток битов.
[14] В способе декодирования изображений настоящего раскрытия сущности, информация флага может передаваться в служебных сигналах через набор параметров последовательности (SPS).
[15] В способе декодирования изображений настоящего раскрытия сущности, осуществление выборки прогнозной выборки текущего блока может выполняться на основе позиции прогнозной выборки, которая должна подвергаться осуществлению выборки, и при этом позиция прогнозной выборки может отсекаться в предварительно определенном диапазоне.
[16] В способе декодирования изображений настоящего раскрытия сущности, на основе текущего субкадра, трактуемого в качестве кадра, предварительно определенный диапазон может указываться посредством граничной позиции текущего субкадра.
[17] В способе декодирования изображений настоящего раскрытия сущности, позиция прогнозной выборки, которая должна подвергаться осуществлению выборки, может содержать координату X и координату Y, координата X может отсекаться в диапазоне левой граничной позиции и правой граничной позиции текущего субкадра, и координата Y может отсекаться в диапазоне верхней граничной позиции и нижней граничной позиции текущего субкадра.
[18] В способе декодирования изображений настоящего раскрытия сущности, левая граничная позиция текущего субблока может извлекаться в качестве произведения информации позиции предварительно определенной единицы, указывающей левую позицию текущего субкадра, и ширины предварительно определенной единицы, правая граничная позиция текущего субкадра может извлекаться посредством выполнения операции "-1" для произведения информации позиции предварительно определенной единицы, указывающей правую позицию текущего субкадра, и ширины предварительно определенной единицы, верхняя граничная позиция текущего субкадра может извлекаться в качестве произведения информации позиции предварительно определенной единицы, указывающей верхнюю позицию текущего субкадра, и высоты предварительно определенной единицы, и нижняя граничная позиция текущего субкадра может извлекаться посредством выполнения операции "-1" для произведения информации позиции предварительно определенной единицы, указывающей нижнюю позицию текущего субкадра, и высоты предварительно определенной единицы.
[19] В способе декодирования изображений настоящего раскрытия сущности, предварительно определенная единица может представлять собой сетку или CTU.
[20] В способе декодирования изображений настоящего раскрытия сущности, на основе текущего субкадра, не трактуемого в качестве кадра, предварительно определенный диапазон может представлять собой диапазон текущего кадра, включающий в себя текущий блок.
[21] Оборудование декодирования изображений согласно другому аспекту настоящего раскрытия сущности может содержать запоминающее устройство и, по меньшей мере, один процессор. По меньшей мере, один процессор может определять то, применяется либо нет двунаправленный оптический поток (BDOF) или детализация прогнозирования с помощью оптического потока (PROF) к текущему блоку, на основе BDOF или PROF, применяемого к текущему блоку, осуществлять выборку прогнозной выборки текущего блока из опорного кадра текущего блока на основе информации движения текущего блока и извлекать детализированную прогнозную выборку для текущего блока посредством применения BDOF или PROF к текущему блоку на основе подвергнутой выборке прогнозной выборки.
[22] В оборудовании декодирования изображений настоящего раскрытия сущности, по меньшей мере, один процессор может осуществлять выборку прогнозной выборки текущего блока на основе того, трактуется или нет текущий субкадр, включающий в себя текущий блок, в качестве кадра.
[23] Способ кодирования изображений согласно другому аспекту настоящего раскрытия сущности может содержать определение того, применяется либо нет двунаправленный оптический поток (BDOF) или детализация прогнозирования с помощью оптического потока (PROF) к текущему блоку, на основе BDOF или PROF, применяемого к текущему блоку, осуществление выборки прогнозной выборки текущего блока из опорного кадра текущего блока на основе информации движения текущего блока и извлечение детализированной прогнозной выборки для текущего блока, посредством применения BDOF или PROF к текущему блоку на основе подвергнутой выборке прогнозной выборки.
[24] В способе кодирования изображений настоящего раскрытия сущности, осуществление выборки прогнозной выборки текущего блока может выполняться на основе того, трактуется или нет текущий субкадр, включающий в себя текущий блок, в качестве кадра.
[25] Способ передачи согласно другому аспекту настоящего раскрытия сущности может передавать поток битов, сформированный посредством способа кодирования изображений и/или оборудования кодирования изображений настоящего раскрытия сущности, в оборудование декодирования изображений.
[26] Помимо этого, машиночитаемый носитель записи согласно другому аспекту настоящего раскрытия сущности может сохранять поток битов, сформированный посредством оборудования кодирования изображений или способа кодирования изображений настоящего раскрытия сущности.
[27] Признаки, кратко обобщенные выше относительно настоящего раскрытия сущности, представляют собой просто примерные аспекты нижеприведенного подробного описания настоящего раскрытия сущности и не ограничивают объем настоящего раскрытия сущности.
Преимущества изобретения
[28] Согласно настоящему раскрытию сущности, можно предоставлять способ и оборудование кодирования/декодирования изображений с повышенной эффективностью кодирования/декодирования.
[29] Кроме того, согласно настоящему раскрытию сущности, можно предоставлять способ и оборудование кодирования/декодирования изображений для кодирования/декодирования изображения на основе субкадра.
[30] Кроме того, согласно настоящему раскрытию сущности, можно предоставлять способ и оборудование кодирования/декодирования изображений для выполнения BDOF или PROF на основе определения того, трактуется или нет текущий субкадр в качестве кадра.
[31] Кроме того, согласно настоящему раскрытию сущности, можно предоставлять способ передачи потока битов, сформированного посредством способа или оборудования кодирования изображений согласно настоящему раскрытию сущности.
[32] Кроме того, согласно настоящему раскрытию сущности, можно предоставлять носитель записи, сохраняющий поток битов, сформированный посредством способа или оборудования кодирования изображений согласно настоящему раскрытию сущности.
[33] Кроме того, согласно настоящему раскрытию сущности, можно предоставлять носитель записи, сохраняющий поток битов, принимаемый, декодированный и используемый для того, чтобы восстанавливать изображение посредством оборудования декодирования изображений согласно настоящему раскрытию сущности.
[34] Специалисты в данной области техники должны принимать во внимание, что преимущества, которые могут достигаться через настоящее раскрытие сущности, не ограничены тем, что конкретно описано выше, и другие преимущества настоящего раскрытия сущности должны более ясно пониматься из подробного описания.
Краткое описание чертежей
[35] Фиг. 1 является видом, схематично иллюстрирующим систему кодирования видео, к которой является применимым вариант осуществления настоящего раскрытия сущности.
[36] Фиг. 2 является видом, схематично иллюстрирующим оборудование кодирования изображений, к которому является применимым вариант осуществления настоящего раскрытия сущности.
[37] Фиг. 3 является видом, схематично иллюстрирующим оборудование декодирования изображений, к которому является применимым вариант осуществления настоящего раскрытия сущности.
[38] Фиг. 4 является блок-схемой последовательности операций, иллюстрирующей способ кодирования видео/изображений на основе взаимного прогнозирования.
[39] Фиг. 5 является видом, иллюстрирующим конфигурацию модуля 180 взаимного прогнозирования согласно настоящему раскрытию сущности.
[40] Фиг. 6 является блок-схемой последовательности операций, иллюстрирующей способ декодирования видео/изображений на основе взаимного прогнозирования.
[41] Фиг. 7 является видом, иллюстрирующим конфигурацию модуля 260 взаимного прогнозирования согласно настоящему раскрытию сущности.
[42] Фиг. 8 является видом, иллюстрирующим движение, выразимое в аффинном режиме.
[43] Фиг. 9 является видом, иллюстрирующим параметрическую модель аффинного режима.
[44] Фиг. 10 является видом, иллюстрирующим способ формирования списка аффинных возможных вариантов объединения.
[45] Фиг. 11 является видом, иллюстрирующим CPMV, извлекаемый из соседнего блока.
[46] Фиг. 12 является видом, иллюстрирующим соседние блоки для извлечения унаследованного аффинного возможного варианта объединения.
[47] Фиг. 13 является видом, иллюстрирующим соседние блоки для извлечения сконструированного аффинного возможного варианта объединения.
[48] Фиг. 14 является видом, иллюстрирующим способ формирования списка аффинных возможных MVP-вариантов.
[49] Фиг. 15 является видом, иллюстрирующим соседний блок TMVP-режима на основе субблоков.
[50] Фиг. 16 является видом, иллюстрирующим способ извлечения поля векторов движения согласно TMVP-режиму на основе субблоков.
[51] Фиг. 17 является видом, иллюстрирующим CU, расширенную с возможностью выполнять BDOF.
[52] Фиг. 18 является видом, иллюстрирующим взаимосвязь между Δv(i, j), v(i, j) и субблочным вектором движения.
[53] Фиг. 19 является видом, иллюстрирующим вариант осуществления синтаксиса для передачи в служебных сигналах синтаксического элемента для субкадров в SPS.
[54] Фиг. 20 является видом, иллюстрирующим вариант осуществления алгоритма для извлечения предварительно определенной переменной, такой как SubPicTop.
[55] Фиг. 21 является видом, иллюстрирующим способ кодирования изображения с использованием субкадра посредством оборудования кодирования согласно варианту осуществления.
[56] Фиг. 22 является видом, иллюстрирующим способ декодирования изображения с использованием субкадра посредством оборудования декодирования согласно варианту осуществления.
[57] Фиг. 23 является видом, иллюстрирующим процесс извлечения прогнозной выборки текущего блока посредством применения BDOF.
[58] Фиг. 24 является видом, иллюстрирующим ввод и вывод BDOF-процесса согласно варианту осуществления настоящего раскрытия сущности.
[59] Фиг. 25 является видом, иллюстрирующим переменные, используемые для BDOF-процесса согласно варианту осуществления настоящего раскрытия сущности.
[60] Фиг. 26 является видом, иллюстрирующим способ формирования прогнозной выборки для каждого субблока в текущей CU на основе того, следует или нет применять BDOF, согласно варианту осуществления настоящего раскрытия сущности.
[61] Фиг. 27 является видом, иллюстрирующим способ извлечения градиента, автокорреляции и взаимной корреляции текущего субблока согласно варианту осуществления настоящего раскрытия сущности.
[62] Фиг. 28 является видом, иллюстрирующим способ извлечения детализации (vx, vy) движения, извлечения BDOF-смещения и формирования прогнозной выборки текущего субблока, согласно варианту осуществления настоящего раскрытия сущности.
[63] Фиг. 29 является видом, иллюстрирующим процесс извлечения прогнозной выборки текущего блока посредством применения PROF.
[64] Фиг. 30 является видом, иллюстрирующим пример PROF-процесса согласно настоящему раскрытию сущности.
[65] Фиг. 31 является видом, иллюстрирующим случай, в котором опорная выборка, которая должна подвергаться осуществлению выборки, пересекает границу субкадра.
[66] Фиг. 32 является укрупненным видом области осуществления выборки по фиг. 31.
[67] Фиг. 33 является видом, иллюстрирующим процесс осуществления выборки опорных выборок согласно варианту осуществления настоящего раскрытия сущности.
[68] Фиг. 34 является блок-схемой последовательности операций способа, иллюстрирующей процесс осуществления выборки опорных выборок согласно настоящему раскрытию сущности.
[69] Фиг. 35 является видом, иллюстрирующим часть процедуры интерполяции дробных выборок согласно настоящему раскрытию сущности.
[70] Фиг. 36 является видом, иллюстрирующим часть способа sbTMVP-извлечения согласно настоящему раскрытию сущности.
[71] Фиг. 37 является видом, иллюстрирующим способ извлечения граничной позиции субкадра согласно настоящему раскрытию сущности.
[72] Фиг. 38 является видом, показывающим систему потоковой передачи контента, к которой является применимым вариант осуществления настоящего раскрытия сущности.
Оптимальный режим осуществления изобретения
[73] В дальнейшем в этом документе подробно описываются варианты осуществления настоящего раскрытия сущности со ссылкой на прилагаемые чертежи, так что они легко могут реализовываться специалистами в данной области техники. Тем не менее, настоящее раскрытие сущности может реализовываться во всевозможных формах и не ограничено вариантами осуществления, описанными в данном документе.
[74] При описании настоящего раскрытия сущности, если определяется то, что подробное описание связанной известной функции или конструкции приводит к излишней неоднозначности объема настоящего раскрытия сущности, ее подробное описание опускается. На чертежах, части, не связанные с описанием настоящего раскрытия сущности, опускаются, и аналогичные ссылки с номерами присоединяются к аналогичным частям.
[75] В настоящем раскрытии сущности, когда компонент "соединяется (connected)", "соединяется (coupled)" или "связывается (linked)" с другим компонентом, это может включать в себя не только непосредственную взаимосвязь на основе соединения, но также и косвенную взаимосвязь на основе соединения, в которой присутствует промежуточный компонент. Помимо этого, когда компонент "включает в себя" или "имеет" другие компоненты, это означает то, что другие компоненты могут включаться дополнительно, а не исключение других компонентов, если не указано иное.
[76] В настоящем раскрытии сущности, термины "первый", "второй" и т.д. могут использоваться только для целей различения одного компонента от других компонентов и не ограничивают порядок или важность компонентов, если не указано иное. Соответственно, в пределах объема настоящего раскрытия сущности, первый компонент в одном варианте осуществления может называться "вторым компонентом" в другом варианте осуществления, и аналогично, второй компонент в одном варианте осуществления может называться "первым компонентом" в другом варианте осуществления.
[77] В настоящем раскрытии сущности, компоненты, которые отличаются друг от друга, имеют намерение ясно описывать каждый признак и не означают то, что компоненты обязательно разделяются. Таким образом, множество компонентов могут интегрироваться и реализовываться в одном аппаратном или программном модуле, или один компонент может распределяться и реализовываться во множестве аппаратных или программных модулей. Следовательно, даже если не указано иное, такие варианты осуществления, в которых компоненты интегрируются, или компонент распределяется, также включаются в объем настоящего раскрытия сущности.
[78] В настоящем раскрытии сущности, компоненты, описанные в различных вариантах осуществления, не обязательно означают существенные компоненты, и некоторые компоненты могут представлять собой необязательные компоненты. Соответственно, вариант осуществления, состоящий из поднабора компонентов, описанных в варианте осуществления, также включается в объем настоящего раскрытия сущности. Помимо этого, варианты осуществления, включающие в себя другие компоненты, в дополнение к компонентам, описанным в различных вариантах осуществления, включаются в объем настоящего раскрытия сущности.
[79] Настоящее раскрытие сущности относится к кодированию и декодированию изображения, и термины, используемые в настоящем раскрытии сущности, могут иметь общий смысл, широко используемый в области техники, которой принадлежит настоящее раскрытие сущности, если не задаются впервые в настоящем раскрытии сущности.
[80] В настоящем раскрытии сущности, "кадр", в общем, означает единицу, представляющую одно изображение в конкретный период времени, и срез/плитка представляет собой единицу кодирования, составляющую часть кадра, и один кадр может состоять из одного или более срезов/плиток. Помимо этого, срез/плитка может включать в себя одну или более единиц дерева кодирования (CTU).
[81] В настоящем раскрытии сущности, "пиксел" или "пел" может означать наименьшую единицу, составляющую один кадр (или изображение). Помимо этого, "выборка" может использоваться в качестве термина, соответствующего пикселу. Выборка, в общем, может представлять пиксел или значение пиксела и может представлять только пиксел/пиксельное значение компонента сигналов яркости либо только пиксел/пиксельное значение компонента сигналов цветности.
[82] В настоящем раскрытии сущности, "единица" может представлять базовую единицу обработки изображений. Единица может включать в себя, по меньшей мере, одно из конкретной области кадра и информации, связанной с областью. Единица может использоваться взаимозаменяемо с такими терминами, как "массив выборок", "блок" или "зона" в некоторых случаях. В общем случае, блок MxN может включать в себя выборки (или массивы выборок) либо набор (или массив) коэффициентов преобразования из M столбцов и N строк.
[83] В настоящем раскрытии сущности, "текущий блок" может означать одно из "текущего блока кодирования", "текущей единицы кодирования", "целевого блока кодирования", "целевого блока декодирования" или "целевого блока обработки". Когда прогнозирование выполняется, "текущий блок" может означать "текущий блок прогнозирования" или "целевой блок прогнозирования". Когда преобразование (обратное преобразование)/квантование (деквантование) выполняется, "текущий блок" может означать "текущий блок преобразования" или "целевой блок преобразования". Когда фильтрация выполняется, "текущий блок" может означать "целевой блок фильтрации".
[84] В настоящем раскрытии сущности, термин "/" и "" должен интерпретироваться как указывающий "и/или". Например, выражение "A/B" и "A, B" может означать "A и/или B". Дополнительно, "A/B/C" и "A/B/C" может означать "по меньшей мере, одно из A, B и/или C".
[85] В настоящем раскрытии сущности, термин "или" должен интерпретироваться как указывающий "и/или". Например, выражение "A или B" может содержать 1) только "A", 2) только "B" и/или 3) "как A, так и B". Другими словами, в настоящем раскрытии сущности, термин "или" должен интерпретироваться как указывающий "дополнительно или альтернативно".
[86] Общее представление системы кодирования видео
[87] Фиг. 1 является видом, показывающим систему кодирования видео согласно настоящему раскрытию сущности.
[88] Система кодирования видео согласно варианту осуществления может включать в себя оборудование 10 кодирования и оборудование 20 декодирования. Оборудование 10 кодирования может доставлять кодированную информацию или данные видео и/или изображений в оборудование 20 декодирования в форме файла или потоковой передачи через цифровой носитель хранения данных или сеть.
[89] Оборудование 10 кодирования согласно варианту осуществления может включать в себя формирователь 11 видеоисточников, модуль 12 кодирования и передатчик 13. Оборудование 20 декодирования согласно варианту осуществления может включать в себя приемник 21, модуль 22 декодирования и модуль 23 рендеринга. Модуль 12 кодирования может называться "модулем кодирования видео/изображений", и модуль 22 декодирования может называться "модулем декодирования видео/изображений". Передатчик 13 может включаться в модуль 12 кодирования. Приемник 21 может включаться в модуль 22 декодирования. Модуль 23 рендеринга может включать в себя дисплей, и дисплей может быть сконфигурирован как отдельное устройство или внешний компонент.
[90] Формирователь 11 видеоисточников может получать видео/изображение через процесс захвата, синтезирования или формирования видео/изображения. Формирователь 11 видеоисточников может включать в себя устройство захвата видео/изображений и/или устройство формирования видео/изображений. Устройство захвата видео/изображений может включать в себя, например, одну или более камер, архивы видео/изображений, включающие в себя ранее захваченные видео/изображения, и т.п. Устройство формирования видео/изображений может включать в себя, например, компьютеры, планшетные компьютеры и смартфоны и может (электронно) формировать видео/изображения. Например, виртуальное видео/изображение может формироваться через компьютер и т.п. В этом случае, процесс захвата видео/изображений может заменяться посредством процесса формирования связанных данных.
[91] Модуль 12 кодирования может кодировать входное видео/изображение. Модуль 12 кодирования может выполнять последовательность процедур, таких как прогнозирование, преобразование и квантование, для эффективности сжатия и кодирования. Модуль 12 кодирования может выводить кодированные данные (кодированную информацию видео/изображений) в форме потока битов.
[92] Передатчик 13 может передавать кодированную информацию или данные видео/изображений, выводимую в форме потока битов, в приемник 21 оборудования 20 декодирования через цифровой носитель хранения данных или сеть в форме файла или потоковой передачи. Цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик 13 может включать в себя элемент для формирования мультимедийного файла через предварительно определенный формат файлов и может включать в себя элемент для передачи через широковещательную сеть/сеть связи. Приемник 21 может извлекать/принимать поток битов из носителя хранения данных или сети и передавать поток битов в модуль 22 декодирования.
[93] Модуль 22 декодирования может декодировать видео/изображение посредством выполнения последовательности процедур, таких как деквантование, обратное преобразование и прогнозирование, соответствующих работе модуля 12 кодирования.
[94] Модуль 23 рендеринга может подготавливать посредством рендеринга декодированное видео/изображение. Подготовленное посредством рендеринга видео/изображение может отображаться через дисплей.
[95] Общее представление оборудования кодирования изображений
[96] Фиг. 2 является видом, схематично показывающим оборудование кодирования изображений, к которому является применимым вариант осуществления настоящего раскрытия сущности.
[97] Как показано на фиг. 2, оборудование 100 кодирования изображений может включать в себя модуль 110 сегментации изображений, вычитатель 115, преобразователь 120, квантователь 130, деквантователь 140, обратный преобразователь 150, сумматор 155, фильтр 160, запоминающее устройство 170, модуль 180 взаимного прогнозирования, модуль 185 внутреннего прогнозирования и энтропийный кодер 190. Модуль 180 взаимного прогнозирования и модуль 185 внутреннего прогнозирования могут совместно называться "модулем прогнозирования". Преобразователь 120, квантователь 130, деквантователь 140 и обратный преобразователь 150 могут включаться в остаточный процессор. Остаточный процессор дополнительно может включать в себя вычитатель 115.
[98] Все или, по меньшей мере, часть из множества компонентов, конфигурирующих оборудование 100 кодирования изображений, могут быть сконфигурированы посредством одного аппаратного компонента (например, кодера или процессора) в некоторых вариантах осуществления. Помимо этого, запоминающее устройство 170 может включать в себя буфер декодированных кадров (DPB) и может быть сконфигурировано посредством цифрового носителя хранения данных.
[99] Модуль 110 сегментации изображений может сегментировать входное изображение (либо кадр или кинокадр), вводимое в оборудование 100 кодирования изображений, на одну более единиц обработки. Например, единица обработки может называться "единицей кодирования (CU)". Единица кодирования может получаться посредством рекурсивной сегментации единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU) согласно структуре в виде дерева квадрантов, двоичного дерева и троичного дерева (QT/BT/TT). Например, одна единица кодирования может сегментироваться на множество единиц кодирования большей глубины на основе структуры в виде дерева квадрантов, структуры в виде двоичного дерева и/или троичной структуры. Для сегментации единицы кодирования, сначала может применяться структура в виде дерева квадрантов, и впоследствии может применяться структура в виде двоичного дерева и/или троичная структура. Процедура кодирования согласно настоящему раскрытию сущности может выполняться на основе конечной единицы кодирования, которая более не сегментируется. Наибольшая единица кодирования может использоваться в качестве конечной единицы кодирования, или единица кодирования большей глубины, полученной посредством сегментации наибольшей единицы кодирования, может использоваться в качестве конечной единицы кодирования. Здесь, процедура кодирования может включать в себя процедуру прогнозирования, преобразования и восстановления, которая описывается ниже. В качестве другого примера, единица обработки процедуры кодирования может представлять собой единицу прогнозирования (PU) или единицу преобразования (TU). Единица прогнозирования и единица преобразования могут разбиваться или сегментироваться из конечной единицы кодирования. Единица прогнозирования может представлять собой единицу выборочного прогнозирования, и единица преобразования может представлять собой единицу для извлечения коэффициента преобразования и/или единицу для извлечения остаточного сигнала из коэффициента преобразования.
[100] Модуль прогнозирования (модуль 180 взаимного прогнозирования или модуль 185 внутреннего прогнозирования) может выполнять прогнозирование относительно блока, который должен обрабатываться (текущего блока), и формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование, на основе текущего блока или CU. Модуль прогнозирования может формировать различную информацию, связанную с прогнозированием текущего блока, и передавать сформированную информацию в энтропийный кодер 190. Информация относительно прогнозирования может кодироваться в энтропийном кодере 190 и выводиться в форме потока битов.
[101] Модуль 185 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки для ссылки могут быть расположены в окружении текущего блока или могут быть расположены с разнесением согласно режиму внутреннего прогнозирования и/или технологии внутреннего прогнозирования. Режимы внутреннего прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Ненаправленный режим может включать в себя, например, DC-режим и планарный режим. Направленный режим может включать в себя, например, 33 режима направленного прогнозирования или 65 режимов направленного прогнозирования согласно степени детальности направления прогнозирования. Тем не менее, это представляет собой просто пример, большее или меньшее число режимов направленного прогнозирования может использоваться в зависимости от настройки. Модуль 185 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.
[102] Модуль 180 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными или отличающимися. Временной соседний блок может называться "совместно размещенным опорным блоком", "совместно размещенной CU (colCU)" и т.п. Опорный кадр, включающий в себя временной соседний блок, может называться "совместно размещенным кадром (colPic)". Например, модуль 180 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и формировать информацию, указывающую то, какой возможный вариант используется для того, чтобы извлекать вектор движения и/или индекс опорного кадра текущего блока. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования. Например, в случае режима пропуска и режима объединения, модуль 180 взаимного прогнозирования может использовать информацию движения соседнего блока в качестве информации движения текущего блока. В случае режима пропуска, в отличие от режима объединения, остаточный сигнал может не передаваться. В случае режима прогнозирования векторов движения (MVP), вектор движения соседнего блока может использоваться в качестве предиктора вектора движения, и вектор движения текущего блока может передаваться в служебных сигналах посредством кодирования разности векторов движения и индикатора для предиктора вектора движения. Разность векторов движения может означать разность между вектором движения текущего блока и предиктором вектора движения.
[103] Модуль прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования и технологий прогнозирования, описанных ниже. Например, модуль прогнозирования может не только применять внутреннее прогнозирование или взаимное прогнозирование, но также и одновременно применять как внутреннее прогнозирование, так и взаимное прогнозирование, чтобы прогнозировать текущий блок. Способ прогнозирования с одновременным применением как внутреннего прогнозирования, так и взаимного прогнозирования для прогнозирования текущего блока может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может выполнять внутриблочное копирование (IBC) для прогнозирования текущего блока. Внутриблочное копирование может использоваться для кодирования изображений/видео контента игры и т.п., например, для кодирования экранного контента (SCC). IBC представляет собой способ прогнозирования текущего кадра с использованием ранее восстановленного опорного блока в текущем кадре в местоположении, разнесенном от текущего блока на предварительно определенное расстояние. Когда IBC применяется, местоположение опорного блока в текущем кадре может кодироваться как вектор (блочный вектор), соответствующий предварительно определенному расстоянию.
[104] Прогнозный сигнал, сформированный посредством модуля прогнозирования, может использоваться для того, чтобы формировать восстановленный сигнал или формировать остаточный сигнал. Вычитатель 115 может формировать остаточный сигнал (остаточный блок или массив остаточных выборок) посредством вычитания прогнозного сигнала (прогнозированного блока или массива прогнозных выборок), выводимого из модуля прогнозирования, из сигнала входного изображения (исходного блока или массива исходных выборок). Сформированный остаточный сигнал может передаваться в преобразователь 120.
[105] Преобразователь 120 может формировать коэффициенты преобразования посредством применения технологии преобразования к остаточному сигналу. Например, технология преобразования может включать в себя, по меньшей мере, одно из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования Карунена-Лоэва (KLT), преобразования на основе графа (GBT) или условно нелинейного преобразования (CNT). Здесь, GBT означает преобразование, полученное из графа, когда информация взаимосвязи между пикселами представляется посредством графа. CNT означает преобразование, полученное на основе прогнозного сигнала, сформированного с использованием всех ранее восстановленных пикселов. Помимо этого, процесс преобразования может применяться к квадратным пиксельным блокам, имеющим идентичный размер, или может применяться к блокам, имеющим переменный размер, а не квадратный.
[106] Квантователь 130 может квантовать коэффициенты преобразования и передавать их в энтропийный кодер 190. Энтропийный кодер 190 может кодировать квантованный сигнал (информацию относительно квантованных коэффициентов преобразования) и выводить поток битов. Информация относительно квантованных коэффициентов преобразования может называться "остаточной информацией". Квантователь 130 может перекомпоновывать квантованные коэффициенты преобразования в блочной форме в одномерную векторную форму на основе порядка сканирования коэффициентов и формировать информацию относительно квантованных коэффициентов преобразования на основе квантованных коэффициентов преобразования в одномерной векторной форме.
[107] Энтропийный кодер 190 может осуществлять различные способы кодирования, такие как, например, кодирование экспоненциальным кодом Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и т.п. Энтропийный кодер 190 может кодировать информацию, необходимую для восстановления видео/изображений, отличную от квантованных коэффициентов преобразования (например, значений синтаксических элементов и т.д.), вместе или отдельно. Кодированная информация (например, кодированная информация видео/изображений) может передаваться или сохраняться в единицах слоев абстрагирования от сети (NAL) в форме потока битов. Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Передаваемая в служебных сигналах информация, передаваемая информация и/или синтаксические элементы, описанные в настоящем раскрытии сущности, могут кодироваться через вышеописанную процедуру кодирования и включаться в поток битов.
[108] Поток битов может передаваться по сети или может сохраняться на цифровом носителе хранения данных. Сеть может включать в себя широковещательную сеть и/или сеть связи, и цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как, USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик (не показан), передающий сигнал, выводимый из энтропийного кодера 190, и/или модуль хранения (не показан), сохраняющий сигнал, могут включаться в качестве внутреннего/внешнего элемента оборудования 100 кодирования, и альтернативно, передатчик может включаться в энтропийный кодер 190.
[109] Квантованные коэффициенты преобразования, выводимые из квантователя 130, могут использоваться для того, чтобы формировать остаточный сигнал. Например, остаточный сигнал (остаточный блок или остаточные выборки) может восстанавливаться посредством применения деквантования и обратного преобразования к квантованным коэффициентам преобразования через деквантователь 140 и обратный преобразователь 150.
[110] Сумматор 155 суммирует восстановленный остаточный сигнал с прогнозным сигналом, выводимым из модуля 180 взаимного прогнозирования или модуля 185 внутреннего прогнозирования, с тем чтобы формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок). Если отсутствует остаток для блока, который должен обрабатываться, к примеру, в случае, в котором режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока. Сумматор 155 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, и может использоваться для взаимного прогнозирования следующего кадра посредством фильтрации, как описано ниже.
[111] Между тем, как описано ниже, преобразование сигнала яркости с масштабированием сигнала цветности (LMCS) является применимым в процессе кодирования кадров.
[112] Фильтр 160 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 160 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 170, а именно, в DPB запоминающего устройства 170. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, фильтрацию на основе дискретизированного адаптивного смещения, адаптивный контурный фильтр, билатеральный фильтр и т.п. Фильтр 160 может формировать различную информацию, связанную с фильтрацией, и передавать сформированную информацию в энтропийный кодер 190, как описано ниже в описании каждого способа фильтрации. Информация, связанная с фильтрацией, может кодироваться посредством энтропийного кодера 190 и выводиться в форме потока битов.
[113] Модифицированный восстановленный кадр, передаваемый в запоминающее устройство 170, может использоваться в качестве опорного кадра в модуле 180 взаимного прогнозирования. Когда взаимное прогнозирование применяется через оборудование 100 кодирования изображений, рассогласование прогнозирования между оборудованием 100 кодирования изображений и оборудованием декодирования изображений может исключаться, и эффективность кодирования может повышаться.
[114] DPB запоминающего устройства 170 может сохранять модифицированный восстановленный кадр для использования в качестве опорного кадра в модуле 180 взаимного прогнозирования. Запоминающее устройство 170 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или кодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 180 взаимного прогнозирования и использоваться в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 170 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и может передавать восстановленные выборки в модуль 185 внутреннего прогнозирования.
[115] Общее представление оборудования декодирования изображений
[116] Фиг. 3 является видом, схематично показывающим оборудование декодирования изображений, к которому является применимым вариант осуществления настоящего раскрытия сущности.
[117] Как показано на фиг. 3, оборудование 200 декодирования изображений может включать в себя энтропийный декодер 210, деквантователь 220, обратный преобразователь 230, сумматор 235, фильтр 240, запоминающее устройство 250, модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования. Модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования могут совместно называться "модулем прогнозирования". Деквантователь 220 и обратный преобразователь 230 могут включаться в остаточный процессор.
[118] Все или, по меньшей мере, часть из множества компонентов, конфигурирующих оборудование 200 декодирования изображений, могут быть сконфигурированы посредством аппаратного компонента (например, декодера или процессора) согласно варианту осуществления. Помимо этого, запоминающее устройство 250 может включать в себя буфер декодированных кадров (DPB) или может быть сконфигурировано посредством цифрового носителя хранения данных.
[119] Оборудование 200 декодирования изображений, которое принимает поток битов, включающий в себя информацию видео/изображений, может восстанавливать изображение посредством выполнения процесса, соответствующего процессу, выполняемому посредством оборудования 100 кодирования изображений по фиг. 2. Например, оборудование 200 декодирования изображений может выполнять декодирование с использованием единицы обработки, применяемой в оборудовании кодирования изображений. Таким образом, единица обработки декодирования, например, может представлять собой единицу кодирования. Единица кодирования может получаться посредством сегментации единицы дерева кодирования или наибольшей единицы кодирования. Восстановленный сигнал изображения, декодированный и выводимый посредством оборудования 200 декодирования, может воспроизводиться посредством оборудования воспроизведения.
[120] Оборудование 200 декодирования изображений может принимать сигнал, выводимый из оборудования кодирования изображений по фиг. 2 в форме потока битов. Принимаемый сигнал может декодироваться через энтропийный декодер 210. Например, энтропийный декодер 210 может синтаксически анализировать поток битов, чтобы извлекать информацию (например, информацию видео/изображений), необходимую для восстановления изображений (или восстановления кадров). Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Оборудование декодирования изображений дополнительно может декодировать кадр на основе информации относительно набора параметров и/или общей информации ограничений. Передаваемая в служебных сигналах/принимаемая информация и/или синтаксические элементы, описанные в настоящем раскрытии сущности, могут декодироваться посредством процедуры декодирования и получаться из потока битов. Например, энтропийный декодер 210 декодирует информацию в потоке битов на основе способа кодирования, такого как кодирование экспоненциальным кодом Голомба, CAVLC или CABAC, и выходных значений синтаксических элементов, требуемых для восстановления изображений, и квантованных значений коэффициентов преобразования для остатка. Более конкретно, способ энтропийного CABAC-декодирования может принимать элемент разрешения, соответствующий каждому синтаксическому элементу в потоке битов, определять контекстную модель с использованием информации целевого синтаксического элемента декодирования, информации декодирования соседнего блока и целевого блока декодирования или информации символа/элемента разрешения, декодированного на предыдущей стадии, и выполнять арифметическое декодирование для элемента разрешения посредством прогнозирования вероятности появления элемента разрешения согласно определенной контекстной модели и формировать символ, соответствующий значению каждого синтаксического элемента. В этом случае, способ энтропийного CABAC-декодирования может обновлять контекстную модель посредством использования информации декодированного символа/элемента разрешения для контекстной модели следующего символа/элемента разрешения после определения контекстной модели. Информация, связанная с прогнозированием из информации, декодированной посредством энтропийного декодера 210, может предоставляться в модуль прогнозирования (модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования), и остаточное значение, для которого энтропийное декодирование выполнено в энтропийном декодере 210, т.е. квантованные коэффициенты преобразования и связанная информация параметров, может вводиться в деквантователь 220. Помимо этого, информация относительно фильтрации из информации, декодированной посредством энтропийного декодера 210, может предоставляться в фильтр 240. Между тем, приемник (не показан) для приема сигнала, выводимого из оборудования кодирования изображений, может быть дополнительно сконфигурирован в качестве внутреннего/внешнего элемента оборудования 200 декодирования изображений, или приемник может представлять собой компонент энтропийного декодера 210.
[121] Между тем, оборудование декодирования изображений согласно настоящему раскрытию сущности может называться "оборудованием декодирования видео/изображений/кадров". Оборудование декодирования изображений может классифицироваться на информационный декодер (декодер информации видео/изображений/кадров) и выборочный декодер (декодер выборок видео/изображений/кадров). Информационный декодер может включать в себя энтропийный декодер 210. Выборочный декодер может включать в себя, по меньшей мере, одно из деквантователя 220, обратного преобразователя 230, сумматора 235, фильтра 240, запоминающего устройства 250, модуля 260 взаимного прогнозирования или модуля 265 внутреннего прогнозирования.
[122] Деквантователь 220 может деквантовать квантованные коэффициенты преобразования и выводить коэффициенты преобразования. Деквантователь 220 может перекомпоновывать квантованные коэффициенты преобразования в форме двумерного блока. В этом случае, перекомпоновка может выполняться на основе порядка сканирования коэффициентов, выполняемого в оборудовании кодирования изображений. Деквантователь 220 может выполнять деквантование для квантованных коэффициентов преобразования посредством использования параметра квантования (например, информации размера шага квантования) и получать коэффициенты преобразования.
[123] Обратный преобразователь 230 может обратно преобразовывать коэффициенты преобразования, чтобы получать остаточный сигнал (остаточный блок, массив остаточных выборок).
[124] Модуль прогнозирования может выполнять прогнозирование для текущего блока и может формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование к текущему блоку, на основе информации относительно прогнозирования, выводимой из энтропийного декодера 210, и может определять конкретный режим внутреннего/взаимного прогнозирования.
[125] Идентично тому, что описано в модуле прогнозирования оборудования 100 кодирования изображений, модуль прогнозирования может формировать прогнозный сигнал на основе различных способов (технологий) прогнозирования, которые описываются ниже.
[126] Модуль 265 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Описание модуля 185 внутреннего прогнозирования в равной степени применяется к модулю 265 внутреннего прогнозирования.
[127] Модуль 260 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Например, модуль 260 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и извлекать вектор движения текущего блока и/или индекс опорного кадра на основе принимаемой информации выбора возможных вариантов. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования, и информация относительно прогнозирования может включать в себя информацию, указывающую режим взаимного прогнозирования для текущего блока.
[128] Сумматор 235 может формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок) посредством суммирования полученного остаточного сигнала с прогнозным сигналом (прогнозированным блоком, массивом прогнозированных выборок), выводимым из модуля прогнозирования (включающего в себя модуль 260 взаимного прогнозирования и/или модуль 265 внутреннего прогнозирования). Описание сумматора 155 является в равной степени применимым к сумматору 235.
[129] Между тем, как описано ниже, преобразование сигнала яркости с масштабированием сигнала цветности (LMCS) является применимым в процессе декодирования кадров.
[130] Фильтр 240 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 240 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 250, а именно, в DPB запоминающего устройства 250. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, фильтрацию на основе дискретизированного адаптивного смещения, адаптивный контурный фильтр, билатеральный фильтр и т.п.
[131] (Модифицированный) восстановленный кадр, сохраненный в DPB запоминающего устройства 250, может использоваться в качестве опорного кадра в модуле 260 взаимного прогнозирования. Запоминающее устройство 250 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или декодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 260 взаимного прогнозирования, так что она используется в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 250 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и передавать восстановленные выборки в модуль 265 внутреннего прогнозирования.
[132] В настоящем раскрытии сущности, варианты осуществления, описанные в фильтре 160, модуле 180 взаимного прогнозирования и модуле 185 внутреннего прогнозирования оборудования 100 кодирования изображений, могут в равной или соответствующей степени применяться к фильтру 240, модулю 260 взаимного прогнозирования и модулю 265 внутреннего прогнозирования оборудования 200 декодирования изображений.
[133] Общее представление взаимного прогнозирования
[134] Оборудование кодирования изображений/оборудование декодирования изображений может выполнять взаимное прогнозирование в единицах блоков, чтобы извлекать прогнозную выборку. Взаимное прогнозирование может означать прогнозирование, извлекаемое таким способом, который зависит от элементов данных кадра(ов), отличного от текущего кадра. Когда взаимное прогнозирование применяется к текущему блоку, прогнозированный блок для текущего блока может извлекаться на основе опорного блока, указываемого посредством вектора движения для опорного кадра.
[135] В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения текущего блока может извлекаться на основе корреляции информации движения между соседним блоком и текущим блоком, и информация движения может извлекаться в единицах блоков, субблоков или выборок. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию типа взаимного прогнозирования. Здесь, информация типа взаимного прогнозирования может означать информацию направления взаимного прогнозирования. Информация типа взаимного прогнозирования может указывать то, что текущий блок прогнозируется с использованием одного из L0-прогнозирования, L1-прогнозирования или бипрогнозирования.
[136] При применении взаимного прогнозирования к текущему блоку, соседний блок текущего блока может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Опорный кадр, включающий в себя опорный блок для текущего блока, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными или отличающимися. Временной соседний блок может называться "совместно размещенным опорным блоком" или "совместно размещенной CU (colCU)", и опорный кадр, включающий в себя временной соседний блок, может называться "совместно размещенным кадром (colPic)".
[137] Между тем, список возможных вариантов информации движения может конструироваться на основе соседних блоков относительно текущего блока, и в этом случае, информация флага или индекса, указывающая то, какой возможный вариант используется, может передаваться в служебных сигналах, с тем чтобы извлекать вектор движения текущего блока и/или индекс опорного кадра.
[138] Информация движения может включать в себя L0-информацию движения и/или L1-информацию движения согласно типу взаимного прогнозирования. Вектор движения в L0-направлении может задаваться в качестве L0-вектора движения или MVL0, и вектор движения в L1-направлении может задаваться в качестве L1-вектора движения или MVL1. Прогнозирование на основе L0-вектора движения может задаваться как L0-прогнозирование, прогнозирование на основе L1-вектора движения может задаваться как L1-прогнозирование, и прогнозирование на основе как L0-вектора движения, так и L1-вектора движения, может задаваться как бипрогнозирование. Здесь, L0-вектор движения может означать вектор движения, ассоциированный со списком L0 опорных кадров, и L1-вектор движения может означать вектор движения, ассоциированный со списком L1 опорных кадров.
[139] Список L0 опорных кадров может включать в себя кадры перед текущим кадром в порядке вывода в качестве опорных кадров, и список L1 опорных кадров может включать в себя кадры после текущего кадра в порядке вывода. Предыдущие кадры могут задаваться как прямые (опорные) кадры, и последующие кадры могут задаваться как обратные (опорные) кадры. Между тем, список L0 опорных кадров дополнительно может включать в себя кадры после текущего кадра в порядке вывода в качестве опорных кадров. В этом случае, в списке L0 опорных кадров, предыдущие кадры могут сначала индексироваться, и последующие кадры затем могут индексироваться. Список L1 опорных кадров дополнительно может включать в себя кадры перед текущим кадром в порядке вывода в качестве опорных кадров. В этом случае, в списке L1 опорных кадров, последующие кадры могут сначала индексироваться, и предыдущие кадры затем могут индексироваться. Здесь, порядок вывода может соответствовать порядку номеров в последовательности кадров (POC).
[140] Фиг. 4 является блок-схемой последовательности операций, иллюстрирующей способ кодирования видео/изображений на основе взаимного прогнозирования.
[141] Фиг. 5 является видом, иллюстрирующим конфигурацию модуля 180 взаимного прогнозирования согласно настоящему раскрытию сущности.
[142] Способ кодирования по фиг. 6 может осуществляться посредством оборудования кодирования изображений по фиг. 2. В частности, этап S410 может выполняться посредством модуля 180 взаимного прогнозирования, и этап S420 может выполняться посредством остаточного процессора. В частности, этап S420 может выполняться посредством вычитателя 115. Этап S430 может выполняться посредством энтропийного кодера 190. Информация прогнозирования этапа S630 может извлекаться посредством модуля 180 взаимного прогнозирования, и остаточная информация этапа S630 может извлекаться посредством остаточного процессора. Остаточная информация представляет собой информацию относительно остаточных выборок. Остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования для остаточных выборок. Как описано выше, остаточные выборки могут извлекаться в качестве коэффициентов преобразования через преобразователь 120 оборудования кодирования изображений, и коэффициент преобразования может извлекаться в качестве квантованных коэффициентов преобразования через квантователь 130. Информация относительно квантованных коэффициентов преобразования может кодироваться посредством энтропийного кодера 190 через процедуру остаточного кодирования.
[143] Оборудование кодирования изображений может выполнять взаимное прогнозирование относительно текущего блока (S410). Оборудование кодирования изображений может извлекать режим взаимного прогнозирования и информацию движения текущего блока и формировать прогнозные выборки текущего блока. Здесь, процедуры определения режима взаимного прогнозирования, извлечения информации движения и формирования прогнозных выборок могут одновременно выполняться, либо любая из них может выполняться перед другими процедурами. Например, как показано на фиг. 5, модуль 180 взаимного прогнозирования оборудования 100 кодирования изображений может включать в себя модуль 181 определения режима прогнозирования, модуль 182 извлечения информации движения и модуль 183 извлечения прогнозных выборок. Модуль 181 определения режима прогнозирования может определять режим прогнозирования текущего блока, модуль 182 извлечения информации движения может извлекать информацию движения текущего блока, и модуль 183 извлечения прогнозных выборок может извлекать прогнозные выборки текущего блока. Например, модуль 180 взаимного прогнозирования оборудования кодирования изображений может выполнять поиск блока, аналогичного текущему блоку в предварительно определенной зоне (зоне поиска) опорных кадров через оценку движения, и извлекать опорный блок, разность которого относительно текущего блока равна или меньше предварительно определенного критерия или минимума. На основе этого, индекс опорного кадра, указывающий опорный кадр, в котором расположен опорный блок, может извлекаться, и вектор движения может извлекаться на основе разности позиций между опорным блоком и текущим блоком. Оборудование кодирования изображений может определять режим, применяемый к текущему блоку, из различных режимов взаимного прогнозирования. Оборудование кодирования изображений может сравнивать функции затрат на искажение в зависимости от скорости передачи (RD) для различных режимов прогнозирования и определять оптимальный режим взаимного прогнозирования текущего блока. Тем не менее, способ определения режима взаимного прогнозирования текущего блока посредством оборудования кодирования изображений не ограничен вышеприведенным примером, и могут использоваться различные способы.
[144] Например, режим взаимного прогнозирования текущего блока может определяться, по меньшей мере, в качестве одного из режима объединения, режима пропуска с объединением, режима прогнозирования векторов движения (MVP), режима на основе симметричной разности векторов движения (SMVD), аффинного режима, режима объединения на основе субблоков, режима адаптивного разрешения векторов движения (AMVR), режима с использованием предикторов векторов движения на основе предыстории (HMVP), режима попарного среднего объединения, режима объединения с использованием разностей векторов движения (MMVD), режима детализации векторов движения на стороне декодера (DMVR), режима комбинированного взаимного и внутреннего прогнозирования (CIIP) или режима геометрической сегментации (GPM).
[145] Например, когда режим пропуска или режим объединения применяется к текущему блоку, оборудование кодирования изображений может извлекать возможные варианты объединения из соседних блоков относительно текущего блока и конструировать список возможных вариантов объединения с использованием извлеченных возможных вариантов объединения. Помимо этого, оборудование кодирования изображений может извлекать опорный блок, разность которого относительно текущего блока равна или меньше предварительно определенного критерия или минимума, из опорных блоков, указываемых посредством возможных вариантов объединения, включенных в список возможных вариантов объединения. В этом случае, возможный вариант объединения, ассоциированный с извлеченным опорным блоком, может выбираться, и информация индекса объединения, указывающая выбранный возможный вариант объединения, может формироваться и передаваться в служебных сигналах в оборудование декодирования изображений. Информация движения текущего блока может извлекаться с использованием информации движения выбранного возможного варианта объединения.
[146] В качестве другого примера, когда MVP-режим применяется к текущему блоку, оборудование кодирования изображений может извлекать возможные варианты предикторов векторов движения (MVP) из соседних блоков относительно текущего блока и конструировать список возможных MVP-вариантов с использованием извлеченных возможных MVP-вариантов. Помимо этого, оборудование кодирования изображений может использовать вектор движения возможного MVP-варианта, выбранного из числа возможных MVP-вариантов, включенных в список возможных MVP-вариантов, в качестве MVP текущего блока. В этом случае, например, вектор движения, указывающий опорный блок, извлекаемый посредством вышеописанной оценки движения, может использоваться в качестве вектора движения текущего блока, и возможный MVP-вариант с вектором движения, имеющим наименьшую разность относительно вектора движения текущего блока из возможных MVP-вариантов, может представлять собой выбранный возможный MVP-вариант. Разность векторов движения (MVD), которая представляет собой разность, полученную посредством вычитания MVP из вектора движения текущего блока, может извлекаться. В этом случае, информация индекса, указывающая выбранный возможный MVP-вариант и информацию относительно MVD, может передаваться в служебных сигналах в оборудование декодирования изображений. Помимо этого, при применении MVP-режима, значение индекса опорного кадра может конструироваться в качестве информации индекса опорного кадра и отдельно передаваться в служебных сигналах в оборудование декодирования изображений.
[147] Оборудование кодирования изображений может извлекать остаточные выборки на основе прогнозных выборок (S420). Оборудование кодирования изображений может извлекать остаточные выборки через сравнение между исходными выборками текущего блока и прогнозных выборок. Например, остаточная выборка может извлекаться посредством вычитания соответствующей прогнозной выборки из исходной выборки.
[148] Оборудование кодирования изображений может кодировать информацию изображений, включающую в себя информацию прогнозирования и остаточную информацию (S430). Оборудование 100 кодирования изображений может выводить кодированную информацию изображений в форме потока битов. Информация прогнозирования может включать в себя информацию режима прогнозирования (например, флаг пропуска, флаг объединения или индекс режима и т.д.) и информацию движения в качестве информации, связанной с процедурой прогнозирования. Из информации режима прогнозирования, флаг пропуска указывает то, применяется или нет режим пропуска к текущему блоку, и флаг объединения указывает то, применяется или нет режим объединения к текущему блоку. Альтернативно, информация режима прогнозирования может указывать один из множества режимов прогнозирования, к примеру, индекс режима. Когда флаг пропуска и флаг объединения равны 0, может определяться то, что MVP-режим применяется к текущему блоку. Информация относительно информации движения может включать в себя информацию выбора возможных вариантов (например, индекс объединения, MVP-флаг или MVP-индекс), которая представляет собой информацию для извлечения вектора движения. Из информации выбора возможных вариантов, индекс объединения может передаваться в служебных сигналах, когда режим объединения применяется к текущему блоку, и может представлять собой информацию для выбора одного из возможных вариантов объединения, включенных в список возможных вариантов объединения. Из информации выбора возможных вариантов, MVP-флаг или MVP-индекс может передаваться в служебных сигналах, когда MVP-режим применяется к текущему блоку, и может представлять собой информацию для выбора одного из возможных MVP-вариантов в списке возможных MVP-вариантов. В частности, MVP-флаг может передаваться в служебных сигналах с использованием синтаксического элемента mvp_10_flag или mvp_11_flag. Помимо этого, информация относительно информации движения может включать в себя информацию относительно вышеописанной MVD и/или информации индекса опорного кадра. Помимо этого, информация относительно информации движения может включать в себя информацию, указывающую то, следует применять L0-прогнозирование, L1-прогнозирование или бипрогнозирование. Остаточная информация представляет собой информацию относительно остаточных выборок. Остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования для остаточных выборок.
[149] Выходной поток битов может сохраняться на (цифровом) носителе хранения данных и передаваться в оборудование декодирования изображений либо может передаваться в оборудование декодирования изображений через сеть.
[150] Как описано выше, оборудование кодирования изображений может формировать восстановленный кадр (кадр, включающий в себя восстановленные выборки и восстановленный блок) на основе опорных выборок и остаточных выборок. Это служит для извлечения, посредством оборудования кодирования изображений, результата прогнозирования, идентичного прогнозированию, выполняемому посредством оборудования декодирования изображений, за счет этого повышая эффективность кодирования. Соответственно, оборудование кодирования изображений может сохранять восстановленный кадр (или восстановленные выборки и восстановленный блок) в запоминающем устройстве и использовать его в качестве опорного кадра для взаимного прогнозирования. Как описано выше, процедура внутриконтурной фильтрации дополнительно может применяться к восстановленному кадру.
[151] Фиг. 6 является блок-схемой последовательности операций, иллюстрирующей способ декодирования видео/изображений на основе взаимного прогнозирования.
[152] Фиг. 7 является видом, иллюстрирующим конфигурацию модуля 260 взаимного прогнозирования согласно настоящему раскрытию сущности.
[153] Оборудование декодирования изображений может выполнять операцию, соответствующую операции, выполняемой посредством оборудования кодирования изображений. Оборудование декодирования изображений может выполнять прогнозирование относительно текущего блока на основе принимаемой информации прогнозирования и извлекать прогнозные выборки.
[154] Способ декодирования по фиг. 6 может осуществляться посредством оборудования декодирования изображений по фиг. 3. Этапы S610-S630 могут выполняться посредством модуля 260 взаимного прогнозирования, и информация прогнозирования этапа S610 и остаточная информация этапа S640 может получаться из потока битов посредством энтропийного декодера 210. Остаточный процессор оборудования декодирования изображений может извлекать остаточные выборки для текущего блока на основе остаточной информации (S640). В частности, деквантователь 220 остаточного процессора может выполнять деквантование на основе квантованных коэффициентов преобразования, извлекаемых на основе остаточной информации, чтобы извлекать коэффициенты преобразования, и обратный преобразователь 230 остаточного процессора может выполнять обратное преобразование относительно коэффициентов преобразования, чтобы извлекать остаточные выборки для текущего блока. Этап S650 может выполняться посредством сумматора 235 или модуля восстановления.
[155] В частности, оборудование декодирования изображений может определять режим прогнозирования текущего блока на основе принимаемой информации прогнозирования (S610). Оборудование декодирования изображений может определять то, какой режим взаимного прогнозирования применяется к текущему блоку, на основе информации режима прогнозирования в информации прогнозирования.
[156] Например, может определяться то применяется или нет режим пропуска к текущему блоку, на основе флага пропуска. Помимо этого, может определяться то, применяется режим объединения или MVP-режим к текущему блоку, на основе флага объединения. Альтернативно, один из различных возможных вариантов режимов взаимного прогнозирования может выбираться на основе индекса режима. Возможные варианты режимов взаимного прогнозирования могут включать в себя режим пропуска, режим объединения и/или MVP-режим либо могут включать в себя различные режимы взаимного прогнозирования, которые описываются ниже.
[157] Оборудование декодирования изображений может извлекать информацию движения текущего блока на основе определенного режима взаимного прогнозирования (S620). Например, когда режим пропуска или режим объединения применяется к текущему блоку, оборудование декодирования изображений может конструировать список возможных вариантов объединения, который описывается ниже, и выбирать один из возможных вариантов объединения, включенных в список возможных вариантов объединения. Выбор может выполняться на основе вышеописанной информации выбора возможных вариантов (индекса объединения). Информация движения текущего блока может извлекаться с использованием информации движения выбранного возможного варианта объединения. Например, информация движения выбранного возможного варианта объединения может использоваться как информация движения текущего блока.
[158] В качестве другого примера, когда MVP-режим применяется к текущему блоку, оборудование декодирования изображений может конструировать список возможных MVP-вариантов и использовать вектор движения возможного MVP-варианта, выбранного из числа возможных MVP-вариантов, включенных в список возможных MVP-вариантов, в качестве MVP текущего блока. Выбор может выполняться на основе вышеописанной информации выбора возможных вариантов (MVP-флага или MVP-индекса). В этом случае, MVD текущего блока может извлекаться на основе информации относительно MVD, и вектор движения текущего блока может извлекаться на основе MVP и MVD текущего блока. Помимо этого, индекс опорного кадра текущего блока может извлекаться на основе информации индекса опорного кадра. Кадр, указываемый посредством индекса опорного кадра в списке опорных кадров текущего блока, может извлекаться в качестве опорного кадра, на который ссылаются для взаимного прогнозирования текущего блока.
[159] Оборудование декодирования изображений может формировать прогнозные выборки текущего блока на основе информации движения текущего блока (S630). В этом случае, опорный кадр может извлекаться на основе индекса опорного кадра текущего блока, и прогнозные выборки текущего блока могут извлекаться с использованием выборок опорного блока, указываемого посредством вектора движения текущего блока для опорного кадра. В некоторых случаях, процедура фильтрации прогнозных выборок дополнительно может выполняться относительно всех или некоторых прогнозных выборок текущего блока.
[160] Например, как показано на фиг. 7, модуль 260 взаимного прогнозирования оборудования декодирования изображений может включать в себя модуль 261 определения режима прогнозирования, модуль 262 извлечения информации движения и модуль 263 извлечения прогнозных выборок. В модуле 260 взаимного прогнозирования оборудования декодирования изображений, модуль 261 определения режима прогнозирования может определять режим прогнозирования текущего блока на основе принимаемой информации режима прогнозирования, модуль 262 извлечения информации движения может извлекать информацию движения (вектор движения и/или индекс опорного кадра и т.д.) текущего блока на основе принимаемой информации движения, и модуль 263 извлечения прогнозных выборок может извлекать прогнозные выборки текущего блока.
[161] Оборудование декодирования изображений может формировать остаточные выборки текущего блока на основе принимаемой остаточной информации (S640). Оборудование декодирования изображений может формировать восстановленные выборки текущего блока на основе прогнозных выборок и остаточных выборок и формировать восстановленный кадр на основе этого (S650). После этого, процедура внутриконтурной фильтрации может применяться к восстановленному кадру, как описано выше.
[162] Как описано выше, процедура взаимного прогнозирования может включать в себя этап определения режима взаимного прогнозирования, этап извлечения информации движения согласно определенному режиму прогнозирования и этап выполнения прогнозирования (формирования прогнозных выборок) на основе извлеченной информации движения. Процедура взаимного прогнозирования может выполняться посредством оборудования кодирования изображений и оборудования декодирования изображений, как описано выше.
[163] В дальнейшем в этом документе подробнее описывается этап извлечения информации движения согласно режиму прогнозирования.
[164] Как описано выше, взаимное прогнозирование может выполняться с использованием информации движения текущего блока. Оборудование кодирования изображений может извлекать оптимальную информацию движения текущего блока через процедуру оценки движения. Например, оборудование кодирования изображений может выполнять поиск аналогичного опорного блока с высокой корреляцией в предварительно определенном диапазоне поиска в опорном кадре с использованием исходного блока в исходном кадре для текущего блока в дробнопиксельной единице и извлекать информацию движения с его использованием. Подобие блока может вычисляться на основе суммы абсолютных разностей (SAD) между текущим блоком и опорным блоком. В этом случае, информация движения может извлекаться на основе опорного блока с наименьшей SAD в зоне поиска. Извлеченная информация движения может передаваться в служебных сигналах в оборудование декодирования изображений согласно различным способам на основе режима взаимного прогнозирования.
[165] Когда режим объединения применяется к текущему блоку, информация движения текущего блока непосредственно не передается, и информация движения текущего блока извлекается с использованием информации движения соседнего блока. Соответственно, информация движения текущего блока прогнозирования может указываться посредством передачи информации флага, указывающей то, что режим объединения используется, и информации выбора возможных вариантов (например, индекса объединения), указывающей то, какой соседний блок используется в качестве возможного варианта объединения. В настоящем раскрытии сущности, поскольку текущий блок представляет собой единицу производительности прогнозирования, текущий блок может использоваться со смысловым значением, идентичным смысловому значению текущего блока прогнозирования, и соседний блок может использоваться со смысловым значением, идентичным смысловому значению соседнего блока прогнозирования.
[166] Оборудование кодирования изображений может выполнять поиск возможных вариантов блоков объединения, используемых для того, чтобы извлекать информацию движения текущего блока, чтобы выполнять режим объединения. Например, вплоть до пяти возможных вариантов блоков объединения могут использоваться без ограничения этим. Максимальное число возможных вариантов блоков объединения может передаваться в заголовке среза или в заголовке группы плиток без ограничения этим. После нахождения возможных вариантов блоков объединения, оборудование кодирования изображений может формировать список возможных вариантов объединения и выбирать возможный вариант блока объединения с наименьшими RD-затратами в качестве конечного возможного варианта блока объединения.
[167] Список возможных вариантов объединения может использовать, например, пять возможных вариантов блоков объединения. Например, могут использоваться четыре пространственных возможных варианта объединения и один временной возможный вариант объединения.
[168] Общее представление аффинного режима
[169] В дальнейшем в этом документе подробно описывается аффинный режим, который представляет собой пример режима взаимного прогнозирования. В традиционной системе кодирования/декодирования видео, только один вектор движения используется для того, чтобы выражать информацию движения текущего блока (модель поступательного движения в пространстве). Тем не менее, в традиционном способе, оптимальная информация движения выражается только в единицах блоков, но оптимальная информация движения не может выражаться в единицах пикселов. Чтобы разрешать эту проблему, предложен режим аффинного движения, задающий информацию движения блока в единицах пикселов. Согласно аффинному режиму, вектор движения для каждого пиксела и/или субблочной единицы блока может определяться с использованием двух-четырех векторов движения, ассоциированных с текущим блоком.
[170] По сравнению с существующей информацией движения, выражаемой с использованием перемещения в пространстве (или смещения) пиксельного значения, в аффинном режиме, информация движения для каждого пиксела может выражаться с использованием, по меньшей мере, одного из перемещения в пространстве, масштабирования, вращения или сдвига.
[171] Фиг. 8 является видом, иллюстрирующим движение, выразимое в аффинном режиме.
[172] Из числа движений, показанных на фиг. 8, аффинный режим, в котором информация движения для каждого пиксела выражается с использованием смещения, масштабирования или вращения, может представлять собой упрощенный аффинный режим (на основе подобия). Аффинный режим в нижеприведенном описании может означать упрощенный аффинный режим (на основе подобия).
[173] Информация движения в аффинном режиме может выражаться с использованием двух или более векторов движения на основе управляющих точек (CPMV). Вектор движения конкретной пиксельной позиции текущего блока может извлекаться с использованием CPMV. В этом случае, набор векторов движения для каждого пиксела и/или субблока текущего блока может задаваться как поле аффинных векторов движения (аффинное MVF).
[174] Фиг. 9 является видом, иллюстрирующим параметрическую модель аффинного режима.
[175] Когда аффинный режим применяется к текущему блоку, аффинное MVF может извлекаться с использованием одной из 4-параметрической модели и 6-параметрической модели. В этом случае, 4-параметрическая модель может означать тип модели, в котором используются два CPMV, и 6-параметрическая модель может означать тип модели, в котором используются три CPMV. Фиг. 9(a) и 9(b) показывают CPMV, используемые в 4-параметрической модели и 6-параметрической модели, соответственно.
[176] Когда позиция текущего блока представляет собой (x, y), вектор движения согласно пиксельной позиции может извлекаться согласно нижеприведенному уравнению 1 или 2. Например, вектор движения согласно 4-параметрической модели может извлекаться согласно уравнению 1, и вектор движения согласно 6-параметрической модели может извлекаться согласно уравнению 2.
[177] уравнение 1
[178] уравнение 2
[179] В уравнениях 1 и 2, mv0={mv_0x, mv_0y} может представлять собой CPMV в левой верхней угловой позиции текущего блока, mv1={mv_1x, mv_1y} может представлять собой CPMV в правой верхней позиции текущего блока, и mv2={mv_2x, mv_2y} может представлять собой CPMV в левой нижней позиции текущего блока. В этом случае, W и H надлежащим образом соответствуют ширине и высоте текущего блока, и mv={mv_x, mv_y} может означать вектор движения пиксельной позиции {x, y}.
[180] В процессе кодирования/декодирования, аффинное MVF может определяться в единицах пикселов и/или предварительно заданных субблоков. Когда аффинное MVF определяется в единицах пикселов, вектор движения может извлекаться на основе каждого пиксельного значения. Между тем, когда аффинное MVF определяется в единицах субблоков, вектор движения соответствующего блока может извлекаться на основе центрального пиксельного значения субблока. Центральное пиксельное значение может означать виртуальный пиксел, присутствующий в центре субблока, или правый нижний пиксел из четырех пикселов, присутствующих в центре. Помимо этого, центральное пиксельное значение может представлять собой конкретный пиксел в субблоке и может представлять собой пиксел, представляющий субблок. В настоящем раскрытии сущности, в дальнейшем описывается случай, в котором аффинное MVF определяется в единицах субблоков 4×4. Тем не менее, это служит только для удобства описания, и размер субблока может изменяться различными способами.
[181] Таким образом, когда аффинное прогнозирование доступно, модель движения, применимая к текущему блоку, может включать в себя три модели, т.е. модель поступательного движения в пространстве, 4-параметрическую модель аффинного движения и 6-параметрическую модель аффинного движения. Здесь, модель поступательного движения в пространстве может представлять модель, используемую посредством существующего вектора движения в единицах блоков, 4-параметрическая модель аффинного движения может представлять модель, используемую посредством двух CPMV, и модель 6-параметрического аффинного движения может представлять модель, используемую посредством трех CPMV. Аффинный режим может разделяться на подробные режимы согласно способу кодирования/декодирования информации движения. Например, аффинный режим может подразделяться на аффинный MVP-режим и аффинный режим объединения.
[182] Когда аффинный режим объединения применяется для текущего блока, CPMV может извлекаться из соседних блоков относительно текущего блока, кодированных/декодированных в аффинном режиме. Когда, по меньшей мере, один из соседних блоков относительно текущего блока кодируется/декодируется в аффинном режиме, аффинный режим объединения может применяться для текущего блока. Таким образом, когда аффинный режим объединения применяется для текущего блока, CPMV текущего блока могут извлекаться с использованием CPMV соседних блоков. Например, CPMV соседних блоков могут определяться в качестве CPMV текущего блока, или CPMV текущего блока может извлекаться на основе CPMV соседних блоков. Когда CPMV текущего блока извлекается на основе CPMV соседних блоков, по меньшей мере, один из параметров кодирования текущего блока или соседних блоков может использоваться. Например, CPMV соседних блоков могут модифицироваться на основе размера соседних блоков и размера текущего блока и использоваться в качестве CPMV текущего блока.
[183] Между тем, аффинное объединение, в котором MV извлекается в единицах субблоков, может называться "режимом объединения на основе субблоков", который может указываться посредством merge_subblock_flag, имеющего первое значение (например, 1). В этом случае, список аффинных возможных вариантов объединения, описанный ниже, может называться "списком возможных вариантов объединения на основе субблоков". В этом случае, возможный вариант, извлекаемый в качестве SbTMVP, описанного ниже, дополнительно может включаться в список возможных вариантов объединения на основе субблоков. В этом случае, возможный вариант, извлекаемый в качестве sbTMVP, может использоваться в качестве возможного варианта индекса #0 списка возможных вариантов объединения на основе субблоков. Другими словами, возможный вариант, извлекаемый в качестве sbTMVP, может быть расположен перед унаследованными аффинными возможными вариантами и сконструированными аффинными возможными вариантами, описанными ниже, в списке возможных вариантов объединения на основе субблоков.
[184] Например, может задаваться флаг аффинного режима, указывающий то, является или нет аффинный режим применимым к текущему блоку, который может передаваться в служебных сигналах, по меньшей мере, на одном из верхних уровней текущего блока, таких как последовательность, кадр, срез, плитка, группа плиток, кирпич и т.д. Например, флаг аффинного режима может называться "sps_affine_enabled_flag".
[185] Когда аффинный режим объединения применяется, список аффинных возможных вариантов объединения может быть выполнен с возможностью извлекать CPMV текущего блока. В этом случае, список аффинных возможных вариантов объединения может включать в себя, по меньшей мере, одно из унаследованного аффинного возможного варианта объединения, сконструированного аффинного возможного варианта объединения или нулевого возможного варианта объединения. Унаследованный аффинный возможный вариант объединения может означать возможный вариант, извлеченный с использованием CPMV соседних блоков, когда соседние блоки относительно текущего блока кодируются/декодируются в аффинном режиме. Сконструированный аффинный возможный вариант объединения может означать возможный вариант, имеющий каждый CPMV, извлекаемый на основе векторов движения соседних блоков каждой управляющей точки (CP). Между тем, нулевой возможный вариант объединения может означать возможный вариант, состоящий из CPMV, имеющих размер 0. В нижеприведенном описании, CP может означать конкретную позицию блока, используемого для того, чтобы извлекать CPMV. Например, CP может представлять собой каждую позицию вершины блока.
[186] Фиг. 10 является видом, иллюстрирующим способ формирования списка аффинных возможных вариантов объединения.
[187] Со ссылкой на блок-схему последовательности операций способа по фиг. 10, аффинные возможные варианты объединения могут добавляться в список аффинных возможных вариантов объединения в порядке унаследованного аффинного возможного варианта объединения (S1210), сконструированного аффинного возможного варианта объединения (S1220) и нулевого возможного варианта объединения (S1230). Нулевой возможный вариант объединения может добавляться, когда число возможных вариантов, включенных в список возможных вариантов, не удовлетворяет максимальному числу возможных вариантов, даже если все унаследованные аффинные возможные варианты объединения и сконструированные аффинные возможные варианты объединения добавляются в список аффинных возможных вариантов объединения. В этом случае, нулевой возможный вариант объединения может добавляться до тех пор, пока число возможных вариантов списка аффинных возможных вариантов объединения не удовлетворяет максимальному числу возможных вариантов.
[188] Фиг. 11 является видом, иллюстрирующим вектор движения на основе управляющих точек (CPMV), извлекаемый из соседнего блока.
[189] Например, могут извлекаться максимум два унаследованных аффинных возможных вариантов объединения, каждый из которых может извлекаться на основе, по меньшей мере, одного из левых соседних блоков и верхних соседних блоков.
[190] Фиг. 12 является видом, иллюстрирующим соседние блоки для извлечения унаследованного аффинного возможного варианта объединения.
[191] Унаследованный аффинный возможный вариант объединения, извлекаемый на основе левого соседнего блока, извлекается на основе, по меньшей мере, одного из соседних блоков A0 или A1 по фиг. 12, и унаследованный аффинный возможный вариант объединения, извлекаемый на основе верхнего соседнего блока, может извлекаться на основе, по меньшей мере, одного из соседних блоков B0, B1 или B2 по фиг. 12. В этом случае, порядок сканирования соседних блоков может представлять собой A0-A1 и B0, B1 и B2, но не ограничен этим. Для каждого из слева и сверху, унаследованные аффинные возможные варианты объединения могут извлекаться на основе доступного первого соседнего блока в порядке сканирования. В этом случае, контроль по избыточности может не выполняться между возможными вариантами, извлекаемыми из левого соседнего блока и верхнего соседнего блока.
[192] Например, как показано на фиг. 11, когда левый соседний блок A кодируется/декодируется в аффинном режиме, по меньшей мере, один из векторов v2, v3 и v4 движения, соответствующих CP соседнего блока A, может извлекаться. Когда соседний блок A кодируется/декодируется через 4-параметрическую аффинную модель, унаследованный аффинный возможный вариант объединения может извлекаться с использованием v2 и v3. Напротив, когда соседний блок A кодируется/декодируется через 6-параметрическую аффинную модель, унаследованный аффинный возможный вариант объединения может извлекаться с использованием v2, v3 и v4.
[193] Фиг. 13 является видом, иллюстрирующим соседние блоки для извлечения сконструированного аффинного возможного варианта объединения.
[194] Сконструированный аффинный возможный вариант может означать возможный вариант, имеющий CPMV, извлекаемый с использованием комбинации общей информации движения соседних блоков. Информация движения для каждого CP может извлекаться с использованием пространственных соседних блоков или временных соседних блоков относительно текущего блока. В нижеприведенном описании, CPMVk может означать вектор движения, представляющий k-ый CP. Например, ссылаясь на фиг. 13, CPMV1 может определяться как доступный первый вектор движения из векторов движения B2, B3 и A2, и в этом случае, порядок сканирования может представлять собой B2, B3 и A2. CPMV2 может определяться как доступный первый вектор движения из векторов движения B1 и B0, и в этом случае, порядок сканирования может представлять собой B1 и B0. CPMV3 может определяться как представляющий собой один из векторов движения A1 и A0, и в этом случае, порядок сканирования может представлять собой A1 и A0. Когда TMVP является применимым к текущему блоку, CPMV4 может определяться в качестве вектора движения T, который представляет собой временной соседний блок.
[195] После того, как четыре вектора движения для каждого CP извлекаются, сконструированный аффинный возможный вариант объединения может извлекаться на основе этого. Сконструированный аффинный возможный вариант объединения может быть сконфигурирован посредством включения, по меньшей мере, двух векторов движения, выбранных из числа извлеченных четырех векторов движения для каждого CP. Например, сконструированный аффинный возможный вариант объединения может состоять, по меньшей мере, из одного из {CPMV1, CPMV2, CPMV3}, {CPMV1, CPMV2, CPMV4}, {CPMV1, CPMV3, CPMV4}, {CPMV2, CPMV3, CPMV4}, {CPMV1, CPMV2} или {CPMV1, CPMV3} в этом порядке. Сконструированный аффинный возможный вариант, состоящий из трех векторов движения, может представлять собой возможный вариант для 6-параметрической аффинной модели. Напротив, сконструированный аффинный возможный вариант, состоящий из двух векторов движения, может представлять собой возможный вариант для 4-параметрической аффинной модели. Чтобы не допускать процесса масштабирования вектора движения, когда индексы опорных кадров CP отличаются друг от друга, комбинация связанных CPMV может игнорироваться без использования для того, чтобы извлекать сконструированный аффинный возможный вариант.
[196] Когда аффинный MVP-режим применяется к текущему блоку, оборудование кодирования/декодирования может извлекать два или более CPMV-предиктора и CPMV для текущего блока и извлекать CPMV-разности на их основе. В этом случае, CPMV-разности могут передаваться в служебных сигналах из оборудования кодирования в оборудование декодирования. Оборудование декодирования изображений может извлекать CPMV-предиктор для текущего блока, восстанавливать передаваемую в служебных сигналах CPMV-разность и затем извлекать CPMV текущего блока на основе CPMV-предиктора и CPMV-разности.
[197] Между тем, когда аффинный режим объединения или TMVP на основе субблоков не применяется для текущего блока (например, значение флага аффинного объединения или merge_subblock_flag равно 0), аффинный MVP-режим может применяться для текущего блока. Альтернативно, когда значение inter_affine_flag равно 1, аффинный MVP-режим может применяться для текущего блока. Между тем, аффинный MVP-режим может выражаться как аффинный CPMVP-режим. Список аффинных возможных MVP-вариантов, описанный ниже, может называться "списком возможных вариантов предикторов векторов движения на основе управляющих точек".
[198] Когда аффинный MVP-режим применяется для текущего блока, список аффинных возможных MVP-вариантов может быть выполнен с возможностью извлекать CPMV для текущего блока. В этом случае, список аффинных возможных MVP-вариантов может включать в себя, по меньшей мере, одно из унаследованного аффинного возможного MVP-варианта, сконструированного аффинного возможного MVP-варианта, аффинного возможного MVP-варианта поступательного движения в пространстве или нулевого возможного MVP-варианта. Например, список аффинных возможных MVP-вариантов может включать в себя максимум n (например, n=2) возможных вариантов.
[199] В этом случае, унаследованный аффинный возможный MVP-вариант может означать возможный вариант, извлеченный на основе CPMV соседних блоков, когда соседние блоки относительно текущего блока кодируются/декодируются в аффинном режиме. Сконструированный аффинный возможный MVP-вариант может означать возможный вариант, извлеченный посредством формирования CPMV-комбинации на основе вектора движения соседнего CP-блока. Нулевой возможный MVP-вариант может означать возможный вариант, состоящий из CPMV, имеющих значение 0. Способ извлечения и характеристики унаследованного аффинного возможного MVP-варианта и сконструированного аффинного возможного MVP-варианта являются идентичными вышеописанному унаследованному аффинному возможному варианту и сконструированному аффинному возможному варианту, и в силу этого их описание опускается.
[200] Когда максимальное число возможных вариантов списка аффинных возможных MVP-вариантов равно 2, сконструированный аффинный возможный MVP-вариант, аффинный возможный MVP-вариант поступательного движения в пространстве и нулевой возможный MVP-вариант могут добавляться, когда текущее число возможных вариантов меньше 2. В частности, аффинный возможный MVP-вариант поступательного движения в пространстве может извлекаться в следующем порядке.
[201] Например, когда число возможных вариантов, включенных в список аффинных возможных MVP-вариантов, меньше 2, и CPMV0 сконструированного аффинного возможного MVP-варианта является допустимым, CPMV0 может использоваться в качестве аффинного возможного MVP-варианта. Таким образом, аффинные возможные MVP-варианты, имеющие все векторы движения CP0, CP1, CP2, представляющие собой CPMV0, могут добавляться в список аффинных возможных MVP-вариантов.
[202] Затем, когда число возможных вариантов списка аффинных возможных MVP-вариантов меньше 2, и CPMV1 сконструированного аффинного возможного MVP-варианта является допустимым, CPMV1 может использоваться в качестве аффинного возможного MVP-варианта. Таким образом, аффинные возможные MVP-варианты, имеющие все векторы движения CP0, CP1, CP2, представляющие собой CPMV1, могут добавляться в список аффинных возможных MVP-вариантов.
[203] Затем, когда число возможных вариантов списка аффинных возможных MVP-вариантов меньше 2, и CPMV2 сконструированного аффинного возможного MVP-варианта является допустимым, CPMV2 может использоваться в качестве аффинного возможного MVP-варианта. Таким образом, аффинные возможные MVP-варианты, имеющие все векторы движения CP0, CP1, CP2, представляющие собой CPMV2, могут добавляться в список аффинных возможных MVP-вариантов.
[204] Несмотря на вышеописанные условия, когда число возможных вариантов списка аффинных возможных MVP-вариантов меньше 2, временной предиктор вектора движения (TMVP) текущего блока может добавляться в список аффинных возможных MVP-вариантов. Несмотря на вышеуказанное, когда число возможных вариантов списка аффинных возможных MVP-вариантов меньше 2, нулевой возможный MVP-вариант может добавляться в список аффинных возможных MVP-вариантов.
[205] Фиг. 14 является видом, иллюстрирующим способ формирования списка аффинных возможных MVP-вариантов.
[206] Со ссылкой на блок-схему последовательности операций способа по фиг. 14, возможные варианты могут добавляться в список аффинных возможных MVP-вариантов в порядке унаследованного аффинного возможного MVP-варианта (S1610), сконструированного аффинного возможного MVP-варианта (S1620), аффинного возможного MVP-варианта поступательного движения в пространстве (S1630) и нулевого возможного MVP-варианта (S1640). Как описано выше, этапы S1620-S1640 могут выполняться в зависимости от того, меньше или нет число возможных вариантов, включенных в список аффинных возможных MVP-вариантов, 2 на каждом этапе.
[207] Порядок сканирования унаследованных аффинных возможных MVP-вариантов может быть равным порядку сканирования унаследованных аффинных возможных вариантов объединения. Тем не менее, в случае унаследованного аффинного возможного MVP-варианта, только соседние блоки, ссылающиеся на идентичный опорный кадр с опорным кадром текущего блока, могут рассматриваться. Когда унаследованный аффинный возможный MVP-вариант добавляется в список аффинных возможных MVP-вариантов, контроль по избыточности может не выполняться.
[208] Чтобы извлекать сконструированный аффинный возможный MVP-вариант, только пространственные соседние блоки, показанные на фиг. 13, могут рассматриваться. Помимо этого, порядок сканирования сконструированных аффинных возможных MVP-вариантов может быть равным порядку сканирования сконструированных аффинных возможных вариантов объединения. Помимо этого, чтобы извлекать сконструированный аффинный возможный MVP-вариант, индекс опорного кадра соседнего блока может проверяться, и в порядке сканирования, может использоваться первый соседний блок, взаимно кодированный и ссылающийся на идентичный опорный кадр с опорным кадром текущего блока.
[209] Общее представление режима временного прогнозирования векторов движения на основе субблоков (SbTMVP)
[210] В дальнейшем в этом документе подробно описывается TMVP-режим на основе субблоков, который представляет собой пример режима взаимного прогнозирования. Согласно TMVP-режиму на основе субблоков, может извлекаться поле векторов движения (MVF) для текущего блока, и вектор движения может извлекаться в единицах субблоков.
[211] В отличие от традиционного TMVP-режима, выполняемого в единицах единиц кодирования, для единицы кодирования, к которой применяется TMVP-режим на основе субблоков, вектор движения может кодироваться/декодироваться в единицах субъединиц кодирования. Помимо этого, согласно традиционному TMVP-режиму, временной вектор движения может извлекаться из совместно размещенного блока в совместно размещенном кадре, но в TMVP-режиме на основе субблоков, поле векторов движения может извлекаться из опорного блока в совместно размещенном кадре, указываемом посредством вектора движения, извлекаемого из соседнего блока текущего блока. В дальнейшем в этом документе, вектор движения, извлекаемый из соседнего блока, может называться "сдвигом движения" или "характерным вектором движения" текущего блока.
[212] Фиг. 15 является видом, иллюстрирующим соседние блоки TMVP-режима на основе субблоков.
[213] Когда TMVP-режим на основе субблоков применяется к текущему блоку, может определяться соседний блок для определения сдвига движения. Например, сканирование на предмет соседнего блока для определения сдвига движения может выполняться в порядке блоков A1, B1, B0 и A0 по фиг. 15. В качестве другого примера, соседний блок для определения сдвига движения может быть ограничен конкретным соседним блоком текущего блока. Например, соседний блок для определения сдвига движения может всегда определяться в качестве блока A1. Когда соседний блок имеет вектор движения, ссылающийся на совместно размещ. кадр, соответствующий вектор движения может определяться в качестве сдвига движения. Вектор движения, определенный в качестве сдвига движения, может называться "временным вектором движения". Между тем, когда вышеописанный вектор движения не может извлекаться из соседних блоков, сдвиг движения может задаваться равным (0, 0).
[214] Фиг. 16 является видом, иллюстрирующим способ извлечения поля векторов движения согласно TMVP-режиму на основе субблоков.
[215] Далее может определяться опорный блок в совместно размещенном кадре, указываемом посредством сдвига движения. Например, информация движения на основе субблоков (вектор движения или индекс опорного кадра) может получаться из совместно размещ. кадра посредством суммирования сдвига движения с координатами текущего блока. В примере, показанном на фиг. 16, предполагается, что сдвиг движения представляет собой вектор движения A1 блока. Посредством применения сдвига движения к текущему блоку, может указываться субблок в совместно размещ. кадре (совместно размещ. субблоке), соответствующий каждому субблоку, конфигурирующему текущий блок. После этого, с использованием информации движения соответствующего субблока в совместно размещ. кадре (совместно размещ. субблоке), информация движения каждого субблока текущего блока может извлекаться. Например, информация движения соответствующего субблока может получаться из центральной позиции соответствующего субблока. В этом случае, центральная позиция может представлять собой позицию правой нижней выборки из четырех выборок, расположенных в центре соответствующего субблока. Когда информация движения конкретного субблока совместно размещ. блока, соответствующего текущему блоку, не доступна, информация движения центрального субблока совместно размещ. блока может определяться в качестве информации движения соответствующего субблока. Когда вектор движения соответствующего субблока извлекается, он может переключаться на индекс опорного кадра и вектор движения текущего субблока, аналогично вышеописанному TMVP-процессу. Таким образом, когда вектор движения на основе субблоков извлекается, масштабирование вектора движения может выполняться с учетом POC опорного кадра опорного блока.
[216] Как описано выше, возможный TMVP-вариант на основе субблоков для текущего блока может извлекаться с использованием поля векторов движения или информации движения текущего блока, извлекаемого на основе субблока.
[217] В дальнейшем в этом документе, список возможных вариантов объединения, сконфигурированный в единицах субблоков, задается как список возможных вариантов объединения на основе субблочных единиц. Вышеописанный аффинный возможный вариант объединения и возможный TMVP-вариант на основе субблоков могут объединяться, чтобы конфигурировать список возможных вариантов объединения на основе субблочных единиц.
[218] Между тем, может задаваться флаг TMVP-режима на основе субблоков, указывающий то, является или нет TMVP-режим на основе субблоков применимым к текущему блоку, который может передаваться в служебных сигналах, по меньшей мере, на одном уровне из верхних уровней текущего блока, таких как последовательность, кадр, срез, плитка, группа плиток, кирпич и т.д. Например, флаг TMVP-режима на основе субблоков может называться "sps_sbtmvp_enabled_flag". Когда TMVP-режим на основе субблоков является применимым к текущему блоку, возможный TMVP-вариант на основе субблоков может сначала добавляться в список возможных вариантов объединения на основе субблочных единиц, и затем аффинный возможный вариант объединения может добавляться в список возможных вариантов объединения на основе субблочных единиц. Между тем, максимальное число возможных вариантов, которое может включаться в список возможных вариантов объединения на основе субблочных единиц, может передаваться в служебных сигналах. Например, максимальное число возможных вариантов, которое может включаться в список возможных вариантов объединения на основе субблочных единиц, может быть равным 5.
[219] Размер субблока, используемого для того, чтобы извлекать список возможных вариантов объединения на основе субблочных единиц, может передаваться в служебных сигналах или предварительно устанавливаться равным MxN. Например, MxN может составлять 8×8. Соответственно, только когда размер текущего блока составляет 8×8 или больше, аффинный режим или TMVP-режим на основе субблоков является применимым к текущему блоку.
[220] В дальнейшем в этом документе описывается вариант осуществления способа выполнения прогнозирования настоящего раскрытия сущности. Следующий способ выполнения прогнозирования может осуществляться на этапе S410 по фиг. 4 либо на этапе S630 по фиг. 6.
[221] Прогнозированный блок для текущего блока может формироваться на основе информации движения, извлекаемой согласно режиму прогнозирования. Прогнозированный блок (блок прогнозирования) может включать в себя прогнозные выборки (массив прогнозных выборок) текущего блока. Когда вектор движения текущего блока указывает дробновыборочную единицу, процедура интерполяции может выполняться, и через нее, прогнозные выборки текущего блока могут извлекаться на основе опорных выборок в единицах дробных выборок в опорном кадре. Когда аффинное взаимное прогнозирование применяется к текущему блоку, прогнозные выборки могут формироваться на основе MV в единицах выборок/субблоков. Когда бипрогнозирование применяется, прогнозные выборки, извлекаемые через взвешенную сумму или среднее взвешенное (согласно фазе) прогнозных выборок, извлекаемых на основе L0-прогнозирования (т.е. прогнозирования с использованием MVL0 и опорного кадра в списке L0 опорных кадров), и прогнозные выборки, извлекаемые на основе L1-прогнозирования (т.е. прогнозирования с использованием MLV1 и опорного кадра в списке L1 опорных кадров), могут использоваться в качестве прогнозных выборок текущего блока. При применении бипрогнозирования, и опорный кадр, используемый для L0-прогнозирования, и опорный кадр, используемый для L1-прогнозирования, расположены в различных временных направлениях относительно текущего кадра (т.е. если он соответствует бипрогнозированию и двунаправленному прогнозированию), это может называться "истинным бипрогнозированием".
[222] В оборудовании декодирования изображений, восстановленные выборки и восстановленный кадр могут формироваться на основе извлеченных прогнозных выборок, и затем процедура внутриконтурной фильтрации может выполняться. Помимо этого, в оборудовании кодирования изображений, остаточные выборки могут извлекаться на основе извлеченных прогнозных выборок, и может выполняться кодирование информации изображений, включающей в себя информацию прогнозирования и остаточную информацию.
[223] Бипрогнозирование с помощью весовых коэффициентов уровня CU, BCW
[224] Когда бипрогнозирование применяется к текущему блоку, как описано выше, прогнозные выборки могут извлекаться на основе среднего взвешенного. Традиционно, бипрогнозный сигнал (т.е. бипрогнозные выборки) имеет возможность извлекаться через простое среднее прогнозного L0-сигнала (прогнозных L0-выборок) и прогнозного L1-сигнала (прогнозных L1-выборок). Таким образом, бипрогнозные выборки извлекаются через среднее прогнозных L0-выборок на основе опорного L0-кадра и MVL0 и прогнозных L1-выборок на основе опорного L1-кадра и MVL1. Тем не менее, согласно настоящему раскрытию сущности, при применении бипрогнозирования, бипрогнозный сигнал (бипрогнозные выборки) может извлекаться через среднее взвешенное прогнозного L0-сигнала и прогнозного L1-сигнала следующим образом.
[225] уравнение 3
[226] В вышеприведенном уравнении 3, Pbi-pred обозначает бипрогнозный сигнал (блок бипрогнозирования), извлекаемый посредством среднего взвешенного, и P0 и P1, соответственно, обозначают прогнозные L0-выборки (L0-блок прогнозирования) и прогнозные L1-выборки (L1-блок прогнозирования). Помимо этого, (8-w) и w обозначают весовые коэффициенты, применяемые к P0 и P1, соответственно.
[227] При формировании бипрогнозного сигнала посредством среднего взвешенного, могут разрешаться пять весовых коэффициентов. Например, весовой коэффициент w может выбираться из {-2,3,4,5,10}. Для каждой бипрогнозированной CU, весовой коэффициент w может определяться посредством одного из двух способов. В качестве первого способа из двух способов, когда текущая CU не представляет собой режим объединения (CU без объединения), весовой индекс может передаваться в служебных сигналах наряду с разностью векторов движения. Например, поток битов может включать в себя информацию относительно весового индекса после информации относительно разности векторов движения. В качестве второго способа из двух способов, когда текущая CU представляет собой режим объединения (CU объединения), весовой индекс может извлекаться из соседних блоков на основе индекса возможного варианта объединения (индекса объединения).
[228] Формирование бипрогнозного сигнала посредством среднего взвешенного может быть ограничено применением только к CU, имеющей размер, включающий в себя 256 или более выборок (компонентных выборок сигналов яркости). Таким образом, бипрогнозирование посредством среднего взвешенного может выполняться только относительно CU, в которой произведение ширины и высоты текущего блока равно 256 или больше. Помимо этого, весовой коэффициент w может использоваться в качестве одного из пяти весовых коэффициентов, как описано выше, и одно из различных чисел весовых коэффициентов может использоваться. Например, согласно характеристикам текущего изображения, пять весовых коэффициентов могут использоваться для кадра с низкой задержкой, и три весовых коэффициента могут использоваться для кадра, отличного от кадра с низкой задержкой. В этом случае, три весовых коэффициента могут представлять собой {3,4,5}.
[229] Оборудование кодирования изображений может определять весовой индекс без значительного увеличения сложности посредством применения алгоритма быстрого поиска. В этом случае, алгоритм быстрого поиска может обобщаться следующим образом. В дальнейшем в этом документе, неравный весовой коэффициент может означать то, что весовые коэффициенты, применяемые к P0 и P1, не равны. Помимо этого, равный весовой коэффициент может означать то, что весовые коэффициенты, применяемые к P0 и P1, могут быть равными.
[230] - В случае если AMVR-режим, в котором адаптивно изменяется разрешение вектора движения, применяется вместе, когда текущий кадр представляет собой кадр с низкой задержкой, только неравный весовой коэффициент может условно проверяться для каждого из 1-пелного разрешения векторов движения и 4-пелного разрешения векторов движения.
[231] - В случае если аффинный режим применяется вместе, и аффинный режим выбирается в качестве оптимального режима текущего блока, оборудование кодирования изображений может выполнять оценку аффинного движения (ME) для каждого неравного весового коэффициента.
[232] - Когда два опорных кадра, используемые для бипрогнозирования, равны, только неравный весовой коэффициент может условно проверяться.
[233] - Неравный весовой коэффициент может не проверяться, когда удовлетворяется предварительно определенное условие. Предварительно определенный кадр может быть основан на POC-расстоянии между текущим кадром и опорным кадром, параметре квантования (QP), временном уровне и т.д.
[234] Весовой индекс BCW может кодироваться с использованием одного контекстно-кодированного элемента разрешения и одного или более последующих элементов разрешения после обходного кодирования. Кодированный элемент разрешения первого контекста указывает то, используется или нет равный весовой коэффициент. Когда неравный весовой коэффициент используется, дополнительные элементы разрешения могут подвергаться обходному кодированию и передаваться в служебных сигналах. Дополнительные элементы разрешения могут передаваться в служебных сигналах, чтобы указывать то, какой весовой коэффициент используется.
[235] Прогнозирование со взвешиванием (WP) представляет собой инструментальное средство для эффективного кодирования изображения, включающего в себя затухание. Согласно прогнозированию со взвешиванием, весовые параметры (весовой коэффициент и смещение) могут передаваться в служебных сигналах для каждого опорного кадра, включенного в каждый из списков L0 и L1 опорных кадров. После этого, когда компенсация движения выполняется, весовой коэффициент(ы) и смещение(я) могут применяться к соответствующему опорному кадру(ам). Прогнозирование со взвешиванием и BCW могут использоваться для различных типов изображений. Чтобы не допускать взаимодействия между прогнозированием со взвешиванием и BCW, весовой BCW-индекс может не передаваться в служебных сигналах для CU с использованием прогнозирования со взвешиванием. В этом случае, весовой коэффициент может логически выводиться равным 4. Таким образом, равный весовой коэффициент может применяться.
[236] В случае CU, к которой применяется режим объединения, весовой индекс может логически выводиться из соседних блоков на основе индекса возможного варианта объединения. Это может применяться как к общему режиму объединения, так и к унаследованному аффинному режиму объединения.
[237] В случае сконструированного аффинного режима объединения, информация аффинного движения может быть сконфигурирована на основе информации движения максимума трех блоков. Весовой BCW-индекс для CU с использованием сконструированного аффинного режима объединения может задаваться равным весовому BCW-индексу первого CP в комбинации. Таким образом, BCW может не применяться к CU, кодированной в CIIP-режиме. Например, весовой BCW-индекс CU, кодированной в CIIP-режиме, может задаваться равным значению, указывающему равный весовой коэффициент.
[238] Двунаправленный оптический поток (BDOF)
[239] Согласно настоящему раскрытию сущности, BDOF может использоваться для того, чтобы детализировать бипрогнозный сигнал. BDOF заключается в том, чтобы формировать прогнозные выборки посредством вычисления детализированной информации движения, когда бипрогнозирование применяется к текущему блоку (например, CU). Соответственно, процесс вычисления детализированной информации движения посредством применения BDOF может включаться в вышеописанный этап извлечения информации движения.
[240] Например, BDOF может применяться на уровне субблока 4×4. Таким образом, BDOF может выполняться в текущем блоке в единицах субблоков 4×4.
[241] BODF, например, может применяться к CU, удовлетворяющей, по меньшей мере, одному или всем следующим условиям.
[242] - CU кодируется в режиме истинного бипрогнозирования, т.е. один из двух опорных кадров предшествует текущему кадру в порядке отображения, и другой идет после текущего кадра в порядке отображения
[243] - CU не находится в аффинном режиме или ATMVP-режиме объединения
[244] - CU имеет более 64 выборок сигналов яркости
[245] - высота и ширина CU равны 8 выборкам сигналов яркости или более
[246] - весовой BCW-индекс указывает равный весовой коэффициент, т.е. применение равного весового коэффициента к прогнозной L0-выборке и прогнозной L1-выборке
[247] - прогнозирование со взвешиванием (WP) не применяется к текущей CU
[248] - CIIP-режим используется для текущей CU
[249] Помимо этого, BDOF может применяться только к компоненту сигналов яркости. Тем не менее, настоящее раскрытие сущности не ограничено этим, и BDOF может применяться к компоненту сигналов цветности либо к компоненту сигналов яркости и к компоненту сигналов цветности.
[250] BDOF-режим основан на понятии оптического потока. Таким образом, предполагается, что движение объекта является сглаженным. При применении BDOF, для каждого субблока 4×4, может вычисляться детализация (vx, vy) движения. Детализация движения может вычисляться посредством минимизации разности между прогнозной L0-выборкой и прогнозной L1-выборкой. Детализация движения может использоваться для того, чтобы регулировать бипрогнозированные выборочные значения в субблоке 4×4.
[251] В дальнейшем в этом документе подробнее описывается процесс выполнения BDOF.
[252] Во-первых, могут вычисляться горизонтальные градиенты и вертикальные градиенты двух прогнозных сигналов. В этом случае, k может быть равным 0 или 1. Градиенты могут вычисляться посредством прямого вычисления разности между двумя смежными выборками. Например, градиенты могут вычисляться следующим образом:
[253] уравнение 4
[254] В вышеприведенном уравнении 4, I(k)(i, j) обозначает выборочное значение координат (i, j) прогнозного сигнала в списке k (k=0, 1). Например, I(0)(i, j) может обозначать выборочное значение в позиции (i, j) в L0-блоке прогнозирования, и I(1)(i, j) может обозначать выборочное значение в позиции (i, j) в L1-блоке прогнозирования. В вышеприведенном уравнении 4, первый сдвиг shift1 может определяться на основе битовой глубины компонента сигналов яркости. Например, когда битовая глубина компонента сигналов яркости составляет bitDepth, shift1 может определяться в качестве max(6, bitDepth-6).
[255] Как описано выше, после вычисления градиентов, автокорреляция и взаимная корреляция S1, S2, S3, S5 и S6 между градиентами могут вычисляться следующим образом.
[256] уравнение 5
,
- где:
- где Ω является окном 6×6 вокруг субблока 4×4.
[257] В вышеприведенном уравнении 5, na и nb могут задаваться равными min(1, bitDepth-11) и min(4, bitDepth-8), соответственно.
[258] Детализация (vx, vy) движения может извлекаться следующим образом с использованием вышеописанной автокорреляции и взаимной корреляции между градиентами.
[259] уравнение 6
- где , , , и является функцией минимального уровня.
[260] В вышеприведенном уравнении 6, nS2 может быть равным 12. На основе извлеченной детализации движения и градиентов, следующее регулирование может выполняться относительно каждой выборки в субблоке 4×4.
[261] уравнение 7
[262] В завершение, прогнозные выборки predBDOF CU, к которой применяется BDOF, могут вычисляться посредством регулирования бипрогнозных выборок CU следующим образом.
[263] уравнение 8
[264] В вышеприведенных уравнениях, na, nb и nS2 могут быть равными 3, 6 и 12, соответственно. Эти значения могут выбираться таким образом, что множитель не превышает 15 битов в BDOF-процессе, и битовые ширины промежуточных параметров поддерживаются в пределах 32 битов.
[265] Чтобы извлекать значение градиента, могут формироваться прогнозные выборки I(k)(i, j) в списке k (k=0, 1), существующие за пределами текущей CU. Фиг. 17 является видом, иллюстрирующим CU, расширенную с возможностью выполнять BDOF.
[266] Как показано на фиг. 17, чтобы выполнять BDOF, могут использоваться строки/столбцы, протягивающиеся вокруг границы CU. Чтобы управлять вычислительной сложностью для формирования прогнозных выборок за пределами границы, прогнозные выборки в расширенной области (белая область на фиг. 17) могут формироваться с использованием билинейного фильтра, и прогнозные выборки в CU (серая область на фиг. 17) могут формироваться с использованием нормального 8-отводного интерполяционного фильтра на основе компенсации движения. Выборочные значения в расширенных позициях могут использоваться только для градиентного вычисления. Когда выборочные значения и/или значения градиентов, расположенные за пределами CU-границы, требуются для того, чтобы выполнять оставшиеся этапы BDOF-процесса, ближайшие соседние выборочные значения и/или значения градиентов могут дополняться (повторяться) и использоваться.
[267] Когда ширина и/или высота CU больше 16 выборок сигналов яркости, соответствующая CU может разбиваться на субблоки, имеющие ширину и/или высоту в 16 выборок сигналов яркости. Граница субблоков может трактоваться идентично вышеописанной CU-границе в BDOF-процессе. Максимальный размер единицы, в котором выполняется BDOF-процесс, может быть ограничен 16×16.
[268] Для каждого субблока, может определяться то, выполняется или нет BDOF. Таким образом, BDOF-процесс для каждого субблока может пропускаться. Например, когда SAD-значение между начальной прогнозной L0-выборкой и начальной прогнозной L1-выборкой меньше предварительно определенного порогового значения, BDOF-процесс может не применяться к соответствующему субблоку. В этом случае, когда ширина и высота соответствующего субблока составляет W и H, предварительно определенное пороговое значение может задаваться равным (8*W*(H>>1). С учетом сложности дополнительного SAD-вычисления, SAD может многократно использоваться между начальной прогнозной L0-выборкой и начальной прогнозной L1-выборкой, вычисленными в DMVR-процессе.
[269] Когда BCW доступно для текущего блока, например, когда весовой BCW-индекс указывает неравный весовой коэффициент, BDOF может не применяться. Аналогично, когда WP доступен для текущего блока, например, когда luma_weight_lx_flag, по меньшей мере, для одного из двух опорных кадров равен 1, BDOF может не применяться. В этом случае, luma_weight_lx_flag может представлять собой информацию, указывающую то, присутствуют или нет весовые коэффициенты WP для компонента сигналов яркости Lx-прогнозирования (x равно 0 или 1) в потоке битов, либо информацию, указывающую то, применяется или нет WP к компоненту сигналов яркости Lx-прогнозирования. Когда CU кодируется в симметричном MVD-(SMVD-)режиме или CIIP-режиме, BDOF может не применяться.
[270] Детализация прогнозирования с помощью оптического потока (PROF)
[271] В дальнейшем в этом документе описывается способ детализации прогнозированного с аффинной компенсацией движения блока на основе субблоков посредством применения оптического потока. Прогнозные выборки, сформированные посредством выполнения аффинной компенсации движения на основе субблоков, могут детализироваться на основе разности, извлекаемой посредством уравнения оптического потока. Детализация таких прогнозных выборок может называться "детализацией прогнозирования с помощью оптического потока (PROF)" в настоящем раскрытии сущности. Посредством PROF взаимное прогнозирование степени детализации пиксельного уровня может достигаться, не увеличивая полосу пропускания доступа к запоминающему устройству.
[272] Параметры модели аффинного движения могут использоваться для того, чтобы извлекать вектор движения каждого пиксела в CU. Тем не менее, поскольку прогнозирование с аффинной компенсацией движения на основе пикселов приводит к высокой сложности и увеличению полосы пропускания доступа к запоминающему устройству, прогнозирование с аффинной компенсацией движения на основе субблоков может выполняться. Когда прогнозирование с аффинной компенсацией движения на основе субблоков выполняется, CU может разбиваться на субблоки 4×4, и вектор движения может определяться для каждого субблока. В этом случае, вектор движения каждого субблока может извлекаться из CPMV CU. Аффинная компенсация движения на основе субблоков имеет компромиссное соотношение между эффективностью и сложностью кодирования и полосой пропускания доступа к запоминающему устройству. Поскольку вектор движения извлекается в единицах субблоков, сложность и полоса пропускания доступа к запоминающему устройству уменьшаются, но понижается точность прогнозирования.
[273] Соответственно, компенсация движения детализированной степени детализации может достигаться посредством детализации посредством применения оптического потока к прогнозированию с аффинной компенсацией движения на основе субблоков.
[274] Как описано выше, прогнозные выборки сигналов яркости могут детализироваться посредством суммирования разности, извлекаемой посредством уравнения оптического потока после выполнения аффинной компенсации движения на основе субблоков. Более конкретно, PROF может выполняться на следующих четырех этапах.
[275] Этап 1) Прогнозированный субблок I(i, j) формируется посредством выполнения аффинной компенсации движения на основе субблоков.
[276] Этап 2) Пространственные градиенты gx(i, j) и gy(i, j) прогнозированного субблока вычисляются в каждой выборочной позиции. В этом случае, 3-отводный фильтр может использоваться, и коэффициент фильтрации может составлять [-1, 0, 1]. Например, пространственные градиенты могут вычисляться следующим образом.
[277] уравнение 9
[278] Чтобы вычислять градиенты, прогнозированные субблоки могут расширяться на один пиксел на каждой стороне. В этом случае, чтобы понижать пропускную способность запоминающего устройства и сложность, пикселы расширенных границ могут копироваться из ближайших целочисленных пикселов в опорном кадре. Соответственно, дополнительная интерполяция для области дополнения может пропускаться.
[279] Этап 3) Детализация (ΔI(i, j)) прогнозирования сигналов яркости может вычисляться посредством уравнения оптического потока. Например, может использоваться следующее вычисление:
[280] уравнение 10
[281] В вышеприведенном уравнении, Δv(i, j) обозначает разность между пиксельным вектором движения (пиксельным MV, v(i, j)), вычисленным в выборочной позиции (i, j), и MV субблока для субблока, которому принадлежит выборка (i, j).
[282] Фиг. 18 является видом, иллюстрирующим взаимосвязь между Δv(i, j), v(i, j) и субблочным вектором движения.
[283] В примере, показанном на фиг. 18, например, разность между вектором v(i, j) движения в левой верхней выборочной позиции текущего субблока и вектором движения VSB текущего субблока может представляться посредством толстой пунктирной стрелки, и вектор, представленный посредством толстой пунктирной стрелки, может соответствовать Δv(i, j).
[284] Параметры аффинной модели и пиксельные позиции из центра субблока не изменяются. Соответственно, Δv(i, j) может вычисляться только для первого субблока и может многократно использоваться для других субблоков в идентичной CU. При условии, что горизонтальное смещение и вертикальное смещение от пиксельной позиции к центру субблока, соответственно, составляют x и y, Δv (x, y) может извлекаться следующим образом.
[285] уравнение 11
Для 4-параметрической аффинной модели:
Для 6-параметрической аффинной модели:
[286] Выше, (v0x, v0y), (v1x, v1y) и (v2x, v2y) надлежащим образом соответствуют левому верхнему CPMV, правому верхнему CPMV и левому нижнему CPMV, и w и h, соответственно, обозначают ширину и высоту CU.
[287] Этап 4) В завершение, конечный блок I'(i, j) прогнозирования может формироваться на основе вычисленной детализации ΔI(i, j) прогнозирования сигналов яркости и прогнозированного субблока I(i, j). Например, конечный блок прогнозирования I' может формироваться следующим образом.
[288] уравнение 12
[289] Общее представление субкадра
[290] Как описано выше, квантование и деквантование компонента сигналов яркости и компонента сигналов цветности может выполняться на основе параметра квантования. Помимо этого, один кадр, который должен кодироваться, может разбиваться в единицах множества CTU, срезов, плиток или кирпичей, и дополнительно, кадр может разбиваться в единицах множества субкадров.
[291] В кадре, субкадр может кодироваться или декодироваться независимо от того, кодируется или декодируется либо нет предыдущий субкадр относительно него. Например, различные квантования или различные разрешения могут применяться ко множеству субкадров.
[292] Дополнительно, субкадры могут обрабатываться как отдельные кадры. Например, кадр, который должен кодироваться может представлять собой проецируемый кадр или пакетированный кадр в изображении/видео на 360 градусов или во всенаправленном изображении/видео.
[293] В этом варианте осуществления, часть кадра может подготавливаться посредством рендеринга или отображаться на основе видового порта пользовательского терминала (например, наголовного дисплея). Соответственно, чтобы реализовывать низкое время задержки, по меньшей мере, один субкадр, покрывающий видовой порт, из субкадров, конструирующих один кадр, может кодироваться или декодироваться предпочтительно или независимо от оставшихся субкадров.
[294] Результат кодирования субкадра может называться "субпотоком битов", "субпотоком" или просто "потоком битов". Оборудование декодирования может декодировать субкадр из субпотока битов, субпотока или потока битов. В этом случае, высокоуровневый синтаксис (HLS), к примеру, PPS, SPS, VPS и/или DPS (набор параметров декодирования) может использоваться для того, чтобы кодировать/декодировать субкадр.
[295] В настоящем раскрытии сущности, высокоуровневый синтаксис (HLS) может включать в себя, по меньшей мере, одно из APS-синтаксиса, PPS-синтаксиса, SPS-cинтаксиса, VPS-синтаксиса, DPS-синтаксиса и синтаксиса заголовков срезов. Например, APS (APS-синтаксис) или PPS (PPS-синтаксис) могут включать в себя информацию/параметры, обычно применимые к одному или более срезов или кадров. SPS (SPS-cинтаксис) может включать в себя информацию/параметры, обычно применимые к одной или более последовательностей. VPS (VPS-синтаксис) может включать в себя информацию/параметры, обычно применимые к нескольким слоям. DPS (DPS-синтаксис) может включать в себя информацию/параметры, обычно применимые к целому видео. Например, DPS может включать в себя информацию/параметры, связанную с конкатенацией кодированной видеопоследовательности (CVS).
[296] Определение субкадра
[297] Субкадр может конструировать прямоугольную зону кодированного кадра. Размер субкадра может задаваться по-разному в кадре. Для всех кадров, принадлежащих одной последовательности, размер и позиция конкретного отдельного субкадра могут одинаково задаваться. Отдельная последовательность субкадра может независимо декодироваться. Плитка и срез (и CTB) могут быть ограничены таким образом, что они не перекрывают границу субкадра. С этой целью, оборудование кодирования может выполнять кодирование таким образом, что субкадры независимо декодируются. С этой целью, семантические ограничения в потоке битов могут требоваться. Помимо этого, для каждого кадра в одной последовательности, компоновка плиток, срезов и кирпичей в субкадре может конструироваться по-разному.
[298] Цель проектного решения по субкадрам
[299] Проектное решение по субкадрам направлено на абстрагирование или инкапсуляцию диапазона, меньшего уровня кадра или большего уровня группы срезов или плиток. Следовательно, VCL NAL-единица поднабора набора плиток с постоянным движением (MCTS) может извлекаться из одного VVC-потока битов и перебазируется в другой VVC-поток битов без сложностей, таких как модификация на уровне VCL. Здесь, MCTS представляет собой технологию кодирования для обеспечения пространственной и временной независимости между плитками. Когда MCTS применяется, нельзя ссылаться на информацию относительно плиток, которые не включаются в MCTS, которому принадлежит текущая плитка. Когда изображение разбивается на MCTS и кодируется, независимая передача и декодирование MCTS являются возможными.
[300] Такой проектное решение по субкадрам имеет преимущество в изменении направления просмотра в схемах зависимой от видового порта потоковой передачи на 360° со смешанным разрешением.
[301] Вариант использования субкадров
[302] Использование субкадра требуется в зависимой от видового порта схеме на 360°, предоставляющей увеличенное реальное пространственное разрешение для видового порта. Например, схема в плитках, покрывающих видовой порт, извлекаемый из ERP (равнопрямоугольного проекционного) кадра в 6K (6144×3072) или разрешения проекции кубической карты (CMP), имеющего производительность декодирования в 4K (HEVC-уровень 5.1) эквивалентную ему, включается в разделы D.6.3 и D.6.4 OMAF и используется в руководстве по стандартам отраслевого VR-форума. Известно, что такое разрешение является подходящим для наголовного дисплея с использованием квадратической HD(2560×1440)-панели отображения.
[303] Кодирование: Контент может кодироваться с двумя пространственными разрешениями, включающими в себя разрешение, имеющее размер граней куба в 1656×1536, и разрешение, имеющее размер граней куба в 768×768. В обоих потоках битов, может использоваться сетка плиток 6×4, и MCTS может кодироваться в каждой позиции плитки.
[304] Передаваемый в потоковом режиме MCTS-выбор: 12 MCTS могут выбираться из потока битов высокого разрешения, и 12 дополнительных MCTS могут получаться из потока битов низкого разрешения. Следовательно, полусфера (180°x180°) передаваемого в потоковом режиме контента может формироваться из потока битов высокого разрешения.
[305] Декодирование с использованием объединения MCTS и потока битов: MCTS одного момента времени принимаются, которые могут объединяться в кодированный кадр, имеющий разрешение в 1920×4608, соответствующее HEVC-уровню 5.1. В другом варианте для объединенного кадра, четыре столбца плиток имеют значение ширины в 768, два столбца плиток имеют значение ширины в 384, и три строки плиток имеют значение высоты в 768, за счет этого конструируя кадр, состоящий из выборок сигналов яркости в 3840×2304. Здесь, единицы ширины и высоты могут представлять собой единицы числа выборок сигналов яркости.
[306] Передача в служебных сигналах субкадров
[307] Передача служебных сигналов субкадра может выполняться на SPS-уровне, как показано на фиг. 19. Фиг. 19 показывает синтаксис для передачи в служебных сигналах синтаксического элемента для субкадров в SPS. В дальнейшем в этом документе описываются синтаксические элементы по фиг. 19.
[308] Синтаксический элемент pic_width_max_in_luma_samples может указывать максимальную ширину каждого декодированного кадра, ссылающегося на SPS в единицах выборок сигналов яркости. Значение pic_width_max_in_luma_samples больше 0 и может иметь значение в целое кратное andMinCbSizeY. Здесь, MinCbSizeY представляет собой переменную, указывающую минимальный размер блока кодирования компонентов сигналов яркости.
[309] Синтаксический элемент pic_height_max_in_luma_samples может указывать максимальную высоту каждого декодированного кадра, ссылающегося на SPS в единицах выборок сигналов яркости; pic_height_max_in_luma_samples больше 0 и может иметь значение в целое кратное MinCbSizeY.
[310] Синтаксический элемент subpic_grid_col_width_minus1 может использоваться для того, чтобы указывать ширину каждого элемента сетки идентификаторов субкадров. Например, subpic_grid_col_width_minus1 может указывать ширину каждого элемента сетки идентификаторов субкадров в единицах 4 выборок, и значение, полученное посредством суммирования 1 с subpic_grid_col_width_minus1, может указывать ширину отдельного элемента сетки идентификаторов субкадров в единицах 4 выборок. Длина синтаксического элемента может составлять длину в битах в Ceil(Log2(pic_width_max_in_luma_samples/4)).
[311] Следовательно, переменная NumSubPicGridCols, указывающая число столбцов в сетке субкадров, может извлекаться следующим образом.
[312] NumSubPicGridCols=(pic_width_max_in_luma_samples+subpic_grid_col_width_minus1*4+3)/(subpic_grid_col_width_minus1*4+4)
[313] Синтаксический элемент subpic_grid_row_height_minus1 может использоваться для того, чтобы указывать высоту каждого элемента сетки идентификаторов субкадров. Например, subpic_grid_row_height_minus1 может указывать высоту каждого элемента сетки идентификаторов субкадров в единицах 4 выборок. Значение, полученное посредством суммирования 1 с subpic_grid_row_height_minus1, может указывать высоту отдельного элемента сетки идентификаторов субкадров в единицах 4 выборок. Длина синтаксического элемента может составлять длину в битах в Ceil(Log2(pic_height_max_in_luma_samples/4)).
[314] Следовательно, переменная NumSubPicGridRows, указывающая число строк в сетке субкадров, может извлекаться следующим образом.
[315] NumSubPicGridRows=(pic_height_max_in_luma_samples+subpic_grid_row_height_minus1*4+3)/(subpic_grid_row_height_minus1*4+4)
[316] Синтаксический элемент subpic_grid_idx[i][j] может указывать индекс субкадра позиции (i, j) сетки. Длиной синтаксического элемента может составлять Ceil(Log2(max_subpics_minus1+1)) битов.
[317] Переменная SubPicTop[subpic_grid_idx [i][j]], SubPicLeft[subpic_grid_idx [i][j]], SubPicWidth[subpic_grid_idx [i][j]], SubPicHeight[subpic_grid_idx [i][j]] и NumSubPics может извлекаться так, как указано в алгоритме по фиг. 20.
[318] Синтаксический элемент subpic_treated_as_pic_flag[i] может указывать то, трактуется или нет субкадр как идентичный нормальному кадру в процессе декодирования, отличном от процесса внутриконтурной фильтрации. Например, первое значение (например, 0) subpic_treated_as_pic_flag[i] может указывать то, что i-ый субкадр каждого кодируемого кадра в CVS не трактуется в качестве кадра в процессе декодирования, отличном от процесса внутриконтурной фильтрации. Второе значение (например, 1) subpic_treated_as_pic_flag[i] может указывать то, что i-ый субкадр каждого кодируемого кадра в CVS трактуется в качестве кадра в процессе декодирования, отличном от процесса внутриконтурной фильтрации. Когда значение subpic_treated_as_pic_flag[i] не получается из потока битов, значение subpic_treated_as_pic_flag[i] может извлекаться в качестве первого значения (например, 0).
[319] Синтаксический элемент loop_filter_across_subpic_enabled_flag[i] может указывать то, выполняется или нет внутриконтурная фильтрация через границу i-ого субкадра, принадлежащего отдельному кодируемому кадру CVS. Например, первое значение (например, 0) loop_filter_across_subpic_enabled_flag[i] может указывать то, что внутриконтурная фильтрация не выполняется через границу i-ого субкадра, принадлежащего отдельному кодируемому кадру CVS. Второе значение (например, 1) loop_filter_across_subpic_enabled_flag[i] может указывать то, что внутриконтурная фильтрация может выполняться через границу i-ого субкадра, принадлежащего отдельному кодируемому кадру CVS. Когда значение loop_filter_across_subpic_enabled_flag[i] не получается из потока битов, значение loop_filter_across_subpic_enabled_flag[i] может извлекаться в качестве второго значения.
[320] Между тем, для соответствия потока битов, следующие ограничения могут применяться. Для любых двух субкадров subpicA и subpicB, когда индекс subpicA меньше индекса subpicB, все кодированные NAL-единицы subpicA могут иметь более низкий порядок декодирования, чем все кодированные NAL-единицы subpicB. Альтернативно, после того, как декодирование выполняется, форма субкадров должна иметь идеальную левую границу и идеальную верхнюю границу, конструирующие границу кадра или границу ранее декодированного субкадра.
[321] Общее представление кодирования и декодирования на основе субкадра
[322] Нижеприведенное раскрытие сущности относится к кодированию/декодированию вышеописанного кадра и/или субкадра. Оборудование кодирования может кодировать текущий кадр на основе структуры субкадра. Альтернативно, оборудование кодирования может кодировать, по меньшей мере, один субкадр, конструирующий текущий кадр, и выводить (суб)поток битов, включающий в себя (кодированную) информацию, по меньшей мере, относительно одного (кодированного) субкадра.
[323] Оборудование декодирования может декодировать, по меньшей мере, субкадр, принадлежащий текущему кадру, на основе (суб)потока битов, включающего в себя (кодированную) информацию, по меньшей мере, относительно одного субкадра.
[324] Фиг. 21 является видом, иллюстрирующим способ кодирования изображения с использованием субкадра посредством оборудования кодирования согласно варианту осуществления. Оборудование кодирования может разбивать входной кадр на множество субкадров (S2110). Оборудование кодирования может кодировать, по меньшей мере, один субкадр с использованием информации относительно субкадра (S2110). Например, каждый субкадр может независимо разделяться и кодироваться с использованием информации относительно субкадра. Затем, оборудование кодирования может выводить поток битов посредством кодирования информации изображений, включающей в себя информацию относительно субкадра (S2130). Здесь, поток битов для субкадра может называться "субпотоком" или "субпотоком битов".
[325] В дальнейшем различными способами описывается информация относительно субкадра в настоящем раскрытии сущности, и, например, может быть предусмотрена информация относительно того, может или нет внутриконтурная фильтрация выполняться через границу субкадра, информация относительно зоны субкадра, информация относительно разнесения сетки для использования субкадра и т.д.
[326] Фиг. 22 является видом, иллюстрирующим способ декодирования изображения с использованием субкадра посредством оборудования декодирования согласно варианту осуществления. Оборудование декодирования может получать информацию относительно субкадра из потока битов (S2210). Затем, оборудование декодирования может извлекать, по меньшей мере, один субкадр (S2220) и декодировать, по меньшей мере, один субкадр (S2230).
[327] Таким образом, оборудование декодирования может декодировать, по меньшей мере, один субкадр и в силу этого выводить, по меньшей мере, один декодированный субкадр или текущий кадр, включающий в себя, по меньшей мере, один субкадр. Поток битов может включать в себя субпоток или субпоток битов для субкадра.
[328] Как описано выше, информация относительно субкадра может конструироваться в HLS потока битов. Оборудование декодирования может извлекать, по меньшей мере, один субкадр на основе информации относительно субкадра. Оборудование декодирования может декодировать субкадр на основе CABAC-способа, способа прогнозирования, способа остаточной обработки (преобразования, квантования), способа внутриконтурной фильтрации и т.д.
[329] Когда декодированный субкадр выводится, декодированный субкадр может выводиться вместе в форме OPS (набора выходных субкадров). Например, когда текущий кадр связан со всенаправленным (на 360°) изображением/видео и частично подготавливается посредством рендеринга, только некоторые субкадры могут декодироваться, и некоторые или все декодированные субкадры могут подготавливаться посредством рендеринга согласно видовому порту пользователя.
[330] Когда информация, указывающая то, доступна или нет внутриконтурная фильтрация через границу субкадра, указывает доступность, оборудование декодирования может выполнять внутриконтурную фильтрацию (например, фильтр удаления блочности) на границе субкадра, расположенной между двумя субкадрами. Между тем, когда граница субкадра равна границе кадра, процесс внутриконтурной фильтрации для границы субкадра может не применяться.
[331] Настоящее раскрытие сущности относится к кодированию/декодированию на основе субкадров. В дальнейшем в этом документе подробнее описываются BDOF и PROF, к которым является применимым вариант осуществления настоящего раскрытия сущности.
[332] Как описано выше, посредством применения BDOF в процессе взаимного прогнозирования, чтобы детализировать опорную выборку в процессе компенсации движения, можно увеличивать производительность сжатия изображения. BDOF может выполняться в нормальном режиме. Таким образом, BDOF не выполняется в случае аффинного режима, GPM-режима или CIIP-режима.
[333] Фиг. 23 является видом, иллюстрирующим процесс извлечения прогнозной выборки текущего блока посредством применения BDOF.
[334] Процедура взаимного прогнозирования на основе BDOF по фиг. 23 может выполняться посредством оборудования кодирования изображений и оборудования декодирования изображений.
[335] Во-первых, на этапе S2310, информация движения текущего блока может извлекаться. Информация движения текущего блока может извлекаться посредством различных способов, описанных в настоящем раскрытии сущности. Например, информация движения текущего блока может извлекаться посредством регулярного режима объединения, MMVD-режима или AMVP-режима. Информация движения может включать в себя информацию движения бипрогнозирования (L0-информацию движения и L1-информацию движения). Например, L0-информация движения может включать в себя MVL0 (L0-вектор движения) и refIdxL0 (индекс опорного L0-кадра), а также L1-информацию MVL1 движения (L1-вектор движения) и refIdxL1 (индекс опорного L1-кадра).
[336] После этого, прогнозная выборка текущего блока может извлекаться на основе извлеченной информации движения текущего блока (S2320). В частности, прогнозные L0-выборки для текущего блока могут извлекаться на основе L0-информации движения. Помимо этого, прогнозные L1-выборки для текущего блока могут извлекаться на основе L1-информации движения.
[337] После этого, BDOF-смещение может извлекаться на основе извлеченных прогнозных выборок (S2330). BDOF этапа S2330 может выполняться согласно способу, описанному в настоящем раскрытии сущности. Например, BDOF-смещение может извлекаться на основе градиентов (согласно фазе) прогнозных L0-выборок и градиентов (согласно фазе) прогнозных L1-выборок.
[338] После этого, на основе LX (X=0 или 1) прогнозных выборок и BDOF-смещения, детализированные прогнозные выборки текущего блока могут извлекаться (S2340). Детализированные прогнозные выборки могут использоваться для того, чтобы формировать конечный блок прогнозирования текущего блока.
[339] Оборудование кодирования изображений может извлекать остаточные выборки через сравнение с исходными выборками на основе прогнозных выборок текущего блока, сформированных согласно способу по фиг. 23. Информация (остаточная информация) относительно остаточных выборок может включаться и кодироваться в информации изображений/видео и выводиться в форме потока битов, как описано выше. Помимо этого, оборудование декодирования изображений может формировать восстановленный текущий блок на основе прогнозных выборок текущего блока, сформированных согласно способу по фиг. 23, и остаточных выборок, полученных на основе остаточной информации в потоке битов, как описано выше.
[340] Фиг. 24 является видом, иллюстрирующим ввод и вывод BDOF-процесса согласно варианту осуществления настоящего раскрытия сущности.
[341] Как показано на фиг. 24, ввод BDOF-процесса может включать в себя ширину nCbW текущего блока, высоту CbH), субблоки прогнозирования predSamplesL0 и predSamplesL1 с граничной зоной, расширенной на предварительно определенную длину (например, 2), индексы predFlagL0 и predFlagL1 направлений прогнозирования и индексы refIdxL0 и refIdxL1 опорных кадров. Помимо этого, ввод BDOF-процесса дополнительно может включать в себя флаг bdofUtilizationFlag BDOF-использования. В этом случае, флаг BDOF-использования может вводиться в единицах субблоков в текущем блоке, чтобы указывать то, применяется или нет BDOF к соответствующему субблоку.
[342] Помимо этого, BDOF-процесс может формировать детализированный блок pbSamples прогнозирования посредством применения BDOF на основе входной информации.
[343] Фиг. 25 является видом, иллюстрирующим переменные, используемые для BDOF-процесса согласно варианту осуществления настоящего раскрытия сущности. Фиг. 25 может представлять собой процесс после фиг. 24.
[344] Как показано на фиг. 25, чтобы выполнять BDOF-процесс, глубина входного бита bitDepth текущего блока может задаваться равной BitDepthY. В этом случае, BitDepthY может извлекаться на основе информации относительно битовой глубины, передаваемой в служебных сигналах через поток битов. Помимо этого, различные сдвиги вправо могут задаваться на основе битовой глубины. Например, первый сдвиг shift1, второй сдвиг shift2, третий сдвиг shift3 и четвертый сдвиг shift4 могут извлекаться на основе битовой глубины, как показано на фиг. 24. Помимо этого, смещение offst4 может задаваться на основе shift4. Помимо этого, переменная mvRefineThres для указания диапазона отсечения детализации движения может задаваться на основе битовой глубины. Ниже описывается использование различных переменных, описанных на фиг. 24.
[345] Фиг. 26 является видом, иллюстрирующим способ формирования прогнозной выборки для каждого субблока в текущей CU на основе того, следует или нет применять BDOF, согласно варианту осуществления настоящего раскрытия сущности. Фиг. 26 может представлять собой процесс после фиг. 25.
[346] Процесс, показанный на фиг. 26, может выполняться для каждого субблока в текущей CU, и в этом случае, размер субблока может составлять 4×4. Когда флаг bdofUtilizationFlag BDOF-использования для текущего субблока составляет первое значение (ложь, "0"), BDOF может не применяться к текущему субблоку. В этом случае, прогнозная выборка текущего субблока извлекается посредством взвешенной суммы прогнозной L0-выборки и прогнозной L1-выборки, и в этом случае, весовой коэффициент, применяемый к прогнозной L0-выборке, и весовой коэффициент, применяемый к прогнозной L1-выборке, могут быть идентичными. shift4 и offset4, используемые в уравнении (1) по фиг. 26, могут представлять собой набор значений на фиг. 17. Когда флаг bdofUtilizationFlag BDOF-использования для текущего субблока составляет второе значение (истина, "1"), BDOF может применяться к текущему субблоку. В этом случае, прогнозная выборка текущего субблока может формироваться посредством BDOF-процесса согласно настоящему раскрытию сущности.
[347] Фиг. 27 является видом, иллюстрирующим способ извлечения градиента, автокорреляции и взаимной корреляции текущего субблока согласно варианту осуществления настоящего раскрытия сущности. Фиг. 27 может представлять собой процесс после фиг. 26.
[348] Процесс, показанный на фиг. 27, выполняется для каждого субблока в текущей CU, и в этом случае, размер субблока может составлять 4×4.
[349] Согласно фиг. 27, согласно уравнению (1) и уравнению (2), может извлекаться позиция (hx, hy) для каждой выборочной позиции (x, y) в текущем субблоке. После этого, горизонтальный градиент и вертикальный градиент для каждой выборочной позиции могут извлекаться согласно уравнениям (3)-(6). После этого, переменные (первый промежуточный параметр diff и вторые промежуточные параметры tempH и tempV) для извлечения автокорреляции и взаимной корреляции могут извлекаться согласно уравнениям (7)-(9). Например, первый промежуточный параметр diff может извлекаться с использованием значения, полученного посредством применения сдвига вправо к прогнозным выборкам predSamplesL0 и predSamplesL1 текущего блока посредством второго сдвига shift2. Например, вторые промежуточные параметры tempH и tempV могут извлекаться посредством применения сдвига вправо к сумме градиента в L0-направлении и градиента в L1-направлении посредством третьего сдвига shift3, как указано в уравнении (8) и уравнении (9). После этого, автокорреляция и взаимная корреляция могут извлекаться на основе извлеченного первого промежуточного параметра и вторых промежуточных параметров согласно уравнениям (10)-(16).
[350] Фиг. 28 является видом, иллюстрирующим способ извлечения детализации (vx, vy) движения, извлечения BDOF-смещения и формирования прогнозной выборки текущего субблока, согласно варианту осуществления настоящего раскрытия сущности. Фиг. 28 может представлять собой процесс после фиг. 27.
[351] Процесс, показанный на фиг. 28, выполняется для каждого субблока в текущей CU, и в этом случае, размер субблока может составлять 4×4.
[352] Согласно уравнению 28, детализация (vx, vy) движения может извлекаться согласно уравнению (1) и уравнению (2). Детализация движения может отсекаться в диапазоне, указываемом посредством mvRefineThres. Помимо этого, на основе детализации движения и градиента, BDOF-смещение bdofOffset может извлекаться согласно уравнению (3). Прогнозная выборка pbSamples текущего субблока может формироваться с использованием извлеченного BDOF-смещения согласно уравнению (4).
[353] Посредством непрерывного осуществления способов, описанных со ссылкой на фиг. 24-28, может реализовываться BDOF-процесс согласно первому варианту осуществления настоящего раскрытия сущности. В варианте осуществления согласно фиг. 24-28, первый сдвиг shift1 задается равным Max(6, bitDepth-6), и mvRefineThres задается равным 1<<Max(bitDepth-7). Соответственно, битовые ширины predSample и каждый параметр BDOF по данным BitDepth могут извлекаться так, как показано в следующей таблице.
[354] Табл. 1
[355] Как описано выше, посредством применения BDOF в процессе взаимного прогнозирования, чтобы детализировать опорную выборку в процессе компенсации движения, можно увеличивать производительность сжатия изображения. BDOF может выполняться в нормальном режиме. Таким образом, BDOF не выполняется в случае аффинного режима, GPM-режима или CIIP-режима.
[356] PROF может выполняться для блока, кодированного в аффинном режиме, в качестве способа, аналогичного BDOF. Как описано выше, посредством детализации опорной выборки в каждом субблоке 4×4 через PROF, можно увеличивать производительность сжатия изображения.
[357] Согласно настоящему раскрытию сущности, может извлекаться вышеописанная информация аффинного движения (движения на основе субблоков) текущего блока, и информация аффинного движения может детализироваться через вышеописанный PROF-процесс, либо прогнозная выборка, извлекаемая на основе информации аффинного движения, может детализироваться.
[358] Фиг. 29 является видом, иллюстрирующим процесс извлечения прогнозной выборки текущего блока посредством применения PROF.
[359] Процедура взаимного прогнозирования на основе PROF по фиг. 29 может выполняться посредством оборудования кодирования изображений и оборудования декодирования изображений.
[360] Во-первых, на этапе S2910, информация движения текущего блока может извлекаться. Информация движения текущего блока может извлекаться посредством различных способов, описанных в настоящем раскрытии сущности. Например, информация движения текущего блока может извлекаться посредством способа, описанного в вышеописанном аффинном режиме или TMVP-режиме на основе субблоков. Информация движения может включать в себя информацию движения субблоков относительно текущего блока. Информация движения субблоков может включать в себя информацию движения субблоков бипрогнозирования (L0-информацию движения субблоков и L1-информацию движения субблоков). Например, L0-информация движения субблоков может включать в себя sbMVL0 (субблочный L0-вектор движения) и refIdxL0 (индекс опорного L0-кадра), и L1-информация движения субблоков может включать в себя sbMVL1 (субблочный L1-вектор движения) и refIdxL1 (индекс опорного L1-кадра).
[361] После этого, прогнозная выборка текущего блока может извлекаться на основе извлеченной информации движения текущего блока (S2920). В частности, прогнозные L0-выборки для каждого субблока текущего блока могут извлекаться на основе L0-информации движения субблоков. Помимо этого, прогнозные L1-выборки для каждого субблока текущего блока могут извлекаться на основе L1-информации движения субблоков.
[362] После этого, PROF-смещение может извлекаться на основе извлеченных прогнозных выборок (S2930). PROF этапа S2930 может выполняться согласно способу, описанному в настоящем раскрытии сущности. Например, разностный вектор diffMv движения и градиенты LX (X=0 или 1) прогнозных выборок могут вычисляться, и на их основе, PROF-смещение dI или ΔI может извлекаться согласно способу, описанному в настоящем раскрытии сущности. Различные примеры настоящего раскрытия сущности относятся к извлечению разностных векторов движения, извлечению градиентов и/или извлечению PROF-смещений.
[363] После этого, на основе LX (X=0 или 1) прогнозных выборок и PROF-смещения, детализированные прогнозные выборки текущего блока могут извлекаться (S2940). Детализированные прогнозные выборки могут использоваться для того, чтобы формировать конечный блок прогнозирования текущего блока. Например, конечный блок прогнозирования текущего блока может формироваться посредством суммирования со взвешиванием детализированных прогнозных L0-выборок и детализированных прогнозных L1-выборок.
[364] Оборудование кодирования изображений может извлекать остаточные выборки через сравнение с исходными выборками на основе прогнозных выборок текущего блока, сформированных согласно способу по фиг. 29. Информация (остаточная информация) относительно остаточных выборок может включаться и кодироваться в информации изображений/видео и выводиться в форме потока битов, как описано выше. Помимо этого, оборудование декодирования изображений может формировать восстановленный текущий блок на основе прогнозных выборок текущего блока, сформированных согласно способу по фиг. 29, и остаточных выборок, полученных на основе остаточной информации в потоке битов, как описано выше.
[365] Фиг. 30 является видом, иллюстрирующим пример PROF-процесса согласно настоящему раскрытию сущности.
[366] Согласно примеру по фиг. 30, PROF-процесс может выполняться с использованием ширины sbWidth, высоты sbHeight текущего субблока, субблока predSamples прогнозирования, в котором пограничная зона расширяется на предварительно определенную длину borderExtention, и разностного вектора diffMv движения в качестве ввода. В этом случае, субблок прогнозирования, например, может представлять собой субблок прогнозирования, сформированный посредством выполнения аффинной компенсации движения. Как результат выполнения PROF-процесса, может формироваться детализированный субблок pbSamples прогнозирования.
[367] Чтобы выполнять PROF-процесс, предварительно определенный первый сдвиг shift1 может вычисляться. Первый сдвиг может извлекаться на основе битовой глубины BitDepthY компонента сигналов яркости. Например, первый сдвиг может извлекаться в качестве максимального значения из 6 и (BitDepthY-6).
[368] После этого, горизонтальный градиент gradientH, gx и вертикальный градиент gradientV, gy могут вычисляться для каждой выборочной позиции (x, y) входного субблока прогнозирования. Горизонтальный градиент и вертикальный градиент могут вычисляться согласно уравнению (1) и уравнению (2) по фиг. 30, соответственно.
[369] После этого, на основе горизонтального градиента, вертикального градиента и разностного вектора diffMv движения, может вычисляться PROF-смещение dI или ΔI для каждой выборочной позиции. Например, PROF-смещение может вычисляться согласно уравнению (3) по фиг. 30. В уравнении (3), разностный вектор diffMv движения, используемый для того, чтобы вычислять PROF-смещение, может означать Δv, описанный со ссылкой на фиг. 18. В этом случае, diffMv может отсекаться посредством dmvLimit следующим образом, и dmvLimit может вычисляться на основе BitDepthY следующим образом.
[370] уравнение 13
[371] После этого, детализированный субблок pbSamples прогнозирования может извлекаться на основе вычисленного PROF-смещения и субблока predSamples прогнозирования. Например, детализированный субблок прогнозирования может извлекаться согласно уравнению (4) по фиг. 30.
[372] Согласно примеру по фиг. 30, первый сдвиг shift1 может задаваться равным Max(6, bitDepth-6), и dmvLimit может задаваться равным 1<<Max(5, bitDepth-7). Помимо этого, diffMv может отсекаться в диапазоне [-dmvLimit, dmvLimit-1]. Соответственно, битовые ширины predSample и каждый параметр PROF по данным BitDepthY могут извлекаться так, как показано в следующей таблице.
[373] Табл. 2
[374] Настоящее раскрытие сущности может предоставлять различные варианты осуществления случая, в котором субкадр трактуется в качестве кадра (например, subpic_treated_as_pic_flag==1) при выполнении кодирования/декодирования на основе субкадров. Например, в BDOF- или PROF-процессе, процесс осуществления выборки опорных выборок может ограничиваться таким образом, что он не ссылается на опорную выборку, включенную в субкадр, отличающийся от субкадра, которому принадлежит текущий блок. Помимо этого, в процессе извлечения временных предикторов векторов движения, процессе билинейной интерполяции выборки сигналов яркости, процессе 8-отводной интерполяционной фильтрации процесса интерполяции выборок сигналов яркости и/или выборок сигналов цветности, может добавляться ограничение согласно субкадру, трактуемому в качестве кадра.
[375] Как описано выше, в BDOF- и/или PROF-процессе, чтобы вычислять градиент, может использоваться опорная выборка, расширенная на предварительно определенную длину вокруг границы текущего блока. Тем не менее, когда текущий субкадр, которому принадлежит текущий блок, трактуется в качестве кадра, диапазон опорной выборки для вычисления градиента должен быть ограничен в идентичном субкадре с текущим субкадром.
[376] Как описано выше, прогнозная выборка может модифицироваться посредством bdofOffset в случае BDOF и может модифицироваться посредством dI в случае PROF; bdofOffset и dI могут получаться на основе градиента. Градиент может извлекаться на основе разности между опорными выборками в опорном кадре. Чтобы извлекать градиент, могут выполняться процесс осуществления выборки опорных выборок для осуществления выборки опорной выборки из опорного кадра и процесс 8-отводной интерполяционной фильтрации. Вывод процесса осуществления выборки опорных выборок может представлять собой выборку сигналов яркости в целочисленнопиксельной позиции.
[377] Фиг. 31 является видом, иллюстрирующим случай, в котором опорная выборка, которая должна подвергаться осуществлению выборки, пересекает границу субкадра.
[378] На фиг. 31, область (область осуществления выборки) в опорном кадре, которая должна чтобы подвергаться осуществлению выборки, может указываться согласно вектору mv движения текущего блока, включенного в текущий субкадр [1] в текущем кадре. В этом случае, область осуществления выборки может существовать через границу субкадра [1] в опорном кадре. Таким образом, опорная выборка, которая должна подвергаться осуществлению выборки, может включаться в субкадр, отличающийся от текущего субкадра [1].
[379] Фиг. 32 является укрупненным видом области осуществления выборки по фиг. 31.
[380] Как показано на фиг. 32, опорная выборка, которая должна подвергаться осуществлению выборки, может включаться в субкадр (субкадр [0, субкадр [2], субкадр [3]) отличающийся от текущего субкадра [1]. С учетом случая, показанного на фиг. 32, когда субкадр трактуется в качестве кадра, диапазон опорной выборки, которая должна подвергаться осуществлению выборки, должен быть ограниченным в идентичном субкадре с текущим субкадром.
[381] Фиг. 33 является видом, иллюстрирующим процесс осуществления выборки опорных выборок согласно варианту осуществления настоящего раскрытия сущности.
[382] В процессе осуществления выборки опорных выборок по фиг. 33, может вводиться информация относительно вектора движения текущего блока и опорного кадра refPicLXL. Информация относительно вектора движения текущего блока должна указывать область осуществления выборки и может представлять собой целочисленную выборочную позицию (xIntL, yIntL), извлекаемую из вектора движения текущего блока.
[383] Вывод процесса осуществления выборки опорных выборок по фиг. 33 может представлять собой блок прогнозирования для текущего блока. В этом случае, блок прогнозирования может представлять собой блок прогнозирования, который должен детализироваться посредством BDOF или PROF.
[384] Как показано на фиг. 33, может определяться то, трактуется или нет текущий субкадр в качестве кадра. Например, когда subpic_treated_as_pic_flag равен 1, может определяться то, что текущий субкадр трактуется в качестве кадра, и область осуществления выборки может быть ограничена в идентичном субкадре с текущим субкадром.
[385] Когда текущий субкадр трактуется в качестве кадра, как показано в уравнении (1) по фиг. 33, координата xInt X, указывающая позицию выборки, которая должна подвергаться осуществлению выборки, может отсекаться в диапазоне [subpicLeftBoundaryPos, SubPicRightBoundaryPos]. SubPicLeftBoundaryPos может указывать позицию левой границы текущего субкадра. Помимо этого, SubPicRightBoundaryPos может указывать позицию правой границы текущего субкадра. Согласно вышеприведенному уравнению (1), поскольку координата X опорной выборки, которая должна подвергаться осуществлению выборки, существует в диапазоне от SubPicLeftBoundaryPos до SubPicRightBoundaryPos, опорная выборка, расположенная за пределами левой или правой границы субкадра, не подвергается осуществлению выборки. Ниже описывается способ извлечения SubPicLeftBoundaryPos и SubPicRightBoundaryPos.
[386] Аналогично, когда текущий субкадр трактуется в качестве кадра, как показано в уравнении (2) по фиг. 33, координата yInt Y, указывающая позицию выборки, которая должна подвергаться осуществлению выборки, может отсекаться в диапазоне [SubPicTopBoundaryPos, SubPicBotBoundaryPos]. SubPicTopBoundaryPos может указывать позицию верхней границы текущего субкадра. Помимо этого, SubPicBotBoundaryPos может указывать позицию нижней границы текущего субкадра. Согласно вышеприведенному уравнению (2), координата Y опорной выборки, которая должна подвергаться осуществлению выборки, существует в диапазоне от SubPicTopBoundaryPos до SubPicBotBoundaryPos, опорная выборка, существующая за пределами верхней границы или нижней границы субкадра, не подвергается осуществлению выборки. Ниже описывается способ извлечения SubPicTopBoundaryPos и SubPicBotBoundaryPos.
[387] Когда текущий субкадр не трактуется в качестве кадра, например, когда subpic_treated_as_pic_flag равен 0, координаты опорной выборки, которая должна подвергаться осуществлению выборки, могут извлекаться согласно уравнению (3) и уравнению (4). Согласно вышеприведенному уравнению (3) и уравнению (4), координаты опорной выборки, которая должна подвергаться осуществлению выборки, не отсекаются посредством граничной позиции субкадра. Согласно вышеприведенным уравнению (3) и уравнению (4), координаты опорной выборки, которая должна подвергаться осуществлению выборки, могут отсекаться в диапазоне текущего кадра.
[388] После этого, согласно уравнению (5), осуществление выборки опорной выборки из опорного кадра может выполняться на основе координат (xInt, yInt) выборки, которая должна подвергаться осуществлению выборки.
[389] Фиг. 34 является блок-схемой последовательности операций способа, иллюстрирующей процесс осуществления выборки опорных выборок согласно настоящему раскрытию сущности.
[390] Процесс осуществления выборки опорных выборок по фиг. 33 и 34 может выполняться посредством оборудования кодирования изображений и оборудования декодирования изображений для выполнения BDOF и/или PROF.
[391] Ссылаясь на фиг. 34, во-первых, может определяться то, трактуется или нет текущий субкадр в качестве кадра (S3410). Определение этапа S3410 может выполняться на основе subpic_treated_as_pic_flag.
[392] Когда текущий субкадр трактуется в качестве кадра (например, subpic_treated_as_pic_flag==1), позиция осуществления выборки может извлекаться (S3420), и извлеченная позиция осуществления выборки может отсекаться (S3430). Извлечение и отсечение позиции осуществления выборки могут выполняться согласно уравнению (1) и уравнению (2) по фиг. 33. Отсечение этапа S3430 может представлять собой процесс изменения соответствующей позиции осуществления выборки на позицию в текущем субкадре (например, граничную позицию текущего субкадра), когда извлеченная позиция осуществления выборки за пределами границы текущего субкадра.
[393] Когда текущий субкадр не трактуется в качестве кадра (например, subpic_treated_as_pic_flag==0), позиция осуществления выборки может извлекаться (S3440). Извлечение позиции осуществления выборки может выполняться, например, согласно уравнению (3) и уравнению (4) по фиг. 33.
[394] После этого, осуществление выборки опорных выборок может выполняться на основе позиции осуществления выборки, извлекаемой на этапе S3430 или на этапе S3440 (S3450). Осуществление выборки опорных выборок может выполняться, например, согласно уравнению (5) по фиг. 33.
[395] Согласно варианту осуществления, показанному на фиг. 34, когда субкадр трактуется в качестве кадра, опорная выборка за пределами границы текущего субкадра может не подвергаться осуществлению выборки в процессе осуществления выборки опорных выборок. Таким образом, на опорную выборку в опорном кадре, принадлежащем субкадру, отличающемуся от текущего субкадра, могут не ссылаться.
[396] В дальнейшем в этом документе описывается процедура интерполяции дробных выборок согласно другому варианту осуществления настоящего раскрытия сущности.
[397] Как описано выше, когда вектор движения текущего блока указывает дробновыборочную единицу, процедура интерполяции может выполняться, и прогнозные выборки текущего блока могут извлекаться на основе опорных выборок дробновыборочной единицы в опорном кадре, соответственно.
[398] Фиг. 35 является видом, иллюстрирующим часть процедуры интерполяции дробных выборок согласно настоящему раскрытию сущности.
[399] Чтобы выполнять процедуру интерполяции дробных выборок, переменные fRefWidth и fRefHeight могут извлекаться. Как показано на фиг. 35, fRefWidth и fRefHeight могут извлекаться по-разному согласно тому, трактуется или нет текущий субкадр в качестве кадра (subpic_treated_as_pic_flag).
[400] Когда текущий субкадр трактуется в качестве кадра, например, когда subpic_treated_as_pic_flag равен 1, fRefWidth и fRefHeight могут извлекаться следующим образом.
[401] fRefWidth=(SubPicWidth[SubPicIdx]*(subpic_grid_col_width_minus1+1)*4)
[402] fRefHeight=(SubPicHeight[SubPicIdx]*(subpic_grid_row_height_minus1+1)*4)
[403] Выше, SubPicWidth[SubPicIdx] и SubPicHeight[SubPicIdx] могут означать ширину и высоту текущего субкадра, соответственно. В этом случае, ширина и высота субкадра может выражаться посредством числа сеток, конфигурирующих субкадр. Например, ширина субкадра, равная 4, может означать то, что соответствующий субкадр включает в себя четыре сетки в горизонтальном направлении. Помимо этого, subpic_grid_col_width_minus1 и subpic_grid_row_height_minus1 могут означать ширину и высоту сетки, конфигурирующей субкадр, соответственно. В этом случае, ширина и высота сетки может выражаться в единицах 4 пикселов. Например, ширина сетки, равная 4, может означать то, что ширина сетки составляет 16 (4×4) пикселов.
[404] Когда текущий субкадр не трактуется в качестве кадра, например, когда subpic_treated_as_pic_flag равен 0, fRefWidth и fRefHeight могут извлекаться в качестве ширины PicOutputWidthL и высоты PicOutputHeightL выходного изображения опорного кадра, соответственно.
[405] fRefWidth и fRefHeight, извлекаемые так, как описано выше, могут использоваться для того, чтобы извлекать коэффициенты hori_scale_fp и vert_scale_fp масштабирования согласно уравнению (1) и уравнению (2) по фиг. 35. После этого, согласно уравнениям (3)-(6), позиция (refxL, refyL) опорной выборки, указываемой посредством вектора движения, может извлекаться. На основе извлеченной позиции опорной выборки, могут извлекаться целочисленная позиция (xIntL, yIntL) и дробная позиция (xFracL, yFracL). Вышеописанный процесс осуществления выборки опорных выборок или процесс 8-отводной интерполяционной фильтрации может выполняться на основе извлеченной целочисленной позиции и/или дробной позиции.
[406] В дальнейшем в этом документе описывается способ sbTMVP-извлечения согласно другому варианту осуществления настоящего раскрытия сущности.
[407] Как описано со ссылкой на фиг. 16, сдвиг движения может извлекаться и применяться к текущему блоку, в силу этого указывая субблок (совместно размещ. субблок) в совместно размещ. кадре, соответствующем каждому субблоку, конфигурирующему текущий блок. После этого, с использованием информации движения соответствующего субблока (совместно размещ. субблока) совместно размещ. кадра, информация движения каждого субблока текущего блока может извлекаться. На основе извлеченной информации движения субблока, может извлекаться sbTMVP.
[408] Фиг. 36 является видом, иллюстрирующим часть способа sbTMVP-извлечения согласно настоящему раскрытию сущности.
[409] Фиг. 36 показывает часть процесса после того, как сдвиг движения для текущего блока извлекается во время процесса sbTMVP-извлечения. В частности, процесс, показанный на фиг. 36, включает в себя процесс извлечения позиции соответствующего совместно размещ. субблока для каждого субблока, конфигурирующего текущий блок.
[410] Согласно фиг. 36, во-первых, согласно уравнению (1) и уравнению (2), может извлекаться позиция (xSb, ySb) правой нижней центральной выборки текущего субблока. После этого, позиция (xColSb, yColSb) совместно размещ. субблока может извлекаться согласно тому, трактуется или нет текущий субкадр в качестве кадра (например, subpic_treated_as_pic_flag).
[411] В частности, когда subpic_treated_as_pic_flag равен 1, координата Y yColSb совместно размещ. субблока может извлекаться согласно уравнению (3). В этом случае, yColSb, извлекаемый посредством ySb и сдвига tempMv движения, может отсекаться до позиции, указываемой посредством SubPicTopBoundaryPos и SubPicBotBoundaryPos и координаты yCtb Y текущего CTB. Посредством уравнения (3), координата Y совместно размещ. субблока существует в текущем CTB и текущем субкадре. Помимо этого, когда subpic_treated_as_pic_flag равен 0, согласно уравнению (4), координата Y yColSb совместно размещ. субблока может извлекаться. В этом случае, yColSb, извлекаемая посредством ySb и сдвига tempMv движения, может отсекаться до позиции, указываемой посредством координаты yCtb Y текущего CTB и высоты текущего кадра. Посредством уравнения (4), координата Y совместно размещ. субблока существует в текущем CTB и текущем кадре.
[412] Аналогично, когда subpic_treated_as_pic_flag равен 1, согласно уравнению (5), координата xColSb X совместно размещ. субблока может извлекаться. В этом случае, xColSb, извлекаемая посредством xSb и сдвига tempMv движения, может отсекаться до позиции, указываемой посредством SubPicLeftBoundaryPos и SubPicRightBoundaryPos и координаты xCtb X текущего CTB. Посредством уравнения (5), координата X совместно размещ. субблока существует в текущем CTB и текущем субкадре. Помимо этого, когда subpic_treated_as_pic_flag равен 0, согласно уравнению (6), координата yColSb X совместно размещ. субблока может извлекаться. В этом случае, xColSb, извлекаемая посредством xSb и сдвига tempMv движения, может отсекаться до позиции, указываемой посредством координаты xCtb X текущего CTB и ширины текущего кадра. Посредством уравнения (6), координата X совместно размещ. субблока существует в текущем CTB и текущем кадре.
[413] Согласно настоящему раскрытию сущности, когда текущий субкадр трактуется в качестве кадра, совместно размещ. субблок текущего субблока для извлечения sbTMVP существует в идентичном субкадре с текущим субкадром.
[414] В дальнейшем в этом документе описывается способ извлечения граничных позиций субкадров согласно другому варианту осуществления настоящего раскрытия сущности.
[415] Фиг. 37 является видом, иллюстрирующим способ извлечения граничной позиции субкадра согласно настоящему раскрытию сущности.
[416] Согласно настоящему раскрытию сущности, могут извлекаться левая граничная позиция SubPicLeftBoundaryPos субкадра, правая граничная позиция SubPicRightBoundaryPos субкадра, верхняя граничная позиция SubPicTopBoundaryPos субкадра и нижняя граничная позиция SubPicBotBoundaryPos субкадра. В настоящем раскрытии сущности, SubPicIdx может представлять собой индекс для идентификации каждого из субкадров в текущем кадре.
[417] Когда текущий субкадр, указываемый посредством SubPicIdx, трактуется в качестве кадра, SubPicLeftBoundaryPos может извлекаться на основе информации SubPicLeft позиции предварительно определенной единицы, указывающей левую позицию текущего субкадра, и информации subpic_grid_col_width_minus1 ширины соответствующей единицы. Предварительно определенная единица может представлять собой сетку. Тем не менее, настоящее раскрытие сущности не ограничено этим, и например, предварительно определенная единица может представлять собой CTU. Когда предварительно определенная единица представляет собой CTU, левая позиция текущего субкадра может извлекаться в качестве произведения информации позиции CTU-единицы, указывающей левую позицию текущего субкадра, и размера CTU.
[418] Когда текущий субкадр трактуется в качестве кадра, SubPicRightBoundaryPos может извлекаться на основе информации позиции предварительно определенной единицы, указывающей левую позицию текущего субкадра, информации ширины предварительно определенной единицы, указывающей ширину текущего субкадра, и информации ширины соответствующей единицы. Например, информация позиции предварительно определенной единицы, указывающая правую позицию текущего субкадра, может извлекаться посредством суммирования левой позиции текущего субкадра и ширины текущего субкадра. SubPicRightBoundaryPos может извлекаться посредством выполнения операции "-1" для конечного вычисленного значения. Предварительно определенная единица может представлять собой сетку. Тем не менее, настоящее раскрытие сущности не ограничено этим, и например, предварительно определенная единица может представлять собой CTU. Когда предварительно определенная единица представляет собой CTU, правая позиция текущего субкадра может извлекаться посредством выполнения операции "-1" для произведения информации позиции CTU-единицы, указывающей правую позицию текущего субкадра, и размера CTU. Информация позиции CTU-единицы, указывающая правую позицию текущего субкадра, может извлекаться в качестве суммы информации позиции CTU-единицы, указывающей левую позицию текущего субкадра, и информации ширины CTU-единицы, указывающей ширину текущего субкадра.
[419] Аналогично, SubPicTopBoundaryPos может извлекаться на основе информации SubPicTop позиции предварительно определенной единицы, указывающей верхнюю позицию текущего субкадра, и информации subpic_grid_low_height_minus1 высоты соответствующей единицы. Предварительно определенная единица может представлять собой сетку. Тем не менее, настоящее раскрытие сущности не ограничено этим, и например, предварительно определенная единица может представлять собой CTU. Когда предварительно определенная единица представляет собой CTU, верхняя позиция текущего субкадра может извлекаться в качестве произведения информации позиции CTU-единицы, указывающей верхнюю позицию текущего субкадра, и размера CTU.
[420] Когда текущий субкадр трактуется в качестве кадра, SubPicBotBoundaryPos может извлекаться на основе информации позиции предварительно определенной единицы, указывающей верхнюю позицию текущего субкадра, информации высоты предварительно определенной позиции, указывающей высоту текущего субкадра, и высоты соответствующей единицы. Например, информация позиции предварительно определенной единицы, указывающая нижнюю позицию текущего субкадра, может извлекаться посредством суммирования верхней позиции текущего субкадра и высоты текущего субкадра. SubPicBotBoundaryPos может извлекаться посредством выполнения операции "-1" для конечного вычисленного значения. Предварительно определенная единица может представлять собой сетку. Тем не менее, настоящее раскрытие сущности не ограничено этим, и например, предварительно определенная единица может представлять собой CTU. Когда предварительно определенная единица представляет собой CTU, нижняя позиция текущего субкадра может извлекаться посредством выполнения операции "-1" для произведения информации позиции CTU-единицы, указывающей нижнюю позицию текущего субкадра, и размера CTU. Информация позиции CTU-единицы, указывающая нижнюю позицию текущего субкадра, может извлекаться в качестве суммы информации позиции CTU-единицы, указывающей верхнюю позицию текущего субкадра, и информации высоты CTU-единицы, указывающей высоту текущего субкадра.
[421] Различные варианты осуществления, описанные в настоящем раскрытии сущности могут реализовываться отдельно или в комбинации с другими вариантами осуществления. Альтернативно, часть варианта осуществления может добавляться в другой вариант осуществления, или часть варианта осуществления может заменяться частью другого варианта осуществления.
[422] Хотя примерные способы настоящего раскрытия сущности, описанного выше, представляются как последовательность операций для ясности описания, это не имеет намерение ограничивать порядок, в котором выполняются этапы, и этапы могут выполняться одновременно или в другом порядке при необходимости. Чтобы реализовывать способ согласно настоящему раскрытию сущности, описанные этапы дополнительно могут включать в себя другие этапы, могут включать в себя оставшиеся этапы, за исключением некоторых этапов, либо могут включать в себя другие дополнительные этапы, за исключением некоторых этапов.
[423] В настоящем раскрытии сущности, оборудование кодирования изображений или оборудование декодирования изображений, которое выполняет предварительно определенную операцию (этап), может выполнять операцию (этап) подтверждения условия или ситуации выполнения соответствующей операции (этап). Например, если описывается то, что предварительно определенная операция выполняется, когда предварительно определенное условие удовлетворяется, оборудование кодирования изображений или оборудование декодирования изображений может выполнять предварительно определенную операцию после определения того, удовлетворяется или нет предварительно определенное условие.
[424] Различные варианты осуществления настоящего раскрытия сущности не представляют собой список всех возможных комбинаций и имеют намерение описывать характерные аспекты настоящего раскрытия сущности, и вопросы, описанные в различных вариантах осуществления, могут применяться независимо либо в комбинации двух или более из них.
[425] Различные варианты осуществления настоящего раскрытия сущности могут реализовываться в аппаратных средствах, микропрограммном обеспечении, программном обеспечении либо в комбинации вышеозначенного. В случае реализации настоящего раскрытия сущности посредством аппаратных средств, настоящее раскрытие сущности может реализовываться с помощью специализированных интегральных схем (ASIC), процессоров цифровых сигналов (DSP), устройств обработки цифровых сигналов (DSPD), программируемых логических устройств (PLD), программируемых пользователем вентильных матриц (FPGA), общих процессоров, контроллеров, микроконтроллеров, микропроцессоров и т.д.
[426] Помимо этого, оборудование декодирования изображений и оборудование кодирования изображений, к которым применяются варианты осуществления настоящего раскрытия сущности, могут включаться в мультимедийное широковещательное приемо-передающее устройство, терминал мобильной связи, видеоустройство системы домашнего кинотеатра, видеоустройство системы цифрового кинотеатра, камеру наблюдения, устройство проведения видеочатов, устройство связи в реальном времени, к примеру, для видеосвязи, мобильное устройство потоковой передачи, носитель хранения данных, записывающую видеокамеру, устройство предоставления услуг на основе технологии "видео по запросу" (VoD), устройство на основе OTT-видео (видео поверх сетей), устройство предоставления услуг потоковой передачи по Интернету, трехмерное видеоустройство, видеоустройство системы видеотелефонии, медицинское видеоустройство и т.п. и могут использоваться для того, чтобы обрабатывать видеосигналы или сигналы данных. Например, OTT-видеоустройства могут включать в себя игровую консоль, Blu-Ray-проигрыватель, телевизор с доступом в Интернет, систему домашнего кинотеатра, смартфон, планшетный PC, цифровое записывающее видеоустройство (DVR) и т.п.
[427] Фиг. 38 является видом, показывающим систему потоковой передачи контента, к которой является применимым вариант осуществления настоящего раскрытия сущности.
[428] Ссылаясь на фиг. 38, система потоковой передачи контента, к которой применяется вариант(ы) осуществления настоящего документа, может включать в себя, главным образом, сервер кодирования, потоковый сервер, веб-сервер, хранилище мультимедиа, пользовательское устройство и устройство ввода мультимедиа.
[429] Сервер кодирования сжимает контент, вводимый из устройств ввода мультимедиа, таких как смартфон, камера, записывающая видеокамера и т.д., в цифровые данные для того, чтобы формировать поток битов, и передает поток битов на потоковый сервер. В качестве другого примера, когда устройства ввода мультимедиа, такие как смартфоны, камеры, записывающие видеокамеры и т.д., непосредственно формируют поток битов, сервер кодирования может опускаться.
[430] Поток битов может формироваться посредством способа кодирования изображений или оборудования кодирования изображений, к которому применяется вариант осуществления настоящего раскрытия сущности, и потоковый сервер может временно сохранять поток битов в процессе передачи или приема потока битов.
[431] Потоковый сервер передает мультимедийные данные в пользовательское устройство на основе запроса пользователя через веб-сервер, и веб-сервер служит в качестве среды для информирования пользователя в отношении услуги. Когда пользователь запрашивает требуемую услугу из веб-сервера, веб-сервер может доставлять ее на потоковый сервер, и потоковый сервер может передавать мультимедийные данные пользователю. В этом случае, система потоковой передачи контента может включать в себя отдельный сервер управления. В этом случае, сервер управления служит для того, чтобы управлять командой/ответом между устройствами в системе потоковой передачи контента.
[432] Потоковый сервер может принимать контент из хранилища мультимедиа и/или сервера кодирования. Например, когда контент принимается из сервера кодирования, контент может приниматься в реальном времени. В этом случае, чтобы предоставлять плавную услугу потоковой передачи, потоковый сервер может сохранять поток битов в течение предварительно определенного времени.
[433] Примеры пользовательского устройства могут включать в себя мобильный телефон, смартфон, переносной компьютер, цифровой широковещательный терминал, персональное цифровое устройство (PDA), портативный мультимедийный проигрыватель (PMP), навигационное устройство, грифельный планшетный PC, планшетные PC, ультрабуки, носимые устройства (например, интеллектуальные часы, интеллектуальные очки, наголовные дисплеи), цифровые телевизоры, настольные компьютеры, систему цифровых информационных табло и т.п.
[434] Каждый сервер в системе потоковой передачи контента может работать в качестве распределенного сервера, причем в этом случае данные, принимаемые из каждого сервера, могут распределяться.
[435] Объем раскрытия сущности включает в себя программное обеспечение или машиноисполняемые команды (например, операционную систему, приложение, микропрограммное обеспечение, программу и т.д.) для обеспечения возможности выполнения операций согласно способам различных вариантов осуществления в оборудовании или компьютере, энергонезависимый машиночитаемый носитель, имеющий такое программное обеспечение или команды, сохраненные и выполняемые в оборудовании или компьютере.
Промышленная применимость
[436] Варианты осуществления настоящего раскрытия сущности могут использоваться для того, чтобы кодировать или декодировать изображение.
Изобретение относится к области кодирования/декодирования изображений. Технический результат заключается в обеспечении эффективного кодирования и декодирования. Такой результат достигается за счет определения того, применяется либо нет двунаправленный оптический поток (BDOF) или детализация прогнозирования с помощью оптического потока (PROF) к текущему блоку, на основе BDOF или PROF, применяемого к текущему блоку, осуществления выборки прогнозной выборки текущего блока из опорного кадра текущего блока на основе информации движения текущего блока и извлечения детализированной прогнозной выборки для текущего блока, посредством применения BDOF или PROF к текущему блоку на основе подвергнутой выборке прогнозной выборки. 2 н. и 4 з.п. ф-лы, 38 ил., 2 табл.
1. Способ декодирования изображений, осуществляемый посредством оборудования декодирования изображений, при этом способ декодирования изображений содержит этапы, на которых:
определяют то, применяется либо нет двунаправленный оптический поток (BDOF) или детализация прогнозирования с помощью оптического потока (PROF) к текущему блоку;
на основе BDOF или PROF, применяемого к текущему блоку, формируют прогнозную выборку текущего блока из опорного кадра текущего блока на основе информации движения текущего блока; и
извлекают детализированную прогнозную выборку для текущего блока, посредством применения BDOF или PROF к текущему блоку на основе сформированной прогнозной выборки,
при этом формирование прогнозной выборки текущего блока выполняется на основе того, трактуется или нет текущий субкадр, включающий в себя текущий блок, в качестве кадра,
при этом формирование прогнозной выборки текущего блока выполняется на основе позиции в опорном кадре для формирования прогнозной выборки,
при этом позиция в опорном кадре отсекается в предварительно определенном диапазоне,
при этом на основе текущего субкадра, трактуемого в качестве кадра, предварительно определенный диапазон указывается посредством граничной позиции текущего субкадра,
при этом позиция в опорном кадре содержит координату X и координату Y,
при этом координата X отсекается в диапазоне левой граничной позиции и правой граничной позиции текущего субкадра,
при этом координата Y отсекается в диапазоне верхней граничной позиции и нижней граничной позиции текущего субкадра,
при этом левая граничная позиция текущего субкадра извлекается в качестве произведения информации позиции предварительно определенной единицы, указывающей левую позицию текущего субкадра, и ширины предварительно определенной единицы,
при этом правая граничная позиция текущего субкадра извлекается посредством выполнения операции "-1" для произведения информации позиции предварительно определенной единицы, указывающей правую позицию текущего субкадра, и ширины предварительно определенной единицы,
при этом верхняя граничная позиция текущего субкадра извлекается в качестве произведения информации позиции предварительно определенной единицы, указывающей верхнюю позицию текущего субкадра, и высоты предварительно определенной единицы, и
при этом нижняя граничная позиция текущего субкадра извлекается посредством выполнения операции "-1" для произведения информации позиции предварительно определенной единицы, указывающей нижнюю позицию текущего субкадра, и высоты предварительно определенной единицы.
2. Способ декодирования изображений по п. 1, в котором то, трактуется или нет текущий субкадр в качестве кадра, определяется на основе информации флага, передаваемой в служебных сигналах через поток битов.
3. Способ декодирования изображений по п. 2, в котором информация флага передается в служебных сигналах через набор параметров последовательности (SPS).
4. Способ декодирования изображений по п. 1, в котором предварительно определенная единица представляет собой сетку или CTU.
5. Способ декодирования изображений по п. 1, в котором на основе текущего субкадра, не трактуемого в качестве кадра, предварительно определенный диапазон представляет собой диапазон текущего кадра, включающий в себя текущий блок.
6. Способ кодирования изображений, осуществляемый посредством оборудования кодирования изображений, при этом способ кодирования изображений содержит этапы, на которых:
определяют то, применяется либо нет двунаправленный оптический поток (BDOF) или детализация прогнозирования с помощью оптического потока (PROF) к текущему блоку;
на основе BDOF или PROF, применяемого к текущему блоку, формируют прогнозную выборку текущего блока из опорного кадра текущего блока на основе информации движения текущего блока; и
извлекают детализированную прогнозную выборку для текущего блока, посредством применения BDOF или PROF к текущему блоку на основе сформированной прогнозной выборки,
при этом формирование прогнозной выборки текущего блока выполняется на основе того, трактуется или нет текущий субкадр, включающий в себя текущий блок, в качестве кадра,
при этом формирование прогнозной выборки текущего блока выполняется на основе позиции в опорном кадре для формирования прогнозной выборки,
при этом позиция в опорном кадре отсекается в предварительно определенном диапазоне,
при этом на основе текущего субкадра, трактуемого в качестве кадра, предварительно определенный диапазон указывается посредством граничной позиции текущего субкадра,
при этом позиция в опорном кадре содержит координату X и координату Y,
при этом координата X отсекается в диапазоне левой граничной позиции и правой граничной позиции текущего субкадра,
при этом координата Y отсекается в диапазоне верхней граничной позиции и нижней граничной позиции текущего субкадра,
при этом левая граничная позиция текущего субкадра извлекается в качестве произведения информации позиции предварительно определенной единицы, указывающей левую позицию текущего субкадра, и ширины предварительно определенной единицы,
при этом правая граничная позиция текущего субкадра извлекается посредством выполнения операции "-1" для произведения информации позиции предварительно определенной единицы, указывающей правую позицию текущего субкадра, и ширины предварительно определенной единицы,
при этом верхняя граничная позиция текущего субкадра извлекается в качестве произведения информации позиции предварительно определенной единицы, указывающей верхнюю позицию текущего субкадра, и высоты предварительно определенной единицы, и
при этом нижняя граничная позиция текущего субкадра извлекается посредством выполнения операции "-1" для произведения информации позиции предварительно определенной единицы, указывающей нижнюю позицию текущего субкадра, и высоты предварительно определенной единицы.
US 20190124332 A1, 25.04.2019 | |||
H | |||
Очаг для массовой варки пищи, выпечки хлеба и кипячения воды | 1921 |
|
SU4A1 |
JVET MEETING; 20190703 - 20190712; GOTHENBURG; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), no | |||
Телефонно-трансляционное устройство | 1921 |
|
SU252A1 |
Y.-K | |||
WANG et al | |||
Способ гальванического снятия позолоты с серебряных изделий без заметного изменения их формы | 1923 |
|
SU12A1 |
Авторы
Даты
2023-09-11—Публикация
2020-09-23—Подача