Область техники, к которой относится изобретение
[1] Настоящее раскрытие сущности относится к способу и оборудованию кодирования/декодирования изображений, а более конкретно, к способу и оборудованию для кодирования/декодирования изображения посредством задания максимального размера блока преобразования, используемого для блока сигналов цветности, и к способу передачи потока битов, сформированного посредством способа/оборудования кодирования изображений настоящего раскрытия сущности.
Уровень техники
[2] В последнее время спрос на высококачественные изображения высокого разрешения, к примеру, изображения высокой четкости (HD) и изображения сверхвысокой четкости (UHD) растет в различных областях техники. По мере того, как разрешение и качество данных изображений повышается, объем передаваемой информации или битов относительно увеличивается по сравнению с существующими данными изображений. Увеличение объема передаваемой информации или битов приводит к увеличению затрат на передачу и затрат на хранение.
[3] Соответственно, имеется потребность в высокоэффективной технологии сжатия изображений для эффективной передачи, сохранения и воспроизведения информации относительно высококачественных изображений высокого разрешения.
Сущность изобретения
Техническая задача
[4] Цель настоящего раскрытия сущности заключается в том, чтобы предоставлять способ и оборудование кодирования/декодирования изображений с повышенной эффективностью кодирования/декодирования.
[5] Цель настоящего раскрытия сущности заключается в том, чтобы предоставлять способ и оборудование кодирования/декодирования изображений, допускающие повышение эффективности кодирования/декодирования посредством задания максимального размера блока преобразования для блока сигналов цветности.
[6] Другая цель настоящего раскрытия сущности заключается в том, чтобы предоставлять способ передачи потока битов, сформированного посредством способа или оборудования кодирования изображений согласно настоящему раскрытию сущности.
[7] Другая цель настоящего раскрытия сущности заключается в том, чтобы предоставлять носитель записи, сохраняющий поток битов, сформированный посредством способа или оборудования кодирования изображений согласно настоящему раскрытию сущности.
[8] Другая цель настоящего раскрытия сущности заключается в том, чтобы предоставлять носитель записи, сохраняющий поток битов, принимаемый, декодированный и используемый для того, чтобы восстанавливать изображение посредством оборудования декодирования изображений согласно настоящему раскрытию сущности.
[9] Технические проблемы, разрешаемые посредством настоящего раскрытия сущности, не ограничены вышеуказанными техническими проблемами, и другие технические проблемы, которые не описываются в данном документе, должны становиться очевидными для специалистов в данной области техники из нижеприведенного описания.
Техническое решение
[10] Способ декодирования изображений, осуществляемый посредством оборудования декодирования изображений согласно аспекту настоящего раскрытия сущности, может включать в себя получение текущего блока посредством разбиения изображения, определение режима прогнозирования текущего блока, формирование блока внутреннего прогнозирования относительно текущего блока, на основе режима прогнозирования текущего блока, представляющего собой режим внутреннего прогнозирования, формирование остаточного блока относительно текущего блока; и восстановление текущего блока на основе блока прогнозирования и остаточного блока относительно текущего блока. В этом случае, блок внутреннего прогнозирования и остаточный блок могут формироваться на основе размера блока преобразования текущего блока, и размер блока преобразования может определяться на основе цветового компонента текущего блока.
[11] Оборудование декодирования изображений согласно аспекту настоящего раскрытия сущности может включать в себя запоминающее устройство и, по меньшей мере, один процессор. По меньшей мере, один процессор может получать текущий блок посредством разбиения изображения, определять режим прогнозирования текущего блока; формировать блок внутреннего прогнозирования относительно текущего блока, на основе режима прогнозирования текущего блока, представляющего собой режим внутреннего прогнозирования, формировать остаточный блок относительно текущего блока и восстанавливать текущий блок на основе блока прогнозирования и остаточного блока относительно текущего блока. В этом случае, блок внутреннего прогнозирования и остаточный блок могут формироваться на основе размера блока преобразования текущего блока, и размер блока преобразования может определяться на основе цветового компонента текущего блока.
[12] Способ кодирования изображений, осуществляемый посредством оборудования кодирования изображений согласно аспекту настоящего раскрытия сущности, может включать в себя определение текущего блока посредством разбиения изображения, формирование блока внутреннего прогнозирования относительно текущего блока, формирование остаточного блока относительно текущего блока на основе блока внутреннего прогнозирования и кодирование информации режима внутреннего прогнозирования относительно текущего блока. В этом случае, внутренний остаточный блок и остаточный блок могут кодироваться на основе размера блока преобразования текущего блока, и размер блока преобразования может определяться на основе цветового компонента текущего блока.
[13] Помимо этого, способ передачи согласно другому аспекту настоящего раскрытия сущности может передавать поток битов, сформированный посредством оборудования кодирования изображений или способа кодирования изображений настоящего раскрытия сущности.
[14] Помимо этого, машиночитаемый носитель записи согласно другому аспекту настоящего раскрытия сущности может сохранять поток битов, сформированный посредством оборудования кодирования изображений или способа кодирования изображений настоящего раскрытия сущности.
[15] Признаки, кратко обобщенные выше относительно настоящего раскрытия сущности, представляют собой просто примерные аспекты нижеприведенного подробного описания настоящего раскрытия сущности и не ограничивают объем настоящего раскрытия сущности.
Преимущества изобретения
[16] Согласно настоящему раскрытию сущности, можно предоставлять способ и оборудование кодирования/декодирования изображений с повышенной эффективностью кодирования/декодирования.
[17] Согласно настоящему раскрытию сущности, можно предоставлять способ и оборудование кодирования/декодирования изображений, допускающие повышение эффективности кодирования/декодирования посредством задания максимального размера блока преобразования для блока сигналов цветности.
[18] Кроме того, согласно настоящему раскрытию сущности, можно предоставлять способ передачи потока битов, сформированного посредством способа или оборудования кодирования изображений согласно настоящему раскрытию сущности.
[19] Кроме того, согласно настоящему раскрытию сущности, можно предоставлять носитель записи, сохраняющий поток битов, сформированный посредством способа или оборудования кодирования изображений согласно настоящему раскрытию сущности.
[20] Кроме того, согласно настоящему раскрытию сущности, можно предоставлять носитель записи, сохраняющий поток битов, принимаемый, декодированный и используемый для того, чтобы восстанавливать изображение посредством оборудования декодирования изображений согласно настоящему раскрытию сущности.
[21] Специалисты в данной области техники должны принимать во внимание, что преимущества, которые могут достигаться через настоящее раскрытие сущности, не ограничены тем, что конкретно описано выше, и другие преимущества настоящего раскрытия сущности должны более ясно пониматься из подробного описания.
Краткое описание чертежей
[22] Фиг. 1 является видом, схематично показывающим систему кодирования видео, к которой является применимым вариант осуществления настоящего раскрытия сущности.
[23] Фиг. 2 является видом, схематично показывающим оборудование кодирования изображений, к которому является применимым вариант осуществления настоящего раскрытия сущности.
[24] Фиг. 3 является видом, схематично показывающим оборудование декодирования изображений, к которому является применимым вариант осуществления настоящего раскрытия сущности.
[25] Фиг. 4 является видом, показывающим структуру сегментации изображения согласно варианту осуществления.
[26] Фиг. 5 является видом, показывающим вариант осуществления типа сегментации блока согласно многотипной древовидной структуре.
[27] Фиг. 6 является видом, показывающим механизм передачи в служебных сигналах информации разбиения на блоки в дереве квадрантов с вложенной многотипной древовидной структурой согласно настоящему раскрытию сущности.
[28] Фиг. 7 является видом, показывающим вариант осуществления, в котором CTU сегментируется на несколько CU.
[29] Фиг. 8 является видом, иллюстрирующим вариант осуществления избыточного шаблона разбиения.
[30] Фиг. 9 является блок-схемой последовательности операций, иллюстрирующей способ кодирования видео/изображений на основе взаимного прогнозирования.
[31] Фиг. 10 является видом, иллюстрирующим конфигурацию модуля 180 взаимного прогнозирования согласно настоящему раскрытию сущности.
[32] Фиг. 11 является блок-схемой последовательности операций, иллюстрирующей способ декодирования видео/изображений на основе взаимного прогнозирования.
[33] Фиг. 12 является видом, иллюстрирующим конфигурацию модуля 260 взаимного прогнозирования согласно настоящему раскрытию сущности.
[34] Фиг. 13 является видом, иллюстрирующим соседние блоки, доступные в качестве пространственного возможного варианта объединения согласно варианту осуществления.
[35] Фиг. 14 является видом, схематично иллюстрирующим способ конструирования списков возможных вариантов объединения согласно варианту осуществления.
[36] Фиг. 15 является видом, схематично иллюстрирующим способ конструирования списков возможных вариантов предикторов векторов движения согласно варианту осуществления.
[37] Фиг. 16 является видом, иллюстрирующим синтаксическую структуру для передачи MVD из оборудования кодирования изображений в оборудование декодирования изображений согласно варианту осуществления.
[38] Фиг. 17 является блок-схемой последовательности операций, иллюстрирующей способ кодирования видео/изображений на основе IBC согласно варианту осуществления.
[39] Фиг. 18 является видом, иллюстрирующим конфигурацию модуля прогнозирования для осуществления способа кодирования видео/изображений на основе IBC согласно варианту осуществления.
[40] Фиг. 19 является блок-схемой последовательности операций, иллюстрирующей способ декодирования видео/изображений на основе IBC согласно варианту осуществления.
[41] Фиг. 20 является видом, иллюстрирующим конфигурацию модуля прогнозирования для осуществления способа декодирования видео/изображений на основе IBC согласно варианту осуществления.
[42] Фиг. 21 является видом, иллюстрирующим синтаксис для передачи в служебных сигналах форматов сигналов цветности согласно варианту осуществления.
[43] Фиг. 22 является видом, иллюстрирующим таблицу классификации форматов сигналов цветности согласно варианту осуществления.
[44] Фиг. 23 является видом, иллюстрирующим пример ограничения разбиения CU для виртуальной конвейерной обработки.
[45] Фиг. 24-26 являются видами, иллюстрирующими пример разбиения CU и TU согласно варианту осуществления.
[46] Фиг. 27 и 28 являются блок-схемами последовательности операций способа, иллюстрирующими IBC-прогнозирование и внутреннее прогнозирование, к которым применяется максимальный размер преобразования согласно варианту осуществления.
[47] Фиг. 29 является блок-схемой последовательности операций, иллюстрирующей способ кодирования изображения посредством оборудования кодирования согласно варианту осуществления.
[48] Фиг. 30 является блок-схемой последовательности операций, иллюстрирующей способ декодирования изображения посредством оборудования декодирования согласно варианту осуществления.
[49] Фиг. 31 является видом, показывающим систему потоковой передачи контента, к которой является применимым вариант осуществления настоящего раскрытия сущности.
Оптимальный режим осуществления изобретения
[50] В дальнейшем в этом документе подробно описываются варианты осуществления настоящего раскрытия сущности со ссылкой на прилагаемые чертежи, так что они легко могут реализовываться специалистами в данной области техники. Тем не менее, настоящее раскрытие сущности может реализовываться во всевозможных формах и не ограничено вариантами осуществления, описанными в данном документе.
[51] При описании настоящего раскрытия сущности, если определяется то, что подробное описание связанной известной функции или конструкции приводит к излишней неоднозначности объема настоящего раскрытия сущности, ее подробное описание опускается. На чертежах, части, не связанные с описанием настоящего раскрытия сущности, опускаются, и аналогичные ссылки с номерами присоединяются к аналогичным частям.
[52] В настоящем раскрытии сущности, когда компонент "соединяется (connected)", "соединяется (coupled)" или "связывается (linked)" с другим компонентом, это может включать в себя не только непосредственную взаимосвязь на основе соединения, но также и косвенную взаимосвязь на основе соединения, в которой присутствует промежуточный компонент. Помимо этого, когда компонент "включает в себя" или "имеет" другие компоненты, это означает то, что другие компоненты могут включаться дополнительно, а не исключение других компонентов, если не указано иное.
[53] В настоящем раскрытии сущности, термины "первый", "второй" и т.д. могут использоваться только для целей различения одного компонента от других компонентов и не ограничивают порядок или важность компонентов, если не указано иное. Соответственно, в пределах объема настоящего раскрытия сущности, первый компонент в одном варианте осуществления может называться "вторым компонентом" в другом варианте осуществления, и аналогично, второй компонент в одном варианте осуществления может называться "первым компонентом" в другом варианте осуществления.
[54] В настоящем раскрытии сущности, компоненты, которые отличаются друг от друга, имеют намерение ясно описывать каждый признак и не означают то, что компоненты обязательно разделяются. Таким образом, множество компонентов могут интегрироваться и реализовываться в одном аппаратном или программном модуле, или один компонент может распределяться и реализовываться во множестве аппаратных или программных модулей. Следовательно, даже если не указано иное, такие варианты осуществления, в которых компоненты интегрируются, или компонент распределяется, также включаются в объем настоящего раскрытия сущности.
[55] В настоящем раскрытии сущности, компоненты, описанные в различных вариантах осуществления, не обязательно означают существенные компоненты, и некоторые компоненты могут представлять собой необязательные компоненты. Соответственно, вариант осуществления, состоящий из поднабора компонентов, описанных в варианте осуществления, также включается в объем настоящего раскрытия сущности. Помимо этого, варианты осуществления, включающие в себя другие компоненты, в дополнение к компонентам, описанным в различных вариантах осуществления, включаются в объем настоящего раскрытия сущности.
[56] Настоящее раскрытие сущности относится к кодированию и декодированию изображения, и термины, используемые в настоящем раскрытии сущности, могут иметь общий смысл, широко используемый в области техники, которой принадлежит настоящее раскрытие сущности, если не задаются впервые в настоящем раскрытии сущности.
[57] В настоящем раскрытии сущности, "кадр", в общем, означает единицу, представляющую одно изображение в конкретный период времени, и срез/плитка представляет собой единицу кодирования, составляющую часть кадра, и один кадр может состоять из одного или более срезов/плиток. Помимо этого, срез/плитка может включать в себя одну или более единиц дерева кодирования (CTU).
[58] В настоящем раскрытии сущности, "пиксел" или "пел" может означать наименьшую единицу, составляющую один кадр (или изображение). Помимо этого, "выборка" может использоваться в качестве термина, соответствующего пикселу. Выборка, в общем, может представлять пиксел или значение пиксела и может представлять только пиксел/пиксельное значение компонента сигнала яркости либо только пиксел/пиксельное значение компонента сигнала цветности.
[59] В настоящем раскрытии сущности, "единица" может представлять базовую единицу обработки изображений. Единица может включать в себя, по меньшей мере, одно из конкретной области кадра и информации, связанной с областью. Единица может использоваться взаимозаменяемо с такими терминами, как "массив выборок", "блок" или "зона" в некоторых случаях. В общем случае, блок MxN может включать в себя выборки (или массивы выборок) либо набор (или массив) коэффициентов преобразования из M столбцов и N строк.
[60] В настоящем раскрытии сущности, "текущий блок" может означать одно из "текущего блока кодирования", "текущей единицы кодирования", "целевого блока кодирования", "целевого блока декодирования" или "целевого блока обработки". Когда прогнозирование выполняется, "текущий блок" может означать "текущий блок прогнозирования" или "целевой блок прогнозирования". Когда преобразование (обратное преобразование)/квантование (деквантование) выполняется, "текущий блок" может означать "текущий блок преобразования" или "целевой блок преобразования". Когда фильтрация выполняется, "текущий блок" может означать "целевой блок фильтрации".
[61] Помимо этого, в настоящем раскрытии сущности, "текущий блок" может означать "блок сигналов яркости текущего блока", если не указан в явной форме в качестве блока сигналов цветности. "Блок сигналов цветности текущего блока" может выражаться посредством включения явного описания блока сигналов цветности, такого как "блок сигналов цветности" или "текущий блок сигналов цветности".
[62] В настоящем раскрытии сущности, термин "/" и "" должен интерпретироваться как указывающий "и/или". Например, выражение "A/B" и "A, B" может означать "A и/или B". Дополнительно, "A/B/C" и "A/B/C" может означать "по меньшей мере, одно из A, B и/или C".
[63] В настоящем раскрытии сущности, термин "или" должен интерпретироваться как указывающий "и/или". Например, выражение "A или B" может содержать 1) только "A", 2) только "B" и/или 3) "как A, так и B". Другими словами, в настоящем раскрытии сущности, термин "или" должен интерпретироваться как указывающий "дополнительно или альтернативно".
[64] Общее представление системы кодирования видео
[65] Фиг. 1 является видом, показывающим систему кодирования видео согласно настоящему раскрытию сущности.
[66] Система кодирования видео согласно варианту осуществления может включать в себя оборудование 10 кодирования и оборудование 20 декодирования. Оборудование 10 кодирования может доставлять кодированную информацию или данные видео и/или изображений в оборудование 20 декодирования в форме файла или потоковой передачи через цифровой носитель хранения данных или сеть.
[67] Оборудование 10 кодирования согласно варианту осуществления может включать в себя формирователь 11 видеоисточников, модуль 12 кодирования и передатчик 13. Оборудование 20 декодирования согласно варианту осуществления может включать в себя приемник 21, модуль 22 декодирования и модуль 23 рендеринга. Модуль 12 кодирования может называться "модулем кодирования видео/изображений", и модуль 22 декодирования может называться "модулем декодирования видео/изображений". Передатчик 13 может включаться в модуль 12 кодирования. Приемник 21 может включаться в модуль 22 декодирования. Модуль 23 рендеринга может включать в себя дисплей, и дисплей может быть сконфигурирован как отдельное устройство или внешний компонент.
[68] Формирователь 11 видеоисточников может получать видео/изображение через процесс захвата, синтезирования или формирования видео/изображения. Формирователь 11 видеоисточников может включать в себя устройство захвата видео/изображений и/или устройство формирования видео/изображений. Устройство захвата видео/изображений может включать в себя, например, одну или более камер, архивы видео/изображений, включающие в себя ранее захваченные видео/изображения, и т.п. Устройство формирования видео/изображений может включать в себя, например, компьютеры, планшетные компьютеры и смартфоны и может (электронно) формировать видео/изображения. Например, виртуальное видео/изображение может формироваться через компьютер и т.п. В этом случае, процесс захвата видео/изображений может заменяться посредством процесса формирования связанных данных.
[69] Модуль 12 кодирования может кодировать входное видео/изображение. Модуль 12 кодирования может выполнять последовательность процедур, таких как прогнозирование, преобразование и квантование, для эффективности сжатия и кодирования. Модуль 12 кодирования может выводить кодированные данные (кодированную информацию видео/изображений) в форме потока битов.
[70] Передатчик 13 может передавать кодированную информацию или данные видео/изображений, выводимую в форме потока битов, в приемник 21 оборудования 20 декодирования через цифровой носитель хранения данных или сеть в форме файла или потоковой передачи. Цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик 13 может включать в себя элемент для формирования мультимедийного файла через предварительно определенный формат файлов и может включать в себя элемент для передачи через широковещательную сеть/сеть связи. Приемник 21 может извлекать/принимать поток битов из носителя хранения данных или сети и передавать поток битов в модуль 22 декодирования.
[71] Модуль 22 декодирования может декодировать видео/изображение посредством выполнения последовательности процедур, таких как деквантование, обратное преобразование и прогнозирование, соответствующих работе модуля 12 кодирования.
[72] Модуль 23 рендеринга может подготавливать посредством рендеринга декодированное видео/изображение. Подготовленное посредством рендеринга видео/изображение может отображаться через дисплей.
[73] Общее представление оборудования кодирования изображений
[74] Фиг. 2 является видом, схематично показывающим оборудование кодирования изображений, к которому является применимым вариант осуществления настоящего раскрытия сущности.
[75] Как показано на фиг. 2, оборудование 100 кодирования изображений может включать в себя модуль 110 сегментации изображений, вычитатель 115, преобразователь 120, квантователь 130, деквантователь 140, обратный преобразователь 150, сумматор 155, фильтр 160, запоминающее устройство 170, модуль 180 взаимного прогнозирования, модуль 185 внутреннего прогнозирования и энтропийный кодер 190. Модуль 180 взаимного прогнозирования и модуль 185 внутреннего прогнозирования могут совместно называться "модулем прогнозирования". Преобразователь 120, квантователь 130, деквантователь 140 и обратный преобразователь 150 могут включаться в остаточный процессор. Остаточный процессор дополнительно может включать в себя вычитатель 115.
[76] Все или, по меньшей мере, часть из множества компонентов, конфигурирующих оборудование 100 кодирования изображений, могут быть сконфигурированы посредством одного аппаратного компонента (например, кодера или процессора) в некоторых вариантах осуществления. Помимо этого, запоминающее устройство 170 может включать в себя буфер декодированных кадров (DPB) и может быть сконфигурировано посредством цифрового носителя хранения данных.
[77] Модуль 110 сегментации изображений может сегментировать входное изображение (либо кадр или кинокадр), вводимое в оборудование 100 кодирования изображений, на одну более единиц обработки. Например, единица обработки может называться "единицей кодирования (CU)". Единица кодирования может получаться посредством рекурсивной сегментации единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU) согласно структуре в виде дерева квадрантов, двоичного дерева и троичного дерева (QT/BT/TT). Например, одна единица кодирования может сегментироваться на множество единиц кодирования большей глубины на основе структуры в виде дерева квадрантов, структуры в виде двоичного дерева и/или троичной структуры. Для сегментации единицы кодирования, сначала может применяться структура в виде дерева квадрантов, и впоследствии может применяться структура в виде двоичного дерева и/или троичная структура. Процедура кодирования согласно настоящему раскрытию сущности может выполняться на основе конечной единицы кодирования, которая более не сегментируется. Наибольшая единица кодирования может использоваться в качестве конечной единицы кодирования, или единица кодирования большей глубины, полученной посредством сегментации наибольшей единицы кодирования, может использоваться в качестве конечной единицы кодирования. Здесь, процедура кодирования может включать в себя процедуру прогнозирования, преобразования и восстановления, которая описывается ниже. В качестве другого примера, единица обработки процедуры кодирования может представлять собой единицу прогнозирования (PU) или единицу преобразования (TU). Единица прогнозирования и единица преобразования могут разбиваться или сегментироваться из конечной единицы кодирования. Единица прогнозирования может представлять собой единицу выборочного прогнозирования, и единица преобразования может представлять собой единицу для извлечения коэффициента преобразования и/или единицу для извлечения остаточного сигнала из коэффициента преобразования.
[78] Модуль прогнозирования (модуль 180 взаимного прогнозирования или модуль 185 внутреннего прогнозирования) может выполнять прогнозирование относительно блока, который должен обрабатываться (текущего блока), и формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование, на основе текущего блока или CU. Модуль прогнозирования может формировать различную информацию, связанную с прогнозированием текущего блока, и передавать сформированную информацию в энтропийный кодер 190. Информация относительно прогнозирования может кодироваться в энтропийном кодере 190 и выводиться в форме потока битов.
[79] Модуль 185 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки для ссылки могут быть расположены в окружении текущего блока или могут быть расположены с разнесением согласно режиму внутреннего прогнозирования и/или технологии внутреннего прогнозирования. Режимы внутреннего прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Ненаправленный режим может включать в себя, например, DC-режим и планарный режим. Направленный режим может включать в себя, например, 33 режима направленного прогнозирования или 65 режимов направленного прогнозирования согласно степени детальности направления прогнозирования. Тем не менее, это представляет собой просто пример, большее или меньшее число режимов направленного прогнозирования может использоваться в зависимости от настройки. Модуль 185 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.
[80] Модуль 180 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными или отличающимися. Временной соседний блок может называться "совместно размещенным опорным блоком", "совместно размещенной CU (colCU)" и т.п. Опорный кадр, включающий в себя временной соседний блок, может называться "совместно размещенным кадром (colPic)". Например, модуль 180 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и формировать информацию, указывающую то, какой возможный вариант используется для того, чтобы извлекать вектор движения и/или индекс опорного кадра текущего блока. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования. Например, в случае режима пропуска и режима объединения, модуль 180 взаимного прогнозирования может использовать информацию движения соседнего блока в качестве информации движения текущего блока. В случае режима пропуска, в отличие от режима объединения, остаточный сигнал может не передаваться. В случае режима прогнозирования векторов движения (MVP), вектор движения соседнего блока может использоваться в качестве предиктора вектора движения, и вектор движения текущего блока может передаваться в служебных сигналах посредством кодирования разности векторов движения и индикатора для предиктора вектора движения. Разность векторов движения может означать разность между вектором движения текущего блока и предиктором вектора движения.
[81] Модуль прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования и технологий прогнозирования, описанных ниже. Например, модуль прогнозирования может не только применять внутреннее прогнозирование или взаимное прогнозирование, но также и одновременно применять как внутреннее прогнозирование, так и взаимное прогнозирование, чтобы прогнозировать текущий блок. Способ прогнозирования с одновременным применением как внутреннего прогнозирования, так и взаимного прогнозирования для прогнозирования текущего блока может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может выполнять внутриблочное копирование (IBC) для прогнозирования текущего блока. Внутриблочное копирование может использоваться для кодирования изображений/видео контента игры и т.п., например, для кодирования экранного контента (SCC). IBC представляет собой способ прогнозирования текущего кадра с использованием ранее восстановленного опорного блока в текущем кадре в местоположении, разнесенном от текущего блока на предварительно определенное расстояние. Когда IBC применяется, местоположение опорного блока в текущем кадре может кодироваться как вектор (блочный вектор), соответствующий предварительно определенному расстоянию. IBC по существу выполняет прогнозирование в текущем кадре, но может выполняться аналогично взаимному прогнозированию в том, что опорный блок извлекается внутри текущего кадра. Таким образом, IBC может использовать, по меньшей мере, одну из технологий взаимного прогнозирования, описанных в настоящем раскрытии сущности.
[82] Прогнозный сигнал, сформированный посредством модуля прогнозирования, может использоваться для того, чтобы формировать восстановленный сигнал или формировать остаточный сигнал. Вычитатель 115 может формировать остаточный сигнал (остаточный блок или массив остаточных выборок) посредством вычитания прогнозного сигнала (прогнозированного блока или массива прогнозных выборок), выводимого из модуля прогнозирования, из сигнала входного изображения (исходного блока или массива исходных выборок). Сформированный остаточный сигнал может передаваться в преобразователь 120.
[83] Преобразователь 120 может формировать коэффициенты преобразования посредством применения технологии преобразования к остаточному сигналу. Например, технология преобразования может включать в себя, по меньшей мере, одно из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования Карунена-Лоэва (KLT), преобразования на основе графа (GBT) или условно нелинейного преобразования (CNT). Здесь, GBT означает преобразование, полученное из графа, когда информация взаимосвязи между пикселами представляется посредством графа. CNT означает преобразование, полученное на основе прогнозного сигнала, сформированного с использованием всех ранее восстановленных пикселов. Помимо этого, процесс преобразования может применяться к квадратным пиксельным блокам, имеющим идентичный размер, или может применяться к блокам, имеющим переменный размер, а не квадратный.
[84] Квантователь 130 может квантовать коэффициенты преобразования и передавать их в энтропийный кодер 190. Энтропийный кодер 190 может кодировать квантованный сигнал (информацию относительно квантованных коэффициентов преобразования) и выводить поток битов. Информация относительно квантованных коэффициентов преобразования может называться "остаточной информацией". Квантователь 130 может перекомпоновывать квантованные коэффициенты преобразования в блочной форме в одномерную векторную форму на основе порядка сканирования коэффициентов и формировать информацию относительно квантованных коэффициентов преобразования на основе квантованных коэффициентов преобразования в одномерной векторной форме.
[85] Энтропийный кодер 190 может осуществлять различные способы кодирования, такие как, например, кодирование экспоненциальным кодом Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и т.п. Энтропийный кодер 190 может кодировать информацию, необходимую для восстановления видео/изображений, отличную от квантованных коэффициентов преобразования (например, значений синтаксических элементов и т.д.), вместе или отдельно. Кодированная информация (например, кодированная информация видео/изображений) может передаваться или сохраняться в единицах слоев абстрагирования от сети (NAL) в форме потока битов. Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Передаваемая в служебных сигналах информация, передаваемая информация и/или синтаксические элементы, описанные в настоящем раскрытии сущности, могут кодироваться через вышеописанную процедуру кодирования и включаться в поток битов.
[86] Поток битов может передаваться по сети или может сохраняться на цифровом носителе хранения данных. Сеть может включать в себя широковещательную сеть и/или сеть связи, и цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как, USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик (не показан), передающий сигнал, выводимый из энтропийного кодера 190, и/или модуль хранения (не показан), сохраняющий сигнал, могут включаться в качестве внутреннего/внешнего элемента оборудования 100 кодирования, и альтернативно, передатчик может включаться в энтропийный кодер 190.
[87] Квантованные коэффициенты преобразования, выводимые из квантователя 130, могут использоваться для того, чтобы формировать остаточный сигнал. Например, остаточный сигнал (остаточный блок или остаточные выборки) может восстанавливаться посредством применения деквантования и обратного преобразования к квантованным коэффициентам преобразования через деквантователь 140 и обратный преобразователь 150.
[88] Сумматор 155 суммирует восстановленный остаточный сигнал с прогнозным сигналом, выводимым из модуля 180 взаимного прогнозирования или модуля 185 внутреннего прогнозирования, с тем чтобы формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок). Если отсутствует остаток для блока, который должен обрабатываться, к примеру, в случае, в котором режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока. Сумматор 155 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, и может использоваться для взаимного прогнозирования следующего кадра посредством фильтрации, как описано ниже.
[89] Фильтр 160 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 160 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 170, а именно, в DPB запоминающего устройства 170. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, дискретизированное адаптивное смещение, адаптивный контурный фильтр, билатеральный фильтр и т.п. Фильтр 160 может формировать различную информацию, связанную с фильтрацией, и передавать сформированную информацию в энтропийный кодер 190, как описано ниже в описании каждого способа фильтрации. Информация, связанная с фильтрацией, может кодироваться посредством энтропийного кодера 190 и выводиться в форме потока битов.
[90] Модифицированный восстановленный кадр, передаваемый в запоминающее устройство 170, может использоваться в качестве опорного кадра в модуле 180 взаимного прогнозирования. Когда взаимное прогнозирование применяется через оборудование 100 кодирования изображений, рассогласование прогнозирования между оборудованием 100 кодирования изображений и оборудованием декодирования изображений может исключаться, и эффективность кодирования может повышаться.
[91] DPB запоминающего устройства 170 может сохранять модифицированный восстановленный кадр для использования в качестве опорного кадра в модуле 180 взаимного прогнозирования. Запоминающее устройство 170 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или кодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 180 взаимного прогнозирования и использоваться в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 170 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и может передавать восстановленные выборки в модуль 185 внутреннего прогнозирования.
[92] Общее представление оборудования декодирования изображений
[93] Фиг. 3 является видом, схематично показывающим оборудование декодирования изображений, к которому является применимым вариант осуществления настоящего раскрытия сущности.
[94] Как показано на фиг. 3, оборудование 200 декодирования изображений может включать в себя энтропийный декодер 210, деквантователь 220, обратный преобразователь 230, сумматор 235, фильтр 240, запоминающее устройство 250, модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования. Модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования могут совместно называться "модулем прогнозирования". Деквантователь 220 и обратный преобразователь 230 могут включаться в остаточный процессор.
[95] Все или, по меньшей мере, часть из множества компонентов, конфигурирующих оборудование 200 декодирования изображений, могут быть сконфигурированы посредством аппаратного компонента (например, декодера или процессора) согласно варианту осуществления. Помимо этого, запоминающее устройство 250 может включать в себя буфер декодированных кадров (DPB) или может быть сконфигурировано посредством цифрового носителя хранения данных.
[96] Оборудование 200 декодирования изображений, которое принимает поток битов, включающий в себя информацию видео/изображений, может восстанавливать изображение посредством выполнения процесса, соответствующего процессу, выполняемому посредством оборудования 100 кодирования изображений по фиг. 2. Например, оборудование 200 декодирования изображений может выполнять декодирование с использованием единицы обработки, применяемой в оборудовании кодирования изображений. Таким образом, единица обработки декодирования, например, может представлять собой единицу кодирования. Единица кодирования может получаться посредством сегментации единицы дерева кодирования или наибольшей единицы кодирования. Восстановленный сигнал изображения, декодированный и выводимый посредством оборудования 200 декодирования, может воспроизводиться посредством оборудования воспроизведения.
[97] Оборудование 200 декодирования изображений может принимать сигнал, выводимый из оборудования кодирования изображений по фиг. 2 в форме потока битов. Принимаемый сигнал может декодироваться через энтропийный декодер 210. Например, энтропийный декодер 210 может синтаксически анализировать поток битов, чтобы извлекать информацию (например, информацию видео/изображений), необходимую для восстановления изображений (или восстановления кадров). Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Оборудование декодирования изображений дополнительно может декодировать кадр на основе информации относительно набора параметров и/или общей информации ограничений. Передаваемая в служебных сигналах/принимаемая информация и/или синтаксические элементы, описанные в настоящем раскрытии сущности, могут декодироваться посредством процедуры декодирования и получаться из потока битов. Например, энтропийный декодер 210 декодирует информацию в потоке битов на основе способа кодирования, такого как кодирование экспоненциальным кодом Голомба, CAVLC или CABAC, и выходных значений синтаксических элементов, требуемых для восстановления изображений, и квантованных значений коэффициентов преобразования для остатка. Более конкретно, способ энтропийного CABAC-декодирования может принимать элемент разрешения, соответствующий каждому синтаксическому элементу в потоке битов, определять контекстную модель с использованием информации целевого синтаксического элемента декодирования, информации декодирования соседнего блока и целевого блока декодирования или информации символа/элемента разрешения, декодированного на предыдущей стадии, и выполнять арифметическое декодирование для элемента разрешения посредством прогнозирования вероятности появления элемента разрешения согласно определенной контекстной модели и формировать символ, соответствующий значению каждого синтаксического элемента. В этом случае, способ энтропийного CABAC-декодирования может обновлять контекстную модель посредством использования информации декодированного символа/элемента разрешения для контекстной модели следующего символа/элемента разрешения после определения контекстной модели. Информация, связанная с прогнозированием из информации, декодированной посредством энтропийного декодера 210, может предоставляться в модуль прогнозирования (модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования), и остаточное значение, для которого энтропийное декодирование выполнено в энтропийном декодере 210, т.е. квантованные коэффициенты преобразования и связанная информация параметров, может вводиться в деквантователь 220. Помимо этого, информация относительно фильтрации из информации, декодированной посредством энтропийного декодера 210, может предоставляться в фильтр 240. Между тем, приемник (не показан) для приема сигнала, выводимого из оборудования кодирования изображений, может быть дополнительно сконфигурирован в качестве внутреннего/внешнего элемента оборудования 200 декодирования изображений, или приемник может представлять собой компонент энтропийного декодера 210.
[98] Между тем, оборудование декодирования изображений согласно настоящему раскрытию сущности может называться "оборудованием декодирования видео/изображений/кадров". Оборудование декодирования изображений может классифицироваться на информационный декодер (декодер информации видео/изображений/кадров) и выборочный декодер (декодер выборок видео/изображений/кадров). Информационный декодер может включать в себя энтропийный декодер 210. Выборочный декодер может включать в себя, по меньшей мере, одно из деквантователя 220, обратного преобразователя 230, сумматора 235, фильтра 240, запоминающего устройства 250, модуля 260 взаимного прогнозирования или модуля 265 внутреннего прогнозирования.
[99] Деквантователь 220 может деквантовать квантованные коэффициенты преобразования и выводить коэффициенты преобразования. Деквантователь 220 может перекомпоновывать квантованные коэффициенты преобразования в форме двумерного блока. В этом случае, перекомпоновка может выполняться на основе порядка сканирования коэффициентов, выполняемого в оборудовании кодирования изображений. Деквантователь 220 может выполнять деквантование для квантованных коэффициентов преобразования посредством использования параметра квантования (например, информации размера шага квантования) и получать коэффициенты преобразования.
[100] Обратный преобразователь 230 может обратно преобразовывать коэффициенты преобразования, чтобы получать остаточный сигнал (остаточный блок, массив остаточных выборок).
[101] Модуль прогнозирования может выполнять прогнозирование для текущего блока и может формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование к текущему блоку, на основе информации относительно прогнозирования, выводимой из энтропийного декодера 210, и может определять конкретный режим внутреннего/взаимного прогнозирования.
[102] Идентично тому, что описано в модуле прогнозирования оборудования 100 кодирования изображений, модуль прогнозирования может формировать прогнозный сигнал на основе различных способов (технологий) прогнозирования, которые описываются ниже.
[103] Модуль 265 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Описание модуля 185 внутреннего прогнозирования в равной степени применяется к модулю 265 внутреннего прогнозирования.
[104] Модуль 260 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Например, модуль 260 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и извлекать вектор движения текущего блока и/или индекс опорного кадра на основе принимаемой информации выбора возможных вариантов. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования, и информация относительно прогнозирования может включать в себя информацию, указывающую режим взаимного прогнозирования для текущего блока.
[105] Сумматор 235 может формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок) посредством суммирования полученного остаточного сигнала с прогнозным сигналом (прогнозированным блоком, массивом прогнозированных выборок), выводимым из модуля прогнозирования (включающего в себя модуль 260 взаимного прогнозирования и/или модуль 265 внутреннего прогнозирования). Если отсутствует остаток для блока, который должен обрабатываться, к примеру, когда режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока. Описание сумматора 155 является в равной степени применимым к сумматору 235. Сумматор 235 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, и может использоваться для взаимного прогнозирования следующего кадра посредством фильтрации, как описано ниже.
[106] Фильтр 240 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 240 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 250, а именно, в DPB запоминающего устройства 250. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, дискретизированное адаптивное смещение, адаптивный контурный фильтр, билатеральный фильтр и т.п.
[107] (Модифицированный) восстановленный кадр, сохраненный в DPB запоминающего устройства 250, может использоваться в качестве опорного кадра в модуле 260 взаимного прогнозирования. Запоминающее устройство 250 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или декодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 260 взаимного прогнозирования, так что она используется в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 250 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и передавать восстановленные выборки в модуль 265 внутреннего прогнозирования.
[108] В настоящем раскрытии сущности, варианты осуществления, описанные в фильтре 160, модуле 180 взаимного прогнозирования и модуле 185 внутреннего прогнозирования оборудования 100 кодирования изображений, могут в равной или соответствующей степени применяться к фильтру 240, модулю 260 взаимного прогнозирования и модулю 265 внутреннего прогнозирования оборудования 200 декодирования изображений.
[109] Общее представление сегментации изображений
[110] Способ кодирования видео/изображений согласно настоящему раскрытию сущности может осуществляться на основе структуры сегментации изображений следующим образом. В частности, процедуры прогнозирования, остаточной обработки ((обратного) преобразования, (де)квантования и т.д.), кодирования синтаксических элементов и фильтрации, которые описываются ниже, могут выполняться на основе CTU, CU (и/или TU, PU), извлекаемой на основе структуры сегментации изображений. Изображение может сегментироваться в единицах блоков, и процедура сегментации на блоки может выполняться в модуле 110 сегментации изображений оборудования кодирования. Связанная с сегментацией информация может кодироваться посредством энтропийного кодера 190 и передаваться в оборудование декодирования в форме потока битов. Энтропийный декодер 210 оборудования декодирования может извлекать структуру сегментации на блоки текущего кадра на основе связанной с сегментацией информации, полученной из потока битов, и на основе этого, может выполнять последовательность процедур (например, прогнозирование, остаточную обработку, восстановление блоков/кадров, внутриконтурную фильтрацию и т.д.) для декодирования изображений.
[111] Кадры могут сегментироваться на последовательность единиц дерева кодирования (CTU). Фиг. 4 показывает пример, в котором кадр сегментируется на CTU. CTU может соответствовать блоку дерева кодирования (CTB). Альтернативно, CTU может включать в себя блок дерева кодирования выборок сигналов яркости и два блока дерева кодирования соответствующих выборок сигналов цветности. Например, для кадра, который содержит три массива выборок, CTU может включать в себя блок NxN выборок сигналов яркости и два соответствующих блока выборок сигналов цветности.
[112] Общее представление сегментации CTU
[113] Как описано выше, единица кодирования может получаться посредством рекурсивной сегментации единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU) согласно структуре в виде дерева квадрантов/двоичного дерева/троичного дерева (QT/BT/TT). Например, CTU может сначала сегментироваться на структуры в виде дерева квадрантов. После этого, узлы-листья структуры в виде дерева квадрантов дополнительно могут сегментироваться посредством многотипной древовидной структуры.
[114] Сегментация согласно дереву квадрантов означает то, что текущая CU (или CTU) сегментируется одинаково на четыре. Посредством сегментации согласно дереву квадрантов, текущая CU может сегментироваться на четыре CU, имеющие идентичную ширину и идентичную высоту. Когда текущая CU более не сегментируется на структуру в виде дерева квадрантов, текущая CU соответствует узлу-листу структуры в виде дерева квадрантов. CU, соответствующая узлу-листу структуры в виде дерева квадрантов, более не может сегментироваться и может использоваться в качестве вышеописанной конечной единицы кодирования. Альтернативно, CU, соответствующая узлу-листу структуры в виде дерева квадрантов, дополнительно может сегментироваться посредством многотипной древовидной структуры.
[115] Фиг. 5 является видом, показывающим вариант осуществления типа сегментации блока согласно многотипной древовидной структуре. Сегментация согласно многотипной древовидной структуре может включать в себя два типа разбиения согласно структуре в виде двоичного дерева и два типа разбиения согласно структуре в виде троичного дерева.
[116] Два типа разбиения согласно структуре в виде двоичного дерева могут включать в себя вертикальное двоичное разбиение (SPLIT_BT_VER) и горизонтальное двоичное разбиение (SPLIT_BT_HOR). Вертикальное двоичное разбиение (SPLIT_BT_VER) означает то, что текущая CU разбивается одинаково напополам в вертикальном направлении. Как показано на фиг. 4, посредством вертикального двоичного разбиения, могут формироваться две CU, имеющие высоту, идентичную высоте текущей CU, и имеющие ширину, которая составляет половину от ширины текущей CU. Горизонтальное двоичное разбиение (SPLIT_BT_HOR) означает то, что текущая CU разбивается одинаково напополам в горизонтальном направлении. Как показано на фиг. 5, посредством горизонтального двоичного разбиения, могут формироваться две CU, имеющие высоту, которая составляет половину от высоты текущей CU, и имеющие ширину, идентичную ширине текущей CU.
[117] Два типа разбиения согласно структуре в виде троичного дерева могут включать в себя вертикальное троичное разбиение (SPLIT_TT_VER) и горизонтальное троичное разбиение (SPLIT_TT_HOR). В вертикальном троичном разбиении (SPLIT_TT_VER), текущая CU разбивается в вертикальном направлении в соотношении 1:2:1. Как показано на фиг. 5, посредством вертикального троичного разбиения, могут формироваться две CU, имеющие высоту, идентичную высоте текущей CU, и имеющие ширину, которая составляет 1/4 от ширины текущей CU, и CU, имеющая высоту, идентичную высоте текущей CU, и имеющая ширину, которая составляет половину от ширины текущей CU. В горизонтальном троичном разбиении (SPLIT_TT_HOR), текущая CU разбивается в горизонтальном направлении в соотношении 1:2:1. Как показано на фиг. 5, посредством горизонтального троичного разбиения, могут формироваться две CU, имеющие высоту, которая составляет 1/4 от высоты текущей CU, и имеющие ширину, идентичную ширине текущей CU, и CU, имеющая высоту, которая составляет половину от высоты текущей CU, и имеющая ширины, идентичную ширине текущей CU.
[118] Фиг. 6 является видом, показывающим механизм передачи в служебных сигналах информации разбиения на блоки в дереве квадрантов с вложенной многотипной древовидной структурой согласно настоящему раскрытию сущности.
[119] Здесь, CTU трактуется в качестве корневого узла дерева квадрантов и сегментируется в первый раз на структуру в виде дерева квадрантов. Информация (например, qt_split_flag), указывающая то, выполняется или нет разбиение на дерево квадрантов для текущей CU (CTU или узла (QT_node) дерева квадрантов), передается в служебных сигналах. Например, когда qt_split_flag имеет первое значение (например, "1"), текущая CU может сегментироваться на дерево квадрантов. Помимо этого, когда qt_split_flag имеет второе значение (например, "0"), текущая CU не сегментируется на дерево квадрантов, но становится узлом-листом (QT_leaf_node) дерева квадрантов. Каждый узел-лист дерева квадрантов затем дополнительно может сегментироваться на многотипные древовидные структуры. Таким образом, узел-лист дерева квадрантов может становиться узлом (MTT_node) многотипного дерева. В многотипной древовидной структуре, первый флаг (например, Mtt_split_cu_flag) передается в служебных сигналах, чтобы указывать то, сегментируется или нет дополнительно текущий узел. Если соответствующий узел дополнительно сегментируется (например, если первый флаг равен 1), второй флаг (например, Mtt_split_cu_vertical_flag) может передаваться в служебных сигналах, чтобы указывать направление разбиения. Например, направление разбиения может представлять собой вертикальное направление, если второй флаг равен 1, и может представлять собой горизонтальное направление, если второй флаг равен 0. Затем третий флаг (например, Mtt_split_cu_binary_flag) может передаваться в служебных сигналах, чтобы указывать то, представляет тип разбиения собой тип на основе двоичного разбиения или тип на основе троичного разбиения. Например, тип разбиения может представлять собой тип на основе двоичного разбиения, когда третий флаг равен 1, и может представлять собой тип на основе троичного разбиения, когда третий флаг равен 0. Узел многотипного дерева, полученного посредством двоичного разбиения или троичного разбиения, дополнительно может сегментироваться на многотипные древовидные структуры. Тем не менее, узел многотипного дерева может не сегментироваться на структуры в виде дерева квадрантов. Если первый флаг равен 0, соответствующий узел многотипного дерева более не разбивается, но становится узлом-листом (MTT_leaf_node) многотипного дерева. CU, соответствующая узлу-листу многотипного дерева, может использоваться в качестве вышеописанной конечной единицы кодирования.
[120] На основе mtt_split_cu_vertical_flag и mtt_split_cu_binary_flag, режим разбиения на основе многотипного дерева (MttSplitMode) CU может извлекаться так, как показано в нижеприведенной таблице 1. В нижеприведенном описании, режим разбиения на основе многотипного дерева может называться "типом разбиения на основе мультидерева" или "типом разбиения".
[121] Табл. 1
[122] Фиг. 7 является видом, показывающим пример, в котором CTU сегментируется на несколько CU посредством применения многотипного дерева после применения дерева квадрантов. На фиг. 7, полужирные края 710 блоков представляют сегментацию на основе дерева квадрантов, и оставшиеся края 720 представляют сегментацию на основе многотипного дерева. CU может соответствовать блоку кодирования (CB). В варианте осуществления, CU может включать в себя блок кодирования выборок сигналов яркости и два блока кодирования выборок сигналов цветности, соответствующих выборкам сигналов яркости. CB- или TB-размер компонентных (выборок) сигнала цветности может извлекаться на основе CB- или TB-размера компонентных (выборок) сигнала яркости согласно соотношению компонентов согласно цветовому формату (формату сигналов цветности, например, 4:4:4, 4:2:2, 4:2:0 и т.п.) кадра/изображения. В случае цветового формата 4:4:4, CB/TB-размер компонентов сигнала цветности может задаваться равным CB/TB-размеру компонентов сигнала яркости. В случае 4:2:2 цветовой формат, ширина CB/TB компонентов сигнала цветности может задаваться равной половине ширины CB/TB компонентов сигнала яркости, и высота CB/TB компонентов сигнала цветности может задаваться равной высоте CB/TB компонентов сигнала яркости. В случае цветового формата 4:2:0, ширина CB/TB компонентов сигнала цветности может задаваться равной половине ширины CB/TB компонентов сигнала яркости, и высота CB/TB компонентов сигнала цветности может задаваться равной половине высоты CB/TB компонентов сигнала яркости.
[123] В варианте осуществления, когда размер CTU равен 128 на основе единицы выборок сигналов яркости, размер CU может иметь размер от 128×128 до 4×4, что составляет идентичный размер с CTU. В одном варианте осуществления, в случае цветового формата 4:2:0 (или формата сигналов цветности), CB-размер сигналов цветности может иметь размер от 64×64 до 2×2.
[124] Между тем, в варианте осуществления, CU-размер и TU-размер могут быть идентичными. Альтернативно, может быть предусмотрено множество TU в CU-области. TU-размер, в общем, представляет размер блока преобразования (TB) компонентных (выборок) сигналов яркости.
[125] TU-размер может извлекаться на основе наибольшего допустимого TB-размера maxTbSize, который составляет предварительно определенное значение. Например, когда CU-размер превышает maxTbSize, множество TU (TB), имеющих maxTbSize, могут извлекаться из CU, и преобразование/обратное преобразование может выполняться в единицах TU (TB). Например, наибольший допустимый TB-размер сигналов яркости может составлять 64×64, и наибольший допустимый TB-размер сигналов цветности может составлять 32×32. Если ширина или высота CB, сегментированного согласно древовидной структуре, больше наибольшей ширины или высоты преобразования, CB может автоматически (или неявно) сегментироваться до тех пор, пока предел TB-размера в горизонтальном и вертикальном направлениях не удовлетворяется.
[126] Помимо этого, например, когда внутреннее прогнозирование применяется, режим/тип внутреннего прогнозирования может извлекаться в единицах CU (или CB), и процедура извлечения соседних опорных выборок и формирования прогнозных выборок может выполняться в единицах TU (или TB). В этом случае, может быть предусмотрена одна или множество TU (или TB) в одной CU-(или CB-)области, и, в этом случае, множество TU или (TB) могут совместно использовать идентичный режим/тип внутреннего прогнозирования.
[127] Между тем, для схемы дерева кодирования на основе дерева квадрантов с вложенным многотипным деревом, следующие параметры могут передаваться в служебных сигналах в качестве синтаксических SPS-элементов из оборудования кодирования в оборудование декодирования. Например, по меньшей мере, одно из CTU-размера, который представляет собой параметр, представляющий размер корневых узлов дерева квадрантов, MinQTSize, который представляет собой параметр, представляющий минимальный разрешенный размер узлов-листьев дерева квадрантов, MaxBtSize, который представляет собой параметр, представляющий максимальный разрешенный размер корневых узлов двоичного дерева, MaxTtSize, который представляет собой параметр, представляющий максимальный разрешенный размер корневых узлов троичного дерева, MaxMttDepth, который представляет собой параметр, представляющий максимальную разрешенную глубину иерархии разбиения на основе многотипного дерева из узла-листа дерева квадрантов, MinBtSize, который представляет собой параметр, представляющий минимальный разрешенный размер узлов-листьев двоичного дерева, или MinTtSize, который представляет собой параметр, представляющий минимальный разрешенный размер узлов-листьев троичного дерева, передается в служебных сигналах.
[128] В качестве варианта осуществления использования формата сигнала цветности 4:2:0, CTU-размер может задаваться равным блокам сигналов яркости 128×128 и двум блокам сигналов цветности 64×64, соответствующим блокам сигналов яркости. В этом случае, MinOTSize может задаваться равным 16×16, MaxBtSize может задаваться равным 128×128, MaxTtSzie может задаваться равным 64×64, MinBtSize и MinTtSize могут задаваться равными 4×4, и MaxMttDepth может задаваться равным 4. Сегментация на основе дерева квадрантов может применяться к CTU, чтобы формировать узлы-листья дерева квадрантов. Узел-лист дерева квадрантов может называться "QT-узлом-листом". Узлы-листья дерева квадрантов могут иметь размер от размера 16×16 (например, MinOTSize) до размера 128×128 (например, CTU-размера). Если QT-узел-лист составляет 128×128, он может дополнительно не сегментироваться на двоичное дерево/троичное дерево. Это обусловлено тем, что в этом случае, даже при сегментации, он превышает MaxBtsize и MaxTtszie (например, 64×64). В других случаях, QT-узлы-листья дополнительно могут сегментироваться на многотипное дерево. Следовательно, QT-узел-лист представляет собой корневой узел для многотипного дерева, и QT-узел-лист может иметь значение в 0 для глубины многотипного дерева (mttDepth). Если глубина многотипного дерева достигает MaxMttdepth (например, 4), дополнительная сегментация может более не рассматриваться. Если ширина узла многотипного дерева равна MinBtSize и меньше или равна 2xMinTtSize, то дополнительная горизонтальная сегментация может не рассматриваться. Если высота узла многотипного дерева равна MinBtSize и меньше или равна 2xMinTtSize, дополнительная вертикальная сегментация может не рассматриваться. Когда сегментация не рассматривается, оборудование кодирования может пропускать передачу в служебных сигналах информации сегментации. В этом случае, оборудование декодирования может извлекать информацию сегментации с предварительно определенным значением.
[129] Между тем, одна CTU может включать в себя блок кодирования выборок сигналов яркости (далее называемый "блоком сигналов яркости") и два блока кодирования выборок сигналов цветности, соответствующих ему (далее называемые "блоками сигналов цветности"). Вышеописанная схема на основе дерева кодирования можно одинаково или отдельно применяться к блоку сигналов яркости и к блоку сигналов цветности текущей CU. В частности, блоки сигналов яркости и сигналов цветности в одной CTU могут сегментироваться на идентичную блочную древовидную структуру, и в этом случае, древовидная структура представляется как SINGLE_TREE. Альтернативно, блоки сигналов яркости и сигналов цветности в одной CTU могут сегментироваться на отдельные блочные древовидные структуры, и в этом случае, древовидная структура может представляться как DUAL_TREE. Таким образом, когда CTU сегментируется на сдвоенные деревья, блочная древовидная структура для блока сигналов яркости и блочная древовидная структура для блока сигналов цветности могут отдельно присутствовать. В этом случае, блочная древовидная структура для блока сигналов яркости может называться "DUAL_TREE_LUMA", и блочная древовидная структура для компонента сигнала цветности может называться "DUAL_TREE_CHROMA". Для групп P- и B-срезов/плиток, блоки сигналов яркости и сигналов цветности в одной CTU могут быть ограничены тем, что они имеют идентичную структуру в виде дерева кодирования. Тем не менее, для групп I-срезов/плиток, блоки сигналов яркости и сигналов цветности могут иметь отдельную блочную древовидную структуру относительно друг друга. Если отдельная блочная древовидная структура применяется, CTB сигналов яркости может сегментироваться на CU на основе конкретной структуры в виде дерева кодирования, и CTB сигналов цветности может сегментироваться на CU сигнала цветности на основе другой структуры в виде дерева кодирования. Таким образом, это означает то, что CU в группе I-срезов/плиток, к которой применяется отдельная блочная древовидная структура, может включать в себя блок кодирования компонентов сигнала яркости или блоки кодирования двух компонентов сигнала цветности, и CU группы P- или B-срезов/плиток может включать в себя блоки трех цветовых компонентов (компонента сигнала яркости и двух компонентов сигнала цветности).
[130] Хотя описывается структура в виде дерева кодирования на основе дерева квадрантов с вложенным многотипным деревом, структура, в которой CU сегментируется, не ограничена этим. Например, BT-структура и TT-структура могут интерпретироваться в качестве понятия, включенного в структуру в виде дерева с несколькими видами сегментации (MPT), и CU может интерпретироваться как сегментируемая через QT-структуру и MPT-структуру. В примере, в котором CU сегментируется через QT-структуру и MPT-структуру, синтаксический элемент (например, MPT_split_type), включающий в себя информацию относительно того, на сколько блоков сегментируется узел-лист QT-структуры, и синтаксический элемент (например, MPT_split_mode), включающий в себя информацию относительно того, в каком из вертикального и горизонтального направлений сегментируется узел-лист QT-структуры, может передаваться в служебных сигналах, чтобы определять структуру сегментации.
[131] В другом примере, CU может сегментироваться способом, отличающимся от QT-структуры, BT-структуры или TT-структуры. Таким образом, в отличие от того, что CU меньшей глубины сегментируется на 1/4 от CU большей глубины согласно QT-структуре, CU меньшей глубины сегментируется на 1/2 от CU большей глубины согласно BT-структуре, или CU меньшей глубины сегментируется на 1/4 или 1/2 от CU большей глубины согласно TT-структуре, CU меньшей глубины может сегментироваться на 1/5, 1/3, 3/8, 3/5, 2/3 или 5/8 от CU большей глубины в некоторых случаях, и способ сегментации CU не ограничен этим.
[132] Структура блоков кодирования дерева квадрантов с многотипным деревом может предоставлять очень гибкую структуру сегментации на блоки. Вследствие типов сегментации, поддерживаемых в многотипном дереве, различные шаблоны сегментации могут потенциально приводить к идентичной структуре блоков кодирования в некоторых случаях. В оборудовании кодирования и оборудовании декодирования, посредством ограничения возникновения таких избыточных шаблонов сегментации, может уменьшаться объем данных информации сегментации.
[133] Например, фиг. 8 показывает избыточные шаблоны разбиения, которые могут возникать при разбиении на двоичное дерево и разбиении на троичное дерево. Как показано на фиг. 8, непрерывное двоичное разбиение 810 и 820 для одного направления двухэтапных уровней имеет структуру блоков кодирования, идентичную структуре блоков кодирования для двоичного разбиения для центрального сегмента после троичного разбиения. В этом случае, разбиение на двоичное дерево для центральных блоков 830 и 840 разбиения на троичное дерево может запрещаться. этот запрет является применимым к CU всех кадров. Когда такое конкретное разбиение запрещается, передача в служебных сигналах соответствующих синтаксических элементов может модифицироваться посредством отражения этого запрещенного случая, за счет этого уменьшая число битов, передаваемых в служебных сигналах для разбиения. Например, как показано в примере, приведенном на фиг. 8, когда разбиение на двоичное дерево для центрального блока CU запрещается, синтаксический элемент mtt_split_cu_binary_flag, указывающий то, представляет разбиение собой двоичное разбиение или троичное разбиение, не передается в служебных сигналах, и его значение может извлекаться в качестве 0 посредством оборудования декодирования.
[134] Общее представление взаимного прогнозирования
[135] В дальнейшем в этом документе описывается взаимное прогнозирование согласно настоящему раскрытию сущности.
[136] Модуль прогнозирования оборудования кодирования изображений/оборудования декодирования изображений согласно настоящему раскрытию сущности может выполнять взаимное прогнозирование в единицах блоков, чтобы извлекать прогнозную выборку. Взаимное прогнозирование может представлять прогнозирование, извлекаемое таким способом, который зависит от элементов данных (например, выборочных значений, информации движения и т.д.) кадра(ов), отличного от текущего кадра. Когда взаимное прогнозирование применяется к текущему блоку, прогнозированный блок (блок прогнозирования или массив прогнозных выборок) для текущего блока может извлекаться на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра, указываемого посредством индекса опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения текущего блока может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию типа взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными или отличающимися. Временной соседний блок может называться "совместно размещенным опорным блоком", "совместно размещенной CU (colCU)" или "colBlock", и опорный кадр, включающий в себя временной соседний блок, может называться "совместно размещенным кадром (colPic)" или "colPicture". Например, список возможных вариантов информации движения может конструироваться на основе соседних блоков относительно текущего блока, и информация флага или индекса, указывающая то, какой возможный вариант выбирается (используется), может передаваться в служебных сигналах, с тем чтобы извлекать вектор движения текущего блока и/или индекс опорного кадра.
[137] Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования. Например, в случае режима пропуска и режима объединения, информация движения текущего блока может быть равной информации движения выбранного соседнего блока. В случае режима пропуска, остаточный сигнал может не передаваться, в отличие от режима объединения. В случае режима прогнозирования информации движения (MVP), вектор движения выбранного соседнего блока может использоваться в качестве предиктора вектора движения, и разность векторов движения может передаваться в служебных сигналах. В этом случае, вектор движения текущего блока может извлекаться с использованием суммы предиктора вектора движения и разности векторов движения. В настоящем раскрытии сущности, MVP-режим может иметь смысловое значение, идентичное смысловому значению усовершенствованного прогнозирования векторов движения (AMVP).
[138] Информация движения может включать в себя L0-информацию движения и/или L1-информацию движения согласно типу взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). Вектор движения в L0-направлении может называться "L0-вектором движения" или "MVL0", и вектор движения в L1-направлении может называться "L1-вектором движения" или "MVL1". Прогнозирование на основе L0-вектора движения может называться "L0-прогнозированием", прогнозирование на основе L1-вектора движения может называться "L1-прогнозированием", и прогнозирование на основе как L0-вектора движения, так и L1-вектора движения может называться "бипрогнозированием". Здесь, L0-вектор движения может указывать вектор движения, ассоциированный со списком L0 опорных кадров (L0), и L1-вектор движения может указывать вектор движения, ассоциированный со списком L1 опорных кадров (L1). Список L0 опорных кадров может включать в себя кадры перед текущим кадром в порядке вывода в качестве опорных кадров, и список L1 опорных кадров может включать в себя кадры после текущего кадра в порядке вывода. Предыдущие кадры могут называться "прямыми (опорными) кадрами", и последующие кадры могут называться "обратными (опорными) кадрами". Список L0 опорных кадров дополнительно может включать в себя кадры после текущего кадра в порядке вывода в качестве опорных кадров. В этом случае, в списке L0 опорных кадров, предыдущие кадры могут сначала индексироваться, и последующие кадры затем могут индексироваться. Список L1 опорных кадров дополнительно может включать в себя кадры перед текущим кадром в порядке вывода в качестве опорных кадров. В этом случае, в списке L1 опорных кадров, последующие кадры могут сначала индексироваться, и предыдущие кадры затем могут индексироваться. Здесь, порядок вывода может соответствовать порядку номеров в последовательности кадров (POC).
[139] Фиг. 9 является блок-схемой последовательности операций, иллюстрирующей способ кодирования видео/изображений на основе взаимного прогнозирования.
[140] Фиг. 10 является видом, иллюстрирующим конфигурацию модуля 180 взаимного прогнозирования согласно настоящему раскрытию сущности.
[141] Способ кодирования по фиг. 9 может осуществляться посредством оборудования кодирования изображений по фиг. 2. В частности, этап S610 может выполняться посредством модуля 180 взаимного прогнозирования, и этап S620 может выполняться посредством остаточного процессора. В частности, этап S620 может выполняться посредством вычитателя 115. Этап S630 может выполняться посредством энтропийного кодера 190. Информация прогнозирования этапа S630 может извлекаться посредством модуля 180 взаимного прогнозирования, и остаточная информация этапа S630 может извлекаться посредством остаточного процессора. Остаточная информация представляет собой информацию относительно остаточных выборок. Остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования для остаточных выборок. Как описано выше, остаточные выборки могут извлекаться в качестве коэффициентов преобразования через преобразователь 120 оборудования кодирования изображений, и коэффициенты преобразования могут извлекаться в качестве квантованных коэффициентов преобразования через квантователь 130. Информация относительно квантованных коэффициентов преобразования может кодироваться посредством энтропийного кодера 190 через процедуру остаточного кодирования.
[142] Оборудование кодирования изображений может выполнять взаимное прогнозирование для текущего блока (S610). Оборудование кодирования изображений может извлекать режим взаимного прогнозирования и информацию движения текущего блока и формировать прогнозные выборки текущего блока. Здесь, процедуры определения режима взаимного прогнозирования, извлечения информации движения и формирования прогнозных выборок могут одновременно выполняться, либо любая из них может выполняться перед другими процедурами. Например, как показано на фиг. 10, модуль 180 взаимного прогнозирования оборудования 100 кодирования изображений может включать в себя модуль 181 определения режима прогнозирования, модуль 182 извлечения информации движения и модуль 183 извлечения прогнозных выборок. Модуль 181 определения режима прогнозирования может определять режим прогнозирования текущего блока, модуль 182 извлечения информации движения может извлекать информацию движения текущего блока, и модуль 183 извлечения прогнозных выборок может извлекать прогнозные выборки текущего блока. Например, модуль 180 взаимного прогнозирования оборудования кодирования изображений может выполнять поиск блока, аналогичного текущему блоку в предварительно определенной зоне (зоне поиска) опорных кадров через оценку движения, и извлекать опорный блок, разность которого относительно текущего блока равна или меньше предварительно определенного критерия или минимума. На основе этого, индекс опорного кадра, указывающий опорный кадр, в котором расположен опорный блок, может извлекаться, и вектор движения может извлекаться на основе разности позиций между опорным блоком и текущим блоком. Оборудование кодирования изображений может определять режим, применяемый к текущему блоку, из различных режимов прогнозирования. Оборудование кодирования изображений может сравнивать функции затрат на искажение в зависимости от скорости передачи (RD) для различных режимов прогнозирования и определять оптимальный режим прогнозирования текущего блока. Тем не менее, способ определения режима прогнозирования текущего блока посредством оборудования кодирования изображений не ограничен вышеприведенным примером, и могут использоваться различные способы.
[143] Например, когда режим пропуска или режим объединения применяется к текущему блоку, оборудование кодирования изображений может извлекать возможные варианты объединения из соседних блоков относительно текущего блока и конструировать список возможных вариантов объединения с использованием извлеченных возможных вариантов объединения. Помимо этого, оборудование кодирования изображений может извлекать опорный блок, разность которого относительно текущего блока равна или меньше предварительно определенного критерия или минимума, из опорных блоков, указываемых посредством возможных вариантов объединения, включенных в список возможных вариантов объединения. В этом случае, возможный вариант объединения, ассоциированный с извлеченным опорным блоком, может выбираться, и информация индекса объединения, указывающая выбранный возможный вариант объединения, может формироваться и передаваться в служебных сигналах в оборудование декодирования изображений. Информация движения текущего блока может извлекаться с использованием информации движения выбранного возможного варианта объединения.
[144] В качестве другого примера, когда MVP-режим применяется к текущему блоку, оборудование кодирования изображений может извлекать возможные варианты предикторов векторов движения (MVP) из соседних блоков относительно текущего блока и конструировать список возможных MVP-вариантов с использованием извлеченных возможных MVP-вариантов. Помимо этого, оборудование кодирования изображений может использовать вектор движения возможного MVP-варианта, выбранного из числа возможных MVP-вариантов, включенных в список возможных MVP-вариантов, в качестве MVP текущего блока. В этом случае, например, вектор движения, указывающий опорный блок, извлекаемый посредством вышеописанной оценки движения, может использоваться в качестве вектора движения текущего блока, и возможный MVP-вариант с вектором движения, имеющим наименьшую разность относительно вектора движения текущего блока из возможных MVP-вариантов, может представлять собой выбранный возможный MVP-вариант. Разность векторов движения (MVD), которая представляет собой разность, полученную посредством вычитания MVP из вектора движения текущего блока, может извлекаться. В этом случае, информация индекса, указывающая выбранный возможный MVP-вариант и информацию относительно MVD, может передаваться в служебных сигналах в оборудование декодирования изображений. Помимо этого, при применении MVP-режима, значение индекса опорного кадра может конструироваться в качестве информации индекса опорного кадра и отдельно передаваться в служебных сигналах в оборудование декодирования изображений.
[145] Оборудование кодирования изображений может извлекать остаточные выборки на основе прогнозных выборок (S620). Оборудование кодирования изображений может извлекать остаточные выборки через сравнение между исходными выборками текущего блока и прогнозных выборок. Например, остаточная выборка может извлекаться посредством вычитания соответствующей прогнозной выборки из исходной выборки.
[146] Оборудование кодирования изображений может кодировать информацию изображений, включающую в себя информацию прогнозирования и остаточную информацию (S630). Оборудование 100 кодирования изображений может выводить кодированную информацию изображений в форме потока битов. Информация прогнозирования может включать в себя информацию режима прогнозирования (например, флаг пропуска, флаг объединения или индекс режима и т.д.) и информацию движения в качестве информации, связанной с процедурой прогнозирования. Из информации режима прогнозирования, флаг пропуска указывает то, применяется или нет режим пропуска к текущему блоку, и флаг объединения указывает то, применяется или нет режим объединения к текущему блоку. Альтернативно, информация режима прогнозирования может указывать один из множества режимов прогнозирования, к примеру, индекс режима. Когда флаг пропуска и флаг объединения равны 0, может определяться то, что MVP-режим применяется к текущему блоку. Информация относительно информации движения может включать в себя информацию выбора возможных вариантов (например, индекс объединения, MVP-флаг или MVP-индекс), которая представляет собой информацию для извлечения вектора движения. Из информации выбора возможных вариантов, индекс объединения может передаваться в служебных сигналах, когда режим объединения применяется к текущему блоку, и может представлять собой информацию для выбора одного из возможных вариантов объединения, включенных в список возможных вариантов объединения. Из информации выбора возможных вариантов, MVP-флаг или MVP-индекс может передаваться в служебных сигналах, когда MVP-режим применяется к текущему блоку, и может представлять собой информацию для выбора одного из возможных MVP-вариантов в списке возможных MVP-вариантов. Помимо этого, информация относительно информации движения может включать в себя информацию относительно вышеописанной MVD и/или информации индекса опорного кадра. Помимо этого, информация относительно информации движения может включать в себя информацию, указывающую то, следует применять L0-прогнозирование, L1-прогнозирование или бипрогнозирование. Остаточная информация представляет собой информацию относительно остаточных выборок. Остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования для остаточных выборок.
[147] Выходной поток битов может сохраняться на (цифровом) носителе хранения данных и передаваться в оборудование декодирования изображений либо может передаваться в оборудование декодирования изображений через сеть.
[148] Как описано выше, оборудование кодирования изображений может формировать восстановленный кадр (кадр, включающий в себя восстановленные выборки и восстановленный блок) на основе опорных выборок и остаточных выборок. Это служит для извлечения, посредством оборудования кодирования изображений, результата прогнозирования, идентичного прогнозированию, выполняемому посредством оборудования декодирования изображений, за счет этого повышая эффективность кодирования. Соответственно, оборудование кодирования изображений может сохранять восстановленный кадр (или восстановленные выборки и восстановленный блок) в запоминающем устройстве и использовать его в качестве опорного кадра для взаимного прогнозирования. Как описано выше, процедура внутриконтурной фильтрации дополнительно может применяться к восстановленному кадру.
[149] Фиг. 11 является блок-схемой последовательности операций, иллюстрирующей способ декодирования видео/изображений на основе взаимного прогнозирования.
[150] Фиг. 12 является видом, иллюстрирующим конфигурацию модуля 260 взаимного прогнозирования согласно настоящему раскрытию сущности.
[151] Оборудование декодирования изображений может выполнять операцию, соответствующую операции, выполняемой посредством оборудования кодирования изображений. Оборудование декодирования изображений может выполнять прогнозирование для текущего блока на основе принимаемой информации прогнозирования и извлекать прогнозные выборки.
[152] Способ декодирования по фиг. 11 может осуществляться посредством оборудования декодирования изображений по фиг. 3. Этапы S810-S830 могут выполняться посредством модуля 260 взаимного прогнозирования, и информация прогнозирования этапа S810 и остаточная информация этапа S840 может получаться из потока битов посредством энтропийного декодера 210. Остаточный процессор оборудования декодирования изображений может извлекать остаточные выборки для текущего блока на основе остаточной информации (S840). В частности, деквантователь 220 остаточного процессора может выполнять деквантование на основе деквантованных коэффициентов преобразования, извлекаемых на основе остаточной информации, чтобы извлекать коэффициенты преобразования, и обратный преобразователь 230 остаточного процессора может выполнять обратное преобразование для коэффициентов преобразования, чтобы извлекать остаточные выборки для текущего блока. Этап S850 может выполняться посредством сумматора 235 или модуля восстановления.
[153] В частности, оборудование декодирования изображений может определять режим прогнозирования текущего блока на основе принимаемой информации прогнозирования (S810). Оборудование декодирования изображений может определять то, какой режим взаимного прогнозирования применяется к текущему блоку, на основе информации режима прогнозирования в информации прогнозирования.
[154] Например, может определяться то применяется или нет режим пропуска к текущему блоку, на основе флага пропуска. Помимо этого, может определяться то, применяется режим объединения или MVP-режим к текущему блоку, на основе флага объединения. Альтернативно, один из различных возможных вариантов режимов взаимного прогнозирования может выбираться на основе индекса режима. Возможные варианты режимов взаимного прогнозирования могут включать в себя режим пропуска, режим объединения и/или MVP-режим либо могут включать в себя различные режимы взаимного прогнозирования, которые описываются ниже.
[155] Оборудование декодирования изображений может извлекать информацию движения текущего блока на основе определенного режима взаимного прогнозирования (S820). Например, когда режим пропуска или режим объединения применяется к текущему блоку, оборудование декодирования изображений может конструировать список возможных вариантов объединения, который описывается ниже, и выбирать один из возможных вариантов объединения, включенных в список возможных вариантов объединения. Выбор может выполняться на основе вышеописанной информации выбора возможных вариантов (индекса объединения). Информация движения текущего блока может извлекаться с использованием информации движения выбранного возможного варианта объединения. Например, информация движения выбранного возможного варианта объединения может использоваться как информация движения текущего блока.
[156] В качестве другого примера, когда MVP-режим применяется к текущему блоку, оборудование декодирования изображений может конструировать список возможных MVP-вариантов и использовать вектор движения возможного MVP-варианта, выбранного из числа возможных MVP-вариантов, включенных в список возможных MVP-вариантов, в качестве MVP текущего блока. Выбор может выполняться на основе вышеописанной информации выбора возможных вариантов (MVP-флага или MVP-индекса). В этом случае, MVD текущего блока может извлекаться на основе информации относительно MVD, и вектор движения текущего блока может извлекаться на основе MVP и MVD текущего блока. Помимо этого, индекс опорного кадра текущего блока может извлекаться на основе информации индекса опорного кадра. Кадр, указываемый посредством индекса опорного кадра в списке опорных кадров текущего блока, может извлекаться в качестве опорного кадра, на который ссылаются для взаимного прогнозирования текущего блока.
[157] Оборудование декодирования изображений может формировать прогнозные выборки текущего блока на основе информации движения текущего блока (S830). В этом случае, опорный кадр может извлекаться на основе индекса опорного кадра текущего блока, и прогнозные выборки текущего блока могут извлекаться с использованием выборок опорного блока, указываемого посредством вектора движения текущего блока на опорном кадре. В некоторых случаях, процедура фильтрации прогнозных выборок дополнительно может выполняться для всех или некоторых прогнозных выборок текущего блока.
[158] Например, как показано на фиг. 12, модуль 260 взаимного прогнозирования оборудования декодирования изображений может включать в себя модуль 261 определения режима прогнозирования, модуль 262 извлечения информации движения и модуль 263 извлечения прогнозных выборок. В модуле 260 взаимного прогнозирования оборудования декодирования изображений, модуль 261 определения режима прогнозирования может определять режим прогнозирования текущего блока на основе принимаемой информации режима прогнозирования, модуль 262 извлечения информации движения может извлекать информацию движения (вектор движения и/или индекс опорного кадра и т.д.) текущего блока на основе принимаемой информации движения, и модуль 263 извлечения прогнозных выборок может извлекать прогнозные выборки текущего блока.
[159] Оборудование декодирования изображений может формировать остаточные выборки текущего блока на основе принимаемой остаточной информации (S840). Оборудование декодирования изображений может формировать восстановленные выборки текущего блока на основе прогнозных выборок и остаточных выборок и формировать восстановленный кадр на основе этого (S850). После этого, процедура внутриконтурной фильтрации может применяться к восстановленному кадру, как описано выше.
[160] Как описано выше, процедура взаимного прогнозирования может включать в себя этап определения режима взаимного прогнозирования, этапа извлечения информации движения согласно определенному режиму прогнозирования и этап выполнения прогнозирования (формирования прогнозных выборок) на основе извлеченной информации движения. Процедура взаимного прогнозирования может выполняться посредством оборудования кодирования изображений и оборудования декодирования изображений, как описано выше.
[161] В дальнейшем в этом документе подробнее описывается этап извлечения информации движения согласно режиму прогнозирования.
[162] Как описано выше, взаимное прогнозирование может выполняться с использованием информации движения текущего блока. Оборудование кодирования изображений может извлекать оптимальную информацию движения текущего блока через процедуру оценки движения. Например, оборудование кодирования изображений может выполнять поиск аналогичного опорного блока с высокой корреляцией в предварительно определенном диапазоне поиска в опорном кадре с использованием исходного блока в исходном кадре для текущего блока в дробнопиксельной единице и извлекать информацию движения с его использованием. Подобие блока может вычисляться на основе суммы абсолютных разностей (SAD) между текущим блоком и опорным блоком. В этом случае, информация движения может извлекаться на основе опорного блока с наименьшей SAD в зоне поиска. Извлеченная информация движения может передаваться в служебных сигналах в оборудование декодирования изображений согласно различным способам на основе режима взаимного прогнозирования.
[163] Когда режим объединения применяется к текущему блоку, информация движения текущего блока непосредственно не передается, и информация движения текущего блока извлекается с использованием информации движения соседнего блока. Соответственно, информация движения текущего блока прогнозирования может указываться посредством передачи информации флага, указывающей то, что режим объединения используется, и информации выбора возможных вариантов (например, индекса объединения), указывающей то, какой соседний блок используется в качестве возможного варианта объединения. В настоящем раскрытии сущности, поскольку текущий блок представляет собой единицу производительности прогнозирования, текущий блок может использоваться со смысловым значением, идентичным смысловому значению текущего блока прогнозирования, и соседний блок может использоваться со смысловым значением, идентичным смысловому значению соседнего блока прогнозирования.
[164] Оборудование кодирования изображений может выполнять поиск возможных вариантов блоков объединения, используемых для того, чтобы извлекать информацию движения текущего блока, чтобы выполнять режим объединения. Например, вплоть до пяти возможных вариантов блоков объединения могут использоваться без ограничения этим. Максимальное число возможных вариантов блоков объединения может передаваться в заголовке среза или в заголовке группы плиток без ограничения этим. После нахождения возможных вариантов блоков объединения, оборудование кодирования изображений может формировать список возможных вариантов объединения и выбирать возможный вариант блока объединения с наименьшими RD-затратами в качестве конечного возможного варианта блока объединения.
[165] Настоящее раскрытие сущности предоставляет различные варианты осуществления для возможных вариантов блоков объединения, конфигурирующих список возможных вариантов объединения. Список возможных вариантов объединения может использовать, например, пять возможных вариантов блоков объединения. Например, могут использоваться четыре пространственных возможных варианта объединения и один временной возможный вариант объединения.
[166] Фиг. 13 является видом, иллюстрирующим соседние блоки, доступные в качестве пространственного возможного варианта объединения.
[167] Фиг. 14 является видом, схематично иллюстрирующим способ конструирования списков возможных вариантов объединения согласно примеру настоящего раскрытия сущности.
[168] Оборудование кодирования/декодирования изображений может вставлять, в список возможных вариантов объединения, пространственные возможные варианты объединения, извлекаемые посредством поиска пространственных соседних блоков относительно текущего блока (S1110). Например, как показано на фиг. 13, пространственные соседние блоки могут включать в себя левый нижний угловой соседний блок A0, левый соседний блок A1, правый верхний угловой соседний блок B0, верхний соседний блок B1 и левый верхний угловой соседний блок B2 относительно текущего блока. Тем не менее, это представляет собой пример, и в дополнение к вышеописанным пространственным соседним блокам, дополнительные соседние блоки, такие как правый соседний блок, нижний соседний блок и правый нижний соседний блок, дополнительно могут использоваться в качестве пространственных соседних блоков. Оборудование кодирования/декодирования изображений может обнаруживать доступные блоки посредством поиска пространственных соседних блоков на основе приоритета и извлекать информацию движения обнаруженных блоков в качестве пространственных возможных вариантов объединения. Например, оборудование кодирования/декодирования изображений может конструировать список возможных вариантов объединения посредством поиска пяти блоков, показанных на фиг. 13, в порядке A1, B1, B0, A0 и B2 и последовательной индексации доступных возможных вариантов.
[169] Оборудование кодирования/декодирования изображений может вставлять, в список возможных вариантов объединения, временной возможный вариант объединения, извлекаемый посредством поиска временных соседних блоков относительно текущего блока (S1120). Временные соседние блоки могут быть расположены в опорном кадре, который отличается от текущего кадра, в котором расположен текущий блок. Опорный кадр, в котором расположен временной соседний блок, может называться "совместно размещенным кадром" или "совместно размещ. кадром". Можно выполнять поиск временного соседнего блока в порядке из правого нижнего углового соседнего блока и правого нижнего центрального блока относительно совместно размещенного блока для текущего блока в совместно размещ. кадре. Между тем, при применении сжатия данных движения, чтобы уменьшать загрузку запоминающего устройства, конкретная информация движения может сохраняться в качестве характерной информации движения для каждой предварительно определенной единицы хранения для совместно размещ. кадра. В этом случае, информация движения всех блоков в предварительно определенной единице хранения не должна обязательно сохраняться, за счет этого получая эффект сжатия данных движения. В этом случае, предварительно определенная единица хранения может быть предварительно определена в качестве, например, единицы выборок 16×16 или единицы выборок 8×8, или информация размера предварительно определенной единицы хранения может передаваться в служебных сигналах из оборудования кодирования изображений в оборудование декодирования изображений. При применении сжатия данных движения, информация движения временного соседнего блока может заменяться характерной информацией движения предварительно определенной единицы хранения, в которой расположен временной соседний блок. Таким образом, в этом случае, с точки зрения реализации, временной возможный вариант объединения может извлекаться на основе информации движения блока прогнозирования, покрывающего арифметическую сдвинутую влево позицию после арифметического сдвига вправо на предварительно определенное значение на основе координат (левой верхней выборочной позиции) временного соседнего блока, а не блока прогнозирования, расположенного в координатах временного соседнего блока. Например, когда предварительно определенная единица хранения составляет единицу выборок 2nx2n, и координаты временного соседнего блока представляют собой (xTnb, yTnb), информация движения блока прогнозирования, расположенного в модифицированной позиции ((xTnb>>n)<<n), (yTnb>>n)<<n)), может использоваться для временного возможного варианта объединения. В частности, например, когда предварительно определенная единица хранения составляет единицу выборок 16×16, и координаты временного соседнего блока представляют собой (xTnb, yTnb), информация движения блока прогнозирования, расположенного в модифицированной позиции ((xTnb>>4)<<4), (yTnb>>4)<<4)), может использоваться для временного возможного варианта объединения. Альтернативно, например, когда предварительно определенная единица хранения составляет единицу выборок 8×8, и координаты временного соседнего блока представляют собой (xTnb, yTnb), информация движения блока прогнозирования, расположенного в модифицированной позиции ((xTnb>>3)<<3), (yTnb>>3)<<3)), может использоваться для временного возможного варианта объединения.
[170] Снова ссылаясь на фиг. 14, оборудование кодирования/декодирования изображений может проверять то, меньше или нет число текущих возможных вариантов объединения максимального числа возможных вариантов объединения (S1130). Максимальное число возможных вариантов объединения может предварительно задаваться или передаваться в служебных сигналах из оборудования кодирования изображений в оборудование декодирования изображений. Например, оборудование кодирования изображений может формировать и кодировать информацию относительно максимального числа возможных вариантов объединения и передавать кодированную информацию в оборудование декодирования изображений в форме потока битов. Когда максимальное число возможных вариантов объединения удовлетворяется, последующий процесс S1140 добавления возможных вариантов может не выполняться.
[171] Когда число текущих возможных вариантов объединения меньше максимального числа возможных вариантов объединения в качестве результата проверки этапа S1130, оборудование кодирования/декодирования изображений может извлекать дополнительный возможный вариант объединения согласно предварительно определенному способу и затем вставлять дополнительный возможный вариант объединения в список возможных вариантов объединения (S1140).
[172] Когда число текущих возможных вариантов объединения не меньше максимального числа возможных вариантов объединения в качестве результата проверки этапа S1130, оборудование кодирования/декодирования изображений может завершать конструирование списка возможных вариантов объединения. В этом случае, оборудование кодирования изображений может выбирать оптимальный возможный вариант объединения из числа возможных вариантов объединения, конфигурирующих список возможных вариантов объединения, и передавать в служебных сигналах информацию выбора возможных вариантов (например, индекс объединения), указывающую выбранный возможный вариант объединения, в оборудование декодирования изображений. Оборудование декодирования изображений может выбирать оптимальный возможный вариант объединения на основе списка возможных вариантов объединения и информации выбора возможных вариантов.
[173] Информация движения выбранного возможного варианта объединения может использоваться в качестве информации движения текущего блока, и прогнозные выборки текущего блока могут извлекаться на основе информации движения текущего блока, как описано выше. Оборудование кодирования изображений может извлекать остаточные выборки текущего блока на основе прогнозных выборок и остаточной информации сигнала остаточных выборок в оборудование декодирования изображений. Оборудование декодирования изображений может формировать восстановленные выборки на основе остаточных выборок, извлекаемых на основе остаточной информации и прогнозных выборок, и формировать восстановленный кадр на их основе, как описано выше.
[174] При применении режима пропуска к текущему блоку, информация движения текущего блока может извлекаться с использованием способа, идентичного способу в случае применения режима объединения. Тем не менее, при применении режима пропуска, остаточный сигнал для соответствующего блока опускается, и в силу этого прогнозные выборки могут непосредственно использоваться в качестве восстановленных выборок.
[175] При применении MVP-режима к текущему блоку, список возможных вариантов предикторов векторов движения (MVP) может формироваться с использованием вектора движения восстановленных пространственных соседних блоков (например, соседних блоков, показанных на фиг. 13) и/или вектора движения, соответствующего временным соседним блокам (или совместно размещ. блокам). Таким образом, вектор движения восстановленных пространственных соседних блоков и вектор движения, соответствующий временным соседним блокам, могут использоваться в качестве возможных вариантов предикторов векторов движения текущего блока. При применении бипрогнозирования, список возможных MVP-вариантов для извлечения L0-информации движения и список возможных MVP-вариантов для извлечения L1-информации движения отдельно формируются и используются. Информация прогнозирования (или информация относительно прогнозирования) текущего блока может включать в себя информацию выбора возможных вариантов (например, MVP-флаг или MVP-индекс), указывающую оптимальный возможный вариант предиктора вектора движения, выбранный из числа возможных вариантов предикторов векторов движения, включенных в список возможных MVP-вариантов. В этом случае, модуль прогнозирования может выбирать предиктор вектора движения текущего блока из числа возможных вариантов предикторов векторов движения, включенных в список возможных MVP-вариантов, с использованием информации выбора возможных вариантов. Модуль прогнозирования оборудования кодирования изображений может получать и кодировать разность векторов движения (MVD) между вектором движения текущего блока и предиктором вектора движения и выводить кодированную MVD в форме потока битов. Таким образом, MVD может получаться посредством вычитания предиктора вектора движения из вектора движения текущего блока. Модуль прогнозирования оборудования декодирования изображений может получать разность векторов движения, включенную в информацию относительно прогнозирования, и извлекать вектор движения текущего блока через суммирование разности векторов движения и предиктора вектора движения. Модуль прогнозирования оборудования кодирования изображений может получать или извлекать индекс опорного кадра, указывающий опорный кадр, из информации относительно прогнозирования.
[176] Фиг. 15 является видом, схематично иллюстрирующим способ конструирования списков возможных вариантов предикторов векторов движения согласно примеру настоящего раскрытия сущности.
[177] Во-первых, может выполняться поиск пространственного возможного варианта блока относительно текущего блока, и доступные возможные варианты блоков могут вставляться в список возможных MVP-вариантов (S1210). После этого, определяется то, меньше или нет число возможных MVP-вариантов, включенных в список возможных MVP-вариантов, 2 (S1220), и когда число возможных MVP-вариантов равно двум, конструирование списка возможных MVP-вариантов может завершаться.
[178] На этапе S1220, когда число доступных пространственных возможных вариантов блоков меньше 2, может выполняться поиск временного возможного варианта блока относительно текущего блока, и доступные возможные варианты блоков могут вставляться в список возможных MVP-вариантов (S1230). Когда временные возможные варианты блоков не доступны, нулевой вектор движения может вставляться в список возможных MVP-вариантов, за счет этого завершая конструирование списка возможных MVP-вариантов.
[179] Между тем, при применении режима MVP, индекс опорного кадра может явно передаваться в служебных сигналах. В этом случае, индекс refidxL0 опорного кадра для L0-прогнозирования и индекс refidxL1 опорного кадра для L1-прогнозирования могут различаемо передаваться в служебных сигналах. Например, при применении MVP-режима и применении бипрогнозирования, как информация относительно refidxL0, так и информация относительно refidxL1 могут передаваться в служебных сигналах.
[180] Как описано выше, при применении MVP-режима, информация относительно MVP, извлекаемого посредством оборудования кодирования изображений, может передаваться в служебных сигналах в оборудование декодирования изображений. Информация относительно MVD может включать в себя, например, информацию, указывающую компоненты по оси X и Y для абсолютного значения (абсолютного MVD-значения) и знака MVD. В этом случае, когда абсолютное MVD-значение превышает 0, то, превышает или нет абсолютное MVD-значение 1, и информация, указывающая MVD-остаток, могут передаваться в служебных сигналах пошагово. Например, информация, указывающая то, превышает или нет абсолютное MVD-значение 1, может передаваться в служебных сигналах только тогда, когда значение информации флага, указывающей то, превышает или нет абсолютное MVD-значение 0, равно 1.
[181] Фиг. 16 является видом, иллюстрирующим синтаксическую структуру для передачи MVD из оборудования кодирования изображений в оборудование декодирования изображений согласно варианту осуществления настоящего раскрытия сущности.
[182] На фиг. 16, abs_mvd_greater0_flag[0] указывает то, превышает или нет абсолютное значение компонента по оси X MVD 0, и abs_mvd_greater0_flag[1] указывает то, что абсолютное значение компонента по оси Y MVD превышает 0. Аналогично, abs_mvd_greater1_flag[0] указывает то, превышает или нет абсолютное значение компонента по оси X MVD 1, и abs_mvd_greater1_flag[1] указывает то, превышает или нет абсолютное значение компонента по оси Y MVD 1. Как показано на фиг. 16, abs_mvd_greater1_flag может передаваться только тогда, когда abs_mvd_greater0_flag равен 1. На фиг. 16, abs_mvd_minus2 может указывать значение, полученное посредством вычитания 2 из абсолютного значения MVD, и mvd_sign_flag указывает то, является знак MVD положительным или отрицательным. С использованием синтаксической структуры, показанной на фиг. 16, MVD может извлекаться так, как показано в нижеприведенном уравнении 1.
[183] Уравнение 1
[184] MVD[compIdx]=abs_mvd_greater0_flag[compIdx]*(abs_mvd_minus2[compIdx]+2)*(1-2*mvd_sign_flag[compIdx])
[185] Между тем, MVD (MVDL0) для L0-прогнозирования и MVD (MVDL1) для L1-прогнозирования могут различаемо передаваться в служебных сигналах, и информация относительно MVD может включать в себя информацию относительно MVDL0 и/или информацию относительно MVDL1. Например, при применении MVP-режима и применении бипрогнозирования к текущему блоку, как информация относительно MVDL0, так и информация относительно MVDL1 могут передаваться в служебных сигналах.
[186] Общее представление прогнозирования на основе внутриблочного копирования (IBC)
[187] В дальнейшем в этом документе описывается IBC-прогнозирование согласно настоящему раскрытию сущности.
[188] IBC-прогнозирование может выполняться посредством модуля прогнозирования оборудования кодирования/декодирования изображений. IBC-прогнозирование может называться просто "IBC". IBC может использоваться для кодирования изображений контента/движущихся изображений, такого как кодирование экранного контента (SCC). IBC-прогнозирование может, по существу, выполняться в текущем кадре, но может выполняться аналогично взаимному прогнозированию в том, что опорный блок извлекается внутри текущего кадра. Таким образом, IBC может использовать, по меньшей мере, одну из технологий взаимного прогнозирования, описанных в настоящем раскрытии сущности. Например, IBC может использовать, по меньшей мере, один из вышеописанных способов извлечения информации движения (векторов движения). По меньшей мере, одна из технологий взаимного прогнозирования может частично модифицироваться и использоваться с учетом IBC-прогнозирования. IBC может ссылаться на текущий кадр и в силу этого может называться "ссылкой на текущие кадры (CPR)".
[189] Для IBC, оборудование 100 кодирования изображений может выполнять поблочное сопоставление (BM) и извлекать оптимальный блочный вектор (или вектор движения) для текущего блока (например, CU). Извлеченный блочный вектор (или вектор движения) может передаваться в служебных сигналах в оборудование декодирования изображений через поток битов с использованием способа, аналогичного передаче в служебных сигналах информации движения (вектора движения) при вышеописанном взаимном прогнозировании. Оборудование декодирования изображений может извлекать опорный блок для текущего блока в текущем кадре через передаваемый в служебных сигналах блочный вектор (вектор движения) и извлекать прогнозный сигнал (прогнозированный блок или прогнозные выборки) для текущего блока через него. Здесь, блочный вектор (или вектор движения) может указывать смещение от текущего блока до опорного блока, расположенного в уже восстановленной зоне в текущем кадре. Соответственно, блочный вектор (или вектор движения) может называться "вектором смещения". В дальнейшем в этом документе, в IBC, вектор движения может соответствовать блочному вектору или вектору смещения. Вектор движения текущего блока может включать в себя вектор движения для компонента сигнала яркости (вектор движения сигналов яркости) или вектор движения для компонента сигнала цветности (вектор движения сигналов цветности). Например, вектор движения сигналов яркости для IBC-кодированной CU может представлять собой целочисленную единицу выборок (т.е. целочисленную точность). Вектор движения сигналов цветности может отсекаться в целочисленных единицах выборок. Как описано выше, IBC может использовать, по меньшей мере, одну из технологий взаимного прогнозирования, и, например, вектор движения сигналов яркости может кодироваться/декодироваться с использованием вышеописанного режима объединения или MVP-режима.
[190] При применении режима объединения к IBC-блоку сигналов яркости, список возможных вариантов объединения для IBC-блока сигналов яркости может конструироваться аналогично списку возможных вариантов объединения во взаимном режиме, описанном со ссылкой на фиг. 14. Тем не менее, в случае IBC-блока сигналов яркости, временной соседний блок может не использоваться в качестве возможного варианта объединения.
[191] При применении MVP-режима к IBC-блоку сигналов яркости, список возможных MVP-вариантов для IBC-блока сигналов яркости может конструироваться аналогично списку возможных MVP-вариантов во взаимном режиме, описанном со ссылкой на фиг. 15. Тем не менее, в случае IBC-блока сигналов яркости, временной возможный вариант блока может не использоваться в качестве возможного MVP-варианта.
[192] В IBC, опорный блок извлекается из уже восстановленной зоны в текущем кадре. В этом случае, чтобы уменьшать потребление запоминающего устройства и сложность оборудования декодирования изображений, можно ссылаться только на предварительно заданную зону из уже восстановленных зон в текущем кадре. Предварительно заданная зона может включать в себя текущую CTU, в которую включается текущий блок. Посредством ограничения восстановленной зоны с возможностью ссылки предварительно заданной зоной, IBC-режим может реализовываться в аппаратных средствах с использованием локального внутримикросхемного запоминающего устройства.
[193] Оборудование кодирования изображений для выполнения IBC может выполнять поиск в предварительно заданной зоне, чтобы определять опорный блок с наименьшими RD-затратами и извлекать вектор движения (блочный вектор) на основе позиций опорного блока и текущего блока.
[194] То, следует или нет применять IBC к текущему блоку, может передаваться в служебных сигналах в качестве информации IBC-производительности на уровне CU. Информация относительно способа передачи служебных сигналов (IBC MVP-режима или режима IBC-пропуска/объединения) вектора движения текущего блока может передаваться в служебных сигналах. Информация IBC-производительности может использоваться для того, чтобы определять режим прогнозирования текущего блока. Соответственно, информация IBC-производительности может включаться в информацию относительно режима прогнозирования текущего блока.
[195] В случае режима IBC-пропуска/объединения, индекс возможного варианта объединения может передаваться в служебных сигналах, чтобы указывать блочный вектор, который должен использоваться для прогнозирования текущего блока сигналов яркости, из блочных векторов, включенных в список возможных вариантов объединения. В этом случае, список возможных вариантов объединения может включать в себя IBC-кодированные соседние блоки. Список возможных вариантов объединения может быть выполнен с возможностью включать в себя пространственные возможные варианты объединения и не включать в себя временные возможные варианты объединения. Помимо этого, список возможных вариантов объединения дополнительно может включать в себя возможные варианты предикторов векторов движения на основе предыстории (HMVP) и/или попарные возможные варианты.
[196] В случае IBC MVP-режима, разностное значение блочных векторов может кодироваться с использованием способа, идентичного способу для разностного значения векторов движения вышеописанного взаимного режима. Способ прогнозирования блочных векторов может конструировать и использовать список возможных MVP-вариантов, включающий в себя два возможных варианта, в качестве предикторов аналогично MVP-режиму для взаимного режима. Один из двух возможных вариантов может извлекаться из левого соседнего блока, и другой возможный вариант может извлекаться из верхнего соседнего блока. В этом случае, только тогда, когда левый или верхний соседний блок IBC-кодируется, возможные варианты могут извлекаться из соответствующего соседнего блока. Если левый или верхний соседний блок не доступен, например, не IBC-кодируется, блочный вектор по умолчанию может включаться в список возможных MVP-вариантов в качестве предиктора. Помимо этого, информация (например, флаг), указывающая один из двух предикторов блочных векторов, передается в служебных сигналах и используется в качестве информации выбора возможных вариантов аналогично MVP-режиму для взаимного режима. Список возможных MVP-вариантов может включать в себя возможный HMVP-вариант и/или нулевой вектор движения в качестве блочного вектора по умолчанию.
[197] Возможный HMVP-вариант может называться "возможным MVP-вариантом на основе предыстории", и возможный MVP-вариант, используемый перед кодированием/декодированием текущего блока, возможный вариант объединения или возможный вариант блочного вектора могут сохраняться в HMVP-списке в качестве возможных HMVP-вариантов. После этого, когда список возможных вариантов объединения текущего блока или список возможных MVP-вариантов не включает в себя максимальное число возможных вариантов, возможные варианты, сохраненные в HMVP-списке, могут добавляться в список возможных вариантов объединения или список возможных MVP-вариантов текущего блока в качестве возможных HMVP-вариантов.
[198] Попарный возможный вариант означает возможный вариант, извлекаемый посредством выбора двух возможных вариантов согласно предварительно определенному порядку из числа возможных вариантов, уже включенных в список возможных вариантов объединения текущего блока, и усреднения выбранных двух возможных вариантов.
[199] Фиг. 17 является блок-схемой последовательности операций, иллюстрирующей способ кодирования видео/изображений на основе IBC.
[200] Фиг. 18 является видом, иллюстрирующим конфигурацию модуля прогнозирования для осуществления способа кодирования видео/изображений на основе IBC согласно настоящему раскрытию сущности.
[201] Способ кодирования по фиг. 17 может осуществляться посредством оборудования кодирования изображений по фиг. 2. В частности, этап S1410 может выполняться посредством модуля прогнозирования, и этап S1420 может выполняться посредством остаточного процессора. В частности, этап S1420 может выполняться посредством вычитателя 115. Этап S1430 может выполняться посредством энтропийного кодера 190. Информация прогнозирования этапа S1430 может извлекаться посредством модуля прогнозирования, и остаточная информация этапа S1430 может извлекаться посредством остаточного процессора. Остаточная информация представляет собой информацию относительно остаточных выборок. Остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования для остаточных выборок. Как описано выше, остаточные выборки могут извлекаться посредством коэффициентов преобразования через преобразователь 120 оборудования кодирования изображений, и коэффициенты преобразования могут извлекаться посредством коэффициентов преобразования, квантованных через квантователь 130. Информация относительно квантованных коэффициентов преобразования может кодироваться посредством энтропийного кодера 190 через процедуру остаточного кодирования.
[202] Оборудование кодирования изображений может выполнять IBC-прогнозирование (прогнозирование на основе IBC) для текущего блока (S1410). Оборудование кодирования изображений может извлекать режим прогнозирования и вектор движения (блочный вектор) текущего блока и формировать прогнозные выборки текущего блока. Режим прогнозирования может включать в себя, по меньшей мере, один из вышеописанных режимов взаимного прогнозирования. Здесь, процедуры определения режима прогнозирования, извлечения векторов движения и формирования прогнозных выборок могут выполняться одновременно, или любая процедура может выполняться перед другими процедурами. Например, как показано на фиг. 18, модуль прогнозирования оборудования кодирования изображений для осуществления способа кодирования видео/изображений на основе IBC может включать в себя модуль определения режима прогнозирования, модуль извлечения векторов движения и модуль извлечения прогнозных выборок. Модуль определения режима прогнозирования может определять режим прогнозирования текущего блока, модуль извлечения векторов движения может извлекать вектор движения текущего блока, и модуль извлечения прогнозных выборок может извлекать прогнозные выборки текущего блока. Например, модуль прогнозирования оборудования кодирования изображений может выполнять поиск блока, аналогичного текущему блоку, в восстановленной зоне (либо в определенной зоне (зоне поиска) восстановленной зоны) текущего кадра и извлекать опорный блок, разность которого относительно текущего блока равна или меньше определенного критерия либо минимума. Оборудование кодирования изображений может извлекать вектор движения на основе разности смещений между опорным блоком и текущим блоком. Оборудование кодирования изображений может определять режим, применяемый к текущему блоку, из различных режимов прогнозирования. Оборудование кодирования изображений может сравнивать RD-затраты для различных режимов прогнозирования и определять оптимальный режим прогнозирования для текущего блока. Тем не менее, способ определения режима прогнозирования для текущего блока посредством оборудования кодирования изображений не ограничен вышеприведенным примером, и могут использоваться различные способы.
[203] Например, при применении режима пропуска или режима объединения к текущему блоку, оборудование кодирования изображений может извлекать возможные варианты объединения из соседних блоков относительно текущего блока и конструировать список возможных вариантов объединения с использованием извлеченных возможных вариантов объединения. Помимо этого, оборудование кодирования изображений может извлекать опорный блок, разность которого относительно текущего блока равна или меньше определенного критерия или минимума, из опорных блоков, указываемых посредством возможных вариантов объединения, включенных в список возможных вариантов объединения. В этом случае, возможный вариант объединения, ассоциированный с извлеченным опорным блоком, может выбираться, и информация индекса объединения, указывающая выбранный возможный вариант объединения, может формироваться и передаваться в служебных сигналах в оборудование декодирования изображений. С использованием вектора движения выбранного возможного варианта объединения, может извлекаться вектор движения текущего блока.
[204] В качестве другого примера, при применении MVP-режима к текущему блоку, оборудование кодирования изображений может извлекать возможные варианты предикторов векторов движения (MVP) из соседних блоков относительно текущего блока и конструировать список возможных MVP-вариантов с использованием извлеченных возможных MVP-вариантов. Помимо этого, оборудование кодирования изображений может использовать вектор движения возможного MVP-варианта, выбранного из числа возможных MVP-вариантов, включенных в список возможных MVP-вариантов, в качестве MVP текущего блока. В этом случае, например, вектор движения, указывающий опорный блок, извлекаемый посредством вышеописанной оценки движения, может использоваться в качестве вектора движения текущего блока, и возможный MVP-вариант, имеющий наименьшую разность относительно вектора движения текущего блока из возможных MVP-вариантов, может становиться выбранным возможны MVP-вариантом. Разность векторов движения (MVD), которая получается посредством вычитания MVP из вектора движения текущего блока, может извлекаться. В этом случае, информация индекса, указывающая выбранный возможный MVP-вариант и информацию относительно MVD, может передаваться в служебных сигналах в оборудование декодирования изображений.
[205] Оборудование кодирования изображений может извлекать остаточные выборки на основе прогнозных выборок (S1420). Оборудование кодирования может извлекать остаточные выборки через сравнение между исходными выборками текущего блока и прогнозными выборками. Например, остаточная выборка может извлекаться посредством вычитания соответствующей прогнозной выборки из исходной выборки.
[206] Оборудование кодирования изображений может кодировать информацию изображений, включающую в себя информацию прогнозирования и остаточную информацию (S1430). Оборудование 100 кодирования изображений может выводить кодированную информацию изображений в форме потока битов. Информация прогнозирования может включать в себя информацию относительно информации режима прогнозирования (например, флаг пропуска, флаг объединения или индекс режима) и информацию движения в качестве информации, связанной с процедурой прогнозирования. Из информации режима прогнозирования, флаг пропуска указывает то, следует или нет применять режим пропуска к текущему блоку, и флаг объединения указывает то, следует или нет применять режим объединения к текущему блоку. Альтернативно, информация режима прогнозирования может указывать один из множества режимов прогнозирования, к примеру, индекс режима. Когда флаг пропуска и флаг объединения равны 0, может определяться то, что MVP-режим применяется к текущему блоку. Информация относительно вектора движения может включать в себя информацию выбора возможных вариантов (например, индекс объединения, MVP-флаг или MVP-индекс), которая представляет собой информацию для извлечения вектора движения. Из информации выбора возможных вариантов, индекс объединения может передаваться в служебных сигналах при применении режима объединения к текущему блоку, и может представлять собой информацию для выбора одного из возможных вариантов объединения, включенных в список возможных вариантов объединения. Из информации выбора возможных вариантов, MVP-флаг или MVP-индекс может передаваться в служебных сигналах при применении MVP-режима к текущему блоку и может представлять собой информацию для выбора одного из возможных MVP-вариантов, включенных в список возможных MVP-вариантов. Помимо этого, информация относительно вектора движения может включать в себя информацию относительно вышеописанной MVD. Помимо этого, информация относительно вектора движения может включать в себя информацию, указывающую то, следует применять L0-прогнозирование, L1-прогнозирование или бипрогнозирование. Остаточная информация представляет собой информацию относительно остаточных выборок. Остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования для остаточных выборок.
[207] Выходной поток битов может сохраняться на (цифровом) носителе хранения данных и передаваться в оборудование декодирования изображений либо может передаваться в оборудование декодирования изображений через сеть.
[208] Между тем, как описано выше, оборудование кодирования изображений может формировать восстановленный кадр (кадр, включающий в себя восстановленные выборки и восстановленный блок) на основе опорных выборок и остаточных выборок. Это служит для извлечения, посредством оборудования кодирования изображений, результата прогнозирования, идентичного прогнозированию, выполняемому посредством оборудования декодирования изображений, за счет этого повышая эффективность кодирования. Соответственно, оборудование кодирования изображений может сохранять восстановленный кадр (либо восстановленные выборки и восстановленный блок) в запоминающем устройстве и использовать его в качестве опорного кадра для взаимного прогнозирования. Процедура внутриконтурной фильтрации дополнительно может применяться к восстановленному кадру, как описано выше.
[209] Фиг. 19 является блок-схемой последовательности операций, иллюстрирующей способ декодирования видео/изображений на основе IBC.
[210] Фиг. 20 является видом, иллюстрирующим конфигурацию модуля прогнозирования для осуществления способа декодирования видео/изображений на основе IBC согласно настоящему раскрытию сущности.
[211] Оборудование декодирования изображений может выполнять операцию, соответствующую операции, выполняемой посредством оборудования кодирования изображений. Оборудование декодирования изображений может выполнять IBC-прогнозирование для текущего блока на основе принимаемой информации прогнозирования, чтобы извлекать прогнозные выборки.
[212] Способ декодирования по фиг. 19 может осуществляться посредством оборудования декодирования изображений по фиг. 3. Этапы S1610-S1630 могут выполняться посредством модуля прогнозирования и информации прогнозирования этапа S1610, и остаточная информация этапа S1640 может получаться из потока битов посредством энтропийного декодера 210. Остаточный процессор оборудования декодирования изображений может извлекать остаточные выборки для текущего блока на основе остаточной информации (S1640). В частности, деквантователь 220 остаточного процессора может выполнять деквантование на основе деквантованных коэффициентов преобразования, извлекаемых на основе остаточной информации, чтобы извлекать коэффициенты преобразования, и обратный преобразователь 230 остаточного процессора может выполнять обратное преобразование для коэффициентов преобразования, чтобы извлекать остаточные выборки для текущего блока. Этап S1650 может выполняться посредством сумматора 235 или модуля восстановления.
[213] В частности, оборудование декодирования изображений может определять режим прогнозирования текущего блока на основе принимаемой информации прогнозирования (S1610). Оборудование декодирования изображений может определять то, какой режим прогнозирования применяется к текущему блоку, на основе информации режима прогнозирования в информации прогнозирования.
[214] Например, может определяться то, следует или нет применять режим пропуска к текущему блоку, на основе флага пропуска. Помимо этого, может определяться то, следует применять режим объединения или MVP-режим к текущему блоку, на основе флага объединения. Альтернативно, один из различных возможных вариантов режимов прогнозирования может выбираться на основе индекса режима. Возможные варианты режимов взаимного прогнозирования могут включать в себя режим пропуска, режим объединения и/или MVP-режим или могут включать в себя вышеописанные различные режимы взаимного прогнозирования.
[215] Оборудование кодирования изображений может извлекать вектор движения текущего блока на основе определенного режима прогнозирования (S1620). Например, при применении режима пропуска или режима объединения к текущему блоку, оборудование декодирования изображений может конструировать вышеописанный список возможных вариантов объединения и выбирать один из режимов объединения, включенных в список возможных вариантов объединения. Выбор может выполняться на основе вышеописанной информации выбора возможных вариантов (индекса объединения). Вектор движения текущего блока может извлекаться с использованием вектора движения выбранного возможного варианта объединения. Например, вектор движения выбранного возможного варианта объединения может использоваться в качестве вектора движения текущего блока.
[216] В качестве другого примера, при применении MVP-режима к текущему блоку, оборудование декодирования изображений может конструировать список возможных MVP-вариантов и использовать вектор движения возможного MVP-варианта, выбранного из числа возможных MVP-вариантов, включенных в список возможных MVP-вариантов, в качестве MVP текущего блока. Выбор может выполняться на основе вышеописанной информации выбора возможных вариантов (MVP-флага или MVP-индекса). В этом случае, MVD текущего блока может извлекаться на основе информации относительно MVD, и вектор движения текущего блока может извлекаться на основе MVP и MVD текущего блока.
[217] Оборудование декодирования изображений может формировать прогнозные выборки текущего блока на основе вектора движения текущего блока (S1630). Прогнозные выборки текущего блока могут извлекаться с использованием выборок опорного блока, указываемого посредством вектора движения текущего блока в текущем кадре. В этом случае, процедура фильтрации прогнозных выборок для всех или некоторых прогнозных выборок текущего блока дополнительно может выполняться.
[218] Например, как показано на фиг. 20, модуль прогнозирования оборудования декодирования изображений для осуществления способа декодирования видео/изображений на основе IBC может включать в себя модуль определения режима прогнозирования, модуль извлечения векторов движения и модуль извлечения прогнозных выборок. Модуль прогнозирования оборудования декодирования изображений может определять режим прогнозирования для текущего блока на основе принимаемой информации режима прогнозирования в модуле определения режима прогнозирования, извлекать вектор движения текущего блока на основе принимаемой информации относительно вектора движения в модуле извлечения векторов движения и извлекать прогнозные выборки текущего блока в модуле извлечения прогнозных выборок.
[219] Оборудование декодирования изображений может формировать остаточные выборки текущего блока на основе принимаемой остаточной информации (S1640). Оборудование декодирования изображений может формировать восстановленные выборки для текущего блока на основе прогнозных выборок и остаточных выборок и формировать восстановленный кадр на их основе (S1650). После этого, процедура внутриконтурной фильтрации дополнительно может применяться к восстановленному кадру, как описано выше.
[220] Как описано выше, одна единица (например, единица кодирования (CU)) может включать в себя блок сигналов яркости (блок кодирования (CB) сигналов яркости) и блок сигналов цветности (CB сигналов цветности). В этом случае, блок сигналов яркости и блок сигналов цветности, соответствующий ему, могут иметь идентичную информацию движения (например, вектор движения) или различную информацию движения. Например, информация движения блока сигналов цветности может извлекаться на основе информации движения блока сигналов яркости, так что блок сигналов яркости и блок сигналов цветности, соответствующий ему, имеют идентичную информацию движения.
[221] Общее представление формата сигналов цветности
[222] В дальнейшем в этом документе описывается формат сигналов цветности. Изображение может кодироваться в кодированные данные, включающие в себя массив компонентов сигнала яркости (например, Y) и два массива компонентов сигнала цветности (например, Cb и Cr). Например, один пиксел кодированного изображения может включать в себя выборку сигналов яркости и выборку сигналов цветности. Формат сигналов цветности может использоваться для того, чтобы представлять конфигурационный формат выборки сигналов яркости и выборки сигналов цветности, и формат сигналов цветности может называться "цветовым форматом".
[223] В варианте осуществления, изображение может кодироваться в различные форматы сигналов цветности, такие как монохромный, 4:2:0, 4:2:2 или 4:4:4. При монохромной дискретизации, может быть предусмотрен один массив выборок, и массив выборок может представлять собой массив сигналов яркости. При дискретизации 4:2:0, могут быть предусмотрены один массив выборок сигналов яркости и два массива выборок сигналов цветности, каждый из двух массивов сигналов цветности может иметь высоту, равную половине высоты массива сигналов яркости, и ширину, равную половине ширины массива сигналов яркости. При дискретизации 4:2:2, могут быть предусмотрены один массив выборок сигналов яркости и два массива выборок сигналов цветности, каждый из двух массивов сигналов цветности может иметь высоту, равную высоте массива сигналов яркости, и ширину, равную половине ширины массива сигналов яркости. При дискретизации 4:4:4, могут быть предусмотрены один массив выборок сигналов яркости и два массива выборок сигналов цветности, и каждый из двух массивов сигналов цветности может иметь высоту и ширину, равную высоте и ширине массива сигналов яркости.
[224] Например, при дискретизации 4:2:0, выборка сигналов цветности может быть расположена ниже выборки сигналов яркости, соответствующей ей. При дискретизации 4:2:2, выборка сигналов цветности может быть расположена с возможностью перекрывать выборку сигналов яркости, соответствующую ей. При дискретизации 4:4:4, как выборка сигналов яркости, так и выборка сигналов цветности могут быть расположены в перекрывающейся позиции.
[225] Формат сигналов цветности, используемый в оборудовании кодирования и оборудовании декодирования, может быть предварительно определен. Альтернативно, формат сигналов цветности может передаваться в служебных сигналах из оборудования кодирования в оборудование декодирования с возможностью адаптивно использоваться в оборудовании кодирования и оборудовании декодирования. В варианте осуществления, формат сигналов цветности может передаваться в служебных сигналах на основе, по меньшей мере, одного из chroma_format_idc или separate_colour_plane_flag. По меньшей мере, один из chroma_format_idc или separate_colour_plane_flag может передаваться в служебных сигналах через высокоуровневый синтаксис, такой как DPS, VPS, SPS или PPS. Например, chroma_format_idc и separate_colour_plane_flag может включаться в SPS-cинтаксис, показанный на фиг. 21.
[226] Между тем, фиг. 22 показывает вариант осуществления классификации форматов сигналов цветности с использованием передачи в служебных сигналах chroma_format_idc и separate_colour_plane_flag; chroma_format_idc может представлять собой информацию, указывающую формат сигналов цветности, применяемый к кодированному изображению; separate_colour_plane_flag может указывать то, обрабатывается или нет цветовой массив отдельно в конкретном формате сигналов цветности. Например, первое значение (например, 0) chroma_format_idc может указывать монохромную дискретизацию. Второе значение (например, 1) chroma_format_idc может указывать дискретизацию 4:2:0. Третье значение (например, 2) chroma_format_idc может указывать дискретизацию 4:2:2. Четвертое значение (например, 3) chroma_format_idc может указывать дискретизацию 4:4:4.
[227] При 4:4:4, может применяться следующее на основе значения separate_colour_plane_flag. Если значение separate_colour_plane_flag составляет первое значение (например, 0), каждый из двух массивов сигналов цветности может иметь высоту и ширину, идентичные высоте и ширине массива сигналов яркости. В этом случае, значение ChromaArrayType, указывающего тип массива выборок сигналов цветности, может задаваться равным chroma_format_idc. Если значение separate_colour_plane_flag составляет второе значение (например, 1), массивы выборок сигналов яркости, Cb-выборок и Cr-выборок могут отдельно обрабатываться и обрабатываться наряду с монохромно дискретизированными кадрами. В этом случае, ChromaArrayType может задаваться равным 0.
[228] Внутреннее прогнозирование для блока сигналов цветности
[229] Когда внутреннее прогнозирование выполняется для текущего блока, прогнозирование относительно блока компонентов сигнала яркости (блока сигналов яркости) текущего блока и прогнозирование относительно блока компонентов сигнала цветности (блока сигналов цветности) могут выполняться. В этом случае, режим внутреннего прогнозирования для блока сигналов цветности может задаваться отдельно от режима внутреннего прогнозирования для блока сигналов яркости.
[230] Например, режим внутреннего прогнозирования для блока сигналов цветности может указываться на основе информации режима внутреннего прогнозирования сигналов цветности, и информация режима внутреннего прогнозирования сигналов цветности может передаваться в служебных сигналах в форме синтаксического элемента intra_chroma_pred_mode. Например, информация режима внутреннего прогнозирования сигналов цветности может представлять одно из планарного режима, DC-режима, вертикального режима, горизонтального режима, извлеченного режима (DM) и режима на основе кросскомпонентной линейной модели (CCLM). Здесь, планарный режим может указывать режим #0 внутреннего прогнозирования, DC-режим может указывать режим #1 внутреннего прогнозирования, вертикальный режим может указывать режим #26 внутреннего прогнозирования, и горизонтальный режим может указывать режим #10 внутреннего прогнозирования. DM также может называться "прямым режимом". CCLM также может называться "линейной моделью (LM)".
[231] Между тем DM и CCLM представляют собой зависимые режимы внутреннего прогнозирования для прогнозирования блока сигналов цветности с использованием информации относительно блока сигналов яркости. DM может представлять режим, в котором режим внутреннего прогнозирования, идентичный режиму внутреннего прогнозирования для компонента сигнала яркости, применяется в качестве режима внутреннего прогнозирования для компонента сигнала цветности. Помимо этого, CCLM может представлять режим внутреннего прогнозирования с использованием, в качестве прогнозных выборок блока сигналов цветности, выборок, извлекаемых посредством субдискретизации восстановленных выборок блока сигналов яркости и последующего применения α и β, которые представляют собой CCLM-параметры, к субдискретизированным выборкам в процессе формирования блока прогнозирования для блока сигналов цветности.
[232] Уравнение 2
[233]
[234] где predc(i, j) может обозначать прогнозную выборку координат (i, j) текущего блока сигналов цветности в текущей CU; recL'(i, j) может обозначать восстановленную выборку координат (i, j) текущего блока сигналов яркости в CU. Например, recL'(i, j) может обозначать понижающе дискретизированную восстановленную выборку текущего блока сигналов яркости. Коэффициенты α и β линейной модели могут передаваться в служебных сигналах или извлекаться из соседних выборок.
[235] Виртуальная конвейерная единица данных
[236] Виртуальные конвейерные единицы данных (VPDU) могут задаваться для конвейерной обработки в кадре. VPDU могут задаваться как неперекрывающиеся единицы в одном кадре. В аппаратном оборудовании декодирования, последовательные VPDU могут одновременно обрабатываться посредством нескольких ступеней конвейера. В большинстве ступеней конвейера, VPDU-размер может быть примерно пропорциональным размеру буфера. Соответственно, поддержание VPDU-размера небольшим является важным при рассмотрении размера буфера с точки зрения аппаратных средств. В большинстве видов аппаратного оборудования декодирования, VPDU-размер может задаваться равным максимальному размеру блока преобразования (TB). Например, VPDU-размер может составлять размер 64×64 (64×64 выборки сигнала яркости). Альтернативно, в VVC, VPDU-размер может изменяться (увеличиваться или уменьшаться) с учетом вышеописанной сегментации на троичное дерево (TT) и/или двоичное дерево (BT).
[237] Между тем, чтобы поддерживать VPDU-размер при выборке выборок сигналов яркости 64×64, разбиение CU, показанное на фиг. 23, может ограничиваться. Более конкретно, по меньшей мере, одно из следующих ограничений может применяться.
[238] Ограничение 1: Разбиение на троичное дерево (TT) не разрешается для CU, имеющей ширину или высоту в 128 либо ширину и высоту в 128.
[239] Ограничение 2: Разбиение на горизонтальное двоичное дерево (BT) не разрешается для CU, имеющей 128xN (где N является целым числом, равным или меньшим 64 и большим 0) (например, разбиение горизонтальное на двоичное дерево не разрешается для CU, имеющей ширину 128 и высоту меньше 128).
[240] Ограничение 3: Разбиение на вертикальное двоичное дерево (BT) не разрешается для CU, имеющей Nx128 (где N является целым числом, равным или меньшим 64 и большим 0) (например, разбиение на вертикальное двоичное дерево не разрешается для CU, имеющей высоту в 128 и ширину меньше 128).
[241] Проблема ограничения максимального размера блока сигналов цветности для конвейерной обработки
[242] Как описано выше относительно структуры сегментации и процесса преобразования, CU может разбиваться, чтобы формировать множество TU. Когда размер CU превышает максимальный TU-размер, CU может разбиваться на множество TU. Следовательно, преобразование и/или обратное преобразование могут выполняться для каждой TU. В общем, максимальный TU-размер для блока сигналов яркости может задаваться равным максимальному доступному размеру преобразования, которое может выполняться посредством оборудования кодирования и/или оборудования декодирования. Примеры разбиения CU и TU согласно варианту осуществления показаны на фиг. 24-26.
[243] Фиг. 24 показывает пример TU, сформированной посредством разбиения CU сигналов яркости и CU сигналов цветности согласно варианту осуществления. В варианте осуществления, максимальный размер CU сигналов яркости может составлять 64×64, максимальный доступный размер преобразования может составлять 32×32, и неквадратная TU может не разрешаться. Следовательно, максимальный размер блока преобразования компонентов сигнала яркости может составлять 32×32. В этом варианте осуществления, максимальный TU-размер может задаваться так, как показано в следующем уравнении.
[244] Уравнение 3
[245] maxTbSize=(cIdx==0)?MaxTbSizeY:MaxTbSizeY/max(SubWidthC, SubHeightC)
[246] В вышеприведенном уравнении, maxTbSize может представлять собой максимальный размер блока преобразования (TB), и cIdx может представлять собой цветовой компонент соответствующего блока; cIdx 0 может обозначать компонент сигнала яркости, 1 может обозначать компонент Cb-сигнала цветности, и 2 может обозначать компонент Cr-сигнала цветности. MaxTbSizeY может обозначать максимальный размер блока преобразования компонентов сигнала яркости, SubWidthC может обозначать отношение ширины блока сигналов яркости к ширине блока сигналов цветности, SubHeightC может обозначать отношение высоты блока сигналов яркости к высоте блока сигналов цветности, и max(A, B) может обозначать функцию для возврата большего значения из A и B в качестве результирующего значения.
[247] Согласно вышеприведенному уравнению, в вышеописанном варианте осуществления, в случае блока сигналов яркости, максимальный размер блока преобразования может задаваться в качестве максимального размера блока преобразования компонентов сигнала яркости. Здесь, максимальный размер блока преобразования компонентов сигнала яркости составляет значение, заданное во время кодирования, и может передаваться в служебных сигналах из оборудования кодирования в оборудование декодирования через поток битов.
[248] Помимо этого, в вышеприведенном варианте осуществления, максимальный размер блока преобразования блока сигналов цветности может задаваться равным значению, полученному посредством деления максимального размера блока преобразования компонентов сигнала яркости на большее значение из SubWidthC и SubHeightC. Здесь, SubWidthC и SubHeightC могут определяться на основе chroma_format_idc и separate_colour_plane_flag, передаваемых в служебных сигналах из оборудования кодирования в оборудование декодирования через поток битов, как показано на фиг. 23.
[249] Согласно вышеприведенному уравнению, в вышеприведенном варианте осуществления, максимальный размер блока преобразования может определяться в качестве любого из минимальной ширины и минимальной высоты блока преобразования. Следовательно, TU-разбиение блока сигналов яркости и блока сигналов цветности в вышеуказанном варианте осуществления может выполняться, как показано на фиг. 24. Например, как показано на фиг. 24, в случае блока сигналов цветности, имеющего формат 4:2:2, поскольку максимальный размер блока преобразования определяется равным 16, CU сигналов цветности может разбиваться на множество блоков преобразования, в форме, отличающейся от формы разбиения CU сигналов яркости на блоки преобразования.
[250] Фиг. 25 показывает пример TU, сформированной посредством разбиения CU сигналов яркости и CU сигналов цветности согласно другому варианту осуществления. В варианте осуществления, максимальный размер CU сигналов яркости может составлять 128×128, максимальный доступный размер преобразования может составлять 64×64, и неквадратная TU может не разрешаться. Следовательно, максимальный размер блока преобразования компонентов сигнала яркости может составлять 64×64. В этом варианте осуществления, максимальный размер блока преобразования может задаваться так, как показано в следующем уравнении. В следующем уравнении, min(A, B) может представлять собой функцию для возврата меньшего значения из A и B.
[251] Уравнение 4
[252] maxTbSize=(cIdx==0)?MaxTbSizeY:MaxTbSizeY/min(SubWidthC, SubHeightC)
[253] Между тем, согласно вышеприведенному уравнению, поскольку большее значение из ширины и высоты соответствующего блока применяется в качестве максимального размера блока преобразования, CU сигналов яркости и CU сигналов цветности могут разбиваться на множество TU аналогично примеру по фиг. 25.
[254] В примерах по фиг. 24 и 25, при разбиении CU сигналов цветности, имеющей формат 4:2:2, на TU, она разбивается в форме, отличающейся от формы разбиения соответствующей CU сигналов яркости на TU. Тем не менее, когда кодирование/декодирование блока сигналов цветности выполняется со ссылкой на блок сигналов яркости, аналогично DM-режиму или CCLM-режиму для прогнозирования блока сигналов цветности, описанного выше, выполнение кодирования (или декодирования) соответствующего блока сигналов яркости сразу после кодирования (или декодирование) блока сигналов яркости, соответствующего блоку сигналов цветности, является эффективным для того, чтобы уменьшать задержку в конвейерной обработке и экономить запоминающее устройство.
[255] Тем не менее, в примере по фиг. 24, кодирование двух блоков 2421 и 2423 сигналов цветности должно выполняться после кодирования одного блока 2411 преобразования сигналов яркости, который требует отдельной обработки во взаимосвязи с различными цветовыми форматами (4:4:4 или 4:2:0). Помимо этого, в примере по фиг. 25, кодирование одного блока 2521 преобразования сигналов цветности должно выполняться после кодирования двух блоков 2511 и 2512 преобразования сигналов яркости. Таким образом, в вышеописанном способе TU-разбиения, когда формат 4:2:2 используется, поскольку блок сигналов яркости и блок сигналов цветности, соответствующий ему, не совпадают, отдельный процесс может добавляться, чтобы выполнять конвейерную обработку, или конвейерная обработка может не выполняться.
[256] Ограничение максимального размера блока преобразования сигналов цветности для конвейерной обработки
[257] В дальнейшем в этом документе описывается способ задания размера максимального блока преобразования для CU сигналов цветности с возможностью удовлетворять условию для выполнения вышеописанной VPDU.
[258] Фиг. 26 показывает пример TU, сформированной посредством разбиения CU сигналов яркости и CU сигналов цветности согласно другому варианту осуществления. В варианте осуществления, максимальный размер CU сигналов яркости может составлять 128×128, максимальный доступный размер преобразования может составлять 64×64, и разбиение на неквадратную TU может разрешаться. Следовательно, максимальный размер блока преобразования компонентов сигнала яркости может составлять 64×64.
[259] Как показано на фиг. 26, для разбиения на неквадратные TU, максимальный размер блока преобразования может задаваться для ширины и высоты. Например, максимальная ширина (maxTbWidth) блока преобразования и максимальная высота (maxTbHeight) блока преобразования могут задаваться так, как показано в следующих уравнениях, за счет этого задавая максимальный размер блока преобразования.
[260] Уравнение 5
[261] maxTbWidth=(cIdx==0)?MaxTbSizeY:MaxTbSizeY/SubWidthC
[262] Уравнение 6
[263] maxTbHeight=(cIdx==0)?MaxTbSizeY:MaxTbSizeY/SubHeightC
[264] Аналогично вышеописанному варианту осуществления, посредством задания максимального размера блока преобразования в качестве ширины и высоты, как показано в примере по фиг. 26, даже в случае CU сигналов цветности, имеющей формат 4:2:2, аналогично форме разбиения соответствующей CU сигналов яркости на TU, CU сигналов цветности может разбиваться на TU. Следовательно, посредством разбиения CU сигналов цветности на TU, чтобы соответствовать TU CU сигналов яркости, сразу после кодирования (или декодирования) блока сигналов яркости, кодирование (или декодирование) блока сигналов цветности, соответствующего ему, может выполняться, за счет этого уменьшая задержку в конвейерной обработке.
[265] Ограничение максимального размера блока преобразования сигналов цветности в режиме внутреннего прогнозирования
[266] В дальнейшем в этом документе описывается выполнение режима внутреннего прогнозирования, к которому применяется ограничение максимального размера блока преобразования сигналов цветности для вышеописанной конвейерной обработки сигналов цветности. Оборудование кодирования и оборудование декодирования могут выполнять внутреннее прогнозирование посредством ограничения максимального размера блока преобразования сигналов цветности согласно нижеприведенному описанию, и их операции могут соответствовать друг другу. Следовательно, в дальнейшем в этом документе описывается работа оборудования декодирования.
[267] Оборудование декодирования согласно варианту осуществления может формировать восстановленный кадр посредством выполнения внутреннего прогнозирования. Внутриконтурная фильтрация может выполняться для восстановленного кадра. Оборудование декодирования согласно варианту осуществления может непосредственно получать следующую информацию из потока битов или извлекать следующую информацию из другой информации, полученной из потока битов, чтобы выполнять внутреннее прогнозирование.
[268] - Выборочная позиция (xTb0, yTb0), указывающая позицию левой верхней выборки текущего блока преобразования относительно позиции левой верхней выборки текущего кадра.
[269] - Параметр nTbW, указывающий ширину текущего блока преобразования.
[270] - Параметр nTbH, указывающий высоту текущего блока преобразования.
[271] - Параметр predModeIntra, указывающий режим внутреннего прогнозирования текущей CU.
[272] - Параметр cIdx, указывающий цветовой компонент текущей CU.
[273] Оборудование декодирования может извлекать максимальную ширину maxTbWidth блока преобразования и максимальную высоту maxTbHeight блока преобразования из принимаемой информации следующим образом.
[274] Уравнение 7
[275] maxTbWidth=(cIdx==0)?MaxTbSizeY:MaxTbSizeY/SubWidthC
[276] Уравнение 8
[277] maxTbHeight=(cIdx==0)?MaxTbSizeY:MaxTbSizeY/SubHeightC
[278] Кроме того, оборудование декодирования может извлекать левую верхнюю выборочную позицию (xTbY, yTbY) текущего блока преобразования на основе того, представляет текущая CU собой компонент сигнала яркости или компонент сигнала цветности, следующим образом.
[279] Уравнение 9
[280] (xTbY, yTbY)=(cIdx==0)?(xTb0, yTb0):(xTb0*SubWidthC, yTb0*SubHeightC)
[281] В дальнейшем в этом документе, оборудование декодирования может выполнять внутреннее прогнозирование посредством выполнения следующей процедуры. Во-первых, оборудование декодирования может определять то, разбивается или нет текущий блок преобразования (S2710). Например, оборудование декодирования может определять то, разбивается или нет текущий блок преобразования, на основе того, превышает или нет ширина и высота текущего блока преобразования ширину и высоту максимального блока преобразования. Помимо этого, оборудование декодирования может определять то, выполняется или нет разбиение, дополнительно с учетом того, применяется или нет внутренний субсегмент (ISP) к текущей CU. Например, когда nTbW превышает maxTbWidth, или nTbH превышает maxTbHeight, оборудование декодирования может определять то, что внутреннее прогнозирование выполняется посредством разбиения текущего блока преобразования. Помимо этого, даже в этом случае, оборудование декодирования может определять то, что внутреннее прогнозирование выполняется посредством разбиения текущего блока преобразования, только когда ISP не применяется к текущей CU (например, значение IntraSubpartitonSplitType представляет собой NO_ISP_SPLIT, т.е. ISP не применяется к текущей CU).
[282] Когда текущий блок преобразования разбивается на блоки преобразования нижнего слоя, оборудование декодирования может извлекать ширину newTbW блока преобразования нижнего слоя и высоту newTbH блока преобразования нижнего слоя, как показано в следующем уравнении (S2720).
[283] Уравнение 10
[284] newTbW=(nTbW>maxTbWidth)?(nTbW/2):nTbW
[285] Уравнение 11
[286] newTbH=(nTbH>maxTbHeight)?(nTbH/2):nTbH
[287] Это описывается со ссылкой на фиг. 26. В варианте осуществления, ширина nTbW текущего блока преобразования может представлять собой ширину CU сигналов цветности, и высота nTbH текущего блока преобразования может представлять собой высоту CU сигналов цветности. В этом варианте осуществления, ширина newTbW блока преобразования нижнего слоя и высота newTbH блока преобразования нижнего слоя могут определяться в качестве ширины и высоты блока 2621 преобразования, разбитого из CU сигналов цветности. Таким образом, в этом варианте осуществления, текущий блок преобразования может представлять собой блок преобразования, имеющий ширину и высоту CU сигналов цветности, имеющей формат 4:2:2, и блоки преобразования нижнего слоя могут представлять собой первый блок 2621 преобразования нижнего слоя - четвертый блок 2624 нижнего слоя, полученные посредством разбиения текущего блока преобразования на четыре в неквадратной форме.
[288] Затем, оборудование декодирования может выполнять внутреннее прогнозирование с использованием блоков преобразования нижнего слоя, разбитых из текущего блока преобразования (S2730). Во-первых, оборудование декодирования может выполнять внутреннее прогнозирование для первого блока преобразования нижнего слоя. Ссылаясь на фиг. 26, первый блок 2621 преобразования нижнего слоя может указываться посредством выборочной позиции (xTb0, yTb0), ширины newTbW блока преобразования нижнего слоя и высоты newTbH блока преобразования нижнего слоя. Оборудование декодирования может выполнять внутреннее прогнозирование первого блока 2621 преобразования нижнего слоя с использованием режима predModeIntra внутреннего прогнозирования текущей CU и цветового компонента cIdx CU. Следовательно, модифицированный восстановленный кадр первого блока 2621 преобразования нижнего слоя может формироваться.
[289] Например, оборудование декодирования может формировать матрицу predSamples прогнозных выборок, имеющую размер (newTbW)x(newTbH), посредством выполнения процесса внутреннего выборочного прогнозирования. Например, оборудование декодирования может выполнять процесс внутреннего выборочного прогнозирования с использованием выборочной позиции (xTb0, yTb0), режима predModeIntra внутреннего прогнозирования, ширины (nTbW) newTbW блока преобразования, высоты (nTbH) newTbH блока преобразования, ширины (nCbW) nTbW блока кодирования и высоты (nCbH) nTbH блока кодирования и значения параметра cIdx.
[290] Помимо этого, оборудование декодирования может формировать матрицу reSamples остаточных выборок, имеющую размер (newTbW)x(newTbH), посредством выполнения процесса масштабирования и преобразования. Например, оборудование декодирования может выполнять процесс масштабирования и преобразования на основе выборочной позиции (xTb0, yTb0), значения параметра cIdx, ширины (nTbW) newTbW блока преобразования и высоты (nTbH) newTbH блока преобразования.
[291] Помимо этого, оборудование декодирования может формировать восстановленный кадр посредством выполнения процесса восстановления кадров для цветового компонента. Например, оборудование декодирования может задавать позицию блока преобразования равной (xTb0, yTb0), ширину (nTbW) блока преобразования равной newTbW, задавать высоту (nTbH) блока преобразования равной newTbH, использовать значение параметра cIdx, использовать матрицу predSamples прогнозных выборок, имеющую размер (newTbW)x(newTbH), и использовать матрицу reSamples остаточных выборок, имеющую размер (newTbW)x(newTbH), за счет этого выполняя процесс восстановления кадров для цветового компонента.
[292] Затем, когда nTbW превышает maxTbWidth, оборудование декодирования может выполнять внутреннее прогнозирование для второго блока преобразования нижнего слоя. Второй блок 2622 преобразования нижнего слоя может указываться посредством выборочной позиции (xTb0+newTbW, yTb0), ширины newTbW блока преобразования нижнего слоя и высоты newTbH блока преобразования нижнего слоя. Оборудование декодирования может выполнять внутреннее прогнозирование второго блока 2622 преобразования нижнего слоя с использованием режима predModeIntra внутреннего прогнозирования текущей CU и цветового компонента cIdx текущей CU. Внутреннее прогнозирование второго блока 2622 преобразования нижнего слоя может выполняться для его выборочной позиции аналогично внутреннему прогнозированию первого блока 2621 преобразования нижнего слоя. Следовательно, модифицированный восстановленный кадр второго блока 2622 преобразования нижнего слоя может формироваться.
[293] Затем, когда nTbH превышает maxTbHeight, оборудование декодирования может выполнять внутреннее прогнозирование для третьего блока преобразования нижнего слоя. Третий блок 2623 преобразования нижнего слоя может указываться посредством выборочной позиции (xTb0, yTb0+newTbH), ширины newTbW блока преобразования нижнего слоя и высоты newTbH блока преобразования нижнего слоя. Аналогично вышеприведенному описанию, оборудование декодирования может выполнять внутреннее прогнозирование с использованием режима predModeIntra внутреннего прогнозирования текущей CU и цветового компонента cIdx текущей CU.
[294] Затем, когда nTbW превышает maxTbWidth, и nTbH превышает maxTbHeight, оборудование декодирования может выполнять внутреннее прогнозирование для четвертого блока преобразования нижнего слоя. Четвертый блок 2624 преобразования нижнего слоя может указываться посредством выборочной позиции (xTb0+newTbW, yTb0+newTbH), ширины newTbW блока преобразования нижнего слоя и высоты newTbH блока преобразования нижнего слоя. Аналогично вышеприведенному описанию, оборудование декодирования может выполнять внутреннее прогнозирование с использованием режима predModeIntra внутреннего прогнозирования текущей CU и цветового компонента cIdx текущей CU.
[295] Между тем, оборудование декодирования может выполнять внутреннее прогнозирование следующим образом, когда разбиение текущего блока преобразования не выполняется. Например, когда nTbW меньше maxTbWidth, и nTbH меньше maxTbHeight, или ISP применяется к текущей CU (например, значение IntraSubpartitonSplitType не представляет собой NO_ISP_SPLIT), текущий блок преобразования может не разбиваться.
[296] Во-первых, оборудование декодирования может извлекать параметры nW, nH, numPartsX и numPartsY, как показано в следующих уравнениях.
[297] Уравнение 12
[298] nW=IntraSubPartitionsSplitType==ISP_VER_SPLIT? nTbW/NumIntraSubPartitions:nTbW
[299] nH=IntraSubPartitionsSplitType==ISP_HOR_SPLIT? nTbH/NumIntraSubPartitions:nTbH
[300] numPartsX=IntraSubPartitionsSplitType==ISP_VER_SPLIT? NumIntraSubPartitions:1
[301] numPartsY=IntraSubPartitionsSplitType==ISP_HOR_SPLIT? NumIntraSubPartitions:1
[302] В вышеприведенном уравнении, IntraSubPartitionsSplitType указывает тип ISP-разбиения текущей CU, и ISP_VER_SPLIT указывает вертикальное ISP-разбиение, и ISP_HOR_SPLIT указывает горизонтальное ISP-разбиение. NumIntraSubPartitions указывает число ISP-субсегментов.
[303] Затем, оборудование декодирования может формировать матрицу predSamples прогнозных выборок, имеющую размер (nTbW)x(nTbH), посредством выполнения процесса внутреннего выборочного прогнозирования. Например, оборудование декодирования может выполнять процесс внутреннего выборочного прогнозирования с использованием выборочной позиции (xTb0+nW*xPartIdx, yTb0+nH*yPartIdx), режима predModeIntra внутреннего прогнозирования, ширины (nTbW) nW блока преобразования, высоты (nTbH) nH блока преобразования, ширины (nCbW) nTbW блока кодирования и высоты (nCbH) nTbH блока кодирования и значения параметра cIdx. Здесь, значение индекса xPartIdx сегмента может иметь значение от 0 до numPartX-1, и yPartIdx может иметь значение от 0 до numPartsY-1.
[304] Затем, оборудование декодирования может формировать матрицу reSamples остаточных выборок, имеющую размер (nTbW)x(nTbH), посредством выполнения процесса масштабирования и преобразования. Например, оборудование декодирования может выполнять процесс масштабирования и преобразования на основе выборочной позиции (xTbY+nW*xPartIdx, yTbY+nH*yPartIdx), значения параметра cIdx, ширины (nTbW) nW блока преобразования и высоты (nTbH) nH блока преобразования.
[305] Затем, оборудование декодирования может формировать восстановленный кадр посредством выполнения процесса восстановления кадров для цветового компонента. Например, оборудование декодирования может задавать позицию блока преобразования равной (xTb0+nW*xPartIdx, yTb0+nH*yPartIdx), задавать ширину (nTbW) блока преобразования равной nW, задавать высоту (nTbH) блока преобразования равной nH, использовать значение предварительно установленного cIdx и использовать матрицу predSamples прогнозных выборок, имеющую размер (nTbW)x(nTbH), и матрицу reSamples остаточных выборок, имеющую размер (nTbW)x(nTbH), за счет этого выполняя процесс восстановления кадров для цветового компонента.
[306] Ограничение максимального размера блока преобразования сигналов цветности в режиме взаимного прогнозирования и в режиме IBC-прогнозирования
[307] В дальнейшем в этом документе описывается выполнение режима взаимного прогнозирования и режима IBC-прогнозирования, к которым применяется ограничение максимального размера блока преобразования сигналов цветности для вышеописанной конвейерной обработки сигналов цветности. Оборудование кодирования и оборудование декодирования могут выполнять взаимное прогнозирование и IBC-прогнозирование посредством ограничения максимального размера блока преобразования сигналов цветности согласно нижеприведенному описанию, и их операции могут соответствовать друг другу. Помимо этого, нижеприведенное описание взаимного прогнозирования может применяться к режиму IBC-прогнозирования с изменением. Следовательно, в дальнейшем в этом документе описывается операция взаимного прогнозирования оборудования декодирования согласно варианту осуществления.
[308] Оборудование декодирования согласно варианту осуществления может формировать блок predSamplesL прогнозирования сигналов яркости, имеющий размер (cbWidth)x(cbHeight), и блоки predSamplesCb и predSamplesCr прогнозирования сигналов цветности, имеющие размер (cbWidth/SubWidthC)x(cbHeight/SubHeightC), посредством выполнения взаимного прогнозирования. Здесь, cbWidth может представлять собой ширину текущей CU, и cbHeight может представлять собой высоту текущей CU.
[309] Помимо этого, оборудование декодирования может формировать остаточный блок resSamplesL сигналов яркости, имеющий размер (cbWidth)x(cbHeight), и остаточные блоки resSamplesCr и resSamplesCb сигналов цветности, имеющие размер (cbWidth/SubWidthC)x(cbHeight/SubHeightC). В завершение, оборудование декодирования может формировать восстановленный блок с использованием блоков прогнозирования и остаточных блоков.
[310] В дальнейшем в этом документе описывается способ ограничения максимального размера блока преобразования сигналов цветности, чтобы формировать остаточный блок CU, кодированной в режиме взаимного прогнозирования, посредством оборудования декодирования согласно варианту осуществления. Оборудование декодирования может формировать восстановленный блок с использованием остаточного блока, сформированного на этом этапе.
[311] Оборудование декодирования согласно варианту осуществления может непосредственно получать следующую информацию из потока битов или извлекать следующую информацию из другой информации, полученной из потока битов, чтобы формировать остаточный блок, имеющий размер (nTbW)x(nTbH) CU, кодированной в режиме взаимного прогнозирования. Здесь, nTbW и nTbH могут задаваться равными ширине cbWidth текущей CU и высоте cbHeight текущей CU.
[312] - Выборочная позиция (xTb0, yTb0), указывающая позицию левой верхней выборки текущего блока преобразования относительно позиции левой верхней выборки текущего кадра.
[313] - Параметр nTbW, указывающий ширину текущего блока преобразования.
[314] - Параметр nTbH, указывающий высоту текущего блока преобразования.
[315] - Параметр cIdx, указывающий цветовой компонент текущей CU.
[316] Оборудование декодирования может извлекать максимальную ширину maxTbWidth блока преобразования и максимальную высоту maxTbHeight блока преобразования из принимаемой информации следующим образом.
[317] Уравнение 13
[318] maxTbWidth=(cIdx==0)?MaxTbSizeY:MaxTbSizeY/SubWidthC
[319] Уравнение 14
[320] maxTbHeight=(cIdx==0)?MaxTbSizeY:MaxTbSizeY/SubHeightC
[321] Кроме того, оборудование декодирования может извлекать левую верхнюю выборочную позицию (xTbY, yTbY) текущего блока преобразования на основе того, представляет текущая CU собой компонент сигнала яркости или компонент сигнала цветности, следующим образом.
[322] Уравнение 15
[323] (xTbY, yTbY)=(cIdx==0)?(xTb0, yTb0):(xTb0*SubWidthC, yTb0*SubHeightC)
[324] Как указано в вышеприведенном уравнении, когда текущий блок преобразования представляет собой блок сигналов цветности, чтобы отражать размер блока сигналов цветности, определенного согласно формату сигналов цветности текущего блока преобразования, максимальная ширина и высота блока преобразования и левая верхняя выборочная позиция текущего блока преобразования могут определяться на основе формата сигналов цветности.
[325] В дальнейшем в этом документе, оборудование декодирования может формировать остаточный блок посредством выполнения следующей процедуры. Во-первых, оборудование декодирования может определять то, разбивается или нет текущий блок преобразования (S2810). Например, оборудование декодирования может определять то, разбивается или нет текущий блок преобразования, на основе того, превышает или нет ширина и высота текущего блока преобразования ширину и высоту максимального блока преобразования. Например, когда nTbW превышает maxTbWidth, или nTbH превышает maxTbHeight, оборудование декодирования может определять то, что блоки преобразования нижнего слоя формируются посредством разбиения текущего блока преобразования.
[326] Когда текущий блок преобразования разбивается на блоки преобразования нижнего слоя, как указано в вышеприведенном примере внутреннего прогнозирования, оборудование декодирования может извлекать ширину newTbW блока преобразования нижнего слоя и высоту newTbH блока преобразования нижнего слоя, как показано в следующем уравнении (S2820).
[327] Уравнение 16
[328] newTbW=(nTbW>maxTbWidth)?(nTbW/2):nTbW
[329] Уравнение 17
[330] newTbH=(nTbH>maxTbHeight)?(nTbH/2):nTbH
[331] Затем, оборудование декодирования может формировать остаточный блок с использованием блоков преобразования нижнего слоя, разбитых из текущего блока преобразования (S2830). В варианте осуществления, как показано на фиг. 26, текущий блок преобразования может представлять собой блок преобразования, имеющий ширину и высоту CU сигналов цветности, имеющей формат 4:2:2, и блоки преобразования нижнего слоя могут представлять собой первый блок 2621 преобразования нижнего слоя - четвертый блок 2624 нижнего слоя, полученные посредством разбиения текущего блока преобразования на четыре в неквадратной форме.
[332] Во-первых, оборудование декодирования может формировать остаточный блок для первого блока преобразования нижнего слоя. Ссылаясь на фиг. 26, первый блок 2621 преобразования нижнего слоя может указываться посредством выборочной позиции (xTb0, yTb0), ширины newTbW блока преобразования нижнего слоя и высоты newTbH блока преобразования нижнего слоя. Оборудование декодирования может формировать остаточный блок первого блока 2621 преобразования нижнего слоя с использованием цветового компонента cIdx текущей CU. На основе этого, оборудование декодирования может формировать модифицированный восстановленный кадр. После этого, внутриконтурная фильтрация может выполняться для модифицированного восстановленного кадра.
[333] Затем, когда nTbW превышает maxTbWidth, оборудование декодирования может формировать остаточный блок для второго блока преобразования нижнего слоя. Второй блок 2622 преобразования нижнего слоя может указываться посредством выборочной позиции (xTb0+newTbW, yTb0), ширины newTbW блока преобразования нижнего слоя и высоты newTbH блока преобразования нижнего слоя. Оборудование декодирования может формировать остаточный блок второго блока 2622 преобразования нижнего слоя с использованием цветового компонента cIdx текущей CU. На основе этого, оборудование декодирования может формировать модифицированный восстановленный кадр. После этого, внутриконтурная фильтрация может выполняться для модифицированного восстановленного кадра.
[334] Затем, когда nTbH превышает maxTbHeight, оборудование декодирования может формировать остаточный блок для третьего блока преобразования нижнего слоя. Третий блок 2623 преобразования нижнего слоя может указываться посредством выборочной позиции (xTb0, yTb0+newTbH), ширины newTbW блока преобразования нижнего слоя и высоты newTbH блока преобразования нижнего слоя. Аналогично вышеприведенному описанию, оборудование декодирования может формировать остаточный блок с использованием цветового компонента cIdx текущей CU.
[335] Затем, когда nTbW превышает maxTbWidth, и nTbH превышает maxTbHeight, оборудование декодирования может формировать остаточный блок для четвертого блока преобразования нижнего слоя. Четвертый блок 2624 преобразования нижнего слоя может указываться посредством выборочной позиции (xTb0+newTbW, yTb0+newTbH), ширины newTbW блока преобразования нижнего слоя и высоты newTbH блока преобразования нижнего слоя. Аналогично вышеприведенному описанию, оборудование декодирования может формировать остаточный блок с использованием цветового компонента cIdx текущей CU.
[336] Между тем, когда разбиение текущего блока преобразования не выполняется, оборудование декодирования может выполнять взаимное прогнозирование следующим образом. Например, когда nTbW меньше maxTbWidth, и nTbH меньше maxTbHeight, текущий блок преобразования может не разбиваться. В этом случае, оборудование декодирования может формировать остаточный блок для режима взаимного прогнозирования, посредством выполнения процесса масштабирования и преобразования с использованием выборочной позиции (xTbY, xTbY), цветового компонента cIdx текущей CU, ширины nTbW блока преобразования и высоты nTbH блока преобразования в качестве ввода. На основе этого, оборудование декодирования может формировать модифицированный восстановленный кадр. После этого, внутриконтурная фильтрация может выполняться для модифицированного восстановленного кадра.
[337] Способ кодирования
[338] В дальнейшем в этом документе описывается способ выполнения кодирования посредством оборудования кодирования согласно варианту осуществления с использованием вышеописанного способа со ссылкой на фиг. 29. Оборудование кодирования согласно варианту осуществления может включать в себя запоминающее устройство и, по меньшей мере, один процессор, и, по меньшей мере, один процессор может осуществлять следующий способ кодирования.
[339] Во-первых, оборудование кодирования может определять текущий блок посредством разбиения изображения (S2910). Затем, оборудование кодирования может формировать блок внутреннего прогнозирования относительно текущего блока (S2920). Затем, оборудование кодирования может формировать остаточный блок относительно текущего блока на основе блока внутреннего прогнозирования (S2930). Затем, оборудование кодирования может кодировать информацию режима внутреннего прогнозирования относительно текущего блока (S2940).
[340] В этом случае, блок внутреннего прогнозирования и остаточный блок могут кодироваться на основе размера блока преобразования текущего блока, и размер блока преобразования может определяться на основе цветового компонента текущего блока.
[341] Цветовой компонент может представлять собой любой из компонента сигнала яркости и компонента сигнала цветности, и когда цветовой компонент текущего блока представляет собой компонент сигнала цветности, размер блока преобразования может определяться на основе цветового формата.
[342] Для задания размера блока преобразования, ширина блока преобразования может определяться на основе максимальной ширины блока преобразования, и максимальная ширина блока преобразования может определяться на основе максимального размера и цветового формата блока преобразования блока сигналов яркости, соответствующего текущему блоку.
[343] Помимо этого, для задания размера блока преобразования, высота блока преобразования может определяться на основе максимальной высоты блока преобразования, и максимальная высота блока преобразования может определяться на основе максимального размера и цветового формата блока преобразования блока сигналов яркости, соответствующего текущему блоку.
[344] Помимо этого, позиция левой верхней выборки блока преобразования может определяться на основе позиции и цветового формата левой верхней выборки блока сигналов яркости, соответствующего текущему блоку.
[345] Более конкретно, левая верхняя позиция блока преобразования может определяться на основе максимальной ширины блока преобразования и максимальной высоты блока преобразования, максимальная ширина блока преобразования может определяться на основе максимального размера и цветового формата блока преобразования блока сигналов яркости, соответствующего текущему блоку, и максимальная высота блока преобразования может определяться на основе максимального размера и цветового формата блока преобразования блока сигналов яркости, соответствующего текущему блоку.
[346] Помимо этого, текущий блок представляет собой блок сигналов цветности, и когда ширина блока преобразования превышает максимальную ширину блока преобразования, множество блоков преобразования нижнего слоя могут формироваться посредством вертикального разбиения текущего блока. В этом случае, блок внутреннего прогнозирования и остаточный блок могут формироваться на основе множества блоков преобразования нижнего слоя.
[347] Более конкретно, множество блоков преобразования нижнего слоя могут включать в себя первый блок преобразования нижнего слоя и второй блок преобразования нижнего слоя, и ширина первого блока преобразования нижнего слоя определяется в качестве максимальной ширины блока преобразования, и левая верхняя координата второго блока преобразования нижнего слоя может определяться в качестве значения, сдвигаемого от левой верхней координаты первого блока преобразования вправо на максимальную ширину блока преобразования.
[348] Помимо этого, текущий блок представляет собой блок сигналов цветности, и когда высота блока преобразования превышает максимальную высоту блока преобразования, множество блоков преобразования нижнего слоя могут формироваться посредством горизонтального разбиения текущего блока. В этом случае, блок внутреннего прогнозирования и остаточный блок могут формироваться на основе множества блоков преобразования нижнего слоя.
[349] Более конкретно, множество блоков преобразования нижнего слоя могут включать в себя третий блок преобразования нижнего слоя и четвертый блок преобразования нижнего слоя. Высота третьего блока преобразования нижнего слоя может определяться в качестве максимальной высоты блока преобразования, и левая верхняя координата четвертого блока преобразования нижнего слоя может определяться в качестве значения, сдвигаемого вниз от левой верхней координаты первого блока преобразования на максимальную высоту блока преобразования.
[350] В качестве реализации вышеприведенного описания, максимальный размер блока преобразования может составлять 64×64, когда цветовой формат текущего блока представляет собой формат 4:4:4, максимальный размер блока преобразования может составлять 32×64, когда цветовой формат текущего блока представляет собой формат 4:2:2, и максимальный размер блока преобразования может составлять 32×32, когда цветовой формат текущего блока представляет собой формат 4:2:0.
[351] Способ декодирования
[352] В дальнейшем в этом документе описывается способ выполнения декодирования посредством оборудования декодирования согласно варианту осуществления с использованием вышеописанного способа со ссылкой на фиг. 30. Оборудование декодирования согласно варианту осуществления может включать в себя запоминающее устройство и, по меньшей мере, один процессор, и, по меньшей мере, один процессор может осуществлять следующий способ декодирования.
[353] Во-первых, оборудование декодирования может получать текущий блок посредством разбиения изображения (S3010). Затем, оборудование декодирования может определять режим прогнозирования текущего блока (S3020). Затем, когда режим прогнозирования текущего блока представляет собой режим внутреннего прогнозирования, оборудование декодирования может формировать блок внутреннего прогнозирования относительно текущего блока (S3030). Затем, оборудование декодирования может формировать остаточный блок относительно текущего блока (S3040). Затем, оборудование декодирования может восстанавливать текущий блок на основе блока прогнозирования и остаточного блока относительно текущего блока (S3050).
[354] В этом случае, блок внутреннего прогнозирования и остаточный блок могут формироваться на основе размера блока преобразования текущего блока, и размер блока преобразования может определяться на основе цветового компонента текущего блока.
[355] Цветовой компонент может представлять собой любой из компонента сигнала яркости и компонента сигнала цветности, и когда цветовой компонент текущего блока представляет собой компонент сигнала цветности, размер блока преобразования может определяться на основе цветового формата.
[356] Для задания размера блока преобразования, ширина блока преобразования может определяться на основе максимальной ширины блока преобразования, и максимальная ширина блока преобразования может определяться на основе максимального размера и цветового формата блока преобразования блока сигналов яркости, соответствующего текущему блоку.
[357] Помимо этого, для задания размера блока преобразования, высота блока преобразования может определяться на основе максимальной высоты блока преобразования, и максимальная высота блока преобразования может определяться на основе максимального размера и цветового формата блока преобразования блока сигналов яркости, соответствующего текущему блоку.
[358] Помимо этого, позиция левой верхней выборки блока преобразования может определяться на основе позиции и цветового формата левой верхней выборки блока сигналов яркости, соответствующего текущему блоку.
[359] Более конкретно, левая верхняя позиция блоков преобразования нижнего слоя могут определяться на основе максимальной ширины блока преобразования и максимальной высоты блока преобразования, максимальная ширина блока преобразования может определяться на основе максимального размера и цветового формата блока преобразования блока сигналов яркости, соответствующего текущему блоку, и максимальная высота блока преобразования может определяться на основе максимального размера и цветового формата блока преобразования блока сигналов яркости, соответствующего текущему блоку.
[360] Помимо этого, текущий блок представляет собой блок сигналов цветности, и когда ширина блока преобразования превышает максимальную ширину блока преобразования, множество блоков преобразования нижнего слоя могут формироваться посредством вертикального разбиения текущего блока. В этом случае, блок внутреннего прогнозирования и остаточный блок могут формироваться на основе множества блоков преобразования нижнего слоя.
[361] Более конкретно, множество блоков преобразования нижнего слоя могут включать в себя первый блок преобразования нижнего слоя и второй блок преобразования нижнего слоя, и ширина первого блока преобразования нижнего слоя определяется в качестве максимальной ширины блока преобразования, и левая верхняя координата второго блока преобразования нижнего слоя может определяться в качестве значения, сдвигаемого от левой верхней координаты первого блока преобразования вправо на максимальную ширину блока преобразования.
[362] Помимо этого, текущий блок представляет собой блок сигналов цветности, и когда высота блока преобразования превышает максимальную высоту блока преобразования, множество блоков преобразования нижнего слоя могут формироваться посредством горизонтального разбиения текущего блока. В этом случае, блок внутреннего прогнозирования и остаточный блок могут формироваться на основе множества блоков преобразования нижнего слоя.
[363] Более конкретно, множество блоков преобразования нижнего слоя могут включать в себя третий блок преобразования нижнего слоя и четвертый блок преобразования нижнего слоя. Высота третьего блока преобразования нижнего слоя может определяться в качестве максимальной высоты блока преобразования, и левая верхняя координата четвертого блока преобразования нижнего слоя может определяться в качестве значения, сдвигаемого вниз от левой верхней координаты первого блока преобразования на максимальную высоту блока преобразования.
[364] В качестве реализации вышеприведенного описания, максимальный размер блока преобразования может составлять 64×64, когда цветовой формат текущего блока представляет собой формат 4:4:4, максимальный размер блока преобразования может составлять 32×64, когда цветовой формат текущего блока представляет собой формат 4:2:2, и максимальный размер блока преобразования может составлять 32×32, когда цветовой формат текущего блока представляет собой формат 4:2:0.
[365] Вариант применения
[366] Хотя примерные способы настоящего раскрытия сущности, описанного выше, представляются как последовательность операций для ясности описания, это не имеет намерение ограничивать порядок, в котором выполняются этапы, и этапы могут выполняться одновременно или в другом порядке при необходимости. Чтобы реализовывать способ согласно настоящему раскрытию сущности, описанные этапы дополнительно могут включать в себя другие этапы, могут включать в себя оставшиеся этапы, за исключением некоторых этапов, либо могут включать в себя другие дополнительные этапы, за исключением некоторых этапов.
[367] В настоящем раскрытии сущности, оборудование кодирования изображений или оборудование декодирования изображений, которое выполняет предварительно определенную операцию (этап), может выполнять операцию (этап) подтверждения условия или ситуации выполнения соответствующей операции (этап). Например, если описывается то, что предварительно определенная операция выполняется, когда предварительно определенное условие удовлетворяется, оборудование кодирования изображений или оборудование декодирования изображений может выполнять предварительно определенную операцию после определения того, удовлетворяется или нет предварительно определенное условие.
[368] Различные варианты осуществления настоящего раскрытия сущности не представляют собой список всех возможных комбинаций и имеют намерение описывать характерные аспекты настоящего раскрытия сущности, и вопросы, описанные в различных вариантах осуществления, могут применяться независимо либо в комбинации двух или более из них.
[369] Различные варианты осуществления настоящего раскрытия сущности могут реализовываться в аппаратных средствах, микропрограммном обеспечении, программном обеспечении либо в комбинации вышеозначенного. В случае реализации настоящего раскрытия сущности посредством аппаратных средств, настоящее раскрытие сущности может реализовываться с помощью специализированных интегральных схем (ASIC), процессоров цифровых сигналов (DSP), устройств обработки цифровых сигналов (DSPD), программируемых логических устройств (PLD), программируемых пользователем вентильных матриц (FPGA), общих процессоров, контроллеров, микроконтроллеров, микропроцессоров и т.д.
[370] Помимо этого, оборудование декодирования изображений и оборудование кодирования изображений, к которым применяются варианты осуществления настоящего раскрытия сущности, могут включаться в мультимедийное широковещательное приемо-передающее устройство, терминал мобильной связи, видеоустройство системы домашнего кинотеатра, видеоустройство системы цифрового кинотеатра, камеру наблюдения, устройство проведения видеочатов, устройство связи в реальном времени, к примеру, для видеосвязи, мобильное устройство потоковой передачи, носитель хранения данных, записывающую видеокамеру, устройство предоставления услуг на основе технологии "видео по запросу" (VoD), устройство на основе OTT-видео (видео поверх сетей), устройство предоставления услуг потоковой передачи по Интернету, трехмерное видеоустройство, видеоустройство системы видеотелефонии, медицинское видеоустройство и т.п. и могут использоваться для того, чтобы обрабатывать видеосигналы или сигналы данных. Например, OTT-видеоустройства могут включать в себя игровую консоль, Blu-Ray-проигрыватель, телевизор с доступом в Интернет, систему домашнего кинотеатра, смартфон, планшетный PC, цифровое записывающее видеоустройство (DVR) и т.п.
[371] Фиг. 31 является видом, показывающим систему потоковой передачи контента, к которой является применимым вариант осуществления настоящего раскрытия сущности.
[372] Ссылаясь на фиг. 31, система потоковой передачи контента, к которой применяется вариант(ы) осуществления настоящего документа, может включать в себя, главным образом, сервер кодирования, потоковый сервер, веб-сервер, хранилище мультимедиа, пользовательское устройство и устройство ввода мультимедиа.
[373] Сервер кодирования сжимает контент, вводимый из устройств ввода мультимедиа, таких как смартфон, камера, записывающая видеокамера и т.д., в цифровые данные для того, чтобы формировать поток битов, и передает поток битов на потоковый сервер. В качестве другого примера, когда устройства ввода мультимедиа, такие как смартфоны, камеры, записывающие видеокамеры и т.д., непосредственно формируют поток битов, сервер кодирования может опускаться.
[374] Поток битов может формироваться посредством способа кодирования изображений или оборудования кодирования изображений, к которому применяется вариант осуществления настоящего раскрытия сущности, и потоковый сервер может временно сохранять поток битов в процессе передачи или приема потока битов.
[375] Потоковый сервер передает мультимедийные данные в пользовательское устройство на основе запроса пользователя через веб-сервер, и веб-сервер служит в качестве среды для информирования пользователя в отношении услуги. Когда пользователь запрашивает требуемую услугу из веб-сервера, веб-сервер может доставлять ее на потоковый сервер, и потоковый сервер может передавать мультимедийные данные пользователю. В этом случае, система потоковой передачи контента может включать в себя отдельный сервер управления. В этом случае, сервер управления служит для того, чтобы управлять командой/ответом между устройствами в системе потоковой передачи контента.
[376] Потоковый сервер может принимать контент из хранилища мультимедиа и/или сервера кодирования. Например, когда контент принимается из сервера кодирования, контент может приниматься в реальном времени. В этом случае, чтобы предоставлять плавную услугу потоковой передачи, потоковый сервер может сохранять поток битов в течение предварительно определенного времени.
[377] Примеры пользовательского устройства могут включать в себя мобильный телефон, смартфон, переносной компьютер, цифровой широковещательный терминал, персональное цифровое устройство (PDA), портативный мультимедийный проигрыватель (PMP), навигационное устройство, грифельный планшетный PC, планшетные PC, ультрабуки, носимые устройства (например, интеллектуальные часы, интеллектуальные очки, наголовные дисплеи), цифровые телевизоры, настольные компьютеры, систему цифровых информационных табло и т.п.
[378] Каждый сервер в системе потоковой передачи контента может работать в качестве распределенного сервера, причем в этом случае данные, принимаемые из каждого сервера, могут распределяться.
[379] Объем раскрытия сущности включает в себя программное обеспечение или машиноисполняемые команды (например, операционную систему, приложение, микропрограммное обеспечение, программу и т.д.) для обеспечения возможности выполнения операций согласно способам различных вариантов осуществления в оборудовании или компьютере, энергонезависимый машиночитаемый носитель, имеющий такое программное обеспечение или команды, сохраненные и выполняемые в оборудовании или компьютере.
Промышленная применимость
[380] Варианты осуществления настоящего раскрытия сущности могут использоваться для того, чтобы кодировать или декодировать изображение.
Изобретение относится к области кодирования видео или изображения, в частности к заданию максимального размера блока преобразования, используемого для блока сигналов цветности. Технический результат заключается в повышении эффективности кодирования/декодирования. Предложены способ и оборудование кодирования/декодирования изображений, где способ включает получение текущего блока посредством разбиения изображения, определение режима прогнозирования текущего блока, формирование блока внутреннего прогнозирования относительно текущего блока, на основе режима прогнозирования текущего блока, представляющего собой режим внутреннего прогнозирования, формирование остаточного блока относительно текущего блока и восстановление текущего блока на основе блока прогнозирования и остаточного блока относительно текущего блока. 2 н. и 11 з.п. ф-лы, 31 ил., 1 табл.
1. Способ декодирования изображений, осуществляемый посредством оборудования декодирования изображений, при этом способ декодирования изображений содержит этапы, на которых:
получают текущий блок посредством разбиения изображения;
определяют режим прогнозирования текущего блока;
формируют блок внутреннего прогнозирования относительно текущего блока, на основе режима прогнозирования текущего блока, представляющего собой режим внутреннего прогнозирования;
формируют остаточный блок относительно текущего блока; и
восстанавливают текущий блок на основе блока прогнозирования и остаточного блока относительно текущего блока,
при этом блок внутреннего прогнозирования и остаточный блок формируются на основе размера блока преобразования текущего блока,
при этом размер блока преобразования определяется на основе цветового компонента текущего блока, и
при этом максимальный размер блока преобразования определяется отдельно для каждой ширины и высоты блока преобразования.
2. Способ декодирования изображений по п. 1,
в котором цветовой компонент представляет собой одно из компонента сигнала яркости и компонента сигнала цветности.
3. Способ декодирования изображений по п. 1,
в котором, на основе цветового компонента текущего блока, представляющего собой компонент сигнала цветности, размер блока преобразования определяется на основе цветового формата.
4. Способ декодирования изображений по п. 3,
в котором ширина блока преобразования определяется на основе максимальной ширины блока преобразования, и
при этом максимальная ширина блока преобразования определяется на основе максимального размера и цветового формата блока преобразования блока сигналов яркости, соответствующего текущему блоку.
5. Способ декодирования изображений по п. 3,
в котором высота блока преобразования определяется на основе максимальной высоты блока преобразования, и
при этом максимальная высота блока преобразования определяется на основе максимального размера и цветового формата блока преобразования блока сигналов яркости, соответствующего текущему блоку.
6. Способ декодирования изображений по п. 1, в котором позиция левой верхней выборки блока преобразования определяется на основе позиции и цветового формата левой верхней выборки блока сигналов яркости, соответствующего текущему блоку.
7. Способ декодирования изображений по п. 1,
в котором левая верхняя позиция блока преобразования определяется на основе максимальной ширины блока преобразования и максимальной высоты блока преобразования,
при этом максимальная ширина блока преобразования определяется на основе максимального размера и цветового формата блока преобразования блока сигналов яркости, соответствующего текущему блоку, и
при этом максимальная высота блока преобразования определяется на основе максимального размера и цветового формата блока преобразования блока сигналов яркости, соответствующего текущему блоку.
8. Способ декодирования изображений по п. 1,
в котором текущий блок представляет собой блок сигналов цветности,
при этом, на основе ширины блока преобразования, превышающей максимальную ширину блока преобразования, множество блоков преобразования нижнего слоя формируются посредством вертикального разбиения текущего блока, и
при этом блок внутреннего прогнозирования и остаточный блок формируются на основе множества блоков преобразования нижнего слоя.
9. Способ декодирования изображений по п. 8,
в котором множество блоков преобразования нижнего слоя включают в себя первый блок преобразования нижнего слоя и второй блок преобразования нижнего слоя,
при этом ширина первого блока преобразования нижнего слоя определяется как половина ширины блока преобразования, и
при этом левая верхняя координата второго блока преобразования нижнего слоя определяется в качестве значения, сдвигаемого от левой верхней координаты блока преобразования вправо на половину ширины блока преобразования.
10. Способ декодирования изображений по п. 1,
в котором текущий блок представляет собой блок сигналов цветности,
при этом, на основе высоты блока преобразования, превышающей максимальную высоту блока преобразования, множество блоков преобразования нижнего слоя формируются посредством горизонтального разбиения текущего блока, и
при этом блок внутреннего прогнозирования и остаточный блок формируются на основе множества блоков преобразования нижнего слоя.
11. Способ декодирования изображений по п. 10,
в котором множество блоков преобразования нижнего слоя включают в себя третий блок преобразования нижнего слоя и четвертый блок преобразования нижнего слоя,
при этом высота третьего блока преобразования нижнего слоя определяется как половина высоты блока преобразования, и
при этом левая верхняя координата четвертого блока преобразования нижнего слоя определяется в качестве значения, сдвигаемого вниз от левой верхней координаты блока преобразования на половину высоты блока преобразования.
12. Способ декодирования изображений по п. 1, в котором максимальный размер блока преобразования составляет 64×64 на основе цветового формата текущего блока, представляющего собой формат 4:4:4, максимальный размер блока преобразования 32×64 на основе цветового формата текущего блока, представляющего собой формат 4:2:2, и максимальный размер блока преобразования составляет 32×32 на основе цветового формата текущего блока, представляющего собой формат 4:2:0.
13. Способ кодирования изображений, осуществляемый посредством оборудования кодирования изображений, при этом способ кодирования изображений содержит этапы, на которых:
определяют текущий блок посредством разбиения изображения;
формируют блок внутреннего прогнозирования относительно текущего блока;
формируют остаточный блок относительно текущего блока на основе блока внутреннего прогнозирования; и
кодируют информацию режима внутреннего прогнозирования относительно текущего блока,
при этом внутренний остаточный блок и остаточный блок кодируются на основе размера блока преобразования текущего блока,
при этом размер блока преобразования определяется на основе цветового компонента текущего блока, и
при этом максимальный размер блока преобразования определяется отдельно для каждой ширины и высоты блока преобразования.
US 2015373332 A1 - 2015-12-24 | |||
СПОСОБ ФОРМИРОВАНИЯ ВОССТАНОВЛЕННОГО БЛОКА | 2012 |
|
RU2604340C2 |
BENJAMIN BROSS et al | |||
Кипятильник для воды | 1921 |
|
SU5A1 |
Станок для придания концам круглых радиаторных трубок шестигранного сечения | 1924 |
|
SU2019A1 |
WO 2019054736 A1 - 2019-03-21 | |||
УСТРОЙСТВО ДЕКОДИРОВАНИЯ ВИДЕОДАННЫХ | 2012 |
|
RU2601445C2 |
RU |
Авторы
Даты
2024-01-25—Публикация
2020-06-24—Подача