СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ АДАПТИВНОГО ПРЕОБРАЗОВАНИЯ ЦВЕТОВ И СПОСОБ ДЛЯ ПЕРЕДАЧИ ПОТОКА БИТОВ
METHOD AND DEVICE FOR IMAGE CODING/DECODING USING ADAPTIVE COLOR CONVERSION AND METHOD FOR BITSTREAM TRANSMISSION

Область техники, к которой относится изобретение
[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 и 10 являются видами, показывающими внутреннее прогнозирование согласно варианту осуществления.
[31] Фиг. 11 является видом, показывающим вариант осуществления процесса декодирования, к которому применяется ACT.
[32] Фиг. 12 является видом, показывающим вариант осуществления синтаксической таблицы наборов параметров последовательности, в которой передается в служебных сигналах синтаксический элемент, связанный с ACT.
[33] Фиг. 13-19 являются видами, последовательно показывающими вариант осуществления синтаксической таблицы базиса кодирования, в которой передается в служебных сигналах синтаксический элемент, связанный с ACT.
[34] Фиг. 20 является видом, показывающим синтаксис дерева кодирования согласно варианту осуществления.
[35] Фиг. 21 является видом, показывающим блок-схему CABAC согласно варианту осуществления для кодирования одного синтаксического элемента.
[36] Фиг. 22-25 являются видами, показывающими энтропийное кодирование и декодирование согласно варианту осуществления.
[37] Фиг. 26 и 27 являются видами, показывающими примеры процедур кодирования и декодирования кадров согласно варианту осуществления.
[38] Фиг. 28 является видом, показывающим иерархическую структуру для кодированного изображения согласно варианту осуществления.
[39] Фиг. 29 является видом, показывающим способ кодирования остаточной выборки BDPCM согласно варианту осуществления.
[40] Фиг. 30 является видом, показывающим модифицированные квантованные остаточные блоки, сформированные посредством выполнения BDPCM согласно варианту осуществления.
[41] Фиг. 31 является блок-схемой последовательности операций способа, показывающей процедуру для кодирования текущего блока посредством применения BDPCM в устройстве кодирования изображений согласно варианту осуществления.
[42] Фиг. 32 является блок-схемой последовательности операций способа, показывающей процедуру для восстановления текущего блока посредством применения BDPCM в устройстве декодирования изображений согласно варианту осуществления.
[43] Фиг. 33-35 являются видами, схематично показывающими синтаксис для передачи в служебных сигналах информации относительно BDPCM.
[44] Фиг. 36-51 являются видами, показывающими синтаксическую таблицу для передачи в служебных сигналах синтаксического ACT-элемента согласно каждому отдельному варианту осуществления настоящего раскрытия сущности.
[45] Фиг. 52 является видом, показывающим способ декодирования изображений согласно варианту осуществления.
[46] Фиг. 53 является видом, показывающим способ кодирования изображений согласно варианту осуществления.
[47] Фиг. 54 является видом, показывающим систему потоковой передачи контента, к которой является применимым вариант осуществления настоящего раскрытия сущности.
Оптимальный режим осуществления изобретения
[48] В дальнейшем в этом документе подробно описываются варианты осуществления настоящего раскрытия сущности со ссылкой на прилагаемые чертежи, так что они могут легко реализовываться специалистами в данной области техники. Тем не менее, настоящее раскрытие сущности может реализовываться во всевозможных формах и не ограничено вариантами осуществления, описанными в данном документе.
[49] При описании настоящего раскрытия сущности, если определяется то, что подробное описание связанной известной функции или конструкции приводит к излишней неоднозначности объема настоящего раскрытия сущности, ее подробное описание опускается. На чертежах, части, не связанные с описанием настоящего раскрытия сущности, опускаются, и аналогичные ссылки с номерами присоединяются к аналогичным частям.
[50] В настоящем раскрытии сущности, когда компонент "соединяется (connected)", "соединяется (coupled)" или "связывается (linked)" с другим компонентом, это может включать в себя не только непосредственную взаимосвязь на основе соединения, но также и косвенную взаимосвязь на основе соединения, в которой присутствует промежуточный компонент. Помимо этого, когда компонент "включает в себя" или "имеет" другие компоненты, это означает то, что другие компоненты могут включаться дополнительно, а не исключение других компонентов, если не указано иное.
[51] В настоящем раскрытии сущности, термины "первый", "второй" и т.д. могут использоваться только для целей различения одного компонента от других компонентов и не ограничивают порядок или важность компонентов, если не указано иное. Соответственно, в пределах объема настоящего раскрытия сущности, первый компонент в одном варианте осуществления может называться "вторым компонентом" в другом варианте осуществления, и аналогично, второй компонент в одном варианте осуществления может называться "первым компонентом" в другом варианте осуществления.
[52] В настоящем раскрытии сущности, компоненты, которые отличаются друг от друга, имеют намерение ясно описывать каждый признак и не означают то, что компоненты обязательно разделяются. Таким образом, множество компонентов могут интегрироваться и реализовываться в одном аппаратном или программном модуле, или один компонент может распределяться и реализовываться во множестве аппаратных или программных модулей. Следовательно, даже если не указано иное, такие варианты осуществления, в которых компоненты интегрируются, или компонент распределяется, также включаются в объем настоящего раскрытия сущности.
[53] В настоящем раскрытии сущности, компоненты, описанные в различных вариантах осуществления, не обязательно означают существенные компоненты, и некоторые компоненты могут представлять собой необязательные компоненты. Соответственно, вариант осуществления, состоящий из поднабора компонентов, описанных в варианте осуществления, также включается в объем настоящего раскрытия сущности. Помимо этого, варианты осуществления, включающие в себя другие компоненты, в дополнение к компонентам, описанным в различных вариантах осуществления, включаются в объем настоящего раскрытия сущности.
[54] Настоящее раскрытие сущности относится к кодированию и декодированию изображения, и термины, используемые в настоящем раскрытии сущности, могут иметь общий смысл, широко используемый в области техники, которой принадлежит настоящее раскрытие сущности, если не задаются впервые в настоящем раскрытии сущности.
[55] В настоящем раскрытии сущности, "видео" может означать набор изображений в последовательности согласно прохождению времени. "Кадр", в общем, означает базис, представляющий одно изображение в конкретный период времени, и срез/плитка представляет собой базис кодирования, составляющий часть кадра при кодировании. Один кадр может состоять из одного или более срезов/плиток. Помимо этого, срез/плитка может включать в себя одну или более единиц дерева кодирования (CTU). Один кадр может состоять из одного или более срезов/плиток. Один кадр может состоять из одной или более групп плиток. Одна группа плиток может включать в себя одну или более плиток. Кирпич может означать четырехугольную зону CTU-строк в плитке в кадре. Одна плитка может включать в себя один или более кирпичей. Кирпич может означать четырехугольную зону CTU-строк в плитке. Одна плитка может сегментироваться на множество кирпичей, и каждый кирпич может включать в себя одну или более CTU-строк, принадлежащих плитке. Плитка, которая не сегментируется на множество кирпичей, также может трактоваться в качестве кирпича.
[56] В настоящем раскрытии сущности, "пиксел" или "пел" может означать наименьшую единицу, составляющую один кадр (или изображение). Помимо этого, "выборка" может использоваться в качестве термина, соответствующего пикселу. Выборка, в общем, может представлять пиксел или значение пиксела и может представлять только пиксел/пиксельное значение компонента сигналов яркости либо только пиксел/пиксельное значение компонента сигналов цветности.
[57] В настоящем раскрытии сущности, "единица" может представлять базовую единицу обработки изображений. Единица может включать в себя, по меньшей мере, одно из конкретной области кадра и информации, связанной с областью. Одна единица может включать в себя один блок сигналов яркости и два блока сигналов цветности (например, Cb, Cr). Единица может использоваться взаимозаменяемо с такими терминами, как "массив выборок", "блок" или "зона" в некоторых случаях. В общем случае, блок MxN может включать в себя выборки (или массивы выборок) либо набор (или массив) коэффициентов преобразования из M столбцов и N строк.
[58] В настоящем раскрытии сущности, "текущий блок" может означать одно из "текущего блока кодирования", "текущей единицы кодирования", "целевого блока кодирования", "целевого блока декодирования" или "целевого блока обработки". Когда прогнозирование выполняется, "текущий блок" может означать "текущий блок прогнозирования" или "целевой блок прогнозирования". Когда преобразование (обратное преобразование)/квантование (деквантование) выполняется, "текущий блок" может означать "текущий блок преобразования (текущий блок преобразования)" или "целевой блок преобразования (целевой блок преобразования)". Когда фильтрация выполняется, "текущий блок" может означать "целевой блок фильтрации".
[59] Помимо этого, в настоящем раскрытии сущности, "текущий блок" может означать "блок сигналов яркости текущего блока", если не указан в явной форме в качестве блока сигналов цветности. "Блок сигналов цветности текущего блока" может выражаться посредством включения явного описания блока сигналов цветности, такого как "блок сигналов цветности" или "текущий блок сигналов цветности".
[60] В настоящем раскрытии сущности, термин "/" и "," должен интерпретироваться как указывающий "и/или". Например, выражение "A/B" и "A, B" может означать "A и/или B". Дополнительно, "A/B/C" и "A, B, C" может означать "по меньшей мере, одно из A, B и/или C".
[61] В настоящем раскрытии сущности, термин "или" должен интерпретироваться как указывающий "и/или". Например, выражение "A или B" может содержать 1) только "A", 2) только "B" и/или 3) "как A, так и B". Другими словами, в настоящем раскрытии сущности, термин "или" должен интерпретироваться как указывающий "дополнительно или альтернативно".
Общее представление системы кодирования видео
[62]
[63] Фиг. 1 является видом, показывающим систему кодирования видео согласно настоящему раскрытию сущности.
[64] Система кодирования видео согласно варианту осуществления может включать в себя исходное устройство 10 и приемное устройство 20. Исходное устройство 10 может доставлять кодированную информацию или данные видео и/или изображений в приемное устройство 20 в форме файла или потоковой передачи через цифровой носитель хранения данных или сеть.
[65] Исходное устройство 10 согласно варианту осуществления может включать в себя формирователь 11 видеоисточников, оборудование 12 кодирования и передатчик 13. Приемное устройство 20 согласно варианту осуществления может включать в себя приемник 21, оборудование 12 декодирования и модуль 23 рендеринга. Оборудование 12 кодирования может называться "оборудованием кодирования видео/изображений", и оборудование 12 декодирования может называться "оборудованием декодирования видео/изображений". Передающее устройство 13 может включаться в оборудование 12 кодирования. Приемное устройство 21 может включаться в оборудование 12 декодирования. Модуль 23 рендеринга может включать в себя дисплей, и дисплей может быть сконфигурирован как отдельное устройство или внешний компонент.
[66] Формирователь 11 видеоисточников может получать видео/изображение через процесс захвата, синтезирования или формирования видео/изображения. Формирователь 11 видеоисточников может включать в себя устройство захвата видео/изображений и/или устройство формирования видео/изображений. Устройство захвата видео/изображений может включать в себя, например, одну или более камер, архивы видео/изображений, включающие в себя ранее захваченные видео/изображения, и т.п. Устройство формирования видео/изображений может включать в себя, например, компьютеры, планшетные компьютеры и смартфоны и может (электронно) формировать видео/изображения. Например, виртуальное видео/изображение может формироваться через компьютер и т.п. В этом случае, процесс захвата видео/изображений может заменяться посредством процесса формирования связанных данных.
[67] Оборудование 12 кодирования может кодировать входное видео/изображение. Оборудование 12 кодирования может выполнять последовательность процедур, таких как прогнозирование, преобразование и квантование, для эффективности сжатия и кодирования. Оборудование 12 кодирования может выводить кодированные данные (кодированную информацию видео/изображений) в форме потока битов.
[68] Передатчик 13 может передавать кодированную информацию или данные видео/изображений, выводимую в форме потока битов, в приемник 21 приемного устройства 20 декодирования через цифровой носитель хранения данных или сеть в форме файла или потоковой передачи. Цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик 13 может включать в себя элемент для формирования мультимедийного файла через предварительно определенный формат файлов и может включать в себя элемент для передачи через широковещательную сеть/сеть связи. Приемник 21 может извлекать/принимать поток битов из носителя хранения данных или сети и передавать поток битов в оборудование 12 декодирования.
[69] Оборудование 12 декодирования может декодировать видео/изображение посредством выполнения последовательности процедур, таких как деквантование, обратное преобразование и прогнозирование, соответствующих работе оборудования 12 кодирования.
[70] Модуль 23 рендеринга может выполнять рендеринг декодированного видео/изображения. Подготовленное посредством рендеринга видео/изображение может отображаться через дисплей.
Общее представление оборудования кодирования изображений
[71]
[72] Фиг. 2 является видом, схематично показывающим оборудование кодирования изображений, к которому является применимым вариант осуществления настоящего раскрытия сущности.
[73] Как показано на фиг. 2, оборудование 100 кодирования изображений может включать в себя модуль 110 сегментации изображений, вычитатель 115, преобразователь 120, квантователь 130, деквантователь 140, обратный преобразователь 150, сумматор 155, фильтр 160, запоминающее устройство 170, модуль 180 взаимного прогнозирования, модуль 185 внутреннего прогнозирования и энтропийный кодер 190. Модуль 180 взаимного прогнозирования и модуль 185 внутреннего прогнозирования могут совместно называться "модулем прогнозирования". Преобразователь 120, квантователь 130, деквантователь 140 и обратный преобразователь 150 могут включаться в остаточный процессор. Остаточный процессор дополнительно может включать в себя вычитатель 115.
[74] Все или, по меньшей мере, часть из множества компонентов, конфигурирующих оборудование 100 кодирования изображений, могут быть сконфигурированы посредством одного аппаратного компонента (например, кодера или процессора) в некоторых вариантах осуществления. Помимо этого, запоминающее устройство 170 может включать в себя буфер декодированных кадров (DPB) и может быть сконфигурировано посредством цифрового носителя хранения данных.
[75] Модуль 110 сегментации изображений может сегментировать входное изображение (либо кадр или кинокадр), вводимое в оборудование 100 кодирования изображений, на одну более единиц обработки. Например, единица обработки может называться "единицей кодирования (CU)". Единица кодирования может получаться посредством рекурсивной сегментации единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU) согласно структуре в виде дерева квадрантов, двоичного дерева и троичного дерева (QT/BT/TT). Например, одна единица кодирования может сегментироваться на множество единиц кодирования большей глубины на основе структуры в виде дерева квадрантов, структуры в виде двоичного дерева и/или троичной структуры. Для сегментации единицы кодирования, сначала может применяться структура в виде дерева квадрантов, и впоследствии может применяться структура в виде двоичного дерева и/или троичная структура. Процедура кодирования согласно настоящему раскрытию сущности может выполняться на основе конечной единицы кодирования, которая более не сегментируется. Наибольшая единица кодирования может использоваться в качестве конечной единицы кодирования, или единица кодирования большей глубины, полученной посредством сегментации наибольшей единицы кодирования, может использоваться в качестве конечной единицы кодирования. Здесь, процедура кодирования может включать в себя процедуру прогнозирования, преобразования и восстановления, которая описывается ниже. В качестве другого примера, единица обработки процедуры кодирования может представлять собой единицу прогнозирования (PU) или единицу преобразования (TU). Единица прогнозирования и единица преобразования могут разбиваться или сегментироваться из конечной единицы кодирования. Единица прогнозирования может представлять собой единицу выборочного прогнозирования, и единица преобразования может представлять собой единицу для извлечения коэффициента преобразования и/или единицу для извлечения остаточного сигнала из коэффициента преобразования.
[76] Модуль прогнозирования (модуль 180 взаимного прогнозирования или модуль 185 внутреннего прогнозирования) может выполнять прогнозирование относительно блока, который должен обрабатываться (текущего блока), и формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование, на основе текущего блока или CU. Модуль прогнозирования может формировать различную информацию, связанную с прогнозированием текущего блока, и передавать сформированную информацию в энтропийный кодер 190. Информация относительно прогнозирования может кодироваться в энтропийном кодере 190 и выводиться в форме потока битов.
[77] Модуль 185 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки для ссылки могут быть расположены в окружении текущего блока или могут быть расположены с разнесением согласно режиму внутреннего прогнозирования и/или технологии внутреннего прогнозирования. Режимы внутреннего прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Ненаправленный режим может включать в себя, например, DC-режим и планарный режим. Направленный режим может включать в себя, например, 33 режима направленного прогнозирования или 65 режимов направленного прогнозирования согласно степени детальности направления прогнозирования. Тем не менее, это представляет собой просто пример, большее или меньшее число режимов направленного прогнозирования может использоваться в зависимости от настройки. Модуль 185 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.
[78] Модуль 180 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными или отличающимися. Временной соседний блок может называться "совместно размещенным опорным блоком", "совместно размещенной CU (colCU)" и т.п. Опорный кадр, включающий в себя временной соседний блок, может называться "совместно размещенным кадром (colPic)". Например, модуль 180 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и формировать информацию, указывающую то, какой возможный вариант используется для того, чтобы извлекать вектор движения и/или индекс опорного кадра текущего блока. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования. Например, в случае режима пропуска и режима объединения, модуль 180 взаимного прогнозирования может использовать информацию движения соседнего блока в качестве информации движения текущего блока. В случае режима пропуска, в отличие от режима объединения, остаточный сигнал может не передаваться. В случае режима прогнозирования векторов движения (MVP), вектор движения соседнего блока может использоваться в качестве предиктора вектора движения, и вектор движения текущего блока может передаваться в служебных сигналах посредством кодирования разности векторов движения и индикатора для предиктора вектора движения. Разность векторов движения может означать разность между вектором движения текущего блока и предиктором вектора движения.
[79] Модуль прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования и технологий прогнозирования, описанных ниже. Например, модуль прогнозирования может не только применять внутреннее прогнозирование или взаимное прогнозирование, но также и одновременно применять как внутреннее прогнозирование, так и взаимное прогнозирование, чтобы прогнозировать текущий блок. Способ прогнозирования с одновременным применением как внутреннего прогнозирования, так и взаимного прогнозирования для прогнозирования текущего блока может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может выполнять внутриблочное копирование (IBC) для прогнозирования текущего блока. Внутриблочное копирование может использоваться для кодирования изображений/видео контента игры и т.п., например, для кодирования экранного контента (SCC). IBC представляет собой способ прогнозирования текущего кадра с использованием ранее восстановленного опорного блока в текущем кадре в местоположении, разнесенном от текущего блока на предварительно определенное расстояние. Когда IBC применяется, местоположение опорного блока в текущем кадре может кодироваться как вектор (блочный вектор), соответствующий предварительно определенному расстоянию. IBC по существу выполняет прогнозирование в текущем кадре, но может выполняться аналогично взаимному прогнозированию в том, что опорный блок извлекается внутри текущего кадра. Таким образом, IBC может использовать, по меньшей мере, одну из технологий взаимного прогнозирования, описанных в настоящем раскрытии сущности.
[80] Прогнозный сигнал, сформированный посредством модуля прогнозирования, может использоваться для того, чтобы формировать восстановленный сигнал или формировать остаточный сигнал. Вычитатель 115 может формировать остаточный сигнал (остаточный блок или массив остаточных выборок) посредством вычитания прогнозного сигнала (прогнозированного блока или массива прогнозных выборок), выводимого из модуля прогнозирования, из сигнала входного изображения (исходного блока или массива исходных выборок). Сформированный остаточный сигнал может передаваться в преобразователь 120.
[81] Преобразователь 120 может формировать коэффициенты преобразования посредством применения технологии преобразования к остаточному сигналу. Например, технология преобразования может включать в себя, по меньшей мере, одно из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования Карунена-Лоэва (KLT), преобразования на основе графа (GBT) или условно нелинейного преобразования (CNT). Здесь, GBT означает преобразование, полученное из графа, когда информация взаимосвязи между пикселами представляется посредством графа. CNT означает преобразование, полученное на основе прогнозного сигнала, сформированного с использованием всех ранее восстановленных пикселов. Помимо этого, процесс преобразования может применяться к квадратным пиксельным блокам, имеющим идентичный размер, или может применяться к блокам, имеющим переменный размер, а не квадратный.
[82] Квантователь 130 может квантовать коэффициенты преобразования и передавать их в энтропийный кодер 190. Энтропийный кодер 190 может кодировать квантованный сигнал (информацию относительно квантованных коэффициентов преобразования) и выводить поток битов. Информация относительно квантованных коэффициентов преобразования может называться "остаточной информацией". Квантователь 130 может перекомпоновывать квантованные коэффициенты преобразования в блочной форме в одномерную векторную форму на основе порядка сканирования коэффициентов и формировать информацию относительно квантованных коэффициентов преобразования на основе квантованных коэффициентов преобразования в одномерной векторной форме.
[83] Энтропийный кодер 190 может осуществлять различные способы кодирования, такие как, например, кодирование экспоненциальным кодом Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и т.п. Энтропийный кодер 190 может кодировать информацию, необходимую для восстановления видео/изображений, отличную от квантованных коэффициентов преобразования (например, значений синтаксических элементов и т.д.), вместе или отдельно. Кодированная информация (например, кодированная информация видео/изображений) может передаваться или сохраняться в единицах слоев абстрагирования от сети (NAL) в форме потока битов. Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Передаваемая в служебных сигналах информация, передаваемая информация и/или синтаксические элементы, описанные в настоящем раскрытии сущности, могут кодироваться через вышеописанную процедуру кодирования и включаться в поток битов.
[84] Поток битов может передаваться по сети или может сохраняться на цифровом носителе хранения данных. Сеть может включать в себя широковещательную сеть и/или сеть связи, и цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как, USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик (не показан), передающий сигнал, выводимый из энтропийного кодера 190, и/или модуль хранения (не показан), сохраняющий сигнал, могут включаться в качестве внутреннего/внешнего элемента оборудования 100 кодирования, и альтернативно, передатчик может включаться в энтропийный кодер 190.
[85] Квантованные коэффициенты преобразования, выводимые из квантователя 130, могут использоваться для того, чтобы формировать остаточный сигнал. Например, остаточный сигнал (остаточный блок или остаточные выборки) может восстанавливаться посредством применения деквантования и обратного преобразования к квантованным коэффициентам преобразования через деквантователь 140 и обратный преобразователь 150.
[86] Сумматор 155 суммирует восстановленный остаточный сигнал с прогнозным сигналом, выводимым из модуля 180 взаимного прогнозирования или модуля 185 внутреннего прогнозирования, с тем чтобы формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок). Если отсутствует остаток для блока, который должен обрабатываться, к примеру, в случае, в котором режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока. Сумматор 155 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, и может использоваться для взаимного прогнозирования следующего кадра посредством фильтрации, как описано ниже.
[87] Фильтр 160 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 160 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 170, а именно, в DPB запоминающего устройства 170. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, фильтрацию на основе дискретизированного адаптивного смещения, адаптивный контурный фильтр, билатеральный фильтр и т.п. Фильтр 160 может формировать различную информацию, связанную с фильтрацией, и передавать сформированную информацию в энтропийный кодер 190, как описано ниже в описании каждого способа фильтрации. Информация, связанная с фильтрацией, может кодироваться посредством энтропийного кодера 190 и выводиться в форме потока битов.
[88] Модифицированный восстановленный кадр, передаваемый в запоминающее устройство 170, может использоваться в качестве опорного кадра в модуле 180 взаимного прогнозирования. Когда взаимное прогнозирование применяется через оборудование 100 кодирования изображений, рассогласование прогнозирования между оборудованием 100 кодирования изображений и оборудованием декодирования изображений может исключаться, и эффективность кодирования может повышаться.
[89] DPB запоминающего устройства 170 может сохранять модифицированный восстановленный кадр для использования в качестве опорного кадра в модуле 180 взаимного прогнозирования. Запоминающее устройство 170 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или кодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 180 взаимного прогнозирования и использоваться в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 170 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и может передавать восстановленные выборки в модуль 185 внутреннего прогнозирования.
Общее представление оборудования декодирования изображений
[90]
[91] Фиг. 3 является видом, схематично показывающим оборудование декодирования изображений, к которому является применимым вариант осуществления настоящего раскрытия сущности.
[92] Как показано на фиг. 3, оборудование 200 декодирования изображений может включать в себя энтропийный декодер 210, деквантователь 220, обратный преобразователь 230, сумматор 235, фильтр 240, запоминающее устройство 250, модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования. Модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования могут совместно называться "модулем прогнозирования". Деквантователь 220 и обратный преобразователь 230 могут включаться в остаточный процессор.
[93] Все или, по меньшей мере, часть из множества компонентов, конфигурирующих оборудование 200 декодирования изображений, могут быть сконфигурированы посредством аппаратного компонента (например, декодера или процессора) согласно варианту осуществления. Помимо этого, запоминающее устройство 250 может включать в себя буфер декодированных кадров (DPB) или может быть сконфигурировано посредством цифрового носителя хранения данных.
[94] Оборудование 200 декодирования изображений, которое принимает поток битов, включающий в себя информацию видео/изображений, может восстанавливать изображение посредством выполнения процесса, соответствующего процессу, выполняемому посредством оборудования 100 кодирования изображений по фиг. 2. Например, оборудование 200 декодирования изображений может выполнять декодирование с использованием единицы обработки, применяемой в оборудовании кодирования изображений. Таким образом, единица обработки декодирования, например, может представлять собой единицу кодирования. Единица кодирования может получаться посредством сегментации единицы дерева кодирования или наибольшей единицы кодирования. Восстановленный сигнал изображения, декодированный и выводимый посредством оборудования 200 декодирования, может воспроизводиться посредством оборудования воспроизведения.
[95] Оборудование 200 декодирования изображений может принимать сигнал, выводимый из оборудования кодирования изображений по фиг. 2 в форме потока битов. Принимаемый сигнал может декодироваться через энтропийный декодер 210. Например, энтропийный декодер 210 может синтаксически анализировать поток битов, чтобы извлекать информацию (например, информацию видео/изображений), необходимую для восстановления изображений (или восстановления кадров). Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Оборудование декодирования изображений дополнительно может декодировать кадр на основе информации относительно набора параметров и/или общей информации ограничений. Передаваемая в служебных сигналах/принимаемая информация и/или синтаксические элементы, описанные в настоящем раскрытии сущности, могут декодироваться посредством процедуры декодирования и получаться из потока битов. Например, энтропийный декодер 210 декодирует информацию в потоке битов на основе способа кодирования, такого как кодирование экспоненциальным кодом Голомба, CAVLC или CABAC, и выходных значений синтаксических элементов, требуемых для восстановления изображений, и квантованных значений коэффициентов преобразования для остатка. Более конкретно, способ энтропийного CABAC-декодирования может принимать элемент разрешения, соответствующий каждому синтаксическому элементу в потоке битов, определять контекстную модель с использованием информации целевого синтаксического элемента декодирования, информации декодирования соседнего блока и целевого блока декодирования или информации символа/элемента разрешения, декодированного на предыдущей стадии, и выполнять арифметическое декодирование для элемента разрешения посредством прогнозирования вероятности появления элемента разрешения согласно определенной контекстной модели и формировать символ, соответствующий значению каждого синтаксического элемента. В этом случае, способ энтропийного CABAC-декодирования может обновлять контекстную модель посредством использования информации декодированного символа/элемента разрешения для контекстной модели следующего символа/элемента разрешения после определения контекстной модели. Информация, связанная с прогнозированием из информации, декодированной посредством энтропийного декодера 210, может предоставляться в модуль прогнозирования (модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования), и остаточное значение, для которого энтропийное декодирование выполнено в энтропийном декодере 210, т.е. квантованные коэффициенты преобразования и связанная информация параметров, может вводиться в деквантователь 220. Помимо этого, информация относительно фильтрации из информации, декодированной посредством энтропийного декодера 210, может предоставляться в фильтр 240. Между тем, приемник (не показан) для приема сигнала, выводимого из оборудования кодирования изображений, может быть дополнительно сконфигурирован в качестве внутреннего/внешнего элемента оборудования 200 декодирования изображений, или приемник может представлять собой компонент энтропийного декодера 210.
[96] Между тем, оборудование декодирования изображений согласно настоящему раскрытию сущности может называться "оборудованием декодирования видео/изображений/кадров". Оборудование декодирования изображений может классифицироваться на информационный декодер (декодер информации видео/изображений/кадров) и выборочный декодер (декодер выборок видео/изображений/кадров). Информационный декодер может включать в себя энтропийный декодер 210. Выборочный декодер может включать в себя, по меньшей мере, одно из деквантователя 220, обратного преобразователя 230, сумматора 235, фильтра 240, запоминающего устройства 250, модуля 260 взаимного прогнозирования или модуля 265 внутреннего прогнозирования.
[97] Деквантователь 220 может деквантовать квантованные коэффициенты преобразования и выводить коэффициенты преобразования. Деквантователь 220 может перекомпоновывать квантованные коэффициенты преобразования в форме двумерного блока. В этом случае, перекомпоновка может выполняться на основе порядка сканирования коэффициентов, выполняемого в оборудовании кодирования изображений. Деквантователь 220 может выполнять деквантование для квантованных коэффициентов преобразования посредством использования параметра квантования (например, информации размера шага квантования) и получать коэффициенты преобразования.
[98] Обратный преобразователь 230 может обратно преобразовывать коэффициенты преобразования, чтобы получать остаточный сигнал (остаточный блок, массив остаточных выборок).
[99] Модуль прогнозирования может выполнять прогнозирование для текущего блока и может формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование к текущему блоку, на основе информации относительно прогнозирования, выводимой из энтропийного декодера 210, и может определять конкретный режим внутреннего/взаимного прогнозирования.
[100] Идентично тому, что описано в модуле прогнозирования оборудования 100 кодирования изображений, модуль прогнозирования может формировать прогнозный сигнал на основе различных способов (технологий) прогнозирования, которые описываются ниже.
[101] Модуль 265 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Описание модуля 185 внутреннего прогнозирования в равной степени применяется к модулю 265 внутреннего прогнозирования.
[102] Модуль 260 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Например, модуль 260 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и извлекать вектор движения текущего блока и/или индекс опорного кадра на основе принимаемой информации выбора возможных вариантов. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования, и информация относительно прогнозирования может включать в себя информацию, указывающую режим взаимного прогнозирования для текущего блока.
[103] Сумматор 235 может формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок) посредством суммирования полученного остаточного сигнала с прогнозным сигналом (прогнозированным блоком, массивом прогнозированных выборок), выводимым из модуля прогнозирования (включающего в себя модуль 260 взаимного прогнозирования и/или модуль 265 внутреннего прогнозирования). Если отсутствует остаток для блока, который должен обрабатываться, к примеру, в случае, в котором режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока. Описание сумматора 155 является в равной степени применимым к сумматору 235. Сумматор 235 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, и может использоваться для взаимного прогнозирования следующего кадра посредством фильтрации, как описано ниже.
[104] Фильтр 240 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 240 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 250, а именно, в DPB запоминающего устройства 250. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, фильтрацию на основе дискретизированного адаптивного смещения, адаптивный контурный фильтр, билатеральный фильтр и т.п.
[105] (Модифицированный) восстановленный кадр, сохраненный в DPB запоминающего устройства 250, может использоваться в качестве опорного кадра в модуле 260 взаимного прогнозирования. Запоминающее устройство 250 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или декодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 260 взаимного прогнозирования, так что она используется в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 250 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и передавать восстановленные выборки в модуль 265 внутреннего прогнозирования.
[106] В настоящем раскрытии сущности, варианты осуществления, описанные в фильтре 160, модуле 180 взаимного прогнозирования и модуле 185 внутреннего прогнозирования оборудования 100 кодирования изображений, могут в равной или соответствующей степени применяться к фильтру 240, модулю 260 взаимного прогнозирования и модулю 265 внутреннего прогнозирования оборудования 200 декодирования изображений.
Общее представление сегментации изображений
[107]
[108] Способ кодирования видео/изображений согласно настоящему раскрытию сущности может осуществляться на основе структуры сегментации изображений следующим образом. В частности, процедуры прогнозирования, остаточной обработки ((обратного) преобразования, (де)-квантования и т.д.), кодирования синтаксических элементов и фильтрации, которые описываются ниже, могут выполняться на основе CTU, CU (и/или TU, PU), извлекаемой на основе структуры сегментации изображений. Изображение может сегментироваться в единицах блоков, и процедура сегментации на блоки может выполняться в модуле 110 сегментации изображений оборудования кодирования. Связанная с сегментацией информация может кодироваться посредством энтропийного кодера 190 и передаваться в оборудование декодирования изображений в форме потока битов. Энтропийный декодер 210 оборудования декодирования изображений может извлекать структуру сегментации на блоки текущего кадра на основе связанной с сегментацией информации, полученной из потока битов, и на основе этого, может выполнять последовательность процедур (например, прогнозирование, остаточную обработку, восстановление блоков/кадров, внутриконтурную фильтрацию и т.д.) для декодирования изображений.
[109] Кадры могут сегментироваться на последовательность единиц дерева кодирования (CTU). Фиг. 4 показывает пример, в котором кадр сегментируется на CTU. CTU может соответствовать блоку дерева кодирования (CTB). Альтернативно, CTU может включать в себя блок дерева кодирования выборок сигналов яркости и два блока дерева кодирования соответствующих выборок сигналов цветности. Например, для кадра, который содержит три массива выборок, CTU может включать в себя блок NxN выборок сигналов яркости и два соответствующих блока выборок сигналов цветности.
Общее представление сегментации CTU
[110]
[111] Как описано выше, единица кодирования может получаться посредством рекурсивной сегментации единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU) согласно структуре в виде дерева квадрантов/двоичного дерева/троичного дерева (QT/BT/TT). Например, CTU может сначала сегментироваться на структуры в виде дерева квадрантов. После этого, узлы-листья структуры в виде дерева квадрантов дополнительно могут сегментироваться посредством многотипной древовидной структуры.
[112] Сегментация согласно дереву квадрантов означает то, что текущая CU (или CTU) сегментируется одинаково на четыре. Посредством сегментации согласно дереву квадрантов, текущая CU может сегментироваться на четыре CU, имеющие идентичную ширину и идентичную высоту. Когда текущая CU более не сегментируется на структуру в виде дерева квадрантов, текущая CU соответствует узлу-листу структуры в виде дерева квадрантов. CU, соответствующая узлу-листу структуры в виде дерева квадрантов, более не может сегментироваться и может использоваться в качестве вышеописанной конечной единицы кодирования. Альтернативно, CU, соответствующая узлу-листу структуры в виде дерева квадрантов, дополнительно может сегментироваться посредством многотипной древовидной структуры.
[113] Фиг. 5 является видом, показывающим тип сегментации блока согласно многотипной древовидной структуре. Разбиение согласно многотипной древовидной структуре может включать в себя два типа разбиения согласно структуре в виде двоичного дерева и два типа разбиения согласно структуре в виде троичного дерева.
[114] Два типа разбиения согласно структуре в виде двоичного дерева могут включать в себя вертикальное двоичное разбиение (SPLIT_BT_VER) и горизонтальное двоичное разбиение (SPLIT_BT_HOR). Вертикальное двоичное разбиение (SPLIT_BT_VER) означает то, что текущая CU разбивается одинаково напополам в вертикальном направлении. Как показано на фиг. 4, посредством вертикального двоичного разбиения, могут формироваться две CU, имеющие высоту, идентичную высоте текущей CU, и имеющие ширину, которая составляет половину от ширины текущей CU. Горизонтальное двоичное разбиение (SPLIT_BT_HOR) означает то, что текущая CU разбивается одинаково напополам в горизонтальном направлении. Как показано на фиг. 5, посредством горизонтального двоичного разбиения, могут формироваться две CU, имеющие высоту, которая составляет половину от высоты текущей CU, и имеющие ширину, идентичную ширине текущей CU.
[115] Два типа разбиения согласно структуре в виде троичного дерева могут включать в себя вертикальное троичное разбиение (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. Как показано на фиг. 4, посредством горизонтального троичного разбиения, могут формироваться две CU, имеющие высоту, которая составляет 1/4 от высоты текущей CU, и имеющие ширину, идентичную ширине текущей CU, и CU, имеющая высоту, которая составляет половину от высоты текущей CU, и имеющая ширину, идентичную ширине текущей CU.
[116] Фиг. 6 является видом, показывающим механизм передачи в служебных сигналах информации разбиения на блоки в структуре дерева квадрантов с вложенным многотипным деревом согласно настоящему раскрытию сущности.
[117] Здесь, 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, соответствующая узлу-листу многотипного дерева, может использоваться в качестве вышеописанной конечной единицы кодирования.
[118] На основе mtt_split_cu_vertical_flag и mtt_split_cu_binary_flag, режим разбиения на основе многотипного дерева (MttSplitMode) CU может извлекаться так, как показано в нижеприведенной таблице 1. В нижеприведенном описании, режим разбиения на мультидерево может называться "типом разбиения на мультидерево" или "типом разбиения" для краткости.
[119] Табл. 1
MttSplitMode
mtt_split_cu_vertical_flag
mtt_split_cu_binary_flag
SPLIT_TT_HOR
0
0
SPLIT_BT_HOR
0
1
SPLIT_TT_VER
1
0
SPLIT_BT_VER
1
1
[120] Фиг. 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 компонентов сигнала яркости.
[121] В варианте осуществления, когда размер CTU равен 128 на основе единицы выборок сигналов яркости, размер CU может иметь размер от 128×128 до 4×4, что составляет идентичный размер с CTU. В одном варианте осуществления, в случае цветового формата 4:2:0 (или формата сигналов цветности), CB-размер сигналов цветности может иметь размер от 64×64 до 2×2.
[122] Между тем, в варианте осуществления, CU-размер и TU-размер могут быть идентичными. Альтернативно, может быть предусмотрено множество TU в CU-области. TU-размер, в общем, представляет размер блока преобразования (TB) компонентных (выборок) сигналов яркости.
[123] TU-размер может извлекаться на основе наибольшего допустимого TB-размера maxTbSize, который составляет предварительно определенное значение. Например, когда CU-размер превышает maxTbSize, множество TU (TB), имеющих maxTbSize, могут извлекаться из CU, и преобразование/обратное преобразование может выполняться в единицах TU (TB). Например, наибольший допустимый TB-размер сигналов яркости может составлять 64×64, и наибольший допустимый TB-размер сигналов цветности может составлять 32×32. Если ширина или высота CB, сегментированного согласно древовидной структуре, больше наибольшей ширины или высоты преобразования, CB может автоматически (или неявно) сегментироваться до тех пор, пока предел TB-размера в горизонтальном и вертикальном направлениях не удовлетворяется.
[124] Помимо этого, например, когда внутреннее прогнозирование применяется, режим/тип внутреннего прогнозирования может извлекаться в единицах CU (или CB), и процедура извлечения соседних опорных выборок и формирования прогнозных выборок может выполняться в единицах TU (или TB). В этом случае, может быть предусмотрена одна или множество TU (или TB) в одной CU-(или CB-)области, и, в этом случае, множество TU или (TB) могут совместно использовать идентичный режим/тип внутреннего прогнозирования.
[125] Между тем, для схемы дерева кодирования на основе дерева квадрантов с вложенным многотипным деревом, следующие параметры могут передаваться в служебных сигналах в качестве синтаксических SPS-элементов из оборудования кодирования изображений в оборудование декодирования. Например, по меньшей мере, одно из CTU-размера, который представляет собой параметр, представляющий размер корневых узлов дерева квадрантов, MinQTSize, который представляет собой параметр, представляющий минимальный разрешенный размер узлов-листьев дерева квадрантов, MaxBtSize, который представляет собой параметр, представляющий максимальный разрешенный размер корневых узлов двоичного дерева, MaxTtSize, который представляет собой параметр, представляющий максимальный разрешенный размер корневых узлов троичного дерева, MaxMttDepth, который представляет собой параметр, представляющий максимальную разрешенную глубину иерархии разбиения на основе многотипного дерева из узла-листа дерева квадрантов, MinBtSize, который представляет собой параметр, представляющий минимальный разрешенный размер узлов-листьев двоичного дерева, или MinTtSize, который представляет собой параметр, представляющий минимальный разрешенный размер узлов-листьев троичного дерева, передается в служебных сигналах.
[126] В качестве варианта осуществления использования формата сигналов цветности 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, дополнительная вертикальная сегментация может не рассматриваться. Когда сегментация не рассматривается, оборудование кодирования изображений может пропускать передачу в служебных сигналах информации сегментации. В этом случае, оборудование декодирования изображений может извлекать информацию сегментации с предварительно определенным значением.
[127] Между тем, одна 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-срезов/плиток может включать в себя блоки трех цветовых компонентов (компонента сигнала яркости и двух компонентов сигнала цветности).
[128] Хотя описывается структура в виде дерева кодирования на основе дерева квадрантов с вложенным многотипным деревом, структура, в которой CU сегментируется, не ограничена этим. Например, BT-структура и TT-структура могут интерпретироваться в качестве концепции, включенной в структуру в виде дерева с несколькими видами сегментации (MPT), и CU может интерпретироваться как сегментируемая через QT-структуру и MPT-структуру. В примере, в котором CU сегментируется через QT-структуру и MPT-структуру, синтаксический элемент (например, MPT_split_type), включающий в себя информацию относительно того, на сколько блоков сегментируется узел-лист QT-структуры, и синтаксический элемент (например, MPT_split_mode), включающий в себя информацию относительно того, в каком из вертикального и горизонтального направлений сегментируется узел-лист QT-структуры, может передаваться в служебных сигналах, чтобы определять структуру сегментации.
[129] В другом примере, 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 не ограничен этим.
[130] Структура блоков кодирования дерева квадрантов с многотипным деревом может предоставлять очень гибкую структуру сегментации на блоки. Вследствие типов сегментации, поддерживаемых в многотипном дереве, различные шаблоны сегментации могут потенциально приводить к идентичной структуре блоков кодирования в некоторых случаях. В оборудовании кодирования и оборудовании декодирования изображений, посредством ограничения возникновения таких избыточных шаблонов сегментации, может уменьшаться объем данных информации сегментации.
[131] Помимо этого, при кодировании и декодировании видео/изображения согласно настоящему документу, базис обработки изображений может иметь иерархическую структуру. Один кадр может разделяться на одну или более плиток, кирпичей, срезов и/или групп плиток. Один срез может включать в себя один или более кирпичей. Один кирпич может включать в себя одну или более CTU-строк в плитке. Срез может включать в себя кирпичи кадра, при этом число кирпичей является целым числом. Одна группа плиток может включать в себя одну или более плиток. Одна плитка может включать в себя одну или более CTU. CTU может сегментироваться на одну или более CU. Плитка может представлять собой четырехугольную зону, состоящую из конкретных строк плиток и конкретных столбцов плиток, состоящих из множества CTU в кадре. Группа плиток может включать в себя плитки согласно растровому сканированию плиток в кадре, при этом число плиток является целым числом. Заголовок среза может переносить информацию/параметр, применимую к соответствующему срезу (блокам в срезе). Когда оборудование кодирования или оборудование декодирования имеет многоядерный процессор, процедуры кодирования/декодирования для плитки, среза, кирпича и/или группы плиток могут выполняться параллельно.
[132] В настоящем раскрытии сущности, названия или концепции среза либо группы плиток могут использоваться взаимозаменяемо. Таким образом, заголовок группы плиток может называться "заголовком среза". В данном документе, срез может иметь один из типов срезов, включающих в себя внутренний (I) срез, прогнозирующий (P) срез и бипрогнозирующий (B) срез. Для блоков в I-срезе, взаимное прогнозирование не используется для прогнозирования, и только внутреннее прогнозирование может использоваться. Даже в этом случае, исходное выборочное значение может кодироваться и передаваться в служебных сигналах без прогнозирования. Для блоков в P-срезе, может использоваться внутреннее прогнозирование или взаимное прогнозирование. Когда взаимное прогнозирование используется, только унипрогнозирование может использоваться. Между тем, для блоков в B-срезе, внутреннее прогнозирование или взаимное прогнозирование может использоваться. Когда взаимное прогнозирование используется, бипрогнозирование, которое представляет собой максимальную степень, может использоваться.
[133] Согласно характеристике (например, разрешению) видеоизображения или с учетом эффективности кодирования или параллельной обработки, оборудование кодирования может определять размеры плитки/группы плиток, кирпича, среза и наибольшей и наименьшей единицы кодирования. Помимо этого, информация относительно означенного либо информация для извлечения означенного может включаться в поток битов.
[134] Оборудование декодирования может получать информацию, указывающую то, сегментируется либо нет CTU в плитке/группе плиток, кирпиче, срезе или плитке текущего кадра на несколько единиц кодирования. Оборудование кодирования и оборудование декодирования передают в служебных сигналах эту информацию только при конкретном условии, в силу этого повышая эффективность кодирования.
[135] Заголовок среза (синтаксис заголовков срезов) может включать в себя информацию/параметр, применимую к срезу совместно. APS (APS-синтаксис) или PPS (PPS-синтаксис) может включать в себя информацию/параметр, применимую к одному или более кадров совместно. SPS (SPS-синтаксис) может включать в себя информацию/параметр, применимую к одной или более последовательностей совместно. VPS (VPS-синтаксис) может включать в себя информацию/параметр, применимую к нескольким слоям совместно. DPS (DPS-синтаксис) может включать в себя информацию/параметр, применимую ко всему видео совместно. DPS может включать в себя информацию/параметр, связанную с комбинацией кодированных видеопоследовательностей (CVS).
[136] Помимо этого, например, информация относительно сегментации и конфигурации плитки/группы плиток/кирпича/среза может конструироваться в каскаде кодирования через высокоуровневый синтаксис и передаваться в форме потока битов в оборудование декодирования.
Общее представление внутреннего прогнозирования
[137]
[138] В дальнейшем в этом документе подробно описывается внутреннее прогнозирование, выполняемое посредством оборудования кодирования и оборудования декодирования, описанных выше. Внутреннее прогнозирование может означать прогнозирование, которое формирует прогнозные выборки для текущего блока на основе опорных выборок в кадре (в дальнейшем в этом документе, в текущем кадре), которому принадлежит текущий блок.
[139] Это описывается далее со ссылкой на фиг. 8. Когда внутреннее прогнозирование применяется к текущему блоку 801, соседние опорные выборки, которые должны использоваться для внутреннего прогнозирования текущего блока 801, могут извлекаться. Соседние опорные выборки текущего блока могут включать в себя: в сумме 2xnH выборок, включающих в себя выборки 811, смежные с левой границей текущего блока, имеющего размер nWxnH, и выборки 812, граничащие с левой нижней частью; в сумме 2xnW выборок, включающих в себя выборки 821, смежные с верхней границей текущего блока, и выборки 822, граничащие с правой верхней частью; и одну выборку 831, граничащую с левой верхней частью относительно текущего блока. Альтернативно, соседние опорные выборки текущего блока могут включать в себя множество столбцов верхних соседних выборок и множество строк левых соседних выборок.
[140] Помимо этого, соседние опорные выборки текущего блока могут включать в себя: в сумме nH выборок 841, смежных с правой границей текущего блока, имеющего размер nWxnH; в сумме nW выборок 851, смежных с нижней границей текущего блока; и одну выборку 842, граничащую с правой нижней частью относительно текущего блока.
[141] Тем не менее, некоторые соседние опорные выборки текущего блока еще не декодированы или могут быть недоступными. В этом случае, оборудование декодирования может конструировать соседние опорные выборки, которые должны использоваться для прогнозирования, посредством подстановки вместо недоступных выборок доступных выборок. Альтернативно, соседние опорные выборки, которые должны использоваться для прогнозирования, могут конструироваться через интерполяцию доступных выборок.
[142] Когда соседние опорные выборки извлекаются, (i) прогнозная выборка может извлекаться на основе среднего или интерполяции соседних опорных выборок текущего блока или (ii) прогнозная выборка может извлекаться на основе опорной выборки, присутствующей в конкретном направлении (прогнозирования) относительно прогнозной выборки из соседних опорных выборок текущего блока. Случай (i) может называться "ненаправленным режимом" или "не угловым режимом", и случай (ii) может называться "направленным режимом" или "угловым режимом". Помимо этого, прогнозная выборка может формироваться через интерполяцию со второй соседней выборкой и первой соседней выборкой, которые расположены в противоположном направлении относительно направления прогнозирования режима внутреннего прогнозирования текущего блока на основе прогнозной выборки текущего блока, из соседних опорных выборок. Вышеописанный случай может называться "внутренним прогнозированием с линейной интерполяцией (LIP)". Помимо этого, прогнозные выборки сигналов цветности могут формироваться на основе выборок сигналов яркости посредством использования линейной модели. Этот случай может называться "LM-режимом". Помимо этого, временная прогнозная выборка текущего блока может извлекаться на основе фильтрованных соседних опорных выборок, и прогнозная выборка текущего блока может извлекаться посредством суммирования со взвешиванием временной прогнозной выборки и, по меньшей мере, одной опорной выборки, извлекаемой согласно режиму внутреннего прогнозирования из существующих соседних опорных выборок, а именно, нефильтрованных соседних опорных выборок. Вышеописанный случай может называться "позиционно-зависимым внутренним прогнозированием (PDPC)". Помимо этого, опорная выборочная линия, имеющая наибольшую точность прогнозирования, может выбираться из нескольких соседних опорных выборочных линий текущего блока, чтобы извлекать прогнозную выборку посредством использования опорной выборки, расположенной в направлении прогнозирования в соответствующей линии. В это время, внутреннее прогнозирующее кодирование может выполняться посредством указания (передачи в служебных сигналах) используемой опорной выборочной линии в оборудование декодирования. Вышеописанный случай может называться "внутренним прогнозированием на основе множественной опорной линии (MRL)" или "внутренним прогнозированием на основе MRL". Помимо этого, текущий блок может разделяться на вертикальные или горизонтальные субсегменты, чтобы выполнять внутреннее прогнозирование на основе идентичного режима внутреннего прогнозирования, и соседние опорные выборки могут извлекаться на основе субсегмента и использоваться. Таким образом, в этом случае, режим внутреннего прогнозирования для текущего блока в равной степен применяется к субсегментам, и соседняя опорная выборка извлекается на основе субсегмента и используется, за счет этого повышая производительность внутреннего прогнозирования в некоторых случаях. Этот способ прогнозирования может называться "внутренним прогнозированием на основе внутренних субсегментов (ISP) или на основе ISP". Эти способы внутреннего прогнозирования могут называться "типами внутреннего прогнозирования", в отличие от режимов внутреннего прогнозирования (например, DC-режима, планарного режима и направленного режима). Типы внутреннего прогнозирования могут называться с помощью различных терминов, таких как "схемы внутреннего прогнозирования" или "дополнительные режимы внутреннего прогнозирования". Например, типы внутреннего прогнозирования (или дополнительные режимы внутреннего прогнозирования) могут включать в себя, по меньшей мере, одно, выбранное из группы LIP, PDPC, MRL и ISP, которые описываются выше. Общий способ внутреннего прогнозирования, за исключением конкретных типов внутреннего прогнозирования, таких как LIP, PDPC, MRL и ISP, может называться "типом нормального внутреннего прогнозирования". Тип нормального внутреннего прогнозирования может означать случай, в котором конкретные типы внутреннего прогнозирования не применяются, и прогнозирование может выполняться на основе вышеописанных режимов внутреннего прогнозирования. Между тем, при необходимости, постфильтрация может выполняться для извлеченной прогнозной выборки.
[143] В частности, процедура внутреннего прогнозирования может включать в себя этап определения режима/типа внутреннего прогнозирования, этап извлечения соседних опорных выборок и этап извлечения прогнозных выборок на основе режима/типа внутреннего прогнозирования. Помимо этого, при необходимости, этап постфильтрации может выполняться для извлеченной прогнозной выборки.
[144] Между тем, в дополнение к вышеописанным типам внутреннего прогнозирования, аффинное линейное взвешенное внутреннее прогнозирование (ALWIP) может использоваться. ALWIP может называться "линейным взвешенным внутренним прогнозированием (LWIP)" или "матричным взвешенным внутренним прогнозированием", или "матричным внутренним прогнозированием (MIP)". Когда MIP применяется к текущему блоку, прогнозные выборки для текущего блока могут извлекаться посредством i) использования соседних опорных выборок, подвергнутых процедуре усреднения, ii) выполнения процедуры матрично-векторного умножения и iii) дополнительного выполнения процедуры горизонтальной/вертикальной интерполяции при необходимости. Режимы внутреннего прогнозирования, используемые для MIP, могут отличаться от режимов внутреннего прогнозирования, используемых во внутреннем LIP-, PDPC-, MRL-, ISP-прогнозировании или в нормальном внутреннем прогнозировании. Режимы внутреннего прогнозирования для MIP могут называться "режимами внутреннего MIP-прогнозирования", "режимами MIP-прогнозирования" или "MIP-режимами". Например, различные матрицы и смещения, используемые в матрично-векторном умножении, могут задаваться согласно режимам внутреннего прогнозирования для MIP. В данном документе, матрица может называться "взвешенной (MIP)-матрицей", и смещение может называться "вектором (MIP)-смещения" или "вектором (MIP)-сдвига". Ниже описывается подробный MIP-способ.
[145] Процедура восстановления блоков на основе внутреннего прогнозирования и модуля внутреннего прогнозирования в оборудовании кодирования может схематично включать в себя, например, следующее, описанное ниже. Этап S910 может выполняться посредством модуля 185 внутреннего прогнозирования оборудования кодирования. Этап S920 может выполняться посредством остаточного процессора, который включает в себя, по меньшей мере, одно, выбранное из группы вычитателя 115, преобразователя 120, квантователя 130, деквантователя 140 и обратного преобразователя 150 оборудования кодирования. В частности, этап S920 может выполняться посредством вычитателя 115 оборудования кодирования. На этапе S930, информация прогнозирования может извлекаться посредством модуля 185 внутреннего прогнозирования и может кодироваться посредством энтропийного кодера 190. На этапе S930, остаточная информация может извлекаться посредством остаточного процессора и может кодироваться посредством энтропийного кодера 190. Остаточная информация представляет собой информацию относительно остаточных выборок. Остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования для остаточных выборок. Как описано выше, остаточные выборки могут извлекаться в качестве коэффициентов преобразования через преобразователь 120 оборудования кодирования, и коэффициенты преобразования могут извлекаться в качестве квантованных коэффициентов преобразования через квантователь 130. Информация относительно квантованных коэффициентов преобразования может кодироваться посредством энтропийного кодера 190 через процедуру остаточного кодирования.
[146] Оборудование кодирования может выполнять внутреннее прогнозирование для текущего блока на этапе S910. Оборудование кодирования извлекает режим/тип внутреннего прогнозирования для текущего блока, извлекает соседние опорные выборки текущего блока и формирует прогнозные выборки в текущем блоке на основе режима/типа внутреннего прогнозирования и соседних опорных выборок. В данном документе, процедуры определения режима/типа внутреннего прогнозирования, извлечения соседних опорных выборок и формирования прогнозных выборок могут выполняться одновременно, или любая процедура может выполняться перед другими процедурами. Например, хотя не показано, модуль 185 внутреннего прогнозирования оборудования кодирования может включать в себя модуль определения режима/типа внутреннего прогнозирования, модуль извлечения опорных выборок и модуль извлечения прогнозных выборок. Модуль определения режима/типа внутреннего прогнозирования может определять режим/тип внутреннего прогнозирования для текущего блока, модуль извлечения опорных выборок может извлекать соседние опорные выборки текущего блока, и модуль извлечения прогнозных выборок может извлекать прогнозные выборки текущего блока. Между тем, когда процедура фильтрации прогнозных выборок, которая описывается ниже, выполняется, модуль 185 внутреннего прогнозирования дополнительно может включать в себя фильтр прогнозных выборок. Оборудование кодирования может определять режим/тип, применяемый к текущему блоку, из множества режимов/типов внутреннего прогнозирования. Оборудование кодирования может сравнивать RD-затраты для режимов/типов внутреннего прогнозирования и определять оптимальный режим/тип внутреннего прогнозирования для текущего блока.
[147] Между тем, оборудование кодирования может выполнять процедуру фильтрации прогнозных выборок. Фильтрация прогнозных выборок может называться "постфильтрацией". Посредством процедуры фильтрации прогнозных выборок, некоторые или все прогнозные выборки могут фильтроваться. В некоторых случаях, процедура фильтрации прогнозных выборок может опускаться.
[148] Оборудование кодирования может формировать остаточные выборки для текущего блока на основе (фильтрованных) прогнозных выборок на этапе S920. Оборудование кодирования может сравнивать прогнозные выборки в исходных выборках текущего блока на основе фазы и может извлекать остаточные выборки.
[149] Оборудование кодирования может кодировать информацию изображений, включающую в себя информацию (информацию прогнозирования) относительно внутреннего прогнозирования и остаточную информацию относительно остаточных выборок на этапе S930. Информация прогнозирования может включать в себя информацию режима внутреннего прогнозирования и информацию типа внутреннего прогнозирования. Оборудование кодирования может выводить кодированную информацию изображений в форме потока битов. Выходной поток битов может передаваться в оборудование декодирования через носитель хранения данных или сеть.
[150] Остаточная информация может включать в себя синтаксис остаточного кодирования, который описывается ниже. Оборудование кодирования может извлекать квантованные коэффициенты преобразования посредством преобразования/квантования остаточных выборок. Остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования.
[151] Между тем, как описано выше, оборудование кодирования может формировать восстановленный кадр (включающий в себя восстановленные выборки и восстановленный блок). С этой целью, оборудование кодирования может выполнять деквантование/обратное преобразование для квантованных коэффициентов преобразования и извлекать (модифицированные) остаточные выборки. Причина выполнения деквантования/обратного преобразования после преобразования/квантования остаточных выборок состоит в том, чтобы извлекать остаточные выборки, которые являются идентичными остаточным выборкам, извлекаемым посредством оборудования декодирования, как описано выше. Оборудование кодирования может формировать восстановленный блок, включающий в себя восстановленные выборки для текущего блока, на основе прогнозных выборок и (модифицированных) остаточных выборок. На основе восстановленного блока, может формироваться восстановленный кадр для текущего кадра. Как описано выше, процедура внутриконтурной фильтрации дополнительно может применяться к восстановленному кадру.
[152] Процедура декодирования видео/изображений на основе внутреннего прогнозирования и модуля внутреннего прогнозирования в оборудовании декодирования может схематично включать в себя, например, следующее, описанное ниже. Оборудование декодирования может выполнять операцию, соответствующую операции, выполняемой посредством оборудования кодирования.
[153] Этапы S1010-S1030 могут выполняться посредством модуля 265 внутреннего прогнозирования оборудования декодирования. Информация прогнозирования на этапе S1010 и остаточная информация на этапе S1040 могут получаться из потока битов посредством энтропийного декодера 210 оборудования декодирования. Остаточный процессор, включающий в себя деквантователь 220 или обратный преобразователь 230 оборудования декодирования либо и то, и другое, может извлекать остаточные выборки для текущего блока на основе остаточной информации. В частности, деквантователь 220 остаточного процессора может выполнять деквантование на основе квантованных коэффициентов преобразования, извлекаемых на основе остаточной информации, и может извлекать коэффициенты преобразования. Обратный преобразователь 230 остаточного процессора может выполнять обратное преобразование для коэффициентов преобразования и может извлекать остаточные выборки для текущего блока. Этап S1050 может выполняться посредством сумматора 235 или модуля восстановления оборудования декодирования.
[154] В частности, оборудование декодирования может извлекать режим/тип внутреннего прогнозирования для текущего блока на основе принимаемой информации прогнозирования (информация режима/типа внутреннего прогнозирования) на этапе S1010. Оборудование декодирования может извлекать соседние опорные выборки текущего блока на этапе S1020. Оборудование декодирования может формировать прогнозные выборки в текущем блоке на основе режима/типа внутреннего прогнозирования и соседних опорных выборок на этапе S1030. В этом случае, оборудование декодирования изображений может выполнять процедуру фильтрации прогнозных выборок. Фильтрация прогнозных выборок может называться "постфильтрацией". Посредством процедуры фильтрации прогнозных выборок, некоторые или все прогнозные выборки могут фильтроваться. В некоторых случаях, процедура фильтрации прогнозных выборок может опускаться.
[155] Оборудование декодирования изображений может формировать остаточные выборки для текущего блока на основе принимаемой остаточной информации. Оборудование декодирования может формировать восстановленные выборки для текущего блока на основе прогнозных выборок и остаточных выборок и может извлекать восстановленный блок, включающий в себя восстановленные выборки, на этапе S1040. На основе восстановленного блока, может формироваться восстановленный кадр для текущего кадра. Как описано выше, процедура внутриконтурной фильтрации дополнительно может применяться к восстановленному кадру.
[156] В данном документе, хотя не показано, модуль 265 внутреннего прогнозирования оборудования декодирования может включать в себя модуль определения режима/типа внутреннего прогнозирования, модуль извлечения опорных выборок и модуль извлечения прогнозных выборок. Модуль определения режима/типа внутреннего прогнозирования может определять режим/тип внутреннего прогнозирования для текущего блока на основе информации режима/типа внутреннего прогнозирования, полученной из энтропийного декодера 210. Модуль извлечения опорных выборок может извлекать соседние опорные выборки текущего блока. Модуль извлечения прогнозных выборок может извлекать прогнозные выборки текущего блока. Между тем, когда вышеописанная процедура фильтрации прогнозных выборок выполняется, модуль 265 внутреннего прогнозирования дополнительно может включать в себя фильтр прогнозных выборок.
[157] Информация режима внутреннего прогнозирования может включать в себя, например, информацию флага (например, intra_luma_mpm_flag), указывающую то, применяется наиболее вероятный режим (MPM) к текущему блоку, либо оставшийся режим применяется. Когда MPM применяется к текущему блоку, информация режима прогнозирования дополнительно может включать в себя информацию индекса (например, intra_luma_mpm_idx), указывающую один из возможных вариантов режимов внутреннего прогнозирования (возможных MPM-вариантов). Возможные варианты режимов внутреннего прогнозирования (возможные MPM-варианты) могут конструироваться из списка возможных MPM-вариантов или MPM-списка. Помимо этого, когда MPM не применяется к текущему блоку, информация режима внутреннего прогнозирования дополнительно может включать в себя информацию оставшихся режимов (например, intra_luma_mpm_remainder), указывающую один из оставшихся режимов внутреннего прогнозирования, за исключением возможных вариантов режимов внутреннего прогнозирования (возможных MPM-вариантов). Оборудование декодирования может определять режим внутреннего прогнозирования текущего блока на основе информации режима внутреннего прогнозирования. Отдельный MPM-список может конструироваться для вышеописанного MIP.
[158] Помимо этого, информация типа внутреннего прогнозирования может реализовываться в различных формах. Например, информация типа внутреннего прогнозирования может включать в себя информацию индекса типа внутреннего прогнозирования, указывающую один из типов внутреннего прогнозирования. В качестве другого примера, информация типа внутреннего прогнозирования может включать в себя, по меньшей мере, одно из информации опорной выборочной линии (например, intra_luma_ref_idx), указывающей то, применяется или нет MRL к текущему блоку, и то, какая опорная выборочная линия используется, когда MRL применяется к текущему блоку, информации ISP-флага (например, intra_subpartitions_mode_flag), указывающей то, применяется или нет ISP к текущему блоку, информации ISP-типа (например, intra_subpartitions_split_flag), указывающей тип сегментации субсегментов, когда ISP применяется, информации флага, указывающей то, применяется или нет PDCP, либо информации флага, указывающей то, применяется или нет LIP. Помимо этого, информация типа внутреннего прогнозирования может включать в себя MIP-флаг, указывающий то, применяется или нет MIP к текущему блоку.
[159] Информация режима внутреннего прогнозирования и/или информация типа внутреннего прогнозирования могут кодироваться/декодироваться через способ кодирования, описанный в настоящем документе. Например, информация режима внутреннего прогнозирования и/или информация типа внутреннего прогнозирования могут кодироваться/декодироваться посредством энтропийного кодирования (например, CABAC, CAVLC) на основе усеченного двоичного кода (Райса).
Общее представление адаптивного преобразования цветов (ACT)
[160]
[161] Адаптивное преобразование цветов (ACT) представляет собой технологию преобразования (конверсии) цветового пространства для удаления необязательного перекрытия между цветовыми компонентами и использовано в версии HEVC-расширения для экранного контента. Оно также может применяться к VVC.
[162] В HEVC-расширении для экранного контента (HEVC SCC-расширении), ACT использовано для того, чтобы адаптивно преобразовывать остаток прогнозирования из существующего цветового пространства в цветовое YCgCo-пространство. Одно из двух цветовых пространств необязательно может выбираться посредством передачи в служебных сигналах одного флага ACT для каждого базиса преобразования.
[163] Например, первое значение (например, 1) флага может указывать то, что остаток базиса преобразования кодируется в исходном цветовом пространстве. Второе значение (например, 1) флага может указывать то, что остаток базиса преобразования кодируется в цветовом YCgCo-пространстве.
[164] Фиг. 11 является видом, показывающим вариант осуществления процесса декодирования, к которому применяется ACT. В варианте осуществления по фиг. 11, прогнозирование с компенсацией движения может соответствовать взаимному прогнозированию в настоящем раскрытии сущности.
[165] Как показано на фиг. 11, восстановленный кадр (или восстановленный блок, массив восстановленных выборок, восстановленная выборка(ки), восстановленный сигнал) может формироваться на основе прогнозного выходного значения и остаточного выходного значения. В данном документе, остаточное выходное значение может быть выходным значением обратного преобразования. В данном документе, обратное преобразование может представлять собой нормальное обратное преобразование. В данном документе, нормальное обратное преобразование может представлять собой обратное преобразование на основе MTS или обратное низкочастотное неразделимое преобразование (LFNST).
[166] В данном документе, прогнозное выходное значение может представлять собой блок прогнозирования, массив прогнозных выборок, прогнозную выборку(ки) или прогнозный сигнал. Остаточное выходное значение может представлять собой остаточный блок, массив остаточных выборок, остаточную выборку(ки) или остаточный сигнал.
[167] Например, с точки зрения оборудования кодирования, ACT-процесс может выполняться для остаточных выборок, извлекаемых на основе прогнозных выборок. Помимо этого, выходное значение ACT-процесса может предоставляться в качестве ввода нормального процесса преобразования. В данном документе, нормальный процесс преобразования может представлять собой преобразование на основе MTS или LFNST.
[168] Информация (параметр) относительно (обратного) ACT может формироваться и кодироваться посредством оборудования кодирования и может передаваться в оборудование декодирования в форме потока битов.
[169] Оборудование декодирования может получать, синтаксически анализировать и декодировать связанную с (обратным) ACT информацию (параметр) и может выполнять обратное ACT на основе связанной с (обратным) ACT информации (параметра).
[170] На основе обратного ACT, могут извлекаться (модифицированные) остаточные выборки (или остаточный блок). Например, коэффициенты (преобразования) могут извлекаться посредством применения деквантования к квантованным коэффициентам (преобразования). Помимо этого, остаточные выборки могут извлекаться посредством выполнения обратного преобразования для коэффициентов (преобразования). Помимо этого, (модифицированные) остаточные выборки могут получаться посредством применения обратного ACT к остаточным выборкам. Далее подробно описывается информация (параметр) относительно (обратного) ACT.
[171] В варианте осуществления, функция базового преобразования, используемая в HEVC, может использоваться в качестве функции базового преобразования (ядра преобразования) для преобразования цветового пространства. Например, могут использоваться матрицы для прямого преобразования и обратного преобразования, как показано в нижеприведенных уравнениях.
[172] уравнение 1
[173]
[174] уравнение 2
[175]
[176] В данном документе, C0, C1 и C2 могут соответствовать G, B и R. В данном документе, G обозначает зеленый цветовой компонент, B обозначает синий цветовой компонент, и R обозначает красный цветовой компонент. Помимо этого, C0', C1' и C2' могут соответствовать Y, Cg and Co. В данном документе, Y обозначает сигнал яркости, Cg обозначает зеленый сигнал цветности, и Co обозначает оранжевый компонент сигнала цветности.
[177] Помимо этого, чтобы компенсировать изменение динамического диапазона остатка до и после преобразования цветов, QP-регулирование сможет применяться к остатку преобразования посредством (-5, -5, -3). Ниже описываются подробности QP-регулирования.
[178] Между тем, в процессах кодирования и декодирования согласно варианту осуществления, когда ACT является применимым, могут применяться следующие ограничения.
[179] - В случае кодирования/декодирования на основе сдвоенного дерева, ACT деактивируется. Например, ACT может применяться только к кодированию/декодированию на основе одиночного дерева.
[180] - Когда ISP-кодирование и декодирование применяется, ACT может деактивироваться.
[181] - Для блока сигналов цветности, к которому применяется BDPCM, ACT может деактивироваться. Только для блока сигналов яркости, к которому применяется BDPCM, ACT может активироваться.
[182] - Когда применение ACT является возможным, CCLM может деактивироваться.
[183] Фиг. 12 является видом, показывающим вариант осуществления синтаксической таблицы наборов параметров последовательности, в которой передается в служебных сигналах синтаксический элемент, связанный с ACT.
[184] Фиг. 13-19 являются видами, последовательно показывающими вариант осуществления синтаксической таблицы базиса кодирования, в которой передается в служебных сигналах синтаксический элемент, связанный с ACT.
[185] Как показано на фиг. 12, в качестве флага ACT-активации, указывающего то, активируется или нет ACT в процессе декодирования, может использоваться sps_act_enabled_flag 1210.
[186] Первое значение (например, 0) sps_act_enabled_flag может указывать то, что ACT не используется, и флаг cu_act_enabled_flag 1310, 2910, указывающий то, применяется или нет ACT в базисе кодирования, не предоставляется в синтаксисе для базиса кодирования.
[187] Второе значение (например, 1) sps_act_enabled_flag может указывать то, что ACT может использоваться, и cu_act_enabled_flag может предоставляться в синтаксисе для базиса кодирования.
[188] Когда sps_act_enabled_flag не получается в потоке битов, значение sps_act_enabled_flag может извлекаться в качестве первого значения (например, 0).
[189] Помимо этого, как показано на фиг. 13, в качестве флагов ACT, указывающих то, кодируется или нет остаток текущего базиса кодирования в цветовом YCgCo-пространстве, могут использоваться cu_act_enabled_flag 1310, 2710.
[190] Первое значение (например, 0) cu_act_enabled_flag может указывать то, что остаток текущего базиса кодирования кодируется в исходном цветовом пространстве. Второе значение (например, 1) cu_act_enabled_flag может указывать то, что остаток текущего базиса кодирования кодируется в цветовом YCgCo-пространстве.
[191] Когда cu_act_enabled_flag не предоставляется в потоке битов, флаг может извлекаться в качестве первого значения (например, 0). В данном документе, исходное цветовое пространство может представлять собой цветовое RGB-пространство.
Способ QP-извлечения базиса преобразования посредством использования ACT QP-смещения
[192]
[193] В варианте осуществления, в процессе масштабирования для коэффициента преобразования, процесс извлечения параметра квантования и процесса Qp-обновления может выполняться следующим образом. Например, процесс извлечения параметров квантования может выполняться с использованием следующих параметров.
[194] - Координаты (xCb, yCb) сигналов яркости, указывающие относительные координаты левой верхней выборки сигналов яркости текущего блока кодирования относительно левой верхней выборки сигналов яркости текущего кадра,
[195] - Переменная cbWidth, указывающая ширину текущего блока кодирования на основе выборки сигналов яркости,
[196] - Переменная cbHeight, указывающая высоту текущего блока кодирования на основе выборки сигналов яркости,
[197] - Переменная treeType, указывающая то, используется одиночное дерево (SINGLE_TREE) или сдвоенное дерево для того, чтобы сегментировать текущий узел дерева кодирования, и указывающая, когда сдвоенное дерево используется, то, представляет сдвоенное дерево собой сдвоенное дерево (DAUL_TREE_LUMA) компонентов сигналов яркости или сдвоенное дерево (DAUL_TREE_CHROMA) компонентов сигналов цветности.
Y
Cb
Cr
CbCr
[198] В текущем процессе, могут извлекаться параметр Qp' квантования сигналов яркости, параметры Qp', Qp' и Qp' квантования сигналов цветности.
[199] Переменное местоположение (xQg, yQg) сигнала яркости может указывать местоположение левой верхней выборки сигналов яркости текущей группы квантования, соответствующей верхней левой выборке текущего кадра. В данном документе, горизонтальное местоположение xQg и вертикальное местоположение yQg могут задаваться равными значениям переменной CuQgTopLeftX и переменной CuQgTopLeftY, соответственно. Переменные CuQgTopLeftX и CuQgTopLeftY могут задаваться как предварительно определенные значения в синтаксисе дерева кодирования, как показано на фиг. 20.
Y_PRED
[200] В данном документе, текущая группа квантования может представлять собой четырехугольную зону в блоке дерева кодирования и может совместно использовать идентичное значение qP. Ее ширина и высота может быть равной ширине и высоте узла дерева кодирования, в котором левое верхнее выборочное местоположение сигналов яркости назначается каждой из CuQgTopLeftX и CuQgTopLeftY.
Y_PRED
[201] Когда treeType представляет собой SINGLE_TREE или DUAL_TREE_LUMA, прогнозное значение qP параметра квантования сигналов яркости может извлекаться так, как указано на следующих этапах.
Y_PRED
[202] 1. Переменная qP может извлекаться следующим образом.
Y_PRED
Y
Y
Y
Y_PRED
Y
[203] Условие 1. Когда любое из следующих условий представляет собой "истина", значение qP может задаваться равным значению, идентичному значению SliceQp (в данном документе, SliceQp указывает начальное значение параметра Qp квантования для всех срезов в кадре, и оно может получаться из потока битов). Альтернативно, значение qP может задаваться равным значению параметра Qp квантования сигналов яркости последнего базиса кодирования сигналов яркости непосредственно предшествующей группы квантования согласно порядку декодирования.
[204] - Условие 1-1. Когда текущая группа квантования представляет собой первую группу квантования в срезе
[205] - Условие 1-2. Когда текущая группа квантования представляет собой первую группу квантования в плитке
[206] - Условие 1-3. Когда текущая группа квантования представляет собой первую группу квантования в CTB-строке в плитке, и предварительно определенная синхронизация возникает (например, когда entropy_coding_sync_enabled_flag имеет значение в 1)
Y_A
[207] 2. Значение переменной qP может извлекаться следующим образом.
Y_A
Y_PRED
Y_A
Y
[208] Условие 2. Когда, по меньшей мере, одно из следующих условий представляет собой "истина", значение qP может задаваться равным значению qP. Альтернативно, значение qP может задаваться равным значению параметра Qp квантования сигналов яркости базиса кодирования, который включает в себя блок кодирования сигналов яркости, покрывающий выборочное местоположение (xQg-1, yQg) сигналов яркости.
[209] - Условие 2-1. Относительно блока, идентифицированного посредством выборочного местоположения (xCb, yCb), блок, идентифицированный посредством выборочного местоположения (xQg-1, yQg), не представляет собой доступный соседний блок,
[210] - Условие 2-2. Когда CTB, включающая в себя блок кодирования сигналов яркости, покрывающий выборочное местоположение (xQg-1, yQg) сигналов яркости, отличается от CTB, включающей в себя текущий блок кодирования сигналов яркости в выборочном местоположении (xCb, yCb) сигналов яркости, например, когда все следующие условия представляют собой "истина",
[211] - Условие 2-2-1. Значение (xQg-1)>>CtbLog2SizeY отличается от значения (xCb)>>CtbLog2SizeY.
[212] - Условие 2-2-2. Значение (yQg)>>CtbLog2SizeY отличается от значения (yCb)>>CtbLog2SizeY.
Y_B
[213] 3. Значение переменной qP может извлекаться следующим образом.
Y_B
Y_PRED
Y_B
Y
[214] Условие 3. Когда, по меньшей мере, одно из следующих условий представляет собой "истина", значение qP может задаваться равным значению qP. Альтернативно, значение qP может задаваться равным значению параметра Qp квантования сигналов яркости базиса кодирования, который включает в себя блок кодирования сигналов яркости, покрывающий выборочное местоположение (xQg, yQg-1) сигналов яркости.
[215] - Условие 3-1. Относительно блока, идентифицированного посредством выборочного местоположения (xCb, yCb), когда блок, идентифицированный посредством выборочного местоположения (xQg, yQg-1), не представляет собой доступный соседний блок,
[216] - Условие 3-2. Когда CTB, включающая в себя блок кодирования сигналов яркости, покрывающий выборочное местоположение (xQg, yQg-1) сигналов яркости, отличается от CTB, включающей в себя текущий блок кодирования сигналов яркости в выборочном местоположении (xCb, yCb) сигналов яркости, например, когда все следующие условия представляют собой "истина",
[217] - Условие 3-2-1. Значение (xQg)>>CtbLog2SizeY отличается от значения (xCb)>>CtbLog2SizeY,
[218] - Условие 3-2-2. Значение (yQg-1)>>CtbLog2SizeY отличается от значения (yCb)>>CtbLog2SizeY.
Y_PRED
[219] 4. Прогнозное значение qP параметра квантования сигналов яркости может извлекаться следующим образом.
Y_PRED
Y
[220] Когда все следующие условия представляют собой "истина", qP может задаваться равным параметру Qp квантования сигналов яркости базиса кодирования, который включает в себя блок кодирования сигналов яркости, покрывающий выборочное местоположение (xQg, yQg-1) сигналов яркости.
[221] - Условие 3-1. Относительно блока, идентифицированного посредством выборочного местоположения (xCb, yCb), блок, идентифицированный посредством выборочного местоположения (xQg, yQg-1), представляет собой доступный соседний блок
[222] - Когда текущая группа квантования представляет собой первую группу квантования в CTB-строке в плитке
Y_PRED
[223] Между тем, когда все условия не представляют собой "истина", qP может извлекаться так, как показано в нижеприведенном уравнении.
[224] уравнение 3
Y_PRED
Y_A
Y_B
[225] qP=(qP+qP+1)>>1
Y
[226] Переменная Qp может извлекаться так, как показано в нижеприведенном уравнении.
[227] уравнение 4
Y
Y_PRED
[228] Qp=((qP+CuQpDeltaVal+64+2*QpBdOffset)%(64+QpBdOffset))-QpBdOffset
Y
[229] В данном документе, CuQpDeltaVal указывает разность между параметром квантования сигналов яркости для базиса кодирования и его прогнозным значением. Его значение может получаться из потока битов. QpBdOffset указывает смещение диапазона параметров квантования сигналов яркости и сигналов цветности. QpBdOffset может быть предварительно установлен равным предварительно определенной константе или получаться из потока битов. Например, QpBdOffset может вычисляться посредством умножения предварительно определенной константы на значение синтаксического элемента, который указывает битовую глубину выборки сигналов яркости или сигналов цветности. Параметр Qp' квантования сигналов яркости может извлекаться так, как показано в нижеприведенном уравнении.
[230] уравнение 5
Y
Y
[231] Qp'=Qp+QpBdOffset
[232] Когда значение переменной ChromaArrayType, указывающей тип массива сигналов цветности, не является первым значением (например, 0), и treeType представляет собой SINGLE_TREE или DUAL_TREE_CHROMA, следующая обработка может выполняться.
Y
Y
[233] - Когда значение treeType представляет собой DUAL_TREE_CHROMA, значение переменной Qp может задаваться равным значению, идентичному значению параметра Qp квантования сигналов яркости базиса кодирования сигналов яркости, покрывающего выборочное местоположение (xCb+cbWidth/2, yCb+cbHeight/2) сигналов яркости.
Cb
Cr
CbCr
[234] - Переменные qP, qP и qP могут извлекаться так, как показано в нижеприведенном уравнении.
[235] уравнение 6
Chroma
Y
[236] qP=Clip3(-QpBdOffset, 63, Qp)
Cb
Chroma
[237] qP=ChromaQpTable[0][qP]
Cr
Chroma
[238] qP=ChromaQpTable[1][qP]
CbCr
Chroma
[239] qP=ChromaQpTable[2][qP]
Cb
Cr
CbCr
[240] Параметры Qp' и Qp' квантования сигналов цветности для Cb- и Cr-компонентов и параметр Qp' квантования сигналов цветности для объединенного Cb-Cr-кодирования могут извлекаться так, как показано в нижеприведенном уравнении.
[241] уравнение 7
Cb
Cb
Cb
[242] Qp'=Clip3(-QpBdOffset, 63, qP+pps_cb_qp_offset+slice_cb_qp_offset+CuQpOffset)+QpBdOffset
Cr
Cr
Cr
[243] Qp'=Clip3(-QpBdOffset, 63, qP+pps_cr_qp_offset+slice_cr_qp_offset+CuQpOffset)+QpBdOffset
CbCr
CbCr
r
[244] Qp'=Clip3(-QpBdOffset, 63, qP+pps_joint_cbcr_qp_offset+slice_joint_cbcr_qp_offset+CuQpOffsetCbC)+QpBdOffset
Cb
Cr
Cb
Cr
Cb
Cr
Cb
Cr
[245] В вышеприведенном уравнении, pps_cb_qp_offset и pps_cr_qp_offset представляют собой смещения, используемые для того, чтобы извлекать Qp' и Qp', и могут получаться из потока битов для набора параметров кадра. slice_cb_qp_offset и slice_cr_qp_offset представляют собой смещения, используемые для того, чтобы извлекать Qp' и Qp', и могут получаться из потока битов для заголовка среза. CuQpOffset и CuQpOffset представляют собой смещения, используемые для того, чтобы извлекать Qp' и Qp', и могут получаться из потока битов для базиса преобразования.
[246] Помимо этого, например, процесс деквантования для коэффициента преобразования может выполняться с использованием следующих параметров.
[247] - Координаты (xTbY, yTbY) сигналов яркости, ссылающиеся на относительные координаты верхней левой выборки текущего блока преобразования сигналов яркости относительно левой верхней выборки сигналов яркости текущего кадра
[248] - Переменная nTbW, указывающая ширину блока преобразования
[249] - Переменная nTbH, указывающая высоту блока преобразования
[250] - Переменная cIdx, указывающая цветовой компонент текущего блока
[251] Вывод текущего процесса может представлять собой массив d масштабированных коэффициентов преобразования. В данном документе, размер массива d может составлять (nTbW)x(nTbH). Отдельные элементы, составляющие его, могут идентифицироваться в качестве d[x][y].
[252] С этой целью, параметр qP квантования может извлекаться следующим образом. Когда cIdx имеет значение в 0, qP может извлекаться так, как показано в нижеприведенном уравнении.
[253] уравнение 8
Y
[254] qP=Qp'
[255] Альтернативно, когда TuCResMode[xTbY][yTbY] имеет значение в 2, извлечение может проводиться так, как показано в нижеприведенном уравнении.
[256] уравнение 9
CbCr
[257] qP=Qp'
[258] Альтернативно, когда cIdx имеет значение в 1, qP может извлекаться так, как показано в нижеприведенном уравнении.
[259] уравнение 10
Cb
[260] qP=Qp'
[261] Альтернативно, когда cIdx имеет значение в 2, qP может извлекаться так, как показано в нижеприведенном уравнении.
[262] уравнение 11
Cr
[263] qP=Qp'
[264] После этого, параметр qP квантования может обновляться следующим образом. Помимо этого, переменные rectNonTsFlag и bdShift могут извлекаться следующим образом. Например, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 0 (например, когда преобразование текущего блока преобразования не пропускается), извлечение может проводиться так, как показано в нижеприведенном уравнении. В данном документе, первое значение (например, 0) transform_skip_flag может указывать то, что то, опускается или нет преобразование, определяется посредством другого синтаксического элемента. Второе значение (например, 1) transform_skip_flag может указывать опускание (например, пропуск) преобразования.
[265] уравнение 12
[266] qP=qP-(cu_act_enabled_flag[xTbY][yTbY]?5:0)
[267] rectNonTsFlag=0
[268] bdShift=10
[269] Альтернативно, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1 (например, преобразование текущего блока преобразования пропускается), извлечение может проводиться так, как показано в нижеприведенном уравнении.
[270] уравнение 13
[271] qP=Max(QpPrimeTsMin, qP)-(cu_act_enabled_flag[xTbY][yTbY]?5:0)
[272] rectNonTsFlag=(((Log2(nTbW)+Log2(nTbH)) и 1)==1
[273] bdShift=BitDepth+(rectNonTsFlag?1:0)+((Log2(nTbW)+Log2(nTbH))/2)-+pic_dep_quant_enabled_flag
[274] В данном документе, QpPrimeTsMin может указывать минимальное значение параметра квантования, разрешенное, когда применяется режим пропуска преобразования. Оно может определяться в качестве предварительно определенной константы либо может извлекаться из синтаксического элемента потока битов, связанного с ней.
[275] В данном документе, суффиксы Y, Cb и Cr могут обозначать цветовые G-, B- и R-компоненты в цветовой RGB-модели или цветовые Y-, Cg- и Co-компоненты в цветовой YCgCo-модели.
Квантование/деквантование
[276]
[277] Как описано выше, квантователь оборудования кодирования может извлекать квантованные коэффициенты преобразования посредством применения квантования к коэффициентам преобразования. Деквантователь оборудования кодирования или деквантователь оборудования декодирования может извлекать коэффициенты преобразования посредством применения деквантования к квантованным коэффициентам преобразования.
Y
C
[278] При кодировании и декодировании видео/неподвижного изображения, коэффициент квантования может изменяться, и измененный коэффициент квантования может использоваться для того, чтобы регулировать коэффициент сжатия. Согласно аспекту реализации, с учетом сложности, параметр квантования (QP) может использоваться вместо использования коэффициента квантования непосредственно. Например, параметры квантования, имеющие целочисленные значения в 0-63, могут использоваться, и каждое значение параметра квантования может соответствовать фактическому коэффициенту квантования. Помимо этого, параметр QP квантования для компонента сигналов яркости (выборки сигналов яркости) и параметр QP квантования для компонента сигналов цветности (выборки сигналов цветности) могут задаваться таким образом, что они отличаются друг от друга.
[279] В процессе квантования, коэффициент C преобразования может вводиться и делиться на коэффициент Qstep квантования, и на основе этого может получаться квантованный коэффициент C' преобразования. В этом случае, с учетом вычислительной сложности, коэффициент квантования может умножаться на масштаб, чтобы иметь форму целого числа, и операция сдвига может выполняться посредством значения, соответствующего значению масштаба. На основе умножения коэффициента квантования и значения масштаба, может извлекаться масштаб квантования. Таким образом, масштаб квантования может извлекаться согласно QP. Масштаб квантования может применяться к коэффициенту C преобразования, и на основе этого может извлекаться квантованный коэффициент C' преобразования.
[280] Процесс деквантования представляет собой обратный процесс относительно процесса квантования. Квантованный коэффициент C' преобразования может умножаться на коэффициент Qstep квантования, и на основе этого может получаться восстановленный коэффициент C'' преобразования. В этом случае, масштаб уровня может извлекаться согласно параметру квантования. Масштаб уровня может применяться к квантованному коэффициенту C' преобразования, и на основе этого может извлекаться восстановленный коэффициент C'' преобразования. Восстановленный коэффициент C'' преобразования может немного отличаться от исходного коэффициента C преобразования вследствие потерь в процессе преобразования и/или квантования. Следовательно, оборудование кодирования может выполнять деквантование таким же образом, как оборудование декодирования.
[281] Между тем, может применяться технология адаптивного частотного квантования со взвешиванием, в которой интенсивность квантования регулируется согласно частоте. Технология адаптивного частотного квантования со взвешиванием представляет собой способ применения интенсивностей квантования, которые варьируются в зависимости от частоты. При адаптивном частотном квантовании со взвешиванием, интенсивности квантования, варьирующиеся в зависимости от частоты, могут применяться посредством использования предварительно заданной матрицы масштабирования при квантовании. Таким образом, вышеописанный процесс квантования/деквантования может выполняться дополнительно на основе матрицы масштабирования при квантовании. Например, различные матрицы масштабирования при квантовании могут использоваться согласно размеру текущего блока и/или тому, представляет режим прогнозирования, применяемый к текущему блоку для того, чтобы формировать остаточный сигнал текущего блока, собой взаимное прогнозирование или внутреннее прогнозирование. Матрица масштабирования при квантовании может называться "матрицей квантования" или "масштабирующей матрицей". Матрица масштабирования при квантовании может быть предварительно задана. Помимо этого, для частотно-адаптивного масштабирования, информация конкретного для частоты масштаба квантования для матрицы масштабирования при квантовании может конструироваться/кодироваться посредством оборудования кодирования и может передаваться в служебных сигналах в оборудование декодирования. Информация конкретного для частоты масштаба квантования может называться "информацией масштабирования при квантовании". Информация конкретного для частоты масштаба квантования может включать в себя данные списка масштабирования (scaling_list_data). (Модифицированная) матрица масштабирования при квантовании может извлекаться на основе данных списка масштабирования. Помимо этого, информация конкретного для частоты масштаба квантования может включать в себя информацию флага присутствия, указывающую то, присутствуют или нет данные списка масштабирования. Альтернативно, когда данные списка масштабирования передаются в служебных сигналах на высоком уровне (например, SPS), дополнительно включается информация, указывающая то, модифицируются или нет данные списка масштабирования на нижнем уровне (например, PPS или заголовка группы плиток и т.д.).
Преобразование/обратное преобразование
[282]
[283] Как описано выше, оборудование кодирования может извлекать остаточный блок (остаточные выборки) на основе блока (прогнозных выборок), прогнозированного через внутреннее/взаимное/IBC-прогнозирование, и может извлекать квантованные коэффициенты преобразования посредством применения преобразования и квантования к извлеченным остаточным выборкам. После включения в синтаксис остаточного кодирования, информация (остаточная информация) относительно квантованных коэффициентов преобразования может кодироваться и выводиться в форме потока битов. Оборудование декодирования может получать информацию (остаточную информацию) относительно квантованных коэффициентов преобразования из потока битов и может извлекать квантованные коэффициенты преобразования посредством выполнения декодирования. Оборудование декодирования может извлекать остаточные выборки через деквантование/обратное преобразование на основе квантованных коэффициентов преобразования. Как описано выше, квантование/деквантование или преобразование/обратное преобразование либо и то, и другое могут опускаться. Когда преобразование/обратное преобразование опускается, коэффициент преобразования может называться "коэффициентом" или "остаточным коэффициентом" либо по-прежнему может называться "коэффициентом преобразования" для согласованности выражения. То, опускается или нет преобразование/обратное преобразование, может передаваться в служебных сигналах на основе флага пропуска преобразования (например, transform_skip_flag).
[284] Преобразование/обратное преобразование может выполняться на основе ядра(ер) преобразования. Например, может применяться схема множественного выбора преобразования (MTS) для выполнения преобразования/обратного преобразования. В этом случае, часть из нескольких наборов ядер преобразования могут выбираться и применяться к текущему блоку. Ядро преобразования может называться с помощью различных терминов, таких как "матрица преобразования", "тип преобразования" и т.д. Например, набор ядер преобразования может означать комбинацию ядра преобразования в вертикальном направлении (ядра вертикального преобразования) и ядра преобразования в горизонтальном направлении (ядра горизонтального преобразования).
[285] Преобразование/обратное преобразование может выполняться на основе CU или TU. Таким образом, преобразование/обратное преобразование может применяться к остаточным выборкам в CU либо к остаточным выборкам в TU. CU-размер и TU-размер могут быть идентичными, или множество TU могут присутствовать в CU-зоне. Между тем, CU-размер, в общем, может означать CB-размер компонентных (выборок) сигналов яркости. TU-размер, в общем, может означать TB-размер компонентных (выборок) сигналов яркости. CB- или TB-размер компонентных (выборок) сигналов цветности может извлекаться на основе CB- или TB-размера компонентных (выборок) сигналов яркости согласно соотношению компонентов согласно цветовому формату (формату сигналов цветности, например, 4:4:4, 4:2:2, 4:2:0 и т.п.). TU-размер может извлекаться на основе maxTbSize. Например, когда CU-размер больше maxTbSize, множество TU (TB), имеющих maxTbSize, могут извлекаться из CU, и преобразование/обратное преобразование может выполняться на основе TU (TB). MaxTbSize может учитываться при определении того, применяются или нет различные типы внутреннего прогнозирования, такие как ISP. Информация относительно maxTbSize может быть предварительно определена. Альтернативно, информация относительно maxTbSize может формироваться и кодироваться посредством оборудования кодирования и передаваться в служебных сигналах в оборудование кодирования.
Энтропийное кодирование
[286]
[287] Как описано выше со ссылкой на фиг. 2, часть или вся информация видео/изображений может энтропийно кодироваться посредством энтропийного кодера 190. Часть или вся информация видео/изображений, описанная со ссылкой на фиг. 3, может энтропийно декодироваться посредством энтропийного декодера 310. В этом случае, информация видео/изображений может кодироваться/декодироваться на основе синтаксического элемента. В настоящем документе, кодирование/декодирование информации может включать в себя кодирование/декодирование посредством способа, описанного в этом параграфе.
[288] Фиг. 21 показывает блок-схему CABAC для кодирования одного синтаксического элемента. В процессе кодирования CABAC, во-первых, когда входной сигнал представляет собой синтаксический элемент, не представляющий собой двоичное значение, входной сигнал преобразуется в двоичное значение через преобразование в двоичную форму. Когда входной сигнал уже представляет собой двоичное значение, входной сигнал обходит преобразование в двоичную форму. В данном документе, каждое двоичное число 0 или 1, составляющее двоичное значение, может называться "элементом разрешения". Например, двоичная строка (строка элементов разрешения) после преобразования в двоичную форму представляет собой 110, каждое из 1, 1 и 0 называется "одним элементом разрешения". Элемент(ы) разрешения для одного синтаксического элемента могут означать значение синтаксического элемента.
[289] Преобразованные в двоичную форму элементы выборки могут вводиться в механизм регулярного кодирования или механизм обходного кодирования. Механизм регулярного кодирования может назначать контекстную модель, которая применяет значение вероятности к соответствующему элементу разрешения, и может кодировать элемент разрешения на основе назначенной контекстной модели. После выполнения кодирования для каждого элемента разрешения, механизм регулярного кодирования может обновлять вероятностную модель для элемента разрешения. Элементы разрешения, кодированные таким образом, могут называться "контекстно-кодированными элементами разрешения". Механизм обходного кодирования может опускать процедуру для оценки вероятности входного элемента выборки и процедуру для обновления вероятностной модели, применяемой к элементу разрешения после кодирования. В случае механизма обходного кодирования, входной элемент выборки кодируется посредством применения равномерного распределения вероятностей (например, 50:50) вместо назначения контекста, за счет этого повышая скорость кодирования. Элементы разрешения, кодированные таким образом, могут называться "обходными элементами разрешения". Контекстная модель может назначаться и обновляться для каждого элемента разрешения, который должен контекстно кодироваться (регулярно кодироваться), и контекстная модель может указываться на основе ctxidx или ctxInc; ctxidx может извлекаться на основе ctxInc. В частности, например, индекс контекста (ctxidx), указывающий контекстную модель для каждого из регулярно-кодированных элементов разрешения, может извлекаться в качестве суммы приращения индекса контекста (ctxInc) и смещения индекса контекста (ctxIdxOffset). В данном документе, ctxInc, варьирующийся в зависимости от элемента разрешения, может извлекаться. ctxIdxOffset может представляться посредством наименьшего значения ctxIdx. Наименьшее значение ctxIdx может называться "начальным значением (initValue) ctxIdx". ctxIdxOffset является значением, в общем, используемым для отличения от контекстных моделей для других синтаксических элементов, и контекстная модель для одного синтаксического элемента может отличаться/извлекаться на основе ctxinc.
[290] В процедуре энтропийного кодирования, определяется то, следует выполнять кодирование через механизм регулярного кодирования либо выполнять кодирование через механизм обходного кодирования, и тракт кодирования может переключаться. Энтропийное декодирование может выполнять процесс, идентичный энтропийному кодированию, в обратном порядке.
[291] Вышеописанное энтропийное кодирование, например, может выполняться так, как указано на фиг. 22 и 23. Ссылаясь на фиг. 22 и 23, оборудование кодирования (энтропийный кодер) может выполнять процедуру энтропийного кодирования для получения информации изображений/видео. Информация изображений/видео может включать в себя связанную с сегментацией информацию, связанную с прогнозированием информацию (например, информацию классификации взаимного/внутреннего прогнозирования, информацию режима внутреннего прогнозирования и информацию режима взаимного прогнозирования), остаточную информацию и связанную с внутриконтурной фильтрацией информацию либо может включать в себя различные синтаксические элементы, связанные с ней. Энтропийное кодирование может выполняться на основе синтаксического элемента. Этапы S2210-S2220 по фиг. 22 могут выполняться посредством энтропийного кодера 190 оборудования кодирования по фиг. 2, описанного выше.
[292] Оборудование кодирования может выполнять преобразование в двоичную форму для целевого синтаксического элемента на этапе S2210. В данном документе, преобразование в двоичную форму может быть основано на различных способах преобразования в двоичную форму, таких как процесс преобразования в двоичную форму усеченным кодом Райса и процесс преобразования в двоичную форму кодом фиксированной длины, и способ преобразования в двоичную форму для целевого синтаксического элемента может быть предварительно задан. Процедура преобразования в двоичную форму может выполняться посредством модуля 191 преобразования в двоичную форму в энтропийном кодере 190.
[293] Оборудование кодирования может выполнять энтропийное кодирование для целевого синтаксического элемента на этапе S2220. Оборудование кодирования может выполнять регулярное (контекстное) или обходное кодирование для строки элементов разрешения целевого синтаксического элемента на основе схемы энтропийного кодирования, такой как контекстно-адаптивное арифметическое кодирование (CABAC) или контекстно-адаптивное кодирование переменной длины (CAVLC). Вывод может включаться в поток битов. Процедура энтропийного кодирования может выполняться посредством процессора 192 энтропийного кодирования в энтропийном кодере 190. Как описано выше, поток битов может передаваться в оборудование декодирования через (цифровой) носитель хранения данных или сеть.
[294] Ссылаясь на фиг. 24 и 25, оборудование декодирования (энтропийный декодер) может декодировать кодированную информацию изображений/видео. Информация изображений/видео может включать в себя связанную с сегментацией информацию, связанную с прогнозированием информацию (например, информацию классификации взаимного/внутреннего прогнозирования, информацию режима внутреннего прогнозирования и информацию режима взаимного прогнозирования), остаточную информацию и связанную с внутриконтурной фильтрацией информацию либо может включать в себя различные синтаксические элементы, связанные с ней. Энтропийное кодирование может выполняться на основе синтаксического элемента. Этапы S2410-S2420 могут выполняться посредством энтропийного декодера 210 оборудования декодирования по фиг. 3, описанного выше.
[295] Оборудование декодирования может выполнять преобразование в двоичную форму для целевого синтаксического элемента на этапе S2410. В данном документе, преобразование в двоичную форму может быть основано на различных способах преобразования в двоичную форму, таких как процесс преобразования в двоичную форму усеченным кодом Райса и процесс преобразования в двоичную форму кодом фиксированной длины, и способ преобразования в двоичную форму для целевого синтаксического элемента может быть предварительно задан. Оборудование декодирования может извлекать доступные строки элементов разрешения (возможные варианты строк элементов разрешения) для доступных значений целевого синтаксического элемента через процедуру преобразования в двоичную форму. Процедура преобразования в двоичную форму может выполняться посредством модуля 211 преобразования в двоичную форму в энтропийном декодере 210.
[296] Оборудование декодирования может выполнять энтропийное декодирование для целевого синтаксического элемента на этапе S2420. Хотя оборудование декодирования последовательно декодирует и синтаксически анализирует каждый элемент разрешения для целевого синтаксического элемента из входного бита(ов) в потоке битов и может сравнивать извлеченную строку элементов разрешения с доступными строками элементов разрешения для синтаксического элемента. Когда извлеченная строка элементов разрешения является идентичной одной из доступных строк элементов разрешения, значение, соответствующее строке элементов разрешения, может извлекаться в качестве значения синтаксического элемента. Если нет, следующий бит в потоке битов дополнительно синтаксически анализируется, и вышеописанная процедура выполняется снова. Посредством этого процесса, начальный бит или конечный бит для конкретной информации (конкретного синтаксического элемента) в потоке битов не используется, но биты переменной длины используются для того, чтобы передавать в служебных сигналах информацию. За счет этого, относительно меньшее число битов назначается для низкого значения, в силу этого повышая общую эффективность кодирования.
[297] Оборудование декодирования может выполнять контекстное или обходное декодирование для каждого элемента разрешения в строке элементов разрешения из потока битов на основе технологии энтропийного кодирования, такой как CABAC или CAVLC. Процедура энтропийного декодирования может выполняться посредством процессора 212 энтропийного декодирования в энтропийном декодере 210. Поток битов может включать в себя различные типы информации для декодирования изображений/видео, как описано выше. Как описано выше, поток битов может передаваться в оборудование декодирования через (цифровой) носитель хранения данных или сеть.
[298] В настоящем документе, таблица (синтаксическая таблица), включающая в себя синтаксические элементы, может использоваться для того, чтобы представлять передачу в служебных сигналах информации из оборудования кодирования в оборудование декодирования. Порядок синтаксических элементов в таблице, включающей в себя синтаксические элементы, используемые в настоящем документе, может означать порядок синтаксического анализа синтаксических элементов из потока битов. Оборудование кодирования может конструировать и кодировать синтаксическую таблицу таким образом, что синтаксические элементы синтаксически анализируются в порядке синтаксического анализа посредством оборудования декодирования. Оборудование декодирования может синтаксически анализировать и декодировать синтаксические элементы синтаксической таблицы из потока битов в порядке синтаксического анализа и в силу этого может получать значения синтаксических элементов.
Общая процедура кодирования изображений/видео
[299]
[300] При кодировании изображений/видео, кадры, составляющие изображение/видео, могут кодироваться/декодироваться согласно порядку декодирования в последовательности. Порядок кадров, соответствующий порядку вывода декодированных кадров, может задаваться таким образом, что он отличается от порядка декодирования, и на основе этого, прямое прогнозирование, а также обратное направление может выполняться, когда выполняется взаимное прогнозирование.
[301] Фиг. 26 показывает пример схематичной процедуры декодирования кадров, к которой является применимым вариант(ы) осуществления настоящего документа. На фиг. 26, этап S2610 может выполняться посредством энтропийного декодера 210 оборудования декодирования, описанного выше со ссылкой на фиг. 3. Этап S2620 может выполняться посредством модуля прогнозирования, включающего в себя модуль 265 внутреннего прогнозирования и модуль 260 взаимного прогнозирования. Этап S2630 может выполняться посредством остаточного процессора, включающего в себя деквантователь 220 и обратный преобразователь 230. Этап S2640 может выполняться посредством сумматора 235. Этап S2650 может выполняться посредством фильтра 240. Этап S2610 может включать в себя процедуру декодирования информации, описанную в настоящем документе. Этап S2620 может включать в себя процедуру взаимного/внутреннего прогнозирования, описанную в настоящем документе. Этап S2630 может включать в себя процедуру остаточной обработки, описанную в настоящем документе. Этап S2640 может включать в себя процедуру восстановления блоков/кадров, описанную в настоящем документе. Этап S2650 может включать в себя процедуру внутриконтурной фильтрации, описанную в настоящем документе.
[302] Ссылаясь на фиг. 26, процедура декодирования кадров может схематично включать в себя, как описано выше со ссылкой на фиг. 3, процедуру получения информации изображений/видео из потока битов (посредством декодирования) на этапе S2610, процедуру восстановления кадров на этапах S2620-S2640 и процедуру внутриконтурной фильтрации для восстановленного кадра на этапе S2650. Процедура восстановления кадров может выполняться на основе прогнозных выборок и остаточных выборок, которые получаются через взаимное/внутреннее прогнозирование на этапе S2620 и остаточную обработку на этапе S2630 (процесс деквантования и обратного преобразования квантованных коэффициентов преобразования), описанную в настоящем документе. Модифицированный восстановленный кадр может формироваться через процедуру внутриконтурной фильтрации для восстановленного кадра, сформированного через процедуру восстановления кадров. Модифицированный восстановленный кадр может выводиться в качестве декодированного кадра и может сохраняться в буфере декодированных кадров или запоминающем устройстве 250 оборудования декодирования для использования впоследствии в качестве опорного кадра в процедуре взаимного прогнозирования, когда кадр декодируется. В некоторых случаях, процедура внутриконтурной фильтрации может опускаться. В этом случае, восстановленный кадр может выводиться в качестве декодированного кадра и может сохраняться в буфере декодированных кадров или запоминающем устройстве 250 оборудования декодирования для использования впоследствии в качестве опорного кадра в процедуре взаимного прогнозирования, когда декодируется кадр. Как описано выше, процедура внутриконтурной фильтрации на этапе S2650 может включать в себя процедуру фильтрации для удаления блочности, процедуру фильтрации на основе дискретизированного адаптивного смещения (SAO), процедуру адаптивной контурной фильтрации (ALF) и/или процедуру билатеральной фильтрации. Часть или вся она может опускаться. Помимо этого, одна или некоторые из процедуры фильтрации для удаления блочности, процедуры фильтрации на основе дискретизированного адаптивного смещения (SAO), процедуры адаптивной контурной фильтрации (ALF) и процедуры билатеральной фильтрации могут последовательно применяться, либо все они могут последовательно применяться. Например, процедура фильтрации для удаления блочности может применяться к восстановленному кадру, и затем SAO-процедура может выполняться. Альтернативно, например, процедура фильтрации для удаления блочности может применяться к восстановленному кадру, и затем ALF-процедура может выполняться. Это может выполняться таким же образом, как в оборудовании кодирования.
[303] Фиг. 27 показывает пример схематичной процедуры кодирования кадров, к которой является применимым вариант(ы) осуществления настоящего документа. На фиг. 27, этап S2710 может выполняться посредством модуля прогнозирования, включающего в себя модуль 185 внутреннего прогнозирования или модуль 180 взаимного прогнозирования оборудования кодирования, описанного выше со ссылкой на фиг. 2. Этап S2720 может выполняться посредством остаточного процессора, включающего в себя преобразователь 120 и/или квантователь 130. Этап S2730 может выполняться посредством энтропийного кодера 190. Этап S2710 может включать в себя процедуру взаимного/внутреннего прогнозирования, описанную в настоящем документе. Этап S2720 может включать в себя процедуру остаточной обработки, описанную в настоящем документе. Этап S2730 может включать в себя процедуру кодирования информации, описанную в настоящем документе.
[304] Ссылаясь на фиг. 27, процедура кодирования кадров может схематично включать в себя, как описано выше со ссылкой на фиг. 2, процедуру для кодирования информации (например, информации прогнозирования, остаточной информации и информации сегментации) для восстановления кадров и вывода информации в форме потока битов, процедуру для формирования восстановленного кадра для текущего кадра и процедуру (необязательно) для применения внутриконтурной фильтрации к восстановленному кадру. Оборудование кодирования может извлекать (модифицированные) остаточные выборки из квантованных коэффициентов преобразования через деквантователь 140 и обратный преобразователь 150 и может формировать восстановленный кадр на основе прогнозных выборок, которые представляют собой вывод на этапе S2710, и (модифицированных) остаточных выборок. Формированный восстановленный кадр может быть идентичным восстановленному кадру, сформированному посредством оборудования декодирования, описанного выше. Процедура внутриконтурной фильтрации может выполняться для восстановленного кадра, чтобы формировать модифицированный восстановленный кадр. Модифицированный восстановленный кадр может сохраняться в буфере декодированных кадров или запоминающем устройстве 170. Аналогично случаю в оборудовании декодирования, модифицированный восстановленный кадр может использоваться впоследствии в качестве опорного кадра в процедуре взаимного прогнозирования, когда кадр кодируется. Как описано выше, в некоторых случаях, часть или вся процедура внутриконтурной фильтрации может опускаться. Когда процедура внутриконтурной фильтрации выполняется, связанная с (внутриконтурной) фильтрацией информация (параметр) может кодироваться посредством энтропийного кодера 190 и выводиться в форме потока битов. Оборудование декодирования может выполнять процедуру внутриконтурной фильтрации на основе связанной с фильтрацией информации таким же образом, как оборудование кодирования.
[305] Через эту процедуру внутриконтурной фильтрации, шумы, такие как артефакт блочности и артефакт кольцевания, образующиеся во время кодирования изображений/видео, могут уменьшаться, и субъективное/объективное визуальное качество может повышаться. Помимо этого, оборудование кодирования и оборудование декодирования выполняют процедуру внутриконтурной фильтрации, так что оборудование кодирования и оборудование декодирования могут извлекать идентичный результат прогнозирования, надежность кодирования кадров может повышаться, и объем данных, которые должны передаваться для кодирования кадров, может уменьшаться.
[306] Как описано выше, процедура восстановления кадров может выполняться в оборудовании декодирования, а также в оборудовании кодирования. Восстановленный блок может формироваться на основе внутреннего прогнозирования/взаимного прогнозирования на основе каждого блока, и восстановленный кадр, включающий в себя восстановленные блоки, может формироваться. Когда текущий кадр/срез/группа плиток представляет собой I-кадр/срез/группу плиток, блоки, включенные в текущий кадр/срез/группу плиток, могут восстанавливаться только на основе внутреннего прогнозирования. Между тем, когда текущий кадр/срез/группа плиток представляет собой P- или B-кадр/срез/группу плиток, блоки, включенные в текущий кадр/срез/группа плиток, могут восстанавливаться на основе внутреннего прогнозирования или взаимного прогнозирования. В этом случае, внутреннее прогнозирование может применяться к некоторым блокам в текущем кадре/срезе/группе плиток, и взаимное прогнозирование может применяться к некоторым оставшимся блокам. Цветовой компонент кадра может включать в себя компонент сигналов яркости и компонент сигналов цветности. Если явно не ограничено в настоящем документе, способ и варианты осуществления, предложенные в настоящем документе, могут применяться к компоненту сигналов яркости и компоненту сигналов цветности.
Пример иерархии и структуры кодирования
[307]
[308] Кодированное видео/изображение согласно настоящему документу может обрабатываться, например, согласно иерархии и структуре кодирования, которая описывается ниже.
[309] Фиг. 28 является видом, показывающим иерархическую структуру для кодированного изображения. Кодированное изображение может разделяться на слой кодирования видео (VCL, иерархия кодирования видео), который проводит обработку декодирования изображения и себя, подсистему для передачи и сохранения кодированной информации и слой абстрагирования от сети (NAL, иерархию абстрагирования от сети), который присутствует между VCL и подсистемой и отвечает за функцию сетевой адаптации.
[310] В VCL, могут формироваться VCL-данные, включающие в себя сжатые данные изображений (данные срезов). Альтернативно, может формироваться набор параметров, включающий в себя такую информацию, как набор параметров кадра (PPS), набор параметров последовательности (SPS) и набор параметров видео (VPS) или сообщение с дополнительной улучшающей информацией (SEI), дополнительно требуемую для процесса декодирования изображений.
[311] В NAL, информация заголовка (заголовок NAL-единицы) добавляется в первичную байтовую последовательность данных (RBSP), сформированную в VCL таким образом, что NAL-единица может формироваться. В данном документе, RBSP означает данные срезов, набор параметров и SEI-сообщение, сформированное в VCL. Заголовок NAL-единицы может включать в себя информацию типа NAL-единиц, которая указывается согласно RBSP-данным, включенным в NAL-единицу.
[312] Как показано на чертеже, NAL-единица может разделяться на VCL NAL-единицу и не-VCL NAL-единицу в зависимости от RBSP, сформированной в VCL. VCL NAL-единица может означать NAL-единицу, которая включает в себя информацию (данные срезов) относительно изображения. Не-VCL NAL-единица может означать NAL-единицу, которая включает в себя информацию (набор параметров или SEI-сообщение), требуемую для декодирования изображения.
[313] С информацией заголовка, присоединенной согласно стандарту данных подсистемы, VCL NAL-единица и не-VCL NAL-единица могут передаваться по сети. Например, NAL-единица может преобразовываться в форме данных предварительно определенного стандарта, такого как H.266/VVC-формат файлов, транспортный протокол реального времени (RTP), транспортный поток (TS), и результирующие данные могут передаваться по различным сетям.
[314] Как описано выше, относительно NAL-единицы, тип NAL-единицы может указываться согласно структуре RBSP-данных, включенной в NAL-единицу, и информация относительно типа NAL-единицы может сохраняться в заголовке NAL-единицы и передаваться в служебных сигналах.
[315] Например, в зависимости от того, включает или нет NAL-единица в себя информацию (данные срезов) относительно изображения, проводится приблизительная классификация на тип VCL NAL-единицы и тип не-VCL NAL-единицы. Тип VCL NAL-единицы может классифицироваться согласно характеристике и типу кадра, включенного в VCL NAL-единицу, и тип не-VCL NAL-единицы может классифицироваться согласно типу набора параметров.
[316] Типы NAL-единиц, указываемые согласно типам наборов параметров, которые включают в себя типы не-VCL NAL-единиц, перечисляются ниже в качестве примера.
[317] - NAL-единица APS (набора параметров адаптации): тип NAL-единицы, включающей в себя APS
[318] - NAL-единица DPS (набора параметров декодирования): тип NAL-единицы, включающей в себя DPS
[319] - NAL-единица VPS (набора параметров видео): тип NAL-единицы, включающей в себя VPS
[320] - NAL-единица SPS (набора параметров последовательности): тип NAL-единицы, включающей в себя SPS
[321] - NAL-единица PPS (набора параметров кадра): тип NAL-единицы, включающей в себя PPS
[322] Вышеописанные типы NAL-единиц имеют синтаксическую информацию для типа NAL-единицы, и синтаксическая информация может сохраняться в заголовке NAL-единицы и передаваться в служебных сигналах. Например, синтаксическая информация может представлять собой nal_unit_type, и типы NAL-единиц могут указываться посредством значений nal_unit_type.
[323] Заголовок среза (синтаксис заголовков срезов) может включать в себя информацию/параметр, применимую к срезу совместно. APS (APS-синтаксис) или PPS (PPS-синтаксис) может включать в себя информацию/параметр, применимую к одному или более срезов либо кадров совместно. SPS (SPS-cинтаксис) может включать в себя информацию/параметр, применимую к одной или более последовательностей совместно. VPS (VPS-синтаксис) может включать в себя информацию/параметр, применимую к нескольким слоям совместно. DPS (DPS-синтаксис) может включать в себя информацию/параметр, применимую ко всему видео совместно. DPS может включать в себя информацию/параметр, связанную с конкатенацией кодированных видеопоследовательностей (CVS). В настоящем документе, высокоуровневый синтаксис (HLS) может включать в себя, по меньшей мере, одно, выбранное из группы APS-синтаксиса, PPS-синтаксиса, SPS-cинтаксиса, VPS-синтаксиса, DPS-синтаксиса и синтаксиса заголовков срезов.
[324] В настоящем документе, информация изображений/видео, кодированная посредством оборудования кодирования и передаваемая в служебных сигналах в форме потока битов в оборудование декодирования, может включать в себя связанную с сегментацией информацию, информацию внутреннего/взаимного прогнозирования, остаточную информацию и информацию внутриконтурной фильтрации в кадре, а также информацию, включенную в заголовок среза, информацию, включенную в APS, информацию, включенную в PPS, информацию, включенную в SPS, и/или информацию, включенную в VPS.
Общее представление блочно-дифференциальной импульсно-кодовой модуляции (BDPCM)
[325]
[326] Оборудование кодирования изображений и оборудование декодирования изображений согласно варианту осуществления могут выполнять дифференциальное кодирование остаточного сигнала. Например, оборудование кодирования изображений может кодировать остаточный сигнал посредством вычитания прогнозного сигнала из остаточного сигнала текущего блока, и оборудование декодирования изображений может декодировать остаточный сигнал посредством суммирования прогнозного сигнала с остаточным сигналом текущего блока. Оборудование кодирования изображений и оборудование декодирования изображений согласно варианту осуществления могут выполнять дифференциальное кодирование остаточного сигнала посредством применения BDPCM, описанной ниже.
[327] BDPCM согласно настоящему раскрытию сущности может выполняться в квантованной остаточной области. Квантованная остаточная область может включать в себя квантованный остаточный сигнал (или квантованный остаточный коэффициент), и при применении BDPCM, преобразование квантованного остаточного сигнала может пропускаться. Например, при применении BDPCM, преобразование остаточного сигнала может пропускаться, и квантование может выполняться. Альтернативно, квантованная остаточная область может включать в себя квантованные коэффициенты преобразования.
[328] В варианте осуществления, к которому применяется BDPCM, оборудование кодирования изображений может извлекать остаточный блок относительно текущего блока, прогнозированного в режиме внутреннего прогнозирования, и квантовать остаточный блок, за счет этого извлекая остаточный блок. Когда режим дифференциального кодирования остаточного сигнала выполняется относительно текущего блока, оборудование кодирования изображений может выполнять дифференциальное кодирование относительно остаточного блока, чтобы извлекать модифицированный остаточный блок. Помимо этого, оборудование кодирования изображений может кодировать информацию режима дифференциального кодирования, указывающую режим дифференциального кодирования остаточного сигнала и модифицированного остаточного блока, за счет этого формируя поток битов.
[329] Более конкретно, когда BDPCM применяется к текущему блоку, прогнозированный блок (блок прогнозирования), включающий в себя прогнозированные выборки текущего блока, может формироваться посредством внутреннего прогнозирования. В этом случае, режим внутреннего прогнозирования для выполнения внутреннего прогнозирования может передаваться в служебных сигналах через поток битов и может извлекаться на основе направления прогнозирования BDPCM, описанной ниже. Помимо этого, в этом случае, режим внутреннего прогнозирования может определяться в качестве одного из режима вертикального направления прогнозирования или режима горизонтального направления прогнозирования. Например, когда направление прогнозирования BDPCM представляет собой горизонтальное направление, режим внутреннего прогнозирования может определяться в качестве режима горизонтального направления прогнозирования, и блок прогнозирования относительно текущего блока может формироваться посредством внутреннего прогнозирования горизонтального направления. Альтернативно, когда направление прогнозирования BDPCM представляет собой вертикальное направление, режим внутреннего прогнозирования может определяться в качестве режима вертикального направления прогнозирования, и блок прогнозирования относительно текущего блока может формироваться посредством внутреннего прогнозирования вертикального направления. При применении внутреннего прогнозирования горизонтального направления, значение пиксела, смежного слева относительно текущего блока, может определяться в качестве прогнозного выборочного значения для выборок, включенных в соответствующую строку текущего блока. При применении внутреннего прогнозирования вертикального направления, значение пиксела, смежного с вершиной относительно текущего блока, может определяться в качестве прогнозного выборочного значения для выборок, включенных в соответствующий столбец текущего блока. При применении BDPCM к текущему блоку, способ формирования блока прогнозирования относительно текущего блока может одинаково выполняться в оборудовании кодирования изображений и в оборудовании декодирования изображений.
[330] При применении BDPCM к текущему блоку, оборудование кодирования изображений может формировать остаточный блок, включающий в себя остаточные выборки текущего блока, посредством вычитания прогнозной выборки из текущего блока. Оборудование кодирования изображений может квантовать остаточный блок и затем кодировать разность (или дельту) между квантованной остаточной выборкой и предиктором квантованной остаточной выборки. Оборудование декодирования изображений может формировать квантованный остаточный блок относительно текущего блока посредством получения квантованной остаточной выборки текущего блока на основе предиктора и разности, восстановленной из потока битов. После этого, оборудование декодирования изображений может деквантовать квантованный остаточный блок и затем суммировать его с блоком прогнозирования, за счет этого восстанавливая текущий блок.
i, j
i, j
i, j
[331] Фиг. 29 является видом, иллюстрирующим способ кодирования остаточной выборки BDPCM согласно настоящему раскрытию сущности. Остаточный блок по фиг. 29 может формироваться посредством вычитания блока прогнозирования из текущего блока в оборудовании кодирования изображений. Квантованный остаточный блок по фиг. 29 может формироваться посредством квантования остаточного блока посредством оборудования кодирования изображений. На фиг. 29, r указывает значение остаточной выборки координат (i, j) в текущем блоке. Когда размер текущего блока составляет MxN, значение i может составлять от 0 до M-1, включительно. Помимо этого, значение j может составлять от 0 до N-1, включительно. Например, остаток может означать разность между исходным блоком и блоком прогнозирования. Например, r может извлекаться посредством вычитания значения прогнозной выборки из значения исходной выборки координат (i, j) в текущем блоке. Например, r может представлять собой остаток прогнозирования после того, как горизонтальное внутреннее прогнозирование или вертикальное внутреннее прогнозирование выполняется с использованием выборки, которая не фильтруется из верхней или левой граничной выборки. При горизонтальном внутреннем прогнозировании, значение левого соседнего пиксела копируется вдоль линии, пересекающей блок прогнозирования. При вертикальном внутреннем прогнозировании, верхняя соседняя линия копируется в отдельную линию блока прогнозирования.
i, j
i, j
i, j
[332] На фиг. 29, Q(r) ссылается на значение квантованной остаточной выборки координат (i, j) в текущем блоке. Например, Q(r) может ссылаться на квантованное значение r.
[333] Прогнозирование BDPCM выполняется для квантованных остаточных выборок по фиг. 29, и может формироваться модифицированный квантованный остаточный блок Rp', имеющий размер MxN, включающий в себя модифицированные квантованные остаточные выборки rp'.
i, j
[334] Когда направление прогнозирования BDPCM представляет собой горизонтальное направление, значение rp' модифицированной квантованной остаточной выборки координат (i, j) в текущем блоке может вычисляться так, как показано в нижеприведенном уравнении.
[335] уравнение 14
[336]
0,j
0,j
i, j
i, j
i-1,j
i, j
i-1,j
i, j
i, j
[337] Как показано в уравнении 14, когда направление прогнозирования BDPCM представляет собой горизонтальное направление, значение Q(r) квантованной остаточной выборки назначено как есть для значения rp' координат (0,j). Значение rp' других координат (i, j) может извлекаться в качестве разностного значения между значением Q(r) квантованной остаточной выборки координат (i, j) и значением Q(r) квантованной остаточной выборки координат (i-1,j). Таким образом, вместо кодирования значения Q(r) квантованной остаточной выборки координат (i, j), разностное значение, вычисленное посредством использования значения Q(r) квантованной остаточной выборки координат (i-1,j) в качестве прогнозного значения, извлекается в качестве модифицированного квантованного остаточного выборочного значения rp', и затем значение rp' кодируется.
i, j
[338] Когда направление прогнозирования BDPCM представляет собой вертикальное направление, значение (rp') модифицированной квантованной остаточной выборки координат (i, j) в текущем блоке может вычисляться так, как показано в нижеприведенном уравнении.
[339] уравнение 15
[340]
i,0
i,0
i, j
i, j
i, j-1
i, j
i, j-1
i, j
i, j
[341] Как показано в уравнении 15, когда направление прогнозирования BDPCM представляет собой вертикальное направление, значение Q(r) квантованной остаточной выборки назначено как есть для значения rp' координат (i,0). Значение rp' других координат (i, j) может извлекаться в качестве разностного значения между значением Q(r) квантованной остаточной выборки координат (i, j) и значением Q(r) квантованной остаточной выборки координат (i, j-1). Таким образом, вместо кодирования значения Q(r) квантованной остаточной выборки координат (i, j), разностное значение, вычисленное посредством использования значения Q(r) квантованной остаточной выборки координат (i, j-1) в качестве прогнозного значения, извлекается в качестве модифицированного квантованного остаточного выборочного значения rp', и затем значение rp' кодируется.
[342] Как описано выше, процесс модификации текущего квантованного остаточного выборочного значения посредством использования близлежащего квантованного остаточного выборочного значения в качестве прогнозного значения может называться "BDPCM-прогнозированием".
[343] В завершение, оборудование кодирования изображений может кодировать модифицированный квантованный остаточный блок, включающий в себя модифицированные квантованные остаточные выборки, и может передавать результирующий блок в оборудование декодирования изображений. В данном документе, как описано выше, преобразование модифицированного квантованного остаточного блока не выполняется.
[344] Фиг. 30 является видом, показывающим модифицированные квантованные остаточные блоки, сформированные посредством выполнения BDPCM настоящего раскрытия сущности.
[345] На фиг. 30, горизонтальная BDPCM показывает модифицированный квантованный остаточный блок, сформированный согласно уравнению 14, когда направление прогнозирования BDPCM представляет собой горизонтальное направление. Помимо этого, вертикальная BDPCM показывает модифицированный квантованный остаточный блок, сформированный согласно уравнению 15, когда направление прогнозирования BDPCM представляет собой вертикальное направление.
[346] Фиг. 31 является блок-схемой последовательности операций способа, показывающей процедуру для кодирования текущего блока посредством применения BDPCM в оборудовании кодирования изображений.
[347] Во-первых, когда текущий блок, который представляет собой целевой блок кодирования, вводится на этапе S3110, прогнозирование может выполняться для текущего блока, чтобы формировать блок прогнозирования на этапе S3120. Блок прогнозирования на этапе S3120 может представлять собой внутренне прогнозированный блок, и режим внутреннего прогнозирования может определяться так, как описано выше. На основе блока прогнозирования, сформированного на этапе S3120, остаточный блок относительно текущего блока может формироваться на этапе S3130. Например, оборудование кодирования изображений может формировать остаточный блок (значения остаточных выборок) посредством вычитания блока прогнозирования (значений прогнозированных выборок) из текущего блока (значений исходных выборок). Например, посредством выполнения этапа S3130, остаточный блок по фиг. 29 может формироваться. Для остаточного блока, сформированного на этапе S3130, квантование может выполняться на этапе S3140, с тем чтобы формировать квантованный остаточный блок, и BDPCM-прогнозирование может выполняться для квантованного остаточного блока на этапе S3150. Квантованный остаточный блок, сформированный в результате выполнения этапа S3140, может представлять собой квантованный остаточный блок по фиг. 29. В результате BDPCM-прогнозирования на этапе S3150, модифицированный квантованный остаточный блок по фиг. 30 может формироваться согласно направлению прогнозирования. Поскольку BDPCM-прогнозирование на этапе S3150 описано со ссылкой на фиг. 29-30, его подробное описание опускается. После этого, оборудование кодирования изображений может кодировать модифицированный квантованный остаточный блок на этапе S3160, чтобы формировать поток битов. В данном документе, преобразование модифицированного квантованного остаточного блока может пропускаться.
[348] BDPCM-операция в оборудовании кодирования изображений, описанная со ссылкой на фиг. 29-31, может выполняться в обратном порядке посредством оборудования декодирования изображений.
[349] Фиг. 32 является блок-схемой последовательности операций способа, показывающей процедуру для восстановления текущего блока посредством применения BDPCM в оборудовании декодирования изображений.
[350] Оборудование декодирования изображений может получать информацию (информацию изображений), требуемую для восстановления текущего блока, из потока битов на этапе S3210. Требуемая информация для восстановления текущего блока может включать в себя информацию (информацию прогнозирования) относительно прогнозирования текущего блока и информацию (остаточную информацию) относительно остатка текущего блока. Оборудование декодирования изображений может выполнять прогнозирование относительно текущего блока на основе информации относительно текущего блока и может формировать блок прогнозирования на этапе S3220. Прогнозирование относительно текущего блока может представлять собой внутреннее прогнозирование, и его подробное описание является идентичным описанию, приведенному выше со ссылкой на фиг. 31. На фиг. 32, показано, что этап S3220 формирования блока прогнозирования для текущего блока выполняется перед этапами S3230-S3250 формирования остаточного блока относительно текущего блока. Тем не менее, ограничения на это не налагаются. После того, как остаточный блок относительно текущего блока формируется, блок прогнозирования относительно текущего блока может формироваться. Альтернативно, остаточный блок относительно текущего блока и блок прогнозирования относительно текущего блока могут формироваться одновременно.
[351] Оборудование декодирования изображений может формировать остаточный блок относительно текущего блока на этапе S3230 посредством синтаксического анализа остаточной информации текущего блока из потока битов. Остаточный блок, сформированный на этапе S3230, может представлять собой модифицированный квантованный остаточный блок, показанный на фиг. 30.
[352] Оборудование декодирования изображений может формировать квантованный остаточный блок по фиг. 29 посредством выполнения BDPCM-прогнозирования на этапе S3240 для модифицированного квантованного остаточного блока по фиг. 30. BDPCM-прогнозирование на этапе S3240 представляет собой процедуру для формирования квантованного остаточного блока по фиг. 29 из модифицированного квантованного остаточного блока по фиг. 30, что соответствует обратному процессу этапа S3150, выполняемого посредством оборудования кодирования изображений. Например, когда информация режима дифференциального кодирования (например, bdpcm_flag), полученная из потока битов, указывает режим дифференциального кодирования, в котором дифференциальное кодирование остаточного коэффициента выполняется по мере того, как BDPCM применяется, оборудование декодирования изображений выполняет дифференциальное кодирование для остаточного блока, чтобы извлекать модифицированный остаточный блок. С использованием остаточного коэффициента, который должен модифицироваться, и остаточного коэффициента прогнозирования, оборудование декодирования изображений может модифицировать, по меньшей мере, один остаточный коэффициент, который должен модифицироваться, из остаточных коэффициентов в остаточном блоке. Остаточный коэффициент прогнозирования может определяться на основе направления прогнозирования, указываемого посредством информации направления дифференциального кодирования (например, bdpcm_dir_flag), полученной из потока битов. Информация направления дифференциального кодирования может указывать вертикальное направление или горизонтальное направление. Оборудование декодирования изображений может назначать значение, полученное посредством суммирования остаточного коэффициента, который должен модифицироваться, и остаточного коэффициента прогнозирования, местоположению остаточного коэффициента, который должен модифицироваться. В данном документе, остаточный коэффициент прогнозирования может представлять собой коэффициент, который находится непосредственно перед и рядом с остаточным коэффициентом, который должен модифицироваться, с точки зрения порядка согласно направлению прогнозирования.
i, j
[353] В дальнейшем в этом документе подробнее описывается BDPCM-прогнозирование на этапе S3240, выполняемое посредством оборудования декодирования изображений. Оборудование декодирования может вычислять квантованную остаточную выборку Q(r) посредством выполнения вычисления, выполняемого посредством оборудования кодирования, в обратном порядке. Например, когда направление прогнозирования BDPCM представляет собой горизонтальное направление, оборудование декодирования изображений может формировать квантованный остаточный блок из модифицированного квантованного остаточного блока посредством использования уравнения 16.
[354] уравнение 16
[355]
i, j
[356] Как задано в уравнении 16, значение Q(r) квантованной остаточной выборки координат (i, j) может вычисляться посредством суммирования значений модифицированных квантованных остаточных выборок, начиная от координат (0,j) до координат (i, j).
i, j
[357] Альтернативно, с использованием уравнения 17 вместо уравнения 16, значение Q(r) квантованной остаточной выборки координат (i, j) может вычисляться.
[358] уравнение 17
[359]
0,j
0,j
i, j
i, j
i-1,j
i, j
i-1,j
i, j
[360] Уравнение 17 представляет собой обратный процесс, соответствующий уравнению 14. Согласно уравнению 17, значение Q(r) квантованной остаточной выборки координат (0,j) извлекается в качестве значения rp' модифицированной квантованной остаточной выборки координат (0,j). Q(r) других координат (i, j) извлекается в качестве суммы значения rp' модифицированной квантованной остаточной выборки координат (i, j) и значения Q(r) квантованной остаточной выборки координат (i-1,j). Таким образом, разностное значение rp' суммируется посредством использования значения Q(r) квантованной остаточной выборки координат (i-1,j) в качестве прогнозного значения, за счет этого извлекая квантованное остаточное выборочное значение Q(r).
[361] Когда направление прогнозирования BDPCM представляет собой вертикальное направление, оборудование декодирования изображений может формировать квантованный остаточный блок из модифицированного квантованного остаточного блока посредством использования уравнения 18.
[362] уравнение 18
[363]
i, j
[364] Как задано в уравнении 18, значение Q(r) квантованной остаточной выборки координат (i, j) может вычисляться посредством суммирования значений модифицированных квантованных остаточных выборок, начиная от координат (i,0) до координат (i, j).
i, j
[365] Альтернативно, с использованием уравнения 19 вместо уравнения 18, значение Q(r) квантованной остаточной выборки координат (i, j) может вычисляться.
[366] уравнение 19
[367]
i,0
i,0
i, j
i, j
i, j-1
i, j
i, j-1
i, j
[368] Уравнение 19 представляет собой обратный процесс, соответствующий уравнению 15. Согласно уравнению 19, значение Q(r) квантованной остаточной выборки координат (i,0) извлекается в качестве значения rp' модифицированной квантованной остаточной выборки координат (i,0). Q(r) других координат (i, j) извлекается в качестве суммы значения rp' модифицированной квантованной остаточной выборки координат (i, j) и значения Q(r) квантованной остаточной выборки координат (i, j-1). Таким образом, разностное значение rp' суммируется посредством использования значения Q(r) квантованной остаточной выборки координат (i, j-1) в качестве прогнозного значения, за счет этого извлекая квантованное остаточное выборочное значение Q(r).
[369] Когда квантованный остаточный блок, состоящий из квантованных остаточных выборок, формируется посредством выполнения этапа S3240 согласно вышеописанному способу, оборудование декодирования изображений выполняет деквантование для квантованного остаточного блока на этапе S3250, чтобы формировать остаточный блок относительно текущего блока. Когда BDPCM применяется, преобразование текущего блока пропускается, как описано выше. Следовательно, обратное преобразование деквантованного остаточного блока может пропускаться.
-1
i, j
[370] После этого, оборудование декодирования изображений может восстанавливать текущий блок на этапе S3260 на основе блока прогнозирования, сформированного на этапе S3220, и остаточного блока, сформированного на этапе S3250. Например, оборудование декодирования изображений может восстанавливать текущий блок (значения восстановленных выборок) посредством суммирования блока прогнозирования (значений прогнозированных выборок) и остаточного блока (значений остаточных выборок). Например, восстановленное выборочное значение может формироваться посредством суммирования деквантованной квантованной выборки Q(Q(r)) с внутренним блочным прогнозным значением. Информация режима дифференциального кодирования, указывающая то, применяется или нет BDPCM к текущему блоку, может передаваться в служебных сигналах через поток битов. Помимо этого, когда BDPCM применяется к текущему блоку, информация направления дифференциального кодирования, указывающая направление прогнозирования BDPCM, может передаваться в служебных сигналах через поток битов. Когда BDPCM не применяется к текущему блоку, информация направления дифференциального кодирования может не передаваться в служебных сигналах.
[371] Фиг. 33-35 являются видами, схематично показывающими синтаксис для передачи в служебных сигналах информации относительно BDPCM.
[372] Фиг. 33 является видом, показывающим синтаксис набора параметров последовательности согласно варианту осуществления для передачи в служебных сигналах BDPCM-информации. В варианте осуществления, все SPS RBSP, включенные, по меньшей мере, в одну единицу доступа (AU), имеющую значение в 0 в качестве временного идентификатора (TemporalId), либо предоставленные через внешнее средство, могут задаваться равными использоваться перед обращением в процессе декодирования. Помимо этого, SPS NAL-единица, включающая в себя SPS RBSP, может задаваться с возможностью иметь nuh_layer_id, который является идентичным nuh_layer_id PPS NAL-единицы, ссылающейся на SPS NAL-единицу. В CVS, все SPS NAL-единицы, имеющие конкретное значение sps_seq_parameter_set_id, могут задаваться с возможностью иметь идентичный контент. В синтаксисе seq_parameter_set_rbsp() по фиг. 33, раскрываются sps_transform_skip_enable_flag, описанный выше, и sps_bdpcm_enabled_flag, описанный ниже.
[373] Синтаксический элемент sps_bdpcm_enabled_flag может указывать то, предоставляется или нет, для единицы внутреннего кодирования, intra_bdpcm_flag в CU-синтаксисе. Например, первое значение (например, 0) sps_bdpcm_enabled_flag может указывать то, что, для единицы внутреннего кодирования, intra_bdpcm_flag не предоставляется в CU-синтаксисе. Второе значение (например, 1) sps_bdpcm_enabled_flag может указывать то, что, для единицы внутреннего кодирования, intra_bdpcm_flag предоставляется в CU-синтаксисе. Между тем, когда sps_bdpcm_enabled_flag не предоставляется, значение sps_bdpcm_enabled_flag может задаваться равным первому значению (например, 0).
[374] Фиг. 34 является видом, показывающим вариант осуществления синтаксиса для передачи в служебных сигналах того, применяется или нет ограничение на BDPCM. В варианте осуществления, предварительно определенное ограничивающее условие в процессе кодирования/декодирования может передаваться в служебных сигналах с использованием синтаксиса general_constraint_info(). С использованием синтаксиса по фиг. 34, синтаксический элемент no_bdpcm_constraint_flag, указывающий то, должно или нет значение sps_bdpcm_enabled_flag, описанного выше, задаваться равным 0, может передаваться в служебных сигналах. Например, первое значение (например, 0) no_bdpcm_constraint_flag может указывать то, что такое ограничение не применяется. Когда значение no_bdpcm_constraint_flag составляет второе значение (например, 1), значение sps_bdpcm_enabled_flag может принудительно составлять первое значение (например, 0).
[375] Фиг. 35 является видом, показывающим вариант осуществления синтаксиса coding_unit() для передачи в служебных сигналах информации относительно BDPCM для единицы кодирования. Как показано на фиг. 35, синтаксические элементы intra_bdpcm_flag и intra_bdpcm_dir_flag могут передаваться в служебных сигналах с использованием синтаксиса coding_unit(). Синтаксический элемент intra_bdpcm_flag может указывать то, применяется или нет BDPCM к текущему блоку кодирования сигналов яркости, расположенному в (x0, y0).
[376] Например, первое значение (например, 0) intra_bdpcm_flag может указывать то, что BDPCM не применяется к текущему блоку кодирования сигналов яркости. Второе значение (например, 1) intra_bdpcm_flag может указывать то, что BDPCM применяется к текущему блоку кодирования сигналов яркости. Посредством указания того, что BDPCM применяется, intra_bdpcm_flag может указывать то, пропускается или нет преобразование, а также то, выполняется или нет режим внутреннего прогнозирования сигналов яркости, посредством intra_bdpcm_dir_flag, который описывается ниже.
[377] Между тем, значение вышеописанной переменной BdpcmFlag[x][y] может задаваться равным значению intra_bdpcm_flag относительно x=x0...x0+cbWidth-1 и y=y0...y0+cbHeight-1.
[378] Синтаксический элемент intra_bdpcm_dir_flag может указывать направление прогнозирования BDPCM. Например, первое значение (например, 0) intra_bdpcm_dir_flag может указывать то, что направление BDPCM-прогнозирования представляет собой горизонтальное направление. Второе значение (например, 1) intra_bdpcm_dir_flag может указывать то, что направление BDPCM-прогнозирования представляет собой вертикальное направление.
[379] Между тем, значение переменной BdpcmDir[x][y] может задаваться равным значению intra_bdpcm_dir_flag относительно x=x0...x0+cbWidth-1 и y=y0...y0+cbHeight-1.
Внутреннее прогнозирование для блока сигналов цветности
[380]
[381] Когда внутреннее прогнозирование выполняется для текущего блока, прогнозирование относительно блока компонентов сигнала яркости (блока сигналов яркости) текущего блока и прогнозирование относительно блока компонентов сигнала цветности (блока сигналов цветности) могут выполняться. В этом случае, режим внутреннего прогнозирования для блока сигналов цветности может задаваться отдельно от режима внутреннего прогнозирования для блока сигналов яркости.
[382] Например, режим внутреннего прогнозирования для блока сигналов цветности может указываться на основе информации режима внутреннего прогнозирования сигналов цветности. Информация режима внутреннего прогнозирования сигналов цветности может передаваться в служебных сигналах в форме синтаксического элемента intra_chroma_pred_mode. Например, информация режима внутреннего прогнозирования сигналов цветности может указывать одно из следующего: планарный режим, DC-режим, вертикальный режим, горизонтальный режим, извлеченный режим (DM) и режим на основе кросскомпонентной линейной модели (CCLM). В данном документе, планарный режим может означать режим 0 внутреннего прогнозирования, DC-режим может означать режим 1 внутреннего прогнозирования, вертикальный режим может означать режим 26 внутреннего прогнозирования, и горизонтальный режим может означать режим 10 внутреннего прогнозирования. DM также может называться "прямым режимом". CCLM также может называться "линейной моделью (LM)". CCLM-режим может включать в себя любое из следующего: L_CCLM, T_CCLM и LT_CCLM.
[383] Между тем, DM и CCLM представляют собой зависимые режимы внутреннего прогнозирования для прогнозирования блока сигналов цветности посредством использования информации блока сигналов яркости. DM может означать режим, в котором режим внутреннего прогнозирования, идентичный режиму внутреннего прогнозирования для компонента сигнала яркости, применяется в качестве режима внутреннего прогнозирования для компонента сигнала цветности. Помимо этого, CCLM может означать режим внутреннего прогнозирования, в котором, в процессе формирования блока прогнозирования для блока сигналов цветности, восстановленные выборки блока сигналов яркости субдискретизируются, и затем выборки, извлекаемые посредством применения CCLM-параметров α и β к субдискретизированным выборкам, используются в качестве прогнозных выборок блока сигналов цветности.
Общее представление режима на основе кросскомпонентной линейной модели (CCLM)
[384]
[385] Как описано выше, CCLM-режим может применяться к блоку сигналов цветности. CCLM-режим представляет собой режим внутреннего прогнозирования с использованием корреляции между блоком сигналов яркости и блоком сигналов цветности, соответствующим блоку сигналов яркости, и выполняется посредством извлечения линейной модели на основе соседних выборок блока сигналов яркости и соседних выборок блока сигналов цветности. Помимо этого, прогнозная выборка блока сигналов цветности может извлекаться на основе извлеченной линейной модели и восстановленных выборок блока сигналов яркости.
[386] В частности, когда CCLM-режим применяется к текущему блоку сигналов цветности, параметры для линейной модели могут извлекаться на основе соседних выборок, используемых для внутреннего прогнозирования текущего блока сигналов цветности, и соседних выборок, используемых для внутреннего прогнозирования текущего блока сигналов яркости. Например, линейная модель для CCLM может представляться на основе уравнения, как пояснено ниже.
[387] уравнение 20
[388]
c
L
L
[389] В данном документе, pred(i, j) может означать прогнозную выборку координат (i, j) текущего блока сигналов цветности в текущей CU; rec'(i, j) может означать восстановленную выборку координат (i, j) текущего блока сигналов яркости в CU. Например, rec'(i, j) может означать понижающе дискретизированную восстановленную выборку текущего блока сигналов яркости. Коэффициенты α и β линейной модели могут передаваться в служебных сигналах или могут извлекаться из соседней выборки.
Объединенное кодирование остатков (объединенный CbCr)
[390]
[391] В процессе кодирования/декодирования согласно варианту осуществления, остатки сигналов цветности могут кодироваться/декодироваться вместе. Это может называться "объединенным кодированием остатков" или "объединенным CbCr". То, следует либо нет применять (активировать) режим объединенного кодирования CbCr, может передаваться в служебных сигналах посредством флага tu_joint_cbcr_residual_flag передачи в служебных сигналах режима объединенного кодирования, который передается в служебных сигналах на уровне базиса преобразования. Помимо этого, выбранный режим кодирования может извлекаться посредством CBF сигналов цветности. Флаг tu_joint_cbcr_residual_flag может присутствовать, когда значение, по меньшей мере, одного CBF сигналов цветности для базиса преобразования равно 1. Значение QP-смещения сигналов цветности указывает разность между общим значением QP-смещения сигналов цветности, передаваемым в служебных сигналах для регулярного режима остаточного кодирования сигналов цветности, и значением QP-смещения сигналов цветности для режима объединенного CbCr-кодирования. Значение QP-смещения сигналов цветности может передаваться в служебных сигналах через PPS или заголовок среза. Это значение QP-смещения может использоваться для того, чтобы управлять QP-значением сигналов цветности для блоков с использованием режима объединенного остаточного кодирования сигналов цветности.
[392] В случае, в котором режим 2, который представляет собой соответствующий режим объединенного кодирования сигналов цветности в нижеприведенной таблице, активируется для базиса преобразования, в то время как квантование и декодирование базиса преобразования выполняются, его QP-смещение сигналов цветности может суммироваться с целевым извлекаемым из сигналов яркости QP сигналов цветности (применяемым извлекаемым из сигналов яркости QP сигналов цветности).
[393] Относительно других режимов, таких как режимы 1 и 3 в нижеприведенной таблице, QP сигналов цветности может извлекаться таким образом, что он получается для общего Cb- или Cr-блока. Такой процесс восстановления остатков сигналов цветности (resCb и resCr) из блока преобразования может выбираться согласно нижеприведенной таблице. Когда настоящий режим активируется, один отдельный объединенный остаточный блок сигналов цветности (resJointC[x][y] в нижеприведенной таблице) передается в служебных сигналах, и остаточный блок resCb для Cb и остаточный блок resCr для Cr могут извлекаться с учетом такой информации, как tu_cbf_cb, tu_cbf_cr и CSign, который является значением знака, раскрытым в заголовке среза.
[394] В оборудовании кодирования, объединенный компонент сигналов цветности может извлекаться следующим образом. Согласно режиму объединенного кодирования, resJointC{1,2} может формироваться согласно следующему заказу. В случае режима 2 (один остаток с восстановлением Cb=C, Cr=CSign*C), объединенный остаток может определяться согласно нижеприведенному уравнению.
[395] уравнение 21
[396] resJointC[x][y]=(resCb[x][y]+CSign*resCr[x][y])/2.
[397] Альтернативно, в случае режима 1 (один остаток с восстановлением Cb=C, Cr=(CSign*C)/2), объединенный остаток может определяться согласно нижеприведенному уравнению.
[398] уравнение 22
[399] resJointC[x][y]=(4*resCb[x][y]+2*CSign*resCr[x][y])/5.
[400] Альтернативно, в случае режима 3 (один остаток с восстановлением Cr=C, Cb=(CSign*C)/2), объединенный остаток может определяться согласно нижеприведенному уравнению.
[401] уравнение 23
[402] resJointC[x][y]=(4*resCr[x][y]+2*CSign*resCb[x][y])/5.
[403] Табл. 2
tu_cbf_cb
tu_cbf_cr
Восстановление Cb- и Cr-остатков
Режим
1
0
resCb[x][y]=resJointC[x][y]resCr[x][y]=(CSign*resJointC[x][y])>>1
1
1
1
resCb[x][y]=resJointC[x][y]resCr[x][y]=CSign*resJointC[x][y]
2
0
1
resCb[x][y]=(CSign*resJointC[x][y])>>1resCr[x][y]=resJointC[x][y]
3
[404] Вышеприведенная таблица показывает восстановление остатков сигналов цветности. CSign означает значение знака +1 или -1, указываемое в заголовке среза; resJointC[][] означает передаваемый остаток. В таблице, режимы означают TuCResMode, который описывается ниже. Три режима объединенного кодирования сигналов цветности в таблице могут поддерживаться только для I-среза. Для P- и B-срезов, может поддерживаться только режим 2. Следовательно, для P- и B-срезов, синтаксический элемент tu_joint_cbcr_residual_flag может предоставляться только тогда, когда оба значения CBF сигналов цветности (например, tu_cbf_cb и tu_cbf_cr) равны 1. Между тем, в контекстном моделировании tu_cbf_luma и tu_cbf_cb, глубина преобразования может удаляться.
Вариант 1 осуществления. Способ QP-обновления с использованием ACT Qp_offset
[405]
[406] Как описано выше, обновление QP таким образом, чтобы применять ACT, может выполняться. Вышеописанное обновление QP имеет несколько проблем. Например, когда вышеописанный способ используется, невозможно задавать различные ACT Qp-смещения для отдельных цветовых компонентов. Дополнительно, извлеченное значение qP может иметь отрицательное значение. Соответственно, в нижеприведенном варианте осуществления, описывается способ применения отсечения к значению Qp, полученному на основе значения ACT QP-смещения значения цветового компонента.
[407] В варианте осуществления, параметр qP квантования может извлекаться следующим образом.
[408] Во-первых, когда cIdx имеет значение в 0, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[409] уравнение 24
Y
[410] qP=Qp'
[411] ActQpOffset=5
[412] Альтернативно, когда TuCResMode[xTbY][yTbY] имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[413] уравнение 25
CbCr
[414] qP=Qp'
[415] ActQpOffset=5
[416] Альтернативно, когда cIdx имеет значение в 1, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[417] уравнение 26
Cb
[418] qP=Qp'
[419] ActQpOffset=3
[420] Параметр qP квантования может обновляться следующим образом.
[421] Когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 0, qP может извлекаться так, как показано в нижеприведенном уравнении.
[422] уравнение 27
[423] qP=Max(0, qP-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
[424] Альтернативно, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1, qP может извлекаться так, как показано в нижеприведенном уравнении.
[425] уравнение 28
[426] qP=Max(0, Max(QpPrimeTsMin, qP)-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
[427] В другом варианте осуществления, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1, qP может отсекаться с использованием значения QpPrimeTsMin вместо 0, как показано в нижеприведенном уравнении.
[428] уравнение 29
[429] qP=Max(QpPrimeTsMin, qP-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0)
[430] Между тем, в другом варианте осуществления, параметр qP квантования может извлекаться следующим образом.
[431] Во-первых, когда cIdx имеет значение в 0, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[432] уравнение 30
Y
[433] qP=Qp'
[434] ActQpOffset=5
[435] Альтернативно, когда TuCResMode[xTbY][yTbY] имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[436] уравнение 31
CbCr
[437] qP=Qp'
[438] ActQpOffset=5
[439] Альтернативно, когда cIdx имеет значение в 1, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[440] уравнение 32
Cb
[441] qP=Qp'
[442] ActQpOffset=5
[443] Альтернативно, когда cIdx имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[444] уравнение 33
Cr
[445] qP=Qp'
[446] ActQpOffset=3
[447] Параметр qP квантования может обновляться следующим образом.
[448] Когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 0, qP может извлекаться так, как показано в нижеприведенном уравнении.
[449] уравнение 34
[450] qP=Max(0, qP-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
[451] Альтернативно, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1, qP может извлекаться так, как показано в нижеприведенном уравнении.
[452] уравнение 35
[453] qP=Max(0, Max(QpPrimeTsMin, qP)-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
[454] В другом варианте осуществления, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1, qP может отсекаться с использованием значения QpPrimeTsMin вместо 0, как показано в нижеприведенном уравнении.
[455] уравнение 36
[456] qP=Max(QpPrimeTsMin, qP-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
[457] Между тем, в еще одном другом варианте осуществления, параметр qP квантования может извлекаться следующим образом.
[458] Во-первых, когда cIdx имеет значение в 0, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[459] уравнение 37
Y
[460] qP=Qp'
[461] ActQpOffset=-5
[462] Альтернативно, когда TuCResMode[xTbY][yTbY] имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[463] уравнение 38
CbCr
[464] qP=Qp'
[465] ActQpOffset=-5
[466] Альтернативно, когда cIdx имеет значение в 1, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[467] уравнение 39
Cb
[468] qP=Qp'
[469] ActQpOffset=-5
[470] Альтернативно, когда cIdx имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[471] уравнение 40
Cr
[472] qP=Qp'
[473] ActQpOffset=-3
[474] Параметр qP квантования может обновляться следующим образом.
[475] Когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 0, qP может извлекаться так, как показано в нижеприведенном уравнении.
[476] уравнение 41
[477] qP=Max(0, qP+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
[478] Альтернативно, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1, qP может извлекаться так, как показано в нижеприведенном уравнении.
[479] уравнение 42
[480] qP=Max(0, Max(QpPrimeTsMin, qP)+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
[481] Между тем, в другом варианте осуществления, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1, qP может отсекаться с использованием значения QpPrimeTsMin вместо 0, как показано в нижеприведенном уравнении.
[482] уравнение 43
[483] qP=Max(QpPrimeTsMin, qP+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
[484] В вышеприведенном описании, Y, Cb и Cr может обозначать три цветовых компонента. Например, в ACT-преобразовании, Y может соответствовать C0. Cb может соответствовать C1 или Cg. Помимо этого, Cr может соответствовать C2 или Co.
[485] Помимо этого, значения ACTQpOffset-5, -5 и -3 для трех цветовых компонентов могут заменяться другими значениями или другими переменными.
Вариант 2 осуществления. Передача в служебных сигналах регулирования QP-смещения для ACT
[486]
[487] В вышеописанном варианте осуществления, регулирования ACT QP-смещения задаются фиксированно равными -5, -5 и -3 для Y-, Cg- и Co-компонентов. В настоящем варианте осуществления, чтобы предоставлять большую гибкость для регулирования ACT QP-смещения, в дальнейшем описывается способ передачи в служебных сигналах ACT Qp-смещения. ACT QP-смещение может передаваться в служебных сигналах в качестве параметра в PPS.
[488] В варианте осуществления, qp_offset может передаваться в служебных сигналах согласно синтаксической таблице по фиг. 36. Его синтаксические элементы являются следующими.
[489] Синтаксический элемент pps_act_qp_offsets_present_flag может указывать то, присутствует или нет синтаксический элемент, связанный с ACT QP-смещением, в PPS. Например, pps_act_qp_offsets_present_flag может указывать то, передаются или нет синтаксические элементы pps_act_y_qp_offset, pps_act_cb_qp_offset и pps_act_cr_qp_offset, которые описываются ниже, в служебных сигналах в качестве PPS.
[490] Например, первое значение (например, 0) pps_act_qp_offsets_present_flag может указывать то, что pps_act_y_qp_offset, pps_act_cb_qp_offset и pps_act_cr_qp_offset не передаются в служебных сигналах через синтаксическую PPS-таблицу.
[491] Второе значение (например, 1) pps_act_qp_offsets_present_flag может указывать то, что pps_act_y_qp_offset, pps_act_cb_qp_offset и pps_act_cr_qp_offset передаются в служебных сигналах через синтаксическую PPS-таблицу.
[492] Когда pps_act_qp_offsets_present_flag не предоставляется из потока битов, pps_act_qp_offsets_present_flag может извлекаться в качестве первого значения (например, 0). Например, когда флаг (например, sps_act_enabled_flag, передаваемый в служебных сигналах в SPS), указывающий то, применяется или нет ACT, имеет первое значение (например, 0), указывающее то, что ACT не применяется, pps_act_qp_offsets_present_flag может принудительно иметь первое значение (например, 0).
[493] Когда значение синтаксического элемента cu_act_enabled_flag составляет второе значение (например, 1), указывающее то, что ACT применяется для текущего базиса кодирования, синтаксические элементы pps_act_y_qp_offset_plus5, pps_act_cb_qp_offset_plus5s and pps_act_cr_qp_offset_plus3 могут использоваться для того, чтобы определять смещения, применяемые к значениям qP параметров квантования для компонента сигналов яркости, Cb- и Cr-компонента, соответственно. Когда значения pps_act_y_qp_offset_plus5, pps_act_cb_qp_offset_plus5 и pps_act_cr_qp_offset_plus3 не присутствуют в потоке битов, каждое значение может задаваться равным 0.
[494] Согласно синтаксическим элементам, значение переменной PpsActQpOffsetY может определяться равным pps_act_y_qp_offset_plus5-5. Значение переменной PpsActQpOffsetCb может определяться равным pps_act_cb_qp_offset_plus5-5. Помимо этого, значение переменной PpsActQpOffsetCr может определяться равным pps_act_cb_qp_offset_plus3-3.
[495] В данном документе, ACT не представляет собой ортонормальное преобразование, так что 5, 5 и 3 может применяться в качестве постоянных значений смещения, которые должны вычитаться. В варианте осуществления, для согласования потоков битов, значения PpsActQpOffsetY, PpsActQpOffsetCb и PpsActQpOffsetCr могут иметь значения в пределах от -12 до 12. Помимо этого, согласно варианту осуществления, в дополнение к 5, 5 и 3, значения Qp-смещения могут заменяться другими постоянными значениями и использоваться.
[496] В другом варианте осуществления, QP может регулироваться с использованием более гибкого ACT_QP-смещения. В нижеприведенном варианте осуществления, описывается пример, в котором ACT QP-смещение передается в служебных сигналах в потоке битов. Соответственно, ACT QP-смещение может иметь более широкий диапазон смещения. Следовательно, QP, обновленный с использованием ACT QP-смещения, с большей вероятностью должен находиться за пределами доступного диапазона, так что необходимо выполнять отсечение для верхних и нижних пределов для обновленного QP (более подробные варианты осуществления описываются ниже в вариантах 6 и 7 осуществления).
[497] Переменные PpsActQpOffsetY, PpsActQpOffsetCb, PpsActQpOffsetCr и PpsActQpOffsetCbCr, указывающие ACT QP-смещения, могут быть значениями, извлеченными с использованием ACT QP-смещений, передаваемых в служебных сигналах через поток битов, или предварительно установленными константами. Для соответствия потока битов, PpsActQpOffsetY, PpsActQpOffsetCb, PpsActQpOffsetCr и PpsActQpOffsetCbCr могут иметь значения в пределах от -12 до +12.
[498] При неиспользовании фиксированного значения, значение QP-смещения передается в служебных сигналах, и его значение имеет значение в пределах от -12 до 12, необходимо отсекать верхнее предельное значение извлеченного QP-значения, в дополнение к отсечению нижнего предельного значения QP-значения, извлекаемого для того, чтобы не допускать QP, имеющего отрицательное значение.
[499] Чтобы предотвращать отрицательное значение для значения qP, наименьшее значение qP может принудительно быть равным 0. Альтернативно, наименьшее значение qP может задаваться равным значению, определенному посредством передаваемого в служебных сигналах синтаксического элемента. Например, чтобы передавать в служебных сигналах наименьшее значение qP, когда режим пропуска преобразования применяется, может использоваться синтаксический элемент QpPrimeTsMin, указывающий значение qP, применяемого, когда режим пропуска преобразования применяется. Максимальное значение qP может быть ограничено доступным максимальным значением (например, 63) qP либо максимальным доступным значением qP, определенным согласно передаваемому в служебных сигналах синтаксическому элементу.
[500] В варианте осуществления согласно вышеприведенному, параметр qP квантования может извлекаться следующим образом. Во-первых, когда cIdx имеет значение в 0, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[501] уравнение 44
Y
[502] qP=Qp'
[503] ActQpOffset=PpsActQpOffsetY
[504] Альтернативно, когда TuCResMode[xTbY][yTbY] имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[505] уравнение 45
CbCr
[506] qP=Qp'
[507] ActQpOffset=PpsActQpOffsetCbCr
[508] Альтернативно, когда cIdx имеет значение в 1, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[509] уравнение 46
Cb
[510] qP=Qp'
[511] ActQpOffset=PpsActQpOffsetCb
[512] Альтернативно, когда cIdx имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[513] уравнение 47
Cr
[514] qP=Qp'
[515] ActQpOffset=PpsActQpOffsetCr
[516] В варианте осуществления, параметр qP квантования может обновляться следующим образом. Когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 0, qP может извлекаться так, как показано в нижеприведенном уравнении.
[517] уравнение 48
[518] qP=Clip3(0, 63, qP-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
[519] Альтернативно, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1, qP может извлекаться так, как показано в нижеприведенном уравнении.
[520] уравнение 49
[521] qP=Clip3(0, 63, Max(QpPrimeTsMin, qP)-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0)
[522] В другом варианте осуществления, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1, наименьшее значение qP может отсекаться с использованием значения QpPrimeTsMin вместо 0, как показано в нижеприведенном уравнении.
[523] уравнение 50
[524] Параметр qP квантования может обновляться следующим образом.
[525] Когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 0, qP может извлекаться так, как показано в нижеприведенном уравнении.
[526] qP=Clip3(0, 63, qP-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
[527] Альтернативно, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1, qP может извлекаться так, как показано в нижеприведенном уравнении.
[528] qP=Clip3(QpPrimeTsMin, 63, qP-cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0)
[529] В другом варианте осуществления, параметр qP квантования может обновляться следующим образом.
[530] Когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 0, qP может извлекаться так, как показано в нижеприведенном уравнении.
[531] уравнение 51
[532] qP=Clip3(0, 63+QpBdOffset, qP+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
[533] Альтернативно, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1, qP может извлекаться так, как показано в нижеприведенном уравнении.
[534] уравнение 52
[535] qP=Clip3(0, 63+QpBdOffset, Max(QpPrimeTsMin, qP)+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0)
[536] В другом варианте осуществления, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1, наименьшее значение qP может отсекаться с использованием значения QpPrimeTsMin вместо 0, как показано в нижеприведенном уравнении.
[537] уравнение 53
[538] Параметр qP квантования может обновляться следующим образом.
[539] Когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 0, qP может извлекаться так, как показано в нижеприведенном уравнении.
[540] qP=Clip3(0, 63+QpBdOffset, qP+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
[541] Альтернативно, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1, qP может извлекаться так, как показано в нижеприведенном уравнении.
[542] qP=Clip3(QpPrimeTsMin, 63+QpBdOffset, qP+cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0)
Вариант 3 осуществления. Способ для того, чтобы разрешать ACT, когда выполняется BDPCM сигналов цветности
[543]
[544] В варианте осуществления, когда BDPCM применяется к блоку компонентов сигналов яркости, ACT может применяться для того, чтобы кодировать/декодировать блок. Тем не менее, когда BDPCM применяется к блоку компонентов сигналов цветности, ACT ограничено тем, что оно применяется для того, чтобы кодировать/декодировать блок.
[545] Между тем, даже когда BDPCM применяется к блоку компонентов сигналов цветности, ACT применяется к блоку, за счет этого повышая эффективность кодирования. Фиг. 37 показывает вариант осуществления конфигурации синтаксиса для применения ACT, даже когда BDPCM применяется к блоку компонентов сигналов цветности. Как показано на фиг. 37, посредством удаления условия для получения синтаксического BDPCM-элемента для компонента сигналов цветности согласно значению cu_act_enabled_flag, указывающему то, применяется или нет ACT к текущему базису кодирования, синтаксический BDPCM-элемент для него может получаться независимо от того, применяется или нет ACT к блоку компонентов сигналов цветности, и BDCPM-кодирование может выполняться соответствующим образом.
Вариант 4 осуществления. Способ применения ACT, даже когда кодирование/декодирование выполняется с использованием CCLM
[546]
[547] CCLM и ACT имеют намерение удалять необязательное перекрытие между компонентами. Имеются некоторые перекрывающиеся части между CCLM и ACT, но даже после применения всех из них, невозможно полностью удалять перекрытие между компонентами. Следовательно, перекрытие между компонентами может удаляться в большей степени посредством применения CCLM и ACT вместе.
[548] Нижеприведенный вариант осуществления описывает вариант осуществления, в котором CCLM и ACT применяются вместе. При выполнении декодирования, оборудование декодирования может применять CCLM сначала и применять ACT. Когда ACT применяется как к BDPCM, так и к CCLM для компонента сигналов цветности, синтаксическая таблица для передачи этого в служебных сигналах может модифицироваться так, как показано на фиг. 38. Соответственно, как показано в синтаксической таблице по фиг. 38, из ограничений для передачи в служебных сигналах синтаксического элемента, связанного с intra_bdpcm_chroma и cclm, if(!cu_act_enabled_flag) для передачи в служебных сигналах синтаксического элемента в зависимости от того, применяется либо не применяется ACT, может удаляться из синтаксической таблицы.
Вариант 5 осуществления. Способ применения гибкого ACT Qp, включающего в себя объединенный CbCr
[549]
[550] Когда ACT-режим применяется, остаток прогнозирования может преобразовываться из одного цветового пространства (например, GBR- или YCbCr-) в цветовое YCgCo-пространство. Помимо этого, остатки базиса преобразования могут кодироваться в цветовом YCgCo-пространстве. В качестве варианта осуществления базового ACT-преобразования (ядра преобразования), используемого для преобразования цветового пространства, может использоваться следующее ядро преобразования, как описано выше.
[551] уравнение 54
[552]
[553] уравнение 55
[554]
[555] Как описано в вышеприведенных уравнениях, C0', C1' и C2' (в данном документе, C0'=Y, C1'=Cg, C2'=Co) преобразования не нормализуются. Например, L2-норма не имеет значение в 1. Например, L2-норма преобразования для отдельного компонента может иметь значение приблизительно в 0,6 для C0' и C1' и может иметь значение приблизительно в 0,7 для C2'. В данном документе, L2-норма является значением, полученным в качестве квадратного корня суммы квадратов соответствующих коэффициентов. Например, C0'=2/4*C0+1/4*C1+1/4*C2 может вычисляться. Следовательно, норма C0' может вычисляться как квадратный корень (2/4*2/4+1/4*1/4+1/4*1/4). Следовательно, она может вычисляться как квадратный корень 6/16 и может вычисляться как имеющая значение приблизительно в 0,6.
[556] Когда нормализованное преобразование не применяется, динамический диапазон отдельного компонента является нерегулярным. Помимо этого, это вызывает снижение производительности кодирования общей системы сжатия видео.
[557] Чтобы компенсировать динамический диапазон остаточного сигнала, значение QP-смещения для компенсации изменения динамического диапазона для отдельного компонента преобразования передается, так что QP-регулирование может выполняться. Например, этот вариант осуществления может применяться к общему способу управления для QP-регулирования для ACT-преобразования, а также объединенного CbCr.
[558] Отдельные цветовые компоненты кодируются не независимо, а вместе, так что способ, описанный выше в варианте 3 осуществления для объединенного CbCr, может вызывать изменение динамического диапазона между отдельными цветовыми компонентами.
[559] В способах кодирования и декодирования согласно варианту осуществления, регулирование ACT QP-смещения может задаваться фиксированно равным -5, что может в равной степени применяться к Y, Cg and Co.
[560] В варианте осуществления, чтобы предоставлять гибкое Qp-управление для отдельных компонентов и jointCbCr, может разрешаться использовать различные ACT Qp-смещения для Y, Cb, Cr и/или объединенного CbCr. Значения ACT Qp-смещения могут определяться на основе индекса компонента и/или объединенного CbCr и/или объединенного CbCr-режима.
[561] Чтобы указывать ACT Qp-смещения, могут использоваться ppsActQpOffsetY, ppsActQpOffsetCb и ppsActQpOffsetCr. Помимо этого, ppsActQpOffsetCbCr может использоваться для ACT QP-смещения объединенного CbCr-режима 2, имеющего CBF, в котором все Cb- и Cr-компоненты имеют ненулевые значения. Эти значения (например, ppsActQpOffsetY, ppsActQpOffsetCb, ppsActQpOffsetCr и ppsActQpOffsetCbCr) могут заранее задаваться в качестве предварительно определенных значений или передаваться в служебных сигналах через поток битов. ACT QP-смещение объединенного CbCr-режима может задаваться в другом способе либо равным другому значению.
[562] В варианте осуществления, ACT Qp-смещения в -5, -5 и -3 могут использоваться для Y, Cb и Cr, и ACT Qp-смещение в -4 может использоваться для объединенного CbCr.
[563] В другом варианте осуществления, ACT Qp-смещения в -5, -4 и -3 могут использоваться для Y, Cb и Cr, и ACT Qp-смещение в -3 может использоваться для объединенного CbCr-режима, в котором значение tu_cbf_cb не равно 0.
[564] В еще одном другом варианте осуществления, ACT QP-смещение объединенного CbCr-режима 2 может иметь собственное значение смещения. Для другого объединенного CbCr-режима, ACT QP-смещение может использовать смещение соответствующего компонента. Например, параметр qP квантования может определяться следующим образом. Во-первых, когда cIdx имеет значение в 0, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[565] уравнение 56
Y
[566] qP=Qp'
[567] ActQpOffset=ppsActQpOffsetY
[568] Альтернативно, когда TuCResMode[xTbY][yTbY] имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[569] уравнение 57
CbCr
[570] qP=Qp'
[571] ActQpOffset=ppsActQpOffsetCbCr
[572] Альтернативно, когда cIdx имеет значение в 1, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[573] уравнение 58
Cb
[574] qP=Qp'
[575] ActQpOffset=ppsActQpOffsetCb
[576] Альтернативно, когда cIdx имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[577] уравнение 59
Cr
[578] qP=Qp'
[579] ActQpOffset=ppsActQpOffsetCr
[580] В варианте осуществления, параметр qP квантования может обновляться следующим образом.
[581] Когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 0, qP может извлекаться так, как показано в нижеприведенном уравнении.
[582] уравнение 60
[583] qP=Clip3(0, 63+QpBdOffset, qP+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
[584] Альтернативно, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1, qP может извлекаться так, как показано в нижеприведенном уравнении.
[585] уравнение 61
[586] qP=Clip3(QpPrimeTsMin, 63+QpBdOffset, qP+cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0)
[587] В другом варианте осуществления, относительно объединенного CbCr-режима (например, в случае режимов 1 и 2) с tu_cbf_cb!=0, смещение для объединенного CbCr может определяться с использованием ppsActQpOffsetCb. Альтернативно, относительно объединенного CbCr-режима (например, в случае режима 3) с tu_cbf_cb==0, смещение для объединенного CbCr может определяться с использованием ppsActQpOffsetCr. Например, вышеописанный вариант осуществления может модифицироваться и применяться следующим образом.
[588] Параметр qP квантования может обновляться следующим образом. Во-первых, когда cIdx имеет значение в 0, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[589] уравнение 62
Y
[590] qP=Qp'
[591] ActQpOffset=ppsActQpOffsetY
[592] Альтернативно, когда TuCResMode[xTbY][yTbY] имеет значение в 2, qP может извлекаться так, как показано в нижеприведенном уравнении.
[593] уравнение 63
CbCr
[594] qP=Qp'
[595] Альтернативно, когда cIdx имеет значение в 1, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[596] уравнение 64
Cb
[597] qP=Qp'
[598] ActQpOffset=ppsActQpOffsetCb
[599] Альтернативно, когда cIdx имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[600] уравнение 65
Cr
[601] qP=Qp'
[602] ActQpOffset=ppsActQpOffsetCr
[603] Когда cIdx не имеет значение в 0, и TuCResMode[xTbY][yTbY] не имеет значение в 0, ACT Qp-смещение для объединенного CbCr-режима может определяться согласно нижеприведенному псевдокоду.
[604] уравнение 66
[605] if(TuCResMode[xTbY][yTbY] равно 1 или 2)
[606] ActQpOffset=ppsActQpOffsetCb;
[607] else
[608] ActQpOffset=ppsActQpOffsetCr;
[609] В варианте осуществления, параметр qP квантования может обновляться следующим образом. Когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 0, qP может извлекаться так, как показано в нижеприведенном уравнении.
[610] уравнение 67
[611] qP=Clip3(0, 63+QpBdOffset, qP+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
[612] Альтернативно, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1, qP может извлекаться так, как показано в нижеприведенном уравнении.
[613] уравнение 68
[614] qP=Clip3(QpPrimeTsMin, 63+QpBdOffset, qP+cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0)
[615] В другом варианте осуществления, независимо от объединенного CbCr-режима, ppsActQpOffsetY используется, когда индекс компонента представляет собой Y, ppsActQpOffsetCb используется, когда индекс компонента представляет собой Cb, и ppsActQpOffsetCr используется, когда индекс компонента представляет собой Cr, за счет чего может извлекаться qP. Например, параметр qP квантования может извлекаться следующим образом.
[616] Во-первых, когда cIdx имеет значение в 0, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[617] уравнение 69
Y
[618] qP=Qp'
[619] ActQpOffset=ppsActQpOffsetY
[620] Альтернативно, когда TuCResMode[xTbY][yTbY] имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[621] уравнение 70
CbCr
[622] qP=Qp'
[623] ActQpOffset=(cIdx==1)?ppsActQpOffsetCb:ppsActQpOffsetCr
[624] Альтернативно, когда cIdx имеет значение в 1, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[625] уравнение 71
Cb
[626] qP=Qp'
[627] ActQpOffset=ppsActQpOffsetCb
[628] Альтернативно, когда cIdx имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[629] уравнение 72
Cr
[630] qP=Qp'
[631] ActQpOffset=ppsActQpOffsetCr
[632] Параметр qP квантования может обновляться следующим образом.
[633] Когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 0, qP может извлекаться так, как показано в нижеприведенном уравнении.
[634] уравнение 73
[635] qP=Clip3(0, 63+QpBdOffset, qP+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
[636] Альтернативно, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1, qP может извлекаться так, как показано в нижеприведенном уравнении.
[637] уравнение 74
[638] qP=Clip3(QpPrimeTsMin, 63+QpBdOffset, qP+cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0)
Вариант 6 осуществления. Способ передачи в служебных сигналах ACT Qp-смещения, включающего в себя объединенный CbCr
[639]
[640] В дальнейшем в этом документе, описывается пример, в котором ACT QP-смещение передается в служебных сигналах через поток битов, чтобы предоставлять большую гибкость. ACT QP-смещения могут передаваться в служебных сигналах через SPS, PPS, заголовок кадра, заголовок среза или наборы заголовков других типов. ACT Qp-смещение объединенного CbCr может передаваться в служебных сигналах отдельно или может извлекаться из ACT QP-смещений для Y, Cb и Cr.
[641] Без потери общности, фиг. 39 показывает пример синтаксической таблицы, в которой ACT Qp-смещение передается в служебных сигналах в PPS. Аналогично варианту осуществления по фиг. 39, одно ACT Qp-смещение может передаваться в служебных сигналах для объединенного CbCr. В дальнейшем описываются синтаксические элементы, указываемые в синтаксической таблице по фиг. 39.
[642] Синтаксический элемент pps_act_qp_offsets_present_flag может указывать то, присутствует или нет синтаксический элемент, связанный с ACT QP-смещением, в PPS. Например, pps_act_qp_offsets_present_flag может указывать то, передаются или нет синтаксические элементы pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, pps_act_cr_qp_offset_plusX3 и pps_act_cbcr_qp_offset_plusX4, которые описываются ниже, в служебных сигналах в качестве PPS.
[643] Например, первое значение (например, 0) pps_act_qp_offsets_present_flag может указывать то, что pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, pps_act_cr_qp_offset_plusX3 и pps_act_cbcr_qp_offset_plusX4 не передаются в служебных сигналах через синтаксическую PPS-таблицу.
[644] Второе значение (например, 1) pps_act_qp_offsets_present_flag может указывать то, что pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, pps_act_cr_qp_offset_plusX3 и pps_act_cbcr_qp_offset_plusX4 передаются в служебных сигналах через синтаксическую PPS-таблицу.
[645] Когда pps_act_qp_offsets_present_flag не предоставляется из потока битов, pps_act_qp_offsets_present_flag может извлекаться в качестве первого значения (например, 0). Например, когда флаг (например, sps_act_enabled_flag, передаваемый в служебных сигналах в SPS), указывающий то, применяется или нет ACT, имеет первое значение (например, 0), указывающее то, что ACT не применяется, pps_act_qp_offsets_present_flag может принудительно иметь первое значение (например, 0).
[646] Когда значение синтаксического элемента cu_act_enabled_flag составляет второе значение (например, 1), указывающее то, что ACT применяется для текущего базиса кодирования, синтаксические элементы pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, pps_act_cr_qp_offset_plusX3 и pps_act_cbcr_qp_offset_plusX4 могут использоваться для того, чтобы определять смещения, применяемые к значениям qP параметров квантования для компонента сигналов яркости, Cb-компонента, Cr-компонента и объединенного CbCr-компонента, соответственно. Когда значения pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, pps_act_cr_qp_offset_plusX3 и pps_act_cbcr_qp_offset_plusX4 не присутствуют в потоке битов, каждое значение может задаваться равным 0.
[647] Согласно синтаксическим элементам, значения переменных PpsActQpOffsetY, PpsActQpOffsetCb, PpsActQpOffsetCr и PpsActQpOffsetCbCr могут определяться так, как показано в нижеприведенном уравнении.
[648] уравнение 75
[649] PpsActQpOffsetY=pps_act_y_qp_offset_plusX1-X1
[650] PpsActQpOffsetCb=pps_act_cb_qp_offset_plusX2-X2
[651] PpsActQpOffsetCr=pps_act_cr_qp_offset_plusX3-X3
[652] PpsActQpOffsetCbCr=pps_act_cbcr_qp_offset_plusX4-X4
[653] В данном документе, X1, X2, X3 и X4 могут указывать предварительно определенные постоянные значения. Они могут быть идентичными значениями или различными значениями, либо только некоторые могут иметь идентичное значение.
[654] В варианте осуществления, для согласования потоков битов, значения PpsActQpOffsetY, PpsActQpOffsetCb, PpsActQpOffsetCr и PpsActQpOffsetCbCr могут быть ограничены таким образом, что они имеют значения в пределах от -12 до 12.
[655] Согласно определению переменных, параметр qP квантования может определяться следующим образом. Во-первых, когда cIdx имеет значение в 0, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[656] уравнение 76
Y
[657] qP=Qp'
[658] ActQpOffset=PpsActQpOffsetY
[659] Альтернативно, когда TuCResMode[xTbY][yTbY] имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[660] уравнение 77
CbCr
[661] qP=Qp'
[662] ActQpOffset=PpsActQpOffsetCbCr
[663] Альтернативно, когда cIdx имеет значение в 1, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[664] уравнение 78
Cb
[665] qP=Qp'
[666] ActQpOffset=PpsActQpOffsetCb
[667] Альтернативно, когда cIdx имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[668] уравнение 79
Cr
[669] qP=Qp'
[670] ActQpOffset=PpsActQpOffsetCr
[671] В другом варианте осуществления передачи в служебных сигналах ACT Qp-смещения, множество ACT QP-смещений могут передаваться в служебных сигналах для различных объединенных CbCr-режимов, идентифицированных в качестве режима A и режима B.
[672] Объединенный CbCr-режим A может означать объединенный CbCr-режим, имеющий tu_cbf_cb, имеющий ненулевое значение, к примеру, режим 1 и режим 2 таблицы 2, описанной выше. Объединенный CbCr-режим B может означать jointCbCrmode, имеющий tu_cbf_cb, имеющий значение в 0, к примеру, режим 3 таблицы 2, описанной выше. Синтаксическая таблица, измененная соответствующим образом, показывается на фиг. 40. В дальнейшем описываются синтаксические элементы, указываемые в синтаксической таблице по фиг. 40.
[673] Когда значение синтаксического элемента cu_act_enabled_flag составляет второе значение (например, 1), указывающее то, что ACT применяется для текущего базиса кодирования, синтаксические элементы pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, pps_act_cr_qp_offset_plusX3, pps_act_cbcr_qp_offset_modeA_plusX4 и pps_act_cbcr_qp_offset_modeB_plusX5 могут использоваться для того, чтобы определять смещения, применяемые к значениям qP параметров квантования для компонента сигналов яркости, Cb-компонента, Cr-компонента и объединенного CbCr-компонента, соответственно. Когда значения pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, pps_act_cr_qp_offset_plusX3, pps_act_cbcr_qp_offset_modeA_plusX4 и pps_act_cbcr_qp_offset_modeB_plusX5 не присутствуют в потоке битов, каждое значение может задаваться равным 0.
[674] Согласно синтаксическим элементам, значения переменных PpsActQpOffsetY, PpsActQpOffsetCb, PpsActQpOffsetCr, PpsActQpOffsetCbCrModeA и PpsActQpOffsetCbCrModeB могут определяться так, как показано в нижеприведенном уравнении.
[675] уравнение 80
[676] PpsActQpOffsetY=pps_act_y_qp_offset_plusX1-X1
[677] PpsActQpOffsetCb=pps_act_cb_qp_offset_plusX2-X2
[678] PpsActQpOffsetCr=pps_act_cr_qp_offset_plusX3-X3
[679] PpsActQpOffsetCbCrModeA=pps_act_cbcr_qp_offset_modeA_plusX4-X4
[680] PpsActQpOffsetCbCrModeB=pps_act_cbcr_qp_offset_modeB_plusX5-X5
[681] В данном документе, X1, X2, X3, X4 и X5 могут указывать предварительно определенные постоянные значения. Они могут быть идентичными значениями или различными значениями, либо только некоторые могут иметь идентичное значение. В варианте осуществления, для согласования потоков битов, значения PpsActQpOffsetY, PpsActQpOffsetCb, PpsActQpOffsetCr, PpsActQpOffsetCbCrModeA и PpsActQpOffsetCbCrModeB могут быть ограничены таким образом, что они имеют значения в пределах от -12 до 12.
[682] Согласно определению переменных, параметр qP квантования может определяться следующим образом. Во-первых, когда cIdx имеет значение в 0, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[683] уравнение 81
Y
[684] qP=Qp'
[685] ActQpOffset=PpsActQpOffsetY
[686] Альтернативно, когда TuCResMode[xTbY][yTbY] имеет значение в 2, qP может извлекаться так, как показано в нижеприведенном уравнении.
[687] уравнение 82
CbCr
[688] qP=Qp'
[689] Альтернативно, когда cIdx имеет значение в 1, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[690] уравнение 83
Cb
[691] qP=Qp'
[692] ActQpOffset=PpsActQpOffsetCb
[693] Альтернативно, когда cIdx имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[694] уравнение 84
Cr
[695] qP=Qp'
[696] ActQpOffset=PpsActQpOffsetCr
[697] Помимо этого, когда cIdx не имеет значение в 0, и TuCResMode[xTbY][yTbY] не имеет значение в 0, ACT Qp-смещение может извлекаться так, как показано в нижеприведенном уравнении.
[698] уравнение 85
[699] ActQpOffset=(tu_cbf_cb[xTbY][yTbY])?PpsActQpOffsetCbCrModeA:PpsActQpOffsetCbCrModeB
[700] Между тем, в другом варианте осуществления, когда TuCResMode[xTbY][yTbY] имеет значение в 2, ActQpOffset может извлекаться так, как показано в нижеприведенном уравнении.
[701] уравнение 86
[702] ActQpOffset=(tu_cbf_cb[xTbY][yTbY])?(PPsQpOffsetCbCrModeA+slice_act_CbCr_qp_offset_ModeA):(PPsQpOffsetCbCrModeB+slice_act_CbCr_qp_offset_ModeB)
[703] В другом варианте осуществления передачи в служебных сигналах ACT Qp-смещения, только ACT QP-смещения для Y, Cb и Cr могут передаваться в служебных сигналах, как указано в синтаксической таблице по фиг. 41. ACT QP-смещение для объединенного CbCr может извлекаться из PpsActQpOffsetY, PpsActQpOffsetCb и/или PpsActQpOffsetCr.
[704] В варианте осуществления, ACT Qp-смещение для CbCr может задаваться равным значению PpsActQpOffsetCb. В другом варианте осуществления, ACT Qp-смещение для CbCr может задаваться равным значению, идентичному значению PpsActQpOffsetCb в случае объединенного CbCr-режима, в котором tu_cbf_cb имеет ненулевое значение, либо может задаваться равным значению, идентичному значению PpsActQpOffsetCr в случае объединенного CbCr-режима, в котором tu_cbf_cb имеет значение в 0. Альтернативно, оно может задаваться наоборот.
[705] Фиг. 41 является видом, показывающим другой вариант осуществления синтаксической таблицы, в которой ACT Qp-смещение передается в служебных сигналах в PPS. Согласно определению синтаксических элементов по фиг. 41, параметр qP квантования может определяться следующим образом. Во-первых, когда cIdx имеет значение в 0, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[706] уравнение 87
Y
[707] qP=Qp'
[708] ActQpOffset=PpsActQpOffsetY
[709] Альтернативно, когда TuCResMode[xTbY][yTbY] имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[710] уравнение 88
CbCr
[711] qP=Qp'
[712] ActQpOffset=(cIdx==1)?PpsActQpOffsetCb:PpsActQpOffsetCr
[713] Между тем, в другом варианте осуществления, значение ActQpOffset может определяться следующим образом.
[714] уравнение 89
[715] ActQpOffset=(tu_cbf_cb[xTbY][yTbY])?PpsActQpOffsetCb:PpsActQpOffsetCr
[716] Альтернативно, когда cIdx имеет значение в 1, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[717] уравнение 90
Cb
[718] qP=Qp'
[719] ActQpOffset=PpsActQpOffsetCb
[720] Альтернативно, когда cIdx имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[721] уравнение 91
Cr
[722] qP=Qp'
[723] ActQpOffset=PpsActQpOffsetCr
Вариант 7 осуществления. Передача в служебных сигналах ACT Qp-смещения на нескольких уровнях
[724]
[725] В варианте осуществления, ACT QP-смещение может передаваться в служебных сигналах на множестве уровней. В дополнение к передаче в служебных сигналах ACT Qp-смещения на одном уровне, таком как PPS, аналогично вышеприведенному варианту 6 осуществления, ACT QP-смещение может передаваться в служебных сигналах на нижнем уровне (например, заголовка среза, заголовка кадра или заголовков других типов, подходящих для Qp-управления).
[726] В дальнейшем в этом документе описываются два варианта осуществления. Фиг. 42 и 43 показывают примеры, в которых ACT QP-смещение передается в служебных сигналах через заголовок среза и заголовок кадра. Таким образом, ACT QP-смещение может передаваться в служебных сигналах на нескольких уровнях.
[727] В дальнейшем в этом документе описываются синтаксические элементы, показанные на фиг. 42 и 43. Синтаксический элемент pps_slice_act_qp_offsets_present_flag может указывать то, присутствуют или нет синтаксические элементы slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset и slice_act_cbcr_qp_offset, которые описываются ниже, в заголовке среза.
[728] Например, первое значение (например, 0) pps_slice_act_qp_offsets_present_flag может указывать то, что slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset и slice_act_cbcr_qp_offset не присутствуют в заголовке среза.
[729] Например, второе значение (например, 1) pps_slice_act_qp_offsets_present_flag может указывать то, что slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset и slice_act_cbcr_qp_offset присутствуют в заголовке среза.
[730] Синтаксические элементы slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset и slice_act_cbcr_qp_offset могут указывать смещения для значений qP параметров квантования для компонента сигналов яркости, Cb-компонента, Cr-компонента и объединенного CbCr-компонента, соответственно. Значения slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset и slice_act_cbcr_qp_offset могут быть ограничены таким образом, что они имеют значения в пределах от -12 до 12. Когда значения slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset и slice_act_cbcr_qp_offset не присутствуют в потоке битов, каждое значение может задаваться равным 0. Значения PpsActQpOffsetY+slice_act_y_qp_offset, PpsActQpOffsetCb+slice_act_cb_qp_offset, PpsActQpOffsetCr+slice_act_cr_qp_offset и PpsActQpOffsetCbCr+slice_act_cbcr_qp_offset могут быть ограничены таким образом, что они также имеют значения в пределах от -12 до 12.
[731] Могут применяться различные модифицированные варианты осуществления передачи в служебных сигналах ACT Qp-смещения для объединенного CbCr на PPS-уровне. Например, одно QP-смещение может передаваться в служебных сигналах для объединенного CbCr, множество ACT Qp-смещений могут передаваться в служебных сигналах для объединенного CbCr различных режимов или без передачи в служебных сигналах ACT Qp-смещения для объединенного CbCr, способ извлечения этого посредством использования ACTQpOffsets для Y, Cb и Cr и/или режима jointCbCr может применяться, когда выполняется передача служебных сигналов через заголовок среза.
[732] Два модифицированных варианта осуществления показаны на фиг. 44 и 45. Фиг. 44 показывает вариант осуществления, в котором ACT Qp-смещение передается в служебных сигналах в заголовке среза. Фиг. 45 показывает другой вариант осуществления, в котором ACT Qp-смещение передается в служебных сигналах в заголовке среза. На фиг. 45, только ACT Qp-смещения для Y, Cb и Cr могут передаваться в служебных сигналах, и ACT QP-смещение на уровне среза для объединенного CbCr может извлекаться из slice_act_y_qp_offset, slice_act_cb_qp_offset и/или slice_act_cr_qp_offset. Это может определяться на основе типа режима jointCbCr. В варианте осуществления, ACT Qp-смещение на уровне среза для CbCr может задаваться равным значению, идентичному значению slice_act_cb_qp_offset. В другом варианте осуществления, в случае объединенного CbCr-режима, имеющего tu_cbf_cb, имеющий ненулевое значение, ACT Qp-смещение на уровне среза для объединенного CbCr может задаться равным значению, идентичному значению slice_act_cb_qp_offset. Помимо этого, в случае объединенного CbCr-режима, имеющего tu_cbf_cb, имеющий значение в 0, ACT Qp-смещение на уровне среза для объединенного CbCr может задаваться равным значению, идентичному значению slice_act_cr_qp_offset.
[733] Между тем, в другом варианте осуществления, синтаксический элемент может передаваться в служебных сигналах в заголовке среза или заголовке кадра. Чтобы реализовывать это, кодирование/декодирование может выполняться следующим образом.
[734] - Флаг pps_picture_slice_act_qp_offsets_present_flag, указывающий то, присутствует либо нет ACT Qp-смещение в заголовке кадра или заголовке среза, может передаваться в служебных сигналах в PPS.
[735] - Когда ACT является применимым, и значение pps_picture_slice_act_qp_offsets_present_flag составляет второе значение (например, 1), флаг pic_act_qp_offsets_present_flag, указывающий то, присутствует или нет ACT Qp-смещение в заголовке кадра, передается в служебных сигналах в заголовке кадра. В данном документе, второе значение (например, 1) pic_act_qp_offsets_present_flag может указывать то, что ACT Qp-смещения для всех срезов кадра, соответствующего заголовку кадра, предоставляются в заголовке кадра.
[736] - Первое значение (например, 0) pic_act_qp_offsets_present_flag может указывать то, что ACT Qp-смещения для всех срезов кадра, соответствующего заголовку кадра, не предоставляются в заголовке кадра. Например, когда ACT является применимым, и значение pps_picture_slice_act_qp_offsets_present_flag составляет второе значение (например, 1), и значение pic_act_qp_offsets_present_flag составляет первое значение (например, 0), ACT Qp-смещение для среза может предоставляться в заголовке среза.
[737] Фиг. 46 является видом, показывающим синтаксическую таблицу PPS, в которой pps_pic_slice_act_qp_offsets_present_flag передается в служебных сигналах. Синтаксический элемент pps_pic_slice_act_qp_offsets_present_flag может указывать то, предоставляется либо нет ACT Qp-смещение в заголовке кадра и/или заголовке среза. Например, первое значение (например, 0) pps_pic_slice_act_qp_offsets_present_flag может указывать то, что ACT Qp-смещение не предоставляется в заголовке кадра и заголовке среза. Второе значение (например, 1) pps_pic_slice_act_qp_offsets_present_flag может указывать то, что ACT Qp-смещение предоставляется в заголовке кадра или заголовке среза. Когда pps_pic_slice_act_qp_offsets_present_flag не предоставляется в потоке битов, значение pps_pic_slice_act_qp_offsets_present_flag может определяться как составляющее первое значение (например, 0).
[738] Фиг. 47 является видом, показывающим синтаксическую таблицу заголовка кадра для передачи в служебных сигналах ACT Qp-смещения. Синтаксический элемент pic_act_qp_offsets_present_flag может указывать то, предоставляется или нет ACT Qp-смещение в заголовке кадра. Первое значение (например, 0) pic_act_qp_offsets_present_flag может указывать то, что ACT Qp-смещение предоставляется не в заголовке кадра, а в заголовке среза. Второе значение (например, 1) pic_act_qp_offsets_present_flag может указывать то, что ACT Qp-смещение предоставляется в заголовке кадра. Когда значение pic_act_qp_offsets_present_flag не предоставляется в потоке битов, значение может определяться равным 0.
[739] Фиг. 48 является видом, показывающим синтаксическую таблицу заголовка среза для передачи в служебных сигналах ACT Qp-смещения. В синтаксической таблице по фиг. 48, синтаксические элементы slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset и slice_act_cbcr_qp_offset могут указывать смещения для значений qP параметров квантования для компонента сигналов яркости, Cb- и Cr-компонента. Значения slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset и slice_act_cbcr_qp_offset могут иметь значения в пределах от -12 до 12. Помимо этого, значения PpsActQpOffsetY+slice_act_y_qp_offset, PpsActQpOffsetCb+slice_act_cb_qp_offset и PpsActQpOffsetCr+slice_act_cr_qp_offset могут быть ограничены таким образом, что они также имеют диапазон значений от -12 до 12.
[740] Между тем, в случае, в котором значения slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset и slice_act_cbcr_qp_offset не предоставляются в потоке битов, когда значение pps_pic_slice_act_qp_offsets_present_flag составляет первое значение (например, 0), значения slice_act_y_qp_offset, slice_act_cb_qp_offset и slice_act_cr_qp_offset могут определяться равными 0. Альтернативно, когда значение pps_pic_slice_act_qp_offsets_present_flag составляет второе значение (например, 1), значения slice_act_y_qp_offset, slice_act_cb_qp_offset и slice_act_cr_qp_offset могут определяться равными значениям, идентичным значениям pps_act_y_qp_offset, pps_act_cb_qp_offset и pps_act_cr_qp_offset, соответственно.
[741] Между тем, когда ACT Qp-смещение присутствует в заголовке среза и в заголовке кадра, конечное значение смещения, используемое для того, чтобы извлекать значение qP, может определяться в качестве значения, которое получается посредством суммирования значения смещения, передаваемого в служебных сигналах в PPS, и значения смещения, передаваемого в служебных сигналах в заголовке среза или заголовке кадра.
[742] Более конкретно, в варианте осуществления, параметр qP квантования может определяться следующим образом. Во-первых, когда cIdx имеет значение в 0, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[743] уравнение 92
Y
[744] qP=Qp'
[745] ActQpOffset=PPsQpOffsetY+slice_act_y_qp_offset
[746] Альтернативно, когда TuCResMode[xTbY][yTbY] имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[747] уравнение 93
CbCr
[748] qP=Qp'
[749] ActQpOffset=PPsQpOffsetCbCr+slice_act_CbCr_qp_offset
[750] Альтернативно, когда cIdx имеет значение в 1, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[751] уравнение 94
Cb
[752] qP=Qp'
[753] ActQpOffset=PpsActQpOffsetCb+slice_act_Cb_qp_offset
[754] Альтернативно, когда cIdx имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[755] уравнение 95
Cr
[756] qP=Qp'
[757] ActQpOffset=PpsActQpOffsetCr+slice_act_Cr_qp_offset
[758] В другом варианте осуществления, когда несколько ACT Qp-смещений для объединенного CbCr передаются в служебных сигналах, ActQpOffset для объединенного CbCr может определяться следующим образом.
[759] Во-первых, когда cIdx имеет значение в 0, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[760] уравнение 96
Y
[761] qP=Qp'
[762] ActQpOffset=PPsQpOffsetY+slice_act_y_qp_offset
[763] Альтернативно, когда TuCResMode[xTbY][yTbY] имеет значение в 2, qP может извлекаться так, как показано в нижеприведенном уравнении.
[764] уравнение 97
CbCr
[765] qP=Qp'
[766] Альтернативно, когда cIdx имеет значение в 1, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[767] уравнение 98
Cb
[768] qP=Qp'
[769] ActQpOffset=PpsActQpOffsetCb+slice_act_Cb_qp_offset
[770] Альтернативно, когда cIdx имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[771] уравнение 99
Cr
[772] qP=Qp'
[773] ActQpOffset=PpsActQpOffsetCr+slice_act_Cr_qp_offset
[774] Помимо этого, когда cIdx не имеет значение в 0, и TuCResMode[xTbY][yTbY] не имеет значение в 0, ACT Qp-смещение может извлекаться так, как показано в нижеприведенном уравнении.
[775] уравнение 100
[776] ActQpOffset=(tu_cbf_cb[xTbY][yTbY])?(PPsQpOffsetCbCrModeA+slice_act_CbCr_qp_offset_ModeA):(PPsQpOffsetCbCrModeB+slice_act_CbCr_qp_offset_ModeB)
[777] В еще одном другом варианте осуществления, когда ACT Qp-смещение для объединенного CbCr не предоставляется, qP и ActQpOffset для Y-, Cb- и/или Cr-компонентов определяются, и ActQpOffset для объединенного CbCr может определяться с использованием ACT Qp-смещений Y-, Cb- и/или Cr-компонентов следующим образом. Например, в вышеописанном варианте осуществления, когда TuCResMode[xTbY][yTbY], связанный с уравнением 97, имеет значение в 2, этап вычисления qP может изменяться и выполняться следующим образом.
[778] Альтернативно, когда TuCResMode[xTbY][yTbY] имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[779] уравнение 101
CbCr
[780] qP=Qp'
[781] ActQpOffset=(cIdx==1])?(PPsQpOffsetCb+slice_act_Cb_qp_offset):(PPsQpOffsetCr+slice_act_Cr_qp_offset)"
[782] Между тем, в другом варианте осуществления, значение ActQpOffset может определяться так, как указано в нижеприведенном уравнении.
[783] уравнение 102
[784] ActQpOffset=(tu_cbf_cb[xTbY][yTbY])?(PPsQpOffsetCb+slice_act_Cb_qp_offset):(PPsQpOffsetCr+slice_act_Cr_qp_offset)
Вариант 8 осуществления. Способ передачи в служебных сигналах нескольких наборов ACT Qp-смещений
[785]
[786] В настоящем варианте осуществления, в дальнейшем описывается способ использования списка ACT Qp-смещений. С этой целью, следующая обработка может выполняться.
[787] a) Несколько наборов ACT Qp-смещений могут передаваться в служебных сигналах в форме списка в наборе параметров (например, SPS или PPS). Каждый набор в списке может включать в себя ACT Qp-смещения для Y-, Cb-, Cr- и объединенных CbCr-компонентов. Для простоты, список ACT Qp-смещений может передаваться в служебных сигналах в наборе параметров, идентичном набору параметров для передачи в служебных сигналах списка Qp-смещений сигналов цветности.
[788] b) Число наборов ACT Qp-смещений в списке может быть идентичным числу наборов Qp-смещений сигналов цветности, передаваемых в служебных сигналах в PPS.
[789] c) В качестве ACT Qp-смещения, используемого для того, чтобы извлекать qP для каждого базиса кодирования, может использоваться ACT Qp-смещение, принадлежащее списку, имеющему индекс (например, cu_chroma_qp_offset_idx) для Qp-смещения сигналов цветности для базиса кодирования.
[790] d) В качестве альтернативного варианта осуществления b) и c), следующее может выполняться.
[791] - Число наборов ACT Qp-смещений в списке может передаваться в служебных сигналах. Число наборов ACT Qp-смещений в списке может отличаться от числа наборов Qp-смещений сигналов цветности.
[792] - Когда ACT является применимым, индекс, указывающий индекс ACT Qp-смещения, используемого для базиса кодирования, может передаваться в служебных сигналах.
[793] Без отступления от вышеуказанной концепции, синтаксис для передачи в служебных сигналах списка ACT Qp-смещений может использоваться, как показано на фиг. 49. Например, когда cu_act_enabled_flag имеет значение в 1, pps_act_y_qp_offset, pps_act_cb_qp_offset, pps_act_cr_qp_offset, и pps_act_cbcr_qp_offset могут использоваться для того, чтобы определять смещения, которые должны применяться к значениям qP параметров квантования для компонента сигналов яркости, Cb-компонента, Cr-компонента и объединенного CbCr, соответственно.
[794] Когда значения pps_act_y_qp_offset, pps_act_cb_qp_offset, pps_act_cr_qp_offset и pps_act_cbcr_qp_offset не присутствуют, каждое значение может извлекаться как 0.
[795] Когда значение cu_act_enabled_flag составляет второе значение (например, 1), и значение cu_chroma_qp_offset_flag составляет второе значение (например, 1), act_y_qp_offset_list[i], act_cb_qp_offset_list[i], act_cr_qp_offset_list[i] и act_cbcr_qp_offset_list[i] могут использоваться для того, чтобы определять смещения, применяемые к значению параметров квантования qP для компонента сигналов яркости, Cb-компонента, Cr-компонента и объединенного CbCr-компонента, соответственно. Когда значения act_y_qp_offset_list[i], act_cb_qp_offset_list[i], act_cr_qp_offset_list[i] и act_cbcr_qp_offset_list[i] не присутствуют, каждое значение может извлекаться как 0.
[796] В настоящем варианте осуществления, параметр qP квантования может определяться следующим образом. Во-первых, когда cIdx имеет значение в 0, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[797] уравнение 103
Y
[798] qP=Qp'
[799] ActQpOffset=pps_act_y_qp_offset+(cu_chroma_qp_offset_flag)?act_y_qp_offset_list[cu_chroma_qp_offset_idx]:0+slice_act_y_qp_offset. Альтернативно, когда TuCResMode[xTbY][yTbY] имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[800] уравнение 104
CbCr
[801] qP=Qp'
[802] ActQpOffset=pps_act_cbcr_qp_offset+(cu_chroma_qp_offset_flag)?act_cbcr_qp_offset_list[cu_chroma_qp_offset_idx]:0+slice_act_cbcr_qp_offset
[803] Альтернативно, когда cIdx имеет значение в 1, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[804] уравнение 105
Cb
[805] qP=Qp'
[806] ActQpOffset=pps_act_cb_qp_offset+(cu_chroma_qp_offset_flag)?act_cb_qp_offset_list[cu_chroma_qp_offset_idx]:0+slice_act_cb_qp_offset. Альтернативно, когда cIdx имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.
[807] уравнение 106
Cr
[808] qP=Qp'
[809] ActQpOffset=pps_act_cr_qp_offset+(cu_chroma_qp_offset_flag)?act_cr_qp_offset_list[cu_chroma_qp_offset_idx]:0+slice_act_cr_qp_offset
Вариант 9 осуществления. Способ ACT-преобразования цветового пространства, который должен применяться к кодированию без потерь и к кодированию с потерями
[810] Преобразование (преобразование) между цветовыми пространствами на основе матриц для прямого преобразования и обратного преобразования, описанных выше, может организовываться следующим образом.
[811] Табл. 3
Прямое преобразование: GBR в YCgCo
Обратное преобразование: YCgCo в GBR
Y=((G<<1)+R+B+2)>>2Cg=((G<<1)-R-B+2)>>2Co=((R-B)<<1)+2)>>2
t=Y-CgG=Y+CgB=t-Co=Y-Cg-CoR=t+Co=Y-Cg+Co
[812] Преобразование не может достигать восстановления в исходное состояние, поскольку потери некоторых значений возникают в обработке Co и Cg. Например, когда выборочное значение цветового RGB-пространства преобразуется в выборочное значение цветового YCgCo-пространства, и результирующее значение обратно преобразуется обратно в результирующее значение цветового RGB-пространства, значение исходной выборки не полностью восстанавливается. Следовательно, преобразование согласно таблице 3 не может использоваться для кодирования без потерь. Необходимо улучшать алгоритм преобразования цветового пространства таким образом, что потери выборочного значения не возникают после преобразования цветового пространства, даже когда применяется кодирование без потерь. Варианты 9 и 10 осуществления описывают алгоритм преобразования цветового пространства, допускающий применение к кодированию без потерь, а также к кодированию с потерями.
[813] В варианте осуществления, описанном ниже, описывается способ выполнения ACT посредством использования преобразования цветового пространства, обратимого в исходное состояние, которое является применимым к кодированию с потерями, а также кодированию без потерь. Это обратимое преобразование цветового пространства может применяться к вышеописанным способам кодирования и декодирования. ACT Qp-смещение также может регулироваться для нижеприведенного преобразования цветового пространства. Преобразование цветового пространства согласно варианту осуществления может выполняться так, как показано в нижеприведенном уравнении. Например, прямое преобразование из цветового GBR-пространства в цветовое YCgCo-пространство может выполняться согласно нижеприведенному уравнению.
[814] уравнение 107
[815] Co=R-B;
[816] t=B+(Co>>1);
[817] Cg=G-t;
[818] Y=t+(Cg>>1);
[819] Помимо этого, обратное преобразование из цветового YCgCo-пространства в цветовое GBR-пространство может выполняться согласно нижеприведенному уравнению.
[820] уравнение 108
[821] t=Y-(Cg>>1)
[822] G=Cg+t
[823] B=t-(Co>>1)
[824] R=Co+B
[825] Преобразование между цветовым YCgCo-пространством и цветовым RGB-пространством согласно вышеприведенным уравнениям является обратимым по отношению к исходному состоянию. Таким образом, преобразование цветового пространства согласно уравнениям поддерживает идеальное восстановление. Например, выборочное значение поддерживается, даже если обратное преобразование выполняется после прямого преобразования. Соответственно, преобразование цветового пространства согласно уравнениям может называться "обратимым цветовым YCgCo-R-преобразованием". В данном документе, R может означить обратимый, что означает то, что достигается восстановление в исходное состояние. YCgCo-R-преобразование может предоставляться посредством увеличения битовых глубин Cg and Co на 1 по сравнению с существующим преобразованием. Если это условие удовлетворяется, могут использоваться другие типы обратимого преобразования, такие как вышеописанное преобразование.
[826] Поскольку преобразование, как показано в вышеприведенных уравнениях, имеет отличающееся норменное значение относительно вышеописанного преобразования, ACT Qp-смещения для Y, Cg and Co могут регулироваться таким образом, чтобы компенсировать изменение динамического диапазона вследствие преобразования цветового пространства.
[827] Описано, что когда вышеописанное преобразование применяется, QCT Qp-смещение согласно варианту осуществления может иметь значение (-5, -5, -5) для Y, Cg and Co. Тем не менее, когда обратимое преобразование согласно настоящему варианту осуществления применяется, в качестве QCT Qp-смещения согласно варианту осуществления, другое значение, не (-5, -5, -5), может указываться. Например, в качестве QCT Qp-смещения согласно варианту осуществления, может использоваться значение (-5, 1, 3) для Y, Cg and Co.
[828] В другом варианте осуществления, ACT QP-смещение может передаваться в служебных сигналах через поток битов, аналогично варианту 6 или 7 осуществления, описанному выше.
[829] Например, когда YCgCo-R-преобразование, описанное выше, использовано вместе с ACT QP-смещением (-5, 1, 3), следует отметить, что потери при кодировании не присутствуют в окружении кодирования с потерями (например, QP 22, 27, 32, 37), как показано на нижеприведенном чертеже. Помимо этого, следует отметить, что когда ACT применяется, производительность кодирования в 5% дополнительно получена в реализации кодирования без потерь.
[830] Табл. 4
Последовательность
Y
U
V
RGB, TGM 1080p
0,0%
0,2%
0,1%
RGB, TGM 720p
0,2%
-0,1%
0,1%
RGB, анимация
-0,1%
-0,1%
0,0%
RGB, смешанный контент
-0,1%
0,0%
-0,1%
RGB, захваченный камерой контент
-0,3%
0,2%
-0,3%
Вся полностью (RGB)
0,0%
0,0%
0,0%
[831] VVC-спецификация для включения интегрированной ACT-матрицы может описываться в качестве нижеприведенной таблицы.
[832] Табл. 5
Процесс модификации остатка для блоков с использованием преобразования цветового пространстваВводы в этот процесс представляют собой следующее:- переменная nTbW, указывающая ширину блока,- переменная nTbH, указывающая высоту блока,- массив r<sub>Y</sub> (nTbW)x(nTbH) остаточных выборок сигналов яркости с элементами r<sub>Y</sub>[x][y],- массив r<sub>Cb</sub> (nTbW)x(nTbH) остаточных выборок сигналов цветности с элементами с элементами r<sub>Cb</sub>[x][y],- массив r<sub>Cr</sub> (nTbW)x(nTbH) остаточных выборок сигналов цветности с элементами r<sub>Cr</sub>[x][y].Выводы этого процесса представляют собой следующее:- модифицированный массив r<sub>Y</sub> (nTbW)x(nTbH) остаточных выборок сигналов яркости,- модифицированный массив r<sub>Cb</sub> (nTbW)x(nTbH) остаточных выборок сигналов цветности,- модифицированный массив r<sub>Cr</sub> (nTbW)x(nTbH) остаточных выборок сигналов цветности.Массивы r<sub>Y</sub>, r<sub>Cb</sub> и r<sub>Cr</sub> (nTbW)x(nTbH) остаточных выборок модифицируются следующим образом:tmp=r<sub>Y</sub>[x][y]-(r<sub>Cb</sub>[x][y]>>1))r<sub>Y</sub>[x][y]=tmp+r<sub>Cb</sub>[x][y]r<sub>Cb</sub>[x][y]=tmp-(r<sub>Cr</sub>[x][y]>>1)r<sub>Cr</sub>[x][y]=r<sub>Cb</sub>[x][y]+r<sub>Cr</sub>[x][y]
Y
Cb
Cr
[833] Например, массивы r, r и r остаточных выборок размера (nTbW)x(nTbH) могут обновляться следующим образом.
[834] уравнение 109
Y
Cb
[835] tmp=r[x][y]-(r[x][y]>>1)
Y
Cb
[836] r[x][y]=tmp+r[x][y]
Cb
Cr
[837] r[x][y]=tmp-(r[x][y]>>1)
Cr
Cb
Cr
[838] r[x][y]=r[x][y]+r[x][y]
Вариант 10 осуществления. Способ выполнения ACT для выполнения нескольких преобразований цветов на основе явной передачи служебных сигналов
[839]
[840] В настоящем варианте осуществления, по меньшей мере, одно преобразование цветов может выполняться посредством ACT. То, какое преобразование цветов должно выполняться, может определяться посредством флага(ов), передаваемого в служебных сигналах в потоке битов. Флаг(и) может передаваться в служебных сигналах на нескольких уровнях, к примеру, SPS, PPS, заголовка кадра и среза, или с идентифицируемыми степенями детализации.
[841] В варианте осуществления, предварительно определенный флаг может передаваться в служебных сигналах, чтобы указывать то, какое ACT применяется. Например, когда флаг имеет значение в 1, ACT на основе обратимого преобразования цветов может применяться. Когда флаг имеет значение в 0, ACT на основе необратимого преобразования цветов может применяться.
[842] В другом варианте осуществления, предварительно определенный флаг для ACT может передаваться в служебных сигналах, чтобы указывать то, какое преобразование цветов используется. Пример синтаксиса, передаваемого в служебных сигналах в SPS, показывается на фиг. 50. В дальнейшем описывается синтаксический элемент по фиг. 50. Синтаксический элемент sps_act_reversible_conversion может указывать то, используется или нет уравнение преобразования, необратимое по отношению к исходному состоянию. Первое значение (например, 0) sps_act_reversible_conversion может указывать то, что ACT использует уравнение преобразования, необратимое по отношению к исходному состоянию. Второе значение (например, 1) sps_act_reversible_conversion может указывать то, что ACT использует уравнение преобразования, обратимое по отношению к исходному состоянию.
[843] Соответственно, переменная lossyCoding, указывающая то, выполняется или нет кодирование с потерями, может задаваться так, как указано в нижеприведенном уравнении.
[844] уравнение 110
[845] lossyCoding=(!sps_act_reversible_conversion)
[846] Посредством использования флага lossyCoding, псевдокод для устройства декодирования, чтобы выполнять обратное преобразование из YCgCo в GBR в процессе декодирования, может выражаться следующим образом.
[847] уравнение 111
[848] If(sps_act_reversible_conversion==1)
[849] {
[850] //Обратимое YCgCo-R-преобразование
[851] t=Y-(Cg>>1)
[852] G=Cg+t
[853] B=t-(Co>>1)
[854] R=Co+B
[855] }
[856] else {
[857] t=Y-Cg
[858] G=Y+Cg
[859] B=t-Co
[860] R=t+Co
[861] }
[862] Соответственно, VVC-спецификация, показанная в таблице 5 варианта 9 осуществления, может модифицироваться так, как показано в нижеприведенной таблице.
[863] Табл. 6
Процесс модификации остатка для блоков с использованием преобразования цветового пространстваВводы в этот процесс представляют собой следующее:- переменная nTbW, указывающая ширину блока,- переменная nTbH, указывающая высоту блока,- массив r<sub>Y</sub> (nTbW)x(nTbH) остаточных выборок сигналов яркости с элементами r<sub>Y</sub>[x][y],- массив r<sub>Cb</sub> (nTbW)x(nTbH) остаточных выборок сигналов цветности с элементами r<sub>Cb</sub>[x][y],- массив r<sub>Cr</sub> (nTbW)x(nTbH) остаточных выборок сигналов цветности с элементами r<sub>Cr</sub>[x][y].Выводы этого процесса представляют собой следующее:- модифицированный массив r<sub>Y</sub> (nTbW)x(nTbH) остаточных выборок сигналов яркости,- модифицированный массив r<sub>Cb</sub> (nTbW)x(nTbH) остаточных выборок сигналов цветности,- модифицированный массив r<sub>Cr</sub> (nTbW)x(nTbH) остаточных выборок сигналов цветности.Массивы r<sub>Y</sub>, r<sub>Cb</sub> и r<sub>Cr</sub> (nTbW)x(nTbH) остаточных выборок модифицируются следующим образом:- Если sps_act_reversible_conversion равно 1, массивы r<sub>Y</sub>, r<sub>Cb</sub> и r<sub>Cr</sub> (nTbW)x(nTbH) остаточных выборок модифицируются следующим образом:tmp=r<sub>Y</sub>[x][y]-(r<sub>Cb</sub>[x][y]>>1)r<sub>Y</sub>[x][y]=tmp+r<sub>Cb</sub>[x][y])r<sub>Cb</sub>[x][y]=tmp-(r<sub>Cr</sub>[x][y]>>1)r<sub>Cr</sub>[x][y]=r<sub>Cb</sub>[x][y]+r<sub>Cr</sub>[x][y]- В противном случае, массивы r<sub>Y</sub>, r<sub>Cb</sub> и r<sub>Cr</sub> (nTbW)x(nTbH) остаточных выборок модифицируются следующим образом:tmp=r<sub>Y</sub>[x][y]-r<sub>Cb</sub>[x][y])r<sub>Y</sub>[x][y]=r<sub>Y</sub>[x][y]+r<sub>Cb</sub>[x][y])r<sub>Cb</sub>[x][y]=tmp-r<sub>Cr</sub>[x][y])r<sub>Cr</sub>[x][y]=tmp+r<sub>Cr</sub>[x][y]
[864] Согласно вышеприведенной таблице, процесс остаточного обновления с использованием преобразования цветового пространства может использовать следующие параметры в качестве вводов в текущий процесс.
- переменная nTbW, указывающая ширину блока
[865] - переменная nTbH, указывающая высоту блока
Y
Y
[866] - массив r размера (nTbW)x(nTbH) для остаточной выборки сигналов яркости, состоящий из элементов r[x][y],
Cb
Cb
[867] - массив r размера (nTbW)x(nTbH) для остаточной выборки сигналов цветности, состоящий из элементов r[x][y],
Cr
Cr
[868] - массив r размера (nTbW)x(nTbH) для остаточной выборки сигналов цветности, состоящий из элементов r[x][y],
[869] Вывод для текущего процесса представляет собой следующее:
Y
[870] - обновленный массив r размера (nTbW)x(nTbH) для остаточной выборки сигналов яркости,
Cb
[871] - обновленный массив r размера (nTbW)x(nTbH) для остаточной выборки сигналов цветности,
Cr
[872] - обновленный массив r размера (nTbW)x(nTbH) для остаточной выборки сигналов цветности,
Y
Cb
Cr
[873] Посредством выполнения текущего процесса, массивы r, r и r остаточных выборок размера (nTbW)x(nTbH) могут обновляться следующим образом.
Y
Cb
Cr
[874] Во-первых, когда значение sps_act_reversible_conversion составляет второе значение (например, 1), массивы r, r и r остаточных выборок размера (nTbW)x(nTbH) могут обновляться так, как показано в нижеприведенном уравнении.
[875] уравнение 112
Y
Cb
[876] tmp=r[x][y]-(r[x][y]>>1)
Y
Cb
[877] r[x][y]=tmp+r[x][y]
)
Cb
Cr
[878] r[x][y]=tmp-(r[x][y]>>1)
Cr
Cb
Cr
[879] r[x][y]=r[x][y]+r[x][y]
Y
Cb
Cr
[880] Иначе (например, когда значение sps_act_reversible_conversion составляет первое значение (например, 0)), массивы r, r и r остаточных выборок размера (nTbW)x(nTbH) могут обновляться так, как показано в нижеприведенном уравнении.
[881] уравнение 113
Y
Cb
[882] tmp=r[x][y]-r[x][y]
Y
Y
Cb
[883] r[x][y]=r[x][y]+r[x][y]
Cb
Cr
[884] r[x][y]=tmp-r[x][y]
Cr
Cr
[885] r[x][y]=tmp+r[x][y]
[886] Обратное YCgCo-преобразование и обратное YCgCo-R-преобразование имеют некоторые подобия. При преобразовании, обратимом по отношению к исходному состоянию, когда Cg and Co заменяются Cgp'=Cg<<1 и Cop'=Co<<1, это может работать в качестве обратного преобразования с потерями. Нижеприведенное уравнение показывает вариант осуществления означенного.
[887] уравнение 114
[888] t=Y-(Cgp'>>1)=Y-Cg
[889] G=Cgp'+t=Y+Cg
[890] B=t-(Cop'>>1)=t-Co=Y-Cg-Co
[891] R=Cop'+B=t+Co=Y-Cg+Co
[892] Соответственно, в альтернативном варианте осуществления, вместо поддержания двух преобразований цветов, может использоваться только преобразование, обратимое по отношению к исходному состоянию. В случае кодирования с потерями, Cg- и Co-компоненты могут масштабироваться в 1/2 раз при работе устройства кодирования и могут масштабироваться в два раза при работе устройства декодирования. Это обеспечивает возможность использования интегрированного преобразования, даже когда поддерживаются случаи с потерями и без потерь. Помимо этого, предусмотрено такое дополнительное преимущество, что битовая глубина не изменяется, даже когда проводится кодирование с потерями.
[893] Табл. 7
Обратное преобразование: YCgCo в GBR
If(lossyCoding){Cg=Cg<<1;Co=Co<<1;}t=Y-(Cg>>1)G=Cg+tB=t-(Co>>1)R=Co+B
[894] В варианте осуществления, флаг (например, actShiftFlag), указывающий то, какое ACT-преобразование используется, может использоваться согласно синтаксису по фиг. 51. В синтаксической таблице по фиг. 51, синтаксический элемент sps_act_shift_flag может указывать то, применяется или нет выполнение сдвига цветовых компонентов в то время, когда ACT применяется. Например, первое значение (например, 0) sps_act_shift_flag может указывать то, что выполнение сдвига цветовых компонентов не применяется в то время, когда ACT применяется. Второе значение (например, 1) sps_act_shift_flag может указывать то, что выполнение сдвига цветовых компонентов применяется в то время, когда ACT применяется. Переменная actShiftFlag может задаваться равной значению sps_act_shift_flag. Псевдокод для реализации обратного преобразования из YCgCo в GBR в устройстве декодирования может быть написан с использованием actShiftFlag, следующим образом.
[895] Табл. 8
Обратное преобразование: YCgCo в GBR
If(actShiftFlag){Cg=Cg<<1;Co=Co<<1;}t=Y-(Cg>>1)G=Cg+tB=t-(Co>>1)R=Co+B
Вариант 11 осуществления. Способ выполнения ACT для выполнения нескольких преобразований цветов с использованием извлечения типа преобразования
[896]
В варианте осуществления, по меньшей мере, одно преобразование цветов может использоваться при выполнении ACT. Помимо этого, то, какой тип преобразования цветов используется, может извлекаться на основе другой информации потока битов.
[897] В варианте осуществления, могут быть доступными два типа ACT-преобразований, включающие в себя ACT-преобразование, обратимое по отношению к исходному состоянию, и ACT-преобразование, необратимое по отношению к исходному состоянию. Типы ACT-преобразования могут извлекаться посредством типов преобразования. Например, как идентифицировано посредством переменной tuIsTransformSkip, когда тип преобразования представляет собой пропуск преобразования, может использоваться ACT-преобразование, обратимое по отношению к исходному состоянию. Иначе (например, когда тип преобразования не представляет собой пропуск преобразования), может использоваться ACT-преобразование, необратимое по отношению к исходному состоянию. Могут использоваться два типа псевдокода.
[898] Табл. 9
Обратное преобразование: YCgCo в GBR
If(tuIsTransformSkip){//Обратимое YCgCo-R-преобразованиеt=Y-(Cg>>1)G=Cg+tB=t-(Co>>1)R=Co+B}else {t=Y-CgG=Y+CgB=t-CoR=t+Co}
[899] Табл. 10
Обратное преобразование: YCgCo в GBR
If(tuIsTransformSkip){Cg=Cg<<1;Co=Co<<1;}t=Y-(Cg>>1)G=Cg+tB=t-(Co>>1)R=Co+B
[900] В другом варианте осуществления, типы ACT-преобразования могут определяться на основе QP-значений. Когда значение Qp меньше или равно предварительно определенному пороговому значению (например, QpPrimeTsMin), может использоваться ACT-преобразование, обратимое по отношению к исходному состоянию. Иначе (например, когда значение Qp превышает предварительно определенное пороговое значение), может использоваться необратимое ACT-преобразование.
Вариант 12 осуществления. Способ QP-извлечения с использованием ACT QP-смещения
[901] [902]
Y
CbCr
Cb
Cr
[903] Настоящий вариант осуществления связан с вариантами 1 и 2 осуществления, описанными выше. В вариантах 1 и 2 осуществления, уже описано, что извлеченные Qp', Qp', Qp' и Qp' включаются в качестве QP. Способы, описанные в вариантах 1 и 2 осуществления, корректируют полученные значения Qp посредством использования ACT QP-смещения и применяют существенную технологию отсечения таким образом, что скорректированные QP-значения для масштабирования коэффициентов преобразования не находятся за пределами эффективного диапазона.
Y
CbCr
Cb
Cr
[904] Настоящий вариант осуществления описывает способ включения ACT QP-смещения в процесс QP-извлечения для извлечения Qp', Qp', Qp' и Qp'. Процесс QP-извлечения уже включает в себя предварительно определенный этап отсечения таким образом, что извлеченные QP-значения не находятся за пределами эффективного диапазона. Следовательно, включение ACT QP-смещения в процесс QP-извлечения позволяет не допускать дополнительного этапа отсечения, упрощать общий этап QP-извлечения для процесса масштабирования коэффициентов преобразования и обеспечивать то, что конечный QP не находится за пределами эффективного диапазона.
[905] Как описано в варианте осуществления, описанном выше, ACT QP-смещение может предварительно указываться как константа или может передаваться в служебных сигналах через поток битов. Без отступления от согласованности, ACT QP-смещения для Y, Cb, Cr и CbCr могут описываться как ppsActQpOffsetY, ppsActQpOffsetCb, ppsActQpOffsetCr и ppsActQpOffsetCbCr в описании, которое приводится ниже. ppsActQpOffsetY, ppsActQpOffsetCb, ppsActQpOffsetCr и ppsActQpOffsetCbCr могут быть константами или переменными, имеющими значения в пределах от -M до N. В данном документе, каждое из M и N может задаваться равным 12 в случае кодирования с потерями и может задаваться равным 0 в случае кодирования без потерь в варианте осуществления. Помимо этого, по меньшей мере, одно ACT QP-смещение может извлекаться из другого значения ACT QP-смещения. Например, ppsActQpOffsetCbCr может задаваться равным значению, идентичному значению ppsActQpOffsetCb или ppsActQpOffsetCr, на основе объединенного CbCr-режима.
[906] Обработка декодирования для Qp-извлечения с использованием ACT QP-смещения может выполняться так, как описано ниже. Во-первых, в случае процесса извлечения параметров квантования, следующие параметры могут использоваться для текущего процесса.
[907] - Координаты (xCb, yCb) сигналов яркости, указывающие относительные координаты левой верхней выборки сигналов яркости текущего блока кодирования относительно левой верхней выборки сигналов яркости текущего кадра,
[908] - Переменная cbWidth, указывающая ширину текущего блока кодирования на основе выборки сигналов яркости,
[909] - Переменная cbHeight, указывающая высоту текущего блока кодирования на основе выборки сигналов яркости,
[910] - Переменная treeType, указывающая то, используется одиночное дерево (SINGLE_TREE) или сдвоенное дерево для того, чтобы сегментировать текущий узел дерева кодирования, и указывающая, когда сдвоенное дерево используется, то, представляет сдвоенное дерево собой сдвоенное дерево (DAUL_TREE_LUMA) компонентов сигналов яркости или сдвоенное дерево (DAUL_TREE_CHROMA) компонентов сигналов цветности.
Y
Cb
Cr
CbCr
[911] В настоящем процессе извлечения параметров квантования, могут извлекаться параметр Qp' квантования сигналов яркости и параметры Qp', Qp' и Qp' квантования сигналов цветности.
Y
[912] После этого, переменная Qp может извлекаться так, как показано в нижеприведенном уравнении.
[913] уравнение 115
Y
Y_PRED
[914] Qp=((qP+CuQpDeltaVal+64+2*QpBdOffset)%(64+QpBdOffset))-QpBdOffset
Y
[915] Параметр Qp' квантования сигналов яркости может извлекаться так, как показано в нижеприведенном уравнении.
[916] уравнение 116
[917] actQpOffsetY=cu_act_enabled_flag[xCb][yCb]?ppsActQpOffsetY:0
Y
Y
[918] Qp'=Qp+QpBdOffset+actQpOffsetY
Y
Y
[919] Qp'=Clip3(0, 63+QpBdOffset, Qp')
[920] Когда значение переменной ChromaArrayType, указывающей тип массива сигналов цветности, не является первым значением (например, 0), и treeType представляет собой SINGLE_TREE или DUAL_TREE_CHROMA, следующая обработка может выполняться.
Y
Y
[921] - Когда значение treeType представляет собой DUAL_TREE_CHROMA, значение переменной Qp может задаваться равным значению, идентичному значению параметра Qp квантования сигналов яркости базиса кодирования сигналов яркости, покрывающего выборочное местоположение (xCb+cbWidth/2, yCb+cbHeight/2) сигналов яркости.
Cb
Cr
CbCr
[922] - Переменные qP, qP и qP могут извлекаться так, как показано в нижеприведенном уравнении.
[923] уравнение 117
Chroma
Y
[924] qP=Clip3(-QpBdOffset, 63, Qp) (1118)
Cb
Chroma
[925] qP=ChromaQpTable[0][qP]
(1119)
Cr
Chroma
[926] qP=ChromaQpTable[1][qP]
(1120)
CbCr
Chroma
[927] qP=ChromaQpTable[2][qP]
(1121)
Cb
Cr
CbCr
[928] - Параметры Qp' и Qp' квантования сигналов цветности для Cb- и Cr-компонентов и параметр Qp' квантования сигналов цветности для объединенного Cb-Cr-кодирования могут извлекаться так, как показано в нижеприведенном уравнении.
[929] уравнение 118
[930] actQpOffsetCb=cu_act_enabled_flag[xCb][yCb]?ppsActQpOffsetCb:0
[931] actQpOffsetCr=cu_act_enabled_flag[xCb][yCb]?ppsActQpOffsetCr:0
[932] actQpOffsetCbCr=cu_act_enabled_flag[xCb][yCb]?ppsActQpOffsetCbCr:0
Cb
Cb
Cb
[933] Qp'=Clip3(-QpBdOffset, 63, qP+pps_cb_qp_offset+slice_cb_qp_offset+CuQpOffset+actQpOffsetCb)+QpBdOffset
Cr
Cr
Cr
[934] Qp'=Clip3(-QpBdOffset, 63, qP+pps_cr_qp_offset+slice_cr_qp_offset+CuQpOffset+actQpOffsetCr)+QpBdOffset
CbCr
CbCr
[935] Qp'=Clip3(-QpBdOffset, 63, qP+pps_joint_cbcr_qp_offset +
CbCr
[936] slice_joint_cbcr_qp_offset+CuQpOffset+actQpOffsetCbCr)+QpBdOffset
[937] [938] Затем, процесс деквантования для коэффициента преобразования может выполняться, и следующая информация может использоваться в качестве ввода для текущего процесса.
[939] - Координаты (xTbY, yTbY) сигналов яркости, ссылающиеся на относительные координаты верхней левой выборки текущего блока преобразования сигналов яркости относительно левой верхней выборки сигналов яркости текущего кадра,
[940] - Переменная nTbW, указывающая ширину блока преобразования,
[941] - Переменная nTbH, указывающая высоту блока преобразования,
[942] - Переменная predMode, указывающая режим прогнозирования базиса кодирования,
[943] - Переменная cIdx, указывающая цветовой компонент текущего блока
[944] Вывод процесса деквантования для коэффициента преобразования может представлять собой массив d масштабированных коэффициентов преобразования. В данном документе, размер массива d может составлять (nTbW)x(nTbH). Отдельные элементы, составляющие его, могут идентифицироваться в качестве d[x][y].
[945] При выполнении текущего процесса, параметр qP квантования может извлекаться следующим образом. Когда cIdx имеет значение в 0, qP может извлекаться так, как показано в нижеприведенном уравнении.
[946] уравнение 119
Y
[947] qP=Qp'
[948] Альтернативно, когда TuCResMode[xTbY][yTbY] имеет значение в 2, извлечение может проводиться так, как показано в нижеприведенном уравнении.
[949] уравнение 120
[950]
CbCr
qP=Qp'
[951] Альтернативно, когда cIdx имеет значение в 1, qP может извлекаться так, как показано в нижеприведенном уравнении.
[952] уравнение 121
Cb
[953] qP=Qp'
[954] Альтернативно, когда cIdx имеет значение в 2, qP может извлекаться так, как показано в нижеприведенном уравнении.
[955] уравнение 122
Cr
[956] qP=Qp'
[957] Параметр qP квантования может обновляться следующим образом. Помимо этого, переменные rectNonTsFlag и bdShift могут извлекаться следующим образом. Когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 0, извлечение может проводиться так, как показано в нижеприведенном уравнении.
[958] уравнение 123
[959] rectNonTsFlag=(((Log2(nTbW)+Log2(nTbH)) и 1)==1)?1:0
[960] bdShift=BitDepth+rectNonTsFlag+((Log2(nTbW)+Log2(nTbH))/2)-5+pic_dep_quant_enabled_flag. Альтернативно, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1 (например, преобразование текущего блока преобразования пропускается), извлечение может проводиться так, как показано в нижеприведенном уравнении.
[961] уравнение 124
[962] qP=Max(QpPrimeTsMin, qP)
[963] rectNonTsFlag=0
[964] bdShift=10
Способы кодирования и декодирования
[965]
[966] В дальнейшем в этом документе описываются способ кодирования изображений, осуществляемый посредством устройства кодирования изображений, и способ декодирования изображений, осуществляемый посредством устройства декодирования изображений, со ссылкой на фиг. 52 и 53.
[967] Во-первых, в дальнейшем описывается работа устройства декодирования. Устройство декодирования изображений согласно варианту осуществления может включать в себя запоминающее устройство и процессор. Устройство декодирования может выполнять декодирование согласно работе процессора. Например, как показано на фиг. 52, устройство декодирования может определять режим прогнозирования текущего блока на этапе S5210 на основе информации прогнозирования, полученной из потока битов. Затем, устройство декодирования может получать, на основе режима прогнозирования текущего блока, флаг, указывающий то, применяется или нет преобразование цветового пространства к остаточной выборке текущего блока, на этапе S5220. Затем, устройство декодирования может определять параметр квантования текущего блока на основе флага на этапе S5230. Затем, устройство декодирования может определять коэффициент преобразования текущего блока на основе параметра квантования на этапе S5240.
[968] В данном документе, устройство декодирования может определять параметр квантования посредством применения отсечения к параметру квантования таким образом, что значение параметра квантования имеет значение в предварительно определенном диапазоне. В данном документе, нижнее предельное значение предварительно определенного диапазона может быть равным 0. Помимо этого, верхнее предельное значение предварительно определенного диапазона может определяться на основе синтаксического элемента, указывающего битовую глубину выборки. Например, верхнее предельное значение предварительно определенного диапазона может определяться равным 63+QpBdOffset. QpBdOffset обозначает смещение диапазона параметров квантования сигналов яркости и сигналов цветности и может быть предварительно установлен как предварительно определенная константа либо может получаться из потока битов. Например, QpBdOffset может вычисляться посредством умножения предварительно определенной константы на значение синтаксического элемента, указывающего битовую глубину выборки сигналов яркости или сигналов цветности.
[969] Помимо этого, устройство декодирования может определять параметр квантования на основе цветового компонента текущего блока, может определять смещение параметров квантования на основе цветового компонента текущего блока и затем может сбрасывать параметр квантования посредством использования смещения параметров квантования, за счет этого определяя параметр квантования. Например, устройство декодирования может суммировать смещение параметров квантования с параметром квантования, за счет этого сбрасывая параметр квантования.
[970] Смещение параметров квантования может определяться следующим образом. Когда преобразование цветового пространства применяется к остаточной выборке текущего блока, и цветовой компонент текущего блока представляет собой компонент сигналов яркости, значение смещения параметров квантования может определяться равным -5. Альтернативно, когда преобразование цветового пространства применяется к остаточной выборке текущего блока, и цветовой компонент текущего блока представляет собой Cb-компонент сигналов цветности, значение смещения параметров квантования может определяться равным 1. Альтернативно, когда преобразование цветового пространства применяется к остаточной выборке текущего блока, и цветовой компонент текущего блока представляет собой Cr-компонент сигналов цветности, значение смещения параметров квантования может определяться равным 3.
[971] Между тем, остаточная выборка текущего блока определяется на основе коэффициента преобразования текущего блока, и значение остаточной выборки может обновляться на основе того, применяется или нет преобразование цветового пространства. Например, когда преобразование цветового пространства применяется, значение остаточной выборки может обновляться на основе выборочного значения, которое получается посредством применения операции сдвига вправо к остаточному выборочному значению компонента сигналов цветности. В варианте осуществления, остаточное выборочное значение компонента сигналов яркости остаточной выборки может обновляться посредством суммирования, с остаточным выборочным значением компонента сигналов яркости, значения, полученного посредством применения операции сдвига вправо к остаточному выборочному значению Cb-компонента сигналов цветности. Помимо этого, остаточное выборочное значение Cb-компонента сигналов цветности остаточной выборки может обновляться со значением, полученным посредством вычитания первого значения и второго значения из остаточного выборочного значения компонента сигналов яркости, при этом первое значение получается посредством применения операции сдвига вправо к остаточному выборочному значению Cb-компонента сигналов цветности, и второе значение получается посредством применения операции сдвига вправо к остаточному выборочному значению Cr-компонента сигналов цветности.
[972] В дальнейшем в этом документе описывается работа устройства кодирования. Устройство кодирования изображений согласно варианту осуществления может включать в себя запоминающее устройство и процессор. Устройство кодирования может выполнять кодирование согласно работе процессора таким способом, который соответствует декодированию посредством устройства декодирования. Например, как показано на фиг. 53, устройство кодирования может определять режим прогнозирования текущего блока на этапе S5310. Затем, устройство кодирования может определять параметр квантования текущего блока в зависимости от того, применяется или нет преобразование цветового пространства к остаточной выборке текущего блока, на этапе S5320. Затем, устройство кодирования может определять коэффициент преобразования текущего блока на основе параметра квантования на этапе S5330. Затем, устройство кодирования может кодировать, на основе режима прогнозирования текущего блока, информацию, указывающую то, применяется или нет преобразование цветового пространства к остаточной выборке текущего блока, на этапе S5340.
[973] В соответствии с работой устройства декодирования, описанной выше, устройство кодирования может определять параметр квантования посредством применения отсечения к параметру квантования таким образом, что значение параметра квантования имеет значение в предварительно определенном диапазоне. В данном документе, нижнее предельное значение предварительно определенного диапазона может быть равным 0. Помимо этого, верхнее предельное значение предварительно определенного диапазона может задаваться равным предварительно определенному верхнему предельному значению. Верхнее предельное значение может определяться на основе битовой глубины выборки. Например, верхнее предельное значение предварительно определенного диапазона может определяться равным 63+QpBdOffset. В данном документе, QpBdOffset обозначает смещение диапазона параметров квантования сигналов яркости и сигналов цветности и может быть предварительно установлен как предварительно определенная константа либо может получаться из потока битов. Например, QpBdOffset может вычисляться посредством умножения предварительно определенной константы на значение синтаксического элемента, указывающего битовую глубину выборки сигналов яркости или сигналов цветности.
[974] Помимо этого, устройство кодирования может определять параметр квантования на основе цветового компонента текущего блока, может определять смещение параметров квантования на основе цветового компонента текущего блока и затем может сбрасывать параметр квантования посредством использования смещения параметров квантования, за счет этого определяя параметр квантования. Например, устройство кодирования может суммировать смещение параметров квантования с параметром квантования, за счет этого сбрасывая параметр квантования.
[975] Смещение параметров квантования может определяться следующим образом. Когда преобразование цветового пространства применяется к остаточной выборке текущего блока, и цветовой компонент текущего блока представляет собой компонент сигналов яркости, значение смещения параметров квантования может определяться равным -5. Альтернативно, когда преобразование цветового пространства применяется к остаточной выборке текущего блока, и цветовой компонент текущего блока представляет собой Cb-компонент сигналов цветности, значение смещения параметров квантования может определяться равным 1. Альтернативно, когда преобразование цветового пространства применяется к остаточной выборке текущего блока, и цветовой компонент текущего блока представляет собой Cr-компонент сигналов цветности, значение смещения параметров квантования может определяться равным 3.
[976] Между тем, остаточная выборка текущего блока определяется на основе коэффициента преобразования текущего блока, и значение остаточной выборки может обновляться на основе того, применяется или нет преобразование цветового пространства. Например, когда преобразование цветового пространства применяется, значение остаточной выборки может обновляться на основе выборочного значения, которое получается посредством применения операции сдвига вправо к остаточному выборочному значению компонента сигналов цветности.
Вариант применения
[977]
[978] Хотя примерные способы настоящего раскрытия сущности, описанного выше, представляются как последовательность операций для ясности описания, это не имеет намерение ограничивать порядок, в котором выполняются этапы, и этапы могут выполняться одновременно или в другом порядке при необходимости. Чтобы реализовывать способ согласно настоящему раскрытию сущности, описанные этапы дополнительно могут включать в себя другие этапы, могут включать в себя оставшиеся этапы, за исключением некоторых этапов, либо могут включать в себя другие дополнительные этапы, за исключением некоторых этапов.
[979] В настоящем раскрытии сущности, оборудование кодирования изображений или оборудование декодирования изображений, которое выполняет предварительно определенную операцию (этап), может выполнять операцию (этап) подтверждения условия или ситуации выполнения соответствующей операции (этап). Например, если описывается то, что предварительно определенная операция выполняется, когда предварительно определенное условие удовлетворяется, оборудование кодирования изображений или оборудование декодирования изображений может выполнять предварительно определенную операцию после определения того, удовлетворяется или нет предварительно определенное условие.
[980] Различные варианты осуществления настоящего раскрытия сущности не представляют собой список всех возможных комбинаций и имеют намерение описывать характерные аспекты настоящего раскрытия сущности, и вопросы, описанные в различных вариантах осуществления, могут применяться независимо либо в комбинации двух или более из них.
[981] Различные варианты осуществления настоящего раскрытия сущности могут реализовываться в аппаратных средствах, микропрограммном обеспечении, программном обеспечении либо в комбинации вышеозначенного. В случае реализации настоящего раскрытия сущности посредством аппаратных средств, настоящее раскрытие сущности может реализовываться с помощью специализированных интегральных схем (ASIC), процессоров цифровых сигналов (DSP), устройств обработки цифровых сигналов (DSPD), программируемых логических устройств (PLD), программируемых пользователем вентильных матриц (FPGA), общих процессоров, контроллеров, микроконтроллеров, микропроцессоров и т.д.
[982] Помимо этого, оборудование декодирования изображений и оборудование кодирования изображений, к которым применяются варианты осуществления настоящего раскрытия сущности, могут включаться в мультимедийное широковещательное приемо-передающее устройство, терминал мобильной связи, видеоустройство системы домашнего кинотеатра, видеоустройство системы цифрового кинотеатра, камеру наблюдения, устройство проведения видеочатов, устройство связи в реальном времени, к примеру, для видеосвязи, мобильное устройство потоковой передачи, носитель хранения данных, записывающую видеокамеру, устройство предоставления услуг на основе технологии "видео по запросу" (VoD), устройство на основе OTT-видео (видео поверх сетей), устройство предоставления услуг потоковой передачи по Интернету, трехмерное видеоустройство, видеоустройство системы видеотелефонии, медицинское видеоустройство и т.п. и могут использоваться для того, чтобы обрабатывать видеосигналы или сигналы данных. Например, OTT-видеоустройства могут включать в себя игровую консоль, Blu-Ray-проигрыватель, телевизор с доступом в Интернет, систему домашнего кинотеатра, смартфон, планшетный PC, цифровое записывающее видеоустройство (DVR) и т.п.
[983] Фиг. 54 является видом, показывающим систему потоковой передачи контента, к которой является применимым вариант осуществления настоящего раскрытия сущности.
[984] Ссылаясь на фиг. 54, система потоковой передачи контента, к которой применяется вариант(ы) осуществления настоящего документа, может включать в себя, главным образом, сервер кодирования, потоковый сервер, веб-сервер, хранилище мультимедиа, пользовательское устройство и устройство ввода мультимедиа.
[985] Сервер кодирования сжимает контент, вводимый из устройств ввода мультимедиа, таких как смартфон, камера, записывающая видеокамера и т.д., в цифровые данные для того, чтобы формировать поток битов, и передает поток битов на потоковый сервер. В качестве другого примера, когда устройства ввода мультимедиа, такие как смартфоны, камеры, записывающие видеокамеры и т.д., непосредственно формируют поток битов, сервер кодирования может опускаться.
[986] Поток битов может формироваться посредством способа кодирования изображений или оборудования кодирования изображений, к которому применяется вариант осуществления настоящего раскрытия сущности, и потоковый сервер может временно сохранять поток битов в процессе передачи или приема потока битов.
[987] Потоковый сервер передает мультимедийные данные в пользовательское устройство на основе запроса пользователя через веб-сервер, и веб-сервер служит в качестве среды для информирования пользователя в отношении услуги. Когда пользователь запрашивает требуемую услугу из веб-сервера, веб-сервер может доставлять ее на потоковый сервер, и потоковый сервер может передавать мультимедийные данные пользователю. В этом случае, система потоковой передачи контента может включать в себя отдельный сервер управления. В этом случае, сервер управления служит для того, чтобы управлять командой/ответом между устройствами в системе потоковой передачи контента.
[988] Потоковый сервер может принимать контент из хранилища мультимедиа и/или сервера кодирования. Например, когда контент принимается из сервера кодирования, контент может приниматься в реальном времени. В этом случае, чтобы предоставлять плавную услугу потоковой передачи, потоковый сервер может сохранять поток битов в течение предварительно определенного времени.
[989] Примеры пользовательского устройства могут включать в себя мобильный телефон, смартфон, переносной компьютер, цифровой широковещательный терминал, персональное цифровое устройство (PDA), портативный мультимедийный проигрыватель (PMP), навигационное устройство, грифельный планшетный PC, планшетные PC, ультрабуки, носимые устройства (например, интеллектуальные часы, интеллектуальные очки, наголовные дисплеи), цифровые телевизоры, настольные компьютеры, систему цифровых информационных табло и т.п.
[990] Каждый сервер в системе потоковой передачи контента может работать в качестве распределенного сервера, причем в этом случае данные, принимаемые из каждого сервера, могут распределяться.
[991] Объем раскрытия сущности включает в себя программное обеспечение или компьютерноисполняемые команды (например, операционную систему, приложение, микропрограммное обеспечение, программу и т.д.) для обеспечения возможности выполнения операций согласно способам различных вариантов осуществления в оборудовании или компьютере, энергонезависимый компьютерночитаемый носитель, имеющий такое программное обеспечение или команды, сохраненные и выполняемые в оборудовании или компьютере.
Промышленная применимость
[992] Варианты осуществления настоящего раскрытия сущности могут использоваться для того, чтобы кодировать или декодировать изображение.