Кодирование изображения или видео на основе остатка АСТ Российский патент 2023 года по МПК H04N19/60 

Описание патента на изобретение RU2797995C1

Предпосылки раскрытия

Область техники

[1] Настоящая технология относится к кодированию видео или изображения, например, к технологии кодирования изображения или видео на основе остатка адаптивного цветового преобразования (ACT).

предшествующий уровень техники

[2] В последнее время, потребность в изображениях и видео высокого разрешения и высокого качества, таких как изображения и видео сверхвысокой четкости (UHD) 4K или 8K или выше, возросла в различных областях. По мере того как разрешение или качество изображения и видео возрастают, относительно большее количество информации или битов передается по сравнению с данными обычного изображения и видео. Соответственно, если данные изображения передаются с использованием носителя, такого как существующая проводная или беспроводная широкополосная линия, или данные изображения и видео сохраняются в существующем носителе хранения, затраты на передачу и затраты на хранение увеличиваются.

[3] Более того, в настоящее время возрастают заинтересованность и потребности в иммерсивных медиа, таких как контент виртуальной реальности (VR), искусственной реальности (AR) или голограмма. Возрастает трансляция изображений и видео, имеющих характеристики изображений, отличные от характеристик реального изображения/видео, таких как игровые изображения.

[4] Соответственно, существует потребность в технологии высокоэффективного сжатия изображения и видео для эффективного сжатия и передачи или хранения и воспроизведения информации изображений и видео высокого разрешения и высокого качества, имеющих такие разнообразные характеристики.

[5] Кроме того, проводятся обсуждения технологии адаптивного цветового преобразования (ACT) для поддержки множественных преобразований цветового пространства, чтобы улучшить эффективность преобразования и увеличить субъективное/объективное визуальное качество. Существует потребность в различных способах для эффективного применения такой технологии и способа для сигнализации связанной информации.

Краткое описание сущности изобретения

[6] Данный документ предназначен для предоставления способа и устройства для улучшения эффективности кодирования видео/изображения.

[7] Данный документ также предназначен для предоставления способа и устройства для эффективного применения ACT в процессе кодирования.

[8] Данный документ также предназначен для предоставления способа и устройства для эффективного формирования диапазона отсечения (ограничения) для остатков, используемых в процессе применения ACT.

[9] В соответствии с вариантом осуществления настоящего документа, остаточная выборка может быть выведена путем применения ACT для текущего блока на основе информации, относящейся к адаптивному цветовому преобразованию (ACT). Информация, относящаяся к ACT, может включать в себя информацию о том, следует ли применять ACT к текущему блоку. Например, на основе относящейся к ACT информации о применении ACT к текущему блоку, ограничение может выполняться на остаточной выборке на основе диапазона ограничения, и модифицированная остаточная выборка может быть выведена путем применения ACT к усеченной (ограниченной) остаточной выборке. Диапазон ограничения может быть определен на основе битовой глубины.

[10] В соответствии с вариантом осуществления настоящего документа, диапазон ограничения может иметь значение между максимальным значением и минимальным значением, выведенным на основе значения, полученного путем увеличения битовой глубины на 1. Альтернативно, диапазон ограничения может иметь значение между максимальным значением и минимальным значением, выведенным на основе меньшего значения из значения, полученного путем увеличения битовой глубины на 1, и 16. Альтернативно, диапазон ограничения может быть определен на основе фиксированной битовой глубины. Альтернативно, диапазон ограничения может быть установлен различным для компонента яркости и компонента цветности.

[11] В соответствии с вариантом осуществления настоящего документа, обеспечен способ декодирования видео/изображения, выполняемый устройством декодирования. Способ декодирования видео/изображения может включать в себя способ, раскрытый в вариантах осуществления настоящего документа.

[12] В соответствии с вариантом осуществления настоящего документа, обеспечено устройство декодирования для выполнения декодирования видео/изображения. Устройство декодирования может выполнять способ, раскрытый в вариантах осуществления настоящего документа.

[13] В соответствии с вариантом осуществления настоящего документа, обеспечен способ кодирования видео/изображения, выполняемый устройством кодирования. Способ кодирования видео/изображения может включать в себя способ, раскрытый в вариантах осуществления настоящего документа.

[14] В соответствии с вариантом осуществления настоящего документа, обеспечено устройство кодирования для выполнения кодирования видео/изображения. Устройство кодирования может выполнять способ, раскрытый в вариантах осуществления настоящего документа.

[15] В соответствии с вариантом осуществления настоящего документа, обеспечен считываемый компьютером цифровой носитель хранения, хранящий закодированную информацию видео/изображения, сгенерированную в соответствии со способом кодирования видео/изображения, раскрытым по меньшей мере в одном из вариантов осуществления настоящего документа.

[16] В соответствии с вариантом осуществления настоящего документа, обеспечен считываемый компьютером цифровой носитель хранения, хранящий закодированную информацию или закодированную информацию видео/изображения, побуждающую устройство декодирования выполнять способ декодирования видео/изображения, раскрытый по меньшей мере в одном из вариантов осуществления настоящего документа.

[17] Настоящий документ может обеспечивать различные результаты. Например, в соответствии с вариантом осуществления настоящего документа, возможно повысить общую эффективность сжатия изображения/видео. Кроме того, в соответствии с вариантом осуществления настоящего документа, возможно повысить эффективность кодирования и улучшить субъективное/объективное визуальное качество путем эффективного применения ACT в процессе кодирования. Кроме того, в соответствии с вариантом осуществления настоящего документа, путем эффективного формирования диапазона ограничения для остатка, используемого в процессе применения ACT, возможно скомпенсировать изменение в динамическом диапазоне остаточного сигнала перед и после цветового преобразования и минимизировать потерю остаточного сигнала.

[18] Результаты, которые можно получить с помощью конкретных вариантов осуществления настоящего документа, не ограничены результатами, перечисленными выше. Например, могут быть достигнуты различные технические результаты, которые специалист в данной области техники может понять или вывести из настоящего документа. Соответственно, конкретные результаты настоящего документа не ограничены результатами, явно описанными в настоящем документе, но могут включать в себя различные результаты, которые можно понять или вывести из технических признаков настоящего документа.

Краткое описание чертежей

[19] Фиг. 1 кратко иллюстрирует пример системы кодирования видео/изображения, в которой применимы варианты осуществления настоящего документа.

[20] Фиг. 2 является диаграммой, схематично иллюстрирующей конфигурацию устройства кодирования видео/изображения, в котором может применяться вариант(ы) осуществления настоящего документа.

[21] Фиг. 3 является диаграммой, схематично иллюстрирующей конфигурацию устройства декодирования видео/изображения, в котором может применяться вариант(ы) осуществления настоящего документа.

[22] Фиг. 4 показывает пример схематичного процесса кодирования видео/изображения, в котором применим вариант(ы) осуществления настоящего документа.

[23] Фиг. 5 показывает пример схематичного процесса декодирования видео/изображения, в котором может применяться вариант(ы) осуществления настоящего документа.

[24] Фиг. 6 является диаграммой для пояснения примера процесса декодирования видео/изображения с использованием ACT, в котором может применяться вариант(ы) осуществления настоящего документа.

[25] Фиг. 7 и 8 схематично иллюстрируют способ кодирования видео/изображения и пример связанных компонентов в соответствии с вариантом(ами) осуществления настоящего документа.

[26] Фиг. 9 и 10 схематично иллюстрируют способ декодирования видео/изображения и пример связанных компонентов в соответствии с вариантом(ами) осуществления настоящего документа.

[27] Фиг. 11 показывает пример системы стриминга контента, в которой применимы варианты осуществления, раскрытые в настоящем документе.

Описание вариантов осуществления

[28] Настоящее раскрытие может модифицироваться различными способами и может иметь различные варианты осуществления, и конкретные варианты осуществления будут проиллюстрированы на чертежах и описаны подробно. Однако это не подразумевает ограничение настоящего раскрытия конкретными вариантами осуществления. Термины, типично используемые в настоящей спецификации, использованы для описания конкретного варианта осуществления, и не используются для ограничения технической сущности настоящего раскрытия. Выражение в единственном числе включает в себя выражения во множественном числе, если в контексте явным образом не выражено иное. Термин, такой как “включать в себя” или “иметь” в настоящей спецификации, должен пониматься как указывающий существование характеристики, числа, этапа, операции, элемента, части или их комбинации, описанных в спецификации, и не исключающий существования или возможности добавления одной или нескольких других характеристик, чисел, этапов, операций, элементов, частей или их комбинации.

[29] Между тем, элементы на чертежах, описанных в настоящем раскрытии, проиллюстрированы независимо для удобства описания, относящегося к разным характеристическим функциям. Это не означает, что каждый из элементов реализован как отдельные аппаратные средства или отдельное программное обеспечение. Например, по меньшей мере два из элементов могут комбинироваться для образования одного элемента, или один элемент может делиться на множество элементов. Вариант осуществления, в котором элементы скомбинированы и/или разделены, также включен в объем прав настоящего документа, если он не отклоняется от сущности настоящего раскрытия.

[30] В настоящем документе, термин “A или B” может означать “только A”, “только B” или “как A, так и B”. Иными словами, в настоящем документе, термин “A или B” может интерпретироваться как указывающий “A и/или B”. Например, в настоящем документе, термин “A, B или C” может означать “только A”, “только B”, “только C” или “любую комбинацию A, B и C”.

[31] Символ (/) или запятая (,), используемые в настоящем документе, могут означать “и/или”. Например, “A/B” может означать “A и/или B”. Соответственно, “A/B” может означать “только A”, “только B” или “как A, так и B”. Например, “A, B, C” может означать “A, B или C”.

[32] В настоящем документе, “по меньшей мере одно из A и B” может означать “только A”, “только B” или “как A, так и B”. Дополнительно, в настоящем документе, выражение “по меньшей мере одно из A или B” или “по меньшей мере одно из A и/или B” может интерпретироваться так же, как и “по меньшей мере одно из A и B”.

[33] Также, в настоящем документе, “по меньшей мере одно из A, B и C” может означать “только A”, “только B”, “только C” или “любая комбинация из A, B и C”. Дополнительно, “по меньшей мере одно из A, B или C” или “по меньшей мере одно из A, B и/или C” может означать “по меньшей мере одно из A, B и C”.

[34] Также, круглые скобки, используемые в настоящем документе, могут означать “например”. Конкретно, когда указывается “предсказание (интра-предсказание)”, “интра-предсказание” может предлагаться как пример “предсказания”. Иными словами, “предсказание” в настоящем документе не ограничено “интра-предсказанием”, и “интра-предсказание” может предлагаться как пример “предсказания”. Дополнительно, даже когда указывается “предсказание (т.е. интра-предсказание)”, “интра-предсказание” может предлагаться как пример “предсказания”.

[35] Настоящий документ относится к кодированию видео/изображения. Например, способы/варианты осуществления, раскрытые в настоящем документе, могут применяться к способу, раскрытому в стандарте многоцелевого кодирования видео (VVC). Дополнительно, способы/варианты осуществления, раскрытые в настоящем документе, могут применяться к способу, раскрытому в стандарте существенного кодирования видео (EVC), стандарте AOMedia Video 1 (AV1), стандарте кодирования аудио и видео 2-го поколения (AVS2) или стандарте кодирования видео/изображения следующего поколения (например, H.267 или H.268 и т.д.).

[36] Настоящий документ представляет различные варианты осуществления кодирования видео/изображения, и варианты осуществления могут также выполняться в комбинации друг с другом, если не специфицировано иначе.

[37] В настоящем документе, видео может относиться к последовательности изображений во времени. Картинка обычно относится к единице, представляющей одно изображение в конкретном временном кадре, а вырезка/мозаичный элемент относится к единице, составляющей часть картинки в терминах кодирования. Вырезка/мозаичный элемент может включать в себя одну или более единиц дерева кодирования (CTU). Одна картинка может состоять из одной или более вырезок/мозаичных элементов. Мозаичный элемент представляет собой прямоугольную область CTU в конкретном столбце мозаичного элемента и конкретной строке мозаичного элемента в картинке. Столбец мозаичного элемента представляет собой прямоугольную область CTU, которая имеет высоту, равную высоте картинки, и ширину, которая может быть специфицирована синтаксическими элементами в наборе параметров картинки. (Столбец мозаичного элемента представляет собой прямоугольную область CTU, имеющую высоту, равную высоте картинки, и ширину, специфицированную синтаксическими элементами в наборе параметров картинки.) Строка мозаичного элемента представляет собой прямоугольную область CTU, которая имеет ширину, специфицированную синтаксическими элементами в наборе параметров картинки, и высоту, которая может быть равна высоте картинки. (Строка мозаичного элемента представляет собой прямоугольную область CTU, имеющую высоту, специфицированную синтаксическими элементами в наборе параметров картинки, и ширину, равную ширине картинки.) Сканирование мозаичного элемента может представлять конкретное последовательное упорядочивание CTU, разбивающих картинку, и CTU могут быть упорядочены последовательно в растровом сканировании CTU в мозаичном элементе, а мозаичные элементы в картинке могут быть упорядочены последовательно в растровом сканировании мозаичных элементов картинки. (Сканирование мозаичного элемента представляет собой конкретное последовательное упорядочивание CTU, разбивающих картинку, в которой CTU упорядочены последовательно в растровом сканировании CTU в мозаичном элементе, в то время как мозаичные элементы в картинке упорядочены последовательно в растровом сканировании мозаичных элементов картинки.) Вырезка включает в себя целое число полных мозаичных элементов или целое число последовательных полных строк CTU в мозаичном элементе картинки, которые могут исключительно содержаться в одной единице NAL.

[38] Между тем, одна картинка может делиться на две или более подкартинок. Подкартинка может представлять собой прямоугольную область одной или более вырезок в картинке.

[39] Пиксел или пел может означать наименьшую единицу, составляющую одну картинку (или изображение). Также, ‘выборка’ может использоваться как термин, соответствующий пикселу. Выборка может обычно представлять пиксел или значение пиксела и может представлять только пиксел/значение пиксела компонента яркости или только пиксел/значение пиксела компонента цветности.

[40] Единица может представлять базовую единицу обработки изображения. Единица может включать в себя по меньшей мере одно из конкретной области картинки и информации, относящейся к области. Одна единица может включать в себя один блок яркости и два блока цветности (например, cb, cr). Единица может использоваться взаимозаменяемо с терминами, такими как блок или область, в некоторых случаях. В общем случае, блок M×N может включать в себя выборки (или массивы выборок) или набор (или массив) коэффициентов преобразования M столбцов и N строк.

[41] Также, в настоящем документе, по меньшей мере одно из квантования/деквантования и/или преобразования/обратного преобразования может быть опущено. Когда квантование/деквантование опущено, квантованный коэффициент преобразования может называться коэффициентом преобразования. Когда преобразование/обратное преобразование опущено, коэффициенты преобразования могут называться коэффициентами или остаточными коэффициентами или могут по-прежнему называться коэффициентами преобразования в целях единообразия выражения.

[42] В настоящем документе, квантованный коэффициент преобразования и коэффициент преобразования могут называться коэффициентом преобразования и масштабированным коэффициентом преобразования, соответственно. В этом случае, остаточная информация может включать в себя информацию о коэффициенте(ах) преобразования, и информация о коэффициенте(ах) преобразования может сигнализироваться через синтаксис кодирования остатка. Коэффициенты преобразования могут выводиться на основе остаточной информации (или информации о коэффициенте(ах) преобразования), и масштабированные коэффициенты преобразования могут выводиться через обратное преобразование (масштабирование) на коэффициентах преобразования. Остаточные выборки могут выводиться на основе обратного преобразования (преобразования) для масштабированных коэффициентов преобразования. Это может применяться/выражаться также и в других частях настоящего документа.

[43] В настоящем документе, технические признаки, отдельно описанные на одном чертеже, могут быть реализованы отдельно или могут быть реализованы одновременно.

[44] Далее, предпочтительные варианты осуществления настоящего документа описаны более конкретно со ссылкой на прилагаемые чертежи. Далее, на чертежах, одинаковая ссылочная позиция используется для того же самого элемента, и избыточное описание того же самого элемента может быть опущено.

[45] Фиг. 1 иллюстрирует пример системы кодирования видео/изображения, в которой могут применяться варианты осуществления настоящего документа.

[46] Со ссылкой на фиг. 1, система кодирования видео/изображения может включать в себя устройство-источник и устройство-получатель. Устройство-источник может передавать закодированную информацию или данные видео/изображения на устройство-получатель посредством цифрового носителя хранения или сети в форме файла или потоковой передачи (стриминга).

[47] Устройство-источник может включать в себя источник видео, устройство кодирования и передатчик. Устройство-получатель может включать в себя приемник, устройство декодирования и модуль визуализации (рендерер). Устройство кодирования может называться устройством кодирования видео/изображения, и устройство декодирования может называться устройством декодирования видео/изображения. Передатчик может быть включен в устройство кодирования. Приемник может быть включен в устройство декодирования. Модуль визуализации может включать в себя дисплей, и дисплей может быть сконфигурирован как отдельное устройство или внешний компонент.

[48] Источник видео может получать видео/изображение через процесс захвата, синтезирования или генерации видео/изображения. Источник видео может включать в себя устройство захвата видео/изображения и/или устройство генерации видео/изображения. Устройство захвата видео/изображения может включать в себя, например, одну или более камер, архивы видео/изображений, включающие в себя ранее захваченные видео/изображения, и тому подобное. Устройство генерации видео/изображения может включать в себя, например, компьютеры, планшеты и смартфоны и может (электронным способом) генерировать видео/изображения. Например, виртуальное видео/изображение может генерироваться посредством компьютера или тому подобного. В этом случае, процесс захвата видео/изображения может быть заменен на процесс генерации связанных данных.

[49] Устройство кодирования может кодировать входное видео/изображения. Устройство кодирования может выполнять последовательность процедур, таких как предсказание, преобразование и квантование для компактности и эффективности кодирования. Закодированные данные (закодированная информация видео/изображения) могут выводиться в форме битового потока.

[50] Передатчик может передавать закодированную информацию или данные видео/изображения, выведенные в форме битового потока, на приемник устройства-получателя посредством цифрового носителя хранения или сети в форме файла или потоковой передачи. Цифровой носитель хранения может включать в себя различные носители хранения, такие как USB, SD, CD, DVD, Blu-ray, HDD, SSD и тому подобное. Передатчик может включать в себя элемент для генерации медиа-файла в предопределенном формате файла и может включать в себя элемент для передачи по сети вещания/связи. Приемник может принимать/извлекать битовый поток и передавать принятый битовый поток на устройство декодирования.

[51] Устройство декодирования может декодировать видео/изображения путем выполнения последовательности процедур, таких как деквантование, обратное преобразование и предсказание, соответствующих операции устройства кодирования.

[52] Модуль визуализации может визуализировать декодированное видео/изображение. Визуализированное видео/ изображение может отображаться посредством дисплея.

[53] Фиг. 2 является диаграммой, схематично иллюстрирующей конфигурацию устройства кодирования видео/изображения, в котором могут применяться варианты осуществления настоящего раскрытия. Далее, устройство кодирования может включать в себя устройство кодирования изображения и/или устройство кодирования видео.

[54] Со ссылкой на фиг. 2, устройство 200 кодирования может включать в себя или конфигурироваться с модулем 210 разбиения изображения, предсказателем 220, процессором 230 остатка, энтропийным кодером 240, сумматором 250, фильтром 260 и памятью 270. Предсказатель 220 может включать в себя интер-предсказатель 221 и интра-предсказатель 222. Процессор 230 остатка может включать в себя преобразователь 232, квантователь 233, деквантователь 234 и обратный преобразователь 235. Процессор 230 остатка может дополнительно включать в себя вычитатель 231. Сумматор 250 может называться реконструктором или генератором восстановленного блока. Модуль 210 разбиения изображения, предсказатель 220, процессор 230 остатка, энтропийный кодер 240, сумматор 250 и фильтр 260, которые описаны выше, могут быть сконфигурированы одним или более аппаратными компонентами (например, чипсетами или процессорами кодера) в соответствии с вариантом осуществления. Дополнительно, память 270 может включать в себя буфер декодированной картинки (DPB) или может быть сконфигурирована цифровым носителем хранения. Аппаратный компонент может дополнительно включать в себя память 270 как внутренний/внешний компонент.

[55] Модуль 210 разбиения изображения может разбивать входное изображение (или картинку, кадр), введенное в устройство 200 кодирования, на одну или более единиц обработки. Например, единица обработки может называться единицей кодирования (CU). В этом случае, единица кодирования может рекурсивно разбиваться в соответствии со структурой квадродерева-двоичного дерева- троичного дерева (QTBTTT) из единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU). Например, одна единица кодирования может разбиваться на множество единиц кодирования более глубокой глубины на основе структуры квадродерева, структуры двоичного дерева и/или структуры троичного дерева. В этом случае, например, структура квадродерева применяется первой, а структура двоичного дерева и/или структура троичного дерева могут применяться позже. Альтернативно, структура двоичного дерева может применяться первой. Процедура кодирования в соответствии с настоящим документом может выполняться на основе конечной единицы кодирования, которая больше не разбивается. В этом случае, на основе эффективности кодирования в соответствии с характеристиками изображения или тому подобным, максимальная единица кодирования может непосредственно использоваться как конечная единица кодирования, или, при необходимости, единица кодирования может рекурсивно разбиваться на единицы кодирования более глубокой глубины, так что единица кодирования, имеющая оптимальный размер, может использоваться как конечная единица кодирования. Здесь, процедура кодирования может включать в себя процедуру предсказания, преобразования и восстановления, которые будут описаны далее. В качестве другого примера, единица обработки может дополнительно включать в себя единицу предсказания (PU) или единицу преобразования (TU). В этом случае, каждая из единицы предсказания и единицы преобразования может разделяться или разбиваться из вышеупомянутой конечной единицы кодирования. Единица предсказания может быть единицей предсказания выборки, и единица преобразования может быть единицей для выведения коэффициента преобразования и/или единицей для выведения остаточного сигнала из коэффициента преобразования.

[56] Единица может использоваться взаимозаменяемо с такими терминами, как блок или область в некоторых случаях. В общем случае, блок M×N может представлять выборки, состоящие из M столбцов и N строк, или группу коэффициентов преобразования. Выборка может, в общем, представлять пиксел или значение пиксела, может представлять только пиксел/значение пиксела компонента яркости или представлять только пиксел/значение пиксела компонента цветности. Выборка может использоваться как термин, соответствующий пикселу или пелу, конфигурирующему одну картинку (или изображение).

[57] Устройство 200 кодирования может генерировать остаточный сигнал (остаточный блок, остаточный массив выборок) путем вычитания сигнала предсказания (предсказанного блока, массива выборок предсказания), выведенного из интер-предсказателя 221 или интра-предсказателя 222, из входного сигнала изображения (исходного блока, исходного массива выборок), и сгенерированный остаточный сигнал передается на преобразователь 232. В этом случае, как показано, модуль для вычитания предсказанного сигнала (предсказанного блока, массива выборок предсказания) из входного сигнала изображения (исходного блока, исходного массива выборок) в кодере 200 может называться вычитателем 231. Предсказатель может выполнять предсказание для блока, подлежащего обработке (далее называемого текущим блоком), и генерировать предсказанный блок, включающий выборки предсказания текущего блока. Предсказатель может определять, применяется ли интра-предсказание или интер-предсказание в единицах текущего блока или CU. Как описано далее в описании каждого режима предсказания, предсказатель может генерировать различную информацию о предсказании, такую как информация режима предсказания, чтобы передавать сгенерированную информацию на энтропийный кодер 240. Информация о предсказании может кодироваться энтропийным кодером 240, чтобы выводиться в форме битового потока.

[58] Интра-предсказатель 222 может предсказывать текущий блок с опорой на выборки в текущей картинке. Опорные выборки могут быть расположены по соседству с текущим блоком или могут быть разнесены от текущего блока в соответствии с режимом предсказания. В интра-предсказании, режимы предсказания могут включать в себя множество ненаправленных режимов и множество направленных режимов. Ненаправленный режим может включать в себя, например, режим DC или планарный режим. Направленный режим может включать в себя, например, 33 направленных режима предсказания или 65 направленных режимов предсказания в соответствии со степенью детализации направления предсказания. Однако это только пример, и больше или меньше направленных режимов предсказания, чем указано выше, могут использоваться в соответствии с настройками. Интра-предсказатель 222 может определять режим предсказания, применяемый к текущему блоку, с использованием режима предсказания, применяемого к соседнему блоку.

[59] Интер-предсказатель 221 может выводить предсказанный блок текущего блока на основе опорного блока (опорного массива выборок), специфицированного вектором движения на опорной картинке. Здесь, чтобы уменьшить количество информации движения, передаваемой в режиме интер-предсказания, информация движения может предсказываться в единицах блока, подблока или выборки на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорной картинки. Информация движения может дополнительно включать в себя информацию направления интер-предсказания (L0-предсказания, L1-предсказания, Bi-предсказания и т.п.). В случае интер-предсказания, соседний блок может включать в себя пространственный соседний блок, существующий в текущей картинке, и временной соседний блок, существующий в опорной картинке. Опорная картинка, включающая в себя опорный блок, и опорная картинка, включающая в себя временной соседний блок, могут быть одинаковыми или разными. Временной соседний блок может называться совместно расположенным опорным блоком, совмещенной (co-located) CU (colCU) и т.п., и опорная картинка, включающая в себя временной соседний блок, может называться совмещенной картинкой (colPic). Например, интер-предсказатель 221 может конфигурировать список кандидатов информации движения на основе соседних блоков и генерировать информацию, указывающую, какой кандидат используется, чтобы вывести вектор движения и/или индекс опорной картинки текущего блока. Интер-предсказание может выполняться на основе различных режимов предсказания. Например, в случае режима пропуска и режима объединения, интер-предсказатель 221 может использовать информацию движения соседнего блока как информацию движения текущего блока. В случае режима пропуска, в отличие от режима объединения, остаточный сигнал может не передаваться. Режим предсказания вектора движения (MVP) может указывать вектор движения текущего блока с использованием вектора движения соседнего блока в качестве предсказателя вектора движения и сигнализации разности векторов движения.

[60] Предсказатель 220 может генерировать предсказанный сигнал на основе различных способов предсказания, описанных ниже. Например, предсказатель может не только применять интра-предсказание или интер-предсказание для предсказания одного блока, но также может одновременно применять интра-предсказание и интер-предсказание. Это может называться комбинированным интер- и интра-предсказанием (CIIP). К тому же, предсказатель может быть основан на режиме предсказания внутриблочного копирования (IBC) или режиме палитры для выполнения предсказания на блоке. Режим предсказания IBC или режим палитры могут использоваться для кодирования изображения/видео контента игры или тому подобного, такого как кодирование экранного контента (SCC). IBC в основном выполняет предсказание в текущей картинке, но это может выполняться аналогично интер-предсказанию в том, что оно выводит опорный блок в текущей картинке. То есть IBC может использовать по меньшей мере один из методов интер-предсказания, описанных в настоящем документе. Режим палитры может рассматриваться как пример интра-кодирования или интра-предсказания. Когда режим палитры применяется, значение выборки в картинке может сигнализироваться на основе информации об индексе палитры и таблице палитры.

[61] Сигнал предсказания, сгенерированный предсказателем (включая интер-предсказатель 221 и/или интра-предсказатель 222), может использоваться, чтобы генерировать восстановленный сигнал или чтобы генерировать остаточный сигнал. Преобразователь 232 может генерировать коэффициенты преобразования путем применения метода преобразования к остаточному сигналу. Например, метод преобразования может включать в себя по меньшей мере одно из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования Карунена-Лоэва (KLT), преобразования на основе графа (GBT) или условно-нелинейного преобразования (CNT). Здесь, GBT означает преобразование, полученное из графа, когда информация отношения между пикселами представлена графом. CNT относится к преобразованию, генерируемому на основе сигнала предсказания, сгенерированного с использованием всех ранее восстановленных пикселов. К тому же, процесс преобразования может также применяться к квадратным блокам пикселов, имеющим одинаковый размер, или может применяться к блокам, имеющим переменный размер, а не квадратным.

[62] Квантователь 233 может квантовать коэффициенты преобразования, чтобы передавать квантованные коэффициенты преобразования на энтропийный кодер 240, и энтропийный кодер 240 может кодировать квантованный сигнал (информацию о квантованных коэффициентах преобразования) в закодированный квантованный сигнал в битовый поток. Информация о квантованных коэффициентах преобразования может называться остаточной информацией. Квантователь 233 может переупорядочивать квантованные коэффициенты преобразования, имеющие блочную форму, в форму одномерного вектора на основе порядка сканирования коэффициентов и генерировать информацию о квантованных коэффициентах преобразования на основе квантованных коэффициентов преобразования в форме одномерного вектора. Энтропийный кодер 240 может выполнять различные способы кодирования, такие как, например, экспоненциальное кодирование Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC). Энтропийный кодер 240 может также кодировать информацию (например, значения синтаксических элементов и т.п.), необходимую для восстановления видео/изображения, отличную от квантованных коэффициентов преобразования, вместе или отдельно. Закодированная информация (например, закодированная информация видео/изображения) может передаваться или сохраняться в единицах уровня сетевой абстракции (NAL) в форме битового потока. Информация видео/изображения может дополнительно включать в себя информацию о различных наборах параметров, таких как набор параметров адаптации (APS), набор параметров картинки (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). К тому же, информация видео/изображения может дополнительно включать в себя общую информацию ограничения. Описанные далее в настоящем документе сигнализируемые/ передаваемые информация и/или синтаксические элементы могут быть закодированы посредством вышеописанной процедуры кодирования и включены в битовый поток. Битовый поток может передаваться по сети или может сохраняться в цифровом носителе хранения. Сеть может включать в себя сеть вещания и/или сеть связи, и цифровой носитель хранения может включать в себя различные носители хранения, такие как USB, SD, CD, DVD, Blu-ray, HDD и SSD. Передатчик (не показан) для передачи сигнала, выведенного из энтропийного кодера 240, и/или модуль хранения (не показан) для хранения сигнала могут быть сконфигурированы как внутренние/внешние элементы устройства 200 кодирования, или передатчик может быть включен в энтропийный кодер 240.

[63] Квантованные коэффициенты преобразования, выведенные из квантователя 233, могут использоваться, чтобы генерировать предсказанный сигнал. Например, деквантователь 234 и обратный преобразователь 235 применяют деквантование и обратное преобразование к квантованным коэффициентам преобразования, так что остаточный сигнал (остаточный блок или остаточные выборки) может быть восстановлен. Сумматор 250 добавляет восстановленный остаточный сигнал к предсказанному сигналу, выведенному из интер-предсказателя 221 или интра-предсказателя 222, так что может генерироваться восстановленный сигнал (восстановленная картинка, восстановленный блок, восстановленный массив выборок). Как в случае, где применяется режим пропуска, если отсутствует остаток для блока, подлежащего обработке, предсказанный блок может использоваться как восстановленный блок. Сумматор 250 может называться модулем восстановления или генератором восстановленного блока. Сгенерированный восстановленный сигнал может использоваться для интра-предсказания следующего блока, подлежащего обработке в текущей картинке, и, как описано ниже, также может использоваться для интер-предсказания следующей картинки посредством фильтрации.

[64] Между тем, отображение яркости с масштабированием цветности (LMCS) может применяться во время процесса кодирования и/или восстановления картинки.

[65] Фильтр 260 может применять фильтрацию к восстановленному сигналу, тем самым улучшая субъективное/объективное качество изображения. Например, фильтр 260 может применять различные способы фильтрации к восстановленной картинке, чтобы генерировать модифицированную восстановленную картинку, и сохранять модифицированную восстановленную картинку в памяти 270, конкретно, в DPB памяти 270. Различные способы фильтрации могут включать в себя, например, фильтрацию устранения блочности, адаптивное смещение выборки, адаптивный контурный фильтр, двунаправленный фильтр и тому подобное. Фильтр 260 может генерировать различную информацию, относящуюся к фильтрации, чтобы передать сгенерированную информацию на энтропийный кодер 240, как описано далее в описании каждого способа фильтрации. Информация, относящаяся к фильтрации, может кодироваться энтропийным кодером 240 для вывода в форме битового потока.

[66] Модифицированная восстановленная картинка, переданная в память 270, может использоваться как опорная картинка в интер-предсказателе 221. Если интер-предсказание применяется интер-предсказателем, устройство кодирования может избежать рассогласования предсказания между устройством 200 кодирования и устройством 300 декодирования, а также улучшить эффективность кодирования.

[67] DPB памяти 270 может хранить модифицированную восстановленную картинку для использования в качестве опорной картинки в интер-предсказателе 221. Память 270 может хранить информацию движения блока, из которой выводится (или кодируется) информация движения в текущей картинке, и/или информацию движения блоков в ранее восстановленной картинке. Сохраненная информация движения может передаваться на интер-предсказатель 221, чтобы использоваться как информация движения пространственного соседнего блока или информация движения временного соседнего блока. Память 270 может хранить восстановленные выборки восстановленных блоков в текущей картинке и переносить восстановленные выборки на интра-предсказатель 222.

[68] Фиг. 3 является диаграммой, схематично иллюстрирующей конфигурацию устройства декодирования видео/изображения, в котором применяются варианты осуществления настоящего документа. Далее, устройство декодирования может включать в себя устройство декодирования изображений и/или устройство декодирования видео.

[69] Со ссылкой на фиг. 3, устройство 300 декодирования может включать в себя и конфигурироваться с энтропийным декодером 310, процессором 320 остатка, предсказателем 330, сумматором 340, фильтром 350 и памятью 360. Предсказатель 330 может включать в себя интер-предсказатель 331 и интра-предсказатель 332. Процессор 320 остатка может включать в себя деквантователь 321 и обратный преобразователь 322. Энтропийный декодер 310, процессор 320 остатка, предсказатель 330, сумматор 340 и фильтр 350, которые были описаны выше, могут быть сконфигурированы посредством одного или более аппаратных компонентов (например, чипсетов или процессоров декодера) в соответствии с вариантом осуществления. К тому же, память 360 может включать в себя буфер декодированной картинки (DPB) или может быть сконфигурирована цифровым носителем хранения. Аппаратный компонент может дополнительно включать в себя память 360 как внутренний/внешний компонент.

[70] Когда битовый поток, включающий в себя информацию видео/изображения, вводится, устройство 300 декодирования может восстанавливать изображение в ответ на процесс, в котором информация видео/изображения обрабатывается в устройстве кодирования, показанном на фиг. 2. Например, устройство 300 декодирования может выводить единицы/блоки на основе информации, относящейся к разбиению блока, полученной из битового потока. Устройство 300 декодирования может выполнять декодирование с использованием единицы обработки, применяемой в устройстве кодирования. Поэтому единица обработки может представлять собой, например, единицу кодирования, и единица кодирования может разбиваться в соответствии со структурой квадродерева, структурой двоичного дерева и/или структурой троичного дерева из единицы дерева кодирования или максимальной единицы кодирования. Одна или более единиц преобразования могут выводиться из единицы кодирования. Дополнительно, восстановленный сигнал изображения, декодированный и выведенный посредством устройства 300 декодирования, может воспроизводиться посредством устройства воспроизведения.

[71] Устройство 300 декодирования может принимать сигнал, выведенный из устройства кодирования согласно фиг. 2 в форме битового потока, и принятый сигнал может декодироваться посредством энтропийного декодера 310. Например, энтропийный декодер 310 может выводить информацию (например, информацию видео/изображения), необходимую для восстановления изображения (или восстановления картинки), путем выполнения синтаксического анализа битового потока. Информация видео/изображения может дополнительно включать в себя информацию о различных наборах параметров, таких как набор параметров адаптации (APS), набор параметров картинки (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). К тому же, информация видео/изображения может дополнительно включать в себя общую информацию ограничения. Устройство декодирования может дополнительно декодировать картинку на основе информации о наборе параметров и/или общей информации ограничения. Сигнализированная/принятая информация и/или синтаксические элементы, описанные далее в настоящем документе, могут быть декодированы посредством процедуры декодирования и получены из битового потока. Например, энтропийный декодер может декодировать информацию в битовом потоке на основе способа кодирования, такого как экспоненциальное кодирование Голомба, CAVLC или CABAC, и выводить значение синтаксического элемента, необходимое для восстановления изображения, и квантованные значения коэффициентов преобразования для остатка. Более конкретно, способ энтропийного декодирования CABAC может принимать бин, соответствующий каждому синтаксическому элементу, из битового потока, определять контекстную модель с использованием информации декодируемого синтаксического элемента и информации декодирования соседнего блока и блока, подлежащего декодированию, или информации символа/бина, декодированного на предыдущей стадии, и генерировать символ, соответствующий значению каждого синтаксического элемента, путем предсказания вероятности генерации бина в соответствии с определенной контекстной моделью, чтобы выполнить арифметическое декодирование бина. В этом случае, способ энтропийного декодирования CABAC может определять контекстную модель и затем обновлять контекстную модель с использованием информации декодированного символа/бина для контекстной модели следующего символа/бина. Информация о предсказании, среди информации, декодированной энтропийным декодером 310, может предоставляться на предсказатель (интер-предсказатель 332 и интра-предсказатель 331), и значение остатка, с которым энтропийное декодирование выполняется энтропийным декодером 310, то есть квантованные коэффициенты преобразования и связанная информация параметров, может вводиться в процессор 320 остатка. Процессор 320 остатка может выводить остаточный сигнал (остаточный блок, остаточные выборки, массив остаточных выборок). Дополнительно, информация о фильтрации среди информации, декодированной энтропийным декодером 310, может предоставляться на фильтр 350. Между тем, приемник (не проиллюстрирован) для приема сигнала, выведенного из устройства кодирования, может быть дополнительно сконфигурирован как внутренний/внешний элемент устройства 300 декодирования, или приемник может также быть компонентом энтропийного декодера 310. Между тем, устройство декодирования в соответствии с настоящим документом может называться устройством декодирования видео/изображения/картинки, и устройство декодирования может также классифицироваться на декодер информации (декодер информации видео/изображения/картинки) и декодер выборки (декодер выборки видео/изображения/картинки). Декодер информации может включать в себя энтропийный декодер 310, и декодер выборки может включать в себя по меньшей мере одно из деквантователя 321, обратного преобразователя 322, сумматора 340, фильтра 350, памяти 360, интер-предсказателя 332 и интра-предсказателя 331.

[72] Деквантователь 321 может деквантовать квантованные коэффициенты преобразования, чтобы выводить коэффициенты преобразования. Деквантователь 321 может переупорядочивать квантованные коэффициенты преобразования в форме двумерного блока. В этом случае, переупорядочивание может выполняться на основе порядка сканирования коэффициентов, выполняемого устройством кодирования. Деквантователь 321 может выполнять деквантование для квантованных коэффициентов преобразования с использованием параметра квантования (например, информации размера шага квантования) и получать коэффициенты преобразования.

[73] Обратный преобразователь 322 обратно преобразует коэффициенты преобразования, чтобы получить остаточный сигнал (остаточный блок, остаточный массив выборок).

[74] Предсказатель 330 может выполнять предсказание текущего блока и генерировать предсказанный блок, включающий в себя выборки предсказания текущего блока. Предсказатель может определять, применяется ли интра-предсказание или интер-предсказание к текущему блоку, на основе информации о предсказании, выведенной из энтропийного декодера 310, и может определять конкретный режим интра/интер-предсказания.

[75] Предсказатель 320 может генерировать предсказанный сигнал на основе различных способов предсказания, описанных ниже. Например, предсказатель может не только применять интра-предсказание или интер-предсказание для предсказания одного блока, но также одновременно применять интра-предсказание и интер-предсказание. Это может называться комбинированным интер- и интра-предсказанием (CIIP). К тому же, предсказатель может быть основан на режиме предсказания внутри-блочного копирования (IBC) или режиме палитры для предсказания блока. Режим предсказания IBC или режим палитры могут использоваться для кодирования контента изображения/видео игры или тому подобного, например, кодирования экранного контента (SCC). IBC в основном выполняет предсказание в текущей картинке, но оно может выполняться аналогично интер-предсказанию тем, что оно выводит опорный блок в текущей картинке. То есть IBC может использовать по меньшей мере один из методов интер-предсказания, описанных в настоящем документе. Режим палитры может рассматриваться как пример интра-кодирования или интра-предсказания. Когда режим палитры применяется, информация о таблице палитры и индексе палитры может включаться в информацию видео/изображения и сигнализироваться.

[76] Интра-предсказатель 331 может предсказывать текущий блок с опорой на выборки в текущей картинке. Опорные выборки могут быть расположены по соседству с текущим блоком или могут быть разнесены от текущего блока в соответствии с режимом предсказания. В интра-предсказании, режимы предсказания могут включать в себя множество ненаправленных режимов и множество направленных режимов. Интра-предсказатель 331 может определять режим предсказания, применяемый к текущему блоку, с использованием режима предсказания, применяемого к соседнему блоку.

[77] Интер-предсказатель 332 может выводить предсказанный блок для текущего блока на основе опорного блока (опорного массива выборок), специфицированного вектором движения на опорной картинке. В этом случае, чтобы уменьшить количество информации движения, передаваемой в режиме интер-предсказания, информация движения может предсказываться в единицах блока, подблока или выборки на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорной картинки. Информация движения может дополнительно включать в себя информацию направления интер-предсказания (L0-предсказания, L1-предсказания, Bi-предсказания и т.п.). В случае интер-предсказания, соседний блок может включать в себя пространственный соседний блок, существующий в текущей картинке, и временной соседний блок, существующий в опорной картинке. Например, интер-предсказатель 332 может конфигурировать список кандидатов информации движения на основе соседних блоков и выводить вектор движения текущего блока и/или индекс опорной картинки на основе принятой информации выбора кандидата. Интер-предсказание может выполняться на основе различных режимов предсказания, и информация о предсказании может включать в себя информацию, указывающую режим интер-предсказания для текущего блока.

[78] Сумматор 340 может суммировать полученный остаточный сигнал с предсказанным сигналом (предсказанным блоком, массивом выборок предсказания), выведенным из предсказателя (включая интер-предсказатель 332 и/или интра-предсказатель 331), чтобы генерировать восстановленный сигнал (восстановленную картинку, восстановленный блок, восстановленный массив выборок). Как в случае, когда применяется режим пропуска, если отсутствует остаток для блока, подлежащего обработке, предсказанный блок может использоваться как восстановленный блок.

[79] Сумматор 340 может называться модулем восстановления или генератором восстановленного блока. Сгенерированный восстановленный сигнал может использоваться для интра-предсказания следующего блока, подлежащего обработке в текущей картинке, и, как описано ниже, может выводиться посредством фильтрации или может использоваться для интер-предсказания следующей картинки.

[80] Между тем, отображение яркости с масштабированием цветности (LMCS) также может применяться в процессе декодирования картинки.

[81] Фильтр 350 может применять фильтрацию к восстановленному сигналу, тем самым улучшая субъективное/ объективное качество изображения. Например, фильтр 350 может применять различные способы фильтрации к восстановленной картинке, чтобы генерировать модифицированную восстановленную картинку, и передавать модифицированную восстановленную картинку в память 360, конкретно, в DPB памяти 360. Различные способы фильтрации могут включать в себя, например, фильтрацию устранения блочности, адаптивное смещение выборки, адаптивный контурный фильтр, двунаправленный фильтр и тому подобное.

[82] (Модифицированная) восстановленная картинка, сохраненная в DPB памяти 360, может использоваться как опорная картинка в интер-предсказателе 332. Память 360 может хранить информацию движения блока, в котором выводится (или декодируется) информация движения в текущей картинке, и/или информацию движения блоков в ранее восстановленной картинке. Сохраненная информация движения может передаваться на интер-предсказатель 260 для использования в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Память 360 может сохранять восстановленные выборки восстановленных блоков в текущей картинке и переносить сохраненные восстановленные выборки на интра-предсказатель 331.

[83] В настоящем документе, варианты осуществления, описанные в фильтре 260, интер-предсказателе 221 и интра-предсказателе 222 устройства 200 кодирования, могут применяться таким же образом или соответствовать фильтру 350, интер-предсказателю 332 и интра-предсказателю 331 устройства 300 декодирования.

[84] Как описано выше, при выполнении кодирования видео, предсказание выполняется, чтобы повысить эффективность сжатия. Посредством этого можно сгенерировать предсказанный блок, включающий в себя выборки предсказания для текущего блока, в качестве блока, подлежащего кодированию. Здесь, предсказанный блок включает в себя выборки предсказания в пространственной области (или области пикселов). Предсказанный блок выводится одинаково в устройстве кодирования и устройстве декодирования, и устройство кодирования может сигнализировать информацию (остаточную информацию) об остатке между исходным блоком и предсказанным блоком, а не исходное значение выборки исходного блока, на устройство декодирования, тем самым повышая эффективность кодирования изображения. Устройство декодирования может выводить остаточный блок, включающий в себя остаточные выборки, на основе остаточной информации, суммировать остаточный блок и предсказанный блок, чтобы генерировать восстановленные блоки, включающие в себя восстановленные выборки, и генерировать восстановленную картинку, включающую в себя восстановленные блоки.

[85] Остаточная информация может генерироваться в процедуре преобразования и квантования. Например, устройство кодирования может выводить остаточный блок между исходным блоком и предсказанным блоком, выполнять процедуру преобразования на остаточных выборках (остаточном массиве выборок), включенных в остаточный блок, чтобы вывести коэффициенты преобразования, выполнять процедуру квантования на коэффициентах преобразования, чтобы вывести квантованные коэффициенты преобразования, и сигнализировать соответствующую остаточную информацию на устройство декодирования (посредством битового потока). Здесь, остаточная информация может включать в себя информацию значения квантованных коэффициентов преобразования, информацию местоположения, метод преобразования, ядро преобразования, параметр квантования и тому подобное. Устройство декодирования может выполнять процедуру деквантования/обратного преобразования на основе остаточной информации и выводить остаточные выборки (или остаточные блоки). Устройство декодирования может генерировать восстановленную картинку на основе предсказанного блока и остаточного блока. Также, для опоры при интер-предсказании картинки после этого, устройство кодирования может также деквантовать/обратно преобразовывать квантованные коэффициенты преобразования, чтобы вывести остаточный блок и сгенерировать на его основе восстановленную картинку.

[86] В общем, в кодировании видео/изображения, степень квантования может изменяться, и степень сжатия может регулироваться с использованием измененной степени квантования. С точки зрения реализации, параметр квантования (QP) может использоваться вместо степени квантования с учетом сложности. Например, параметры квантования целых значений от 0 до 63 могут использоваться, и каждое значение параметра квантования может соответствовать реальной степени квантования. Например, параметр квантования QPY для компонента яркости (выборки яркости) и параметр квантования QPC для компонента цветности (выборки цветности) могут устанавливаться по-разному.

[87] Процесс квантования принимает коэффициент преобразования C в качестве входа, делит его на степень квантования Qstep, и на основе этого может быть получен квантованный коэффициент преобразования C’. В этом случае, с учетом вычислительной сложности, степень квантования может умножаться на масштаб для образования целого, и может выполняться операция сдвига на значение, соответствующее значению масштаба. Масштаб квантования может выводиться на основе произведения степени квантования и значения масштаба. То есть масштаб квантования может выводиться в зависимости от QP. Например, квантованный коэффициент преобразования C’ может выводиться путем применения масштаба квантования к коэффициенту преобразования C.

[88] Процесс деквантования является процессом, обратным процессу квантования и может получать восстановленный коэффициент преобразования C” путем умножения квантованного коэффициента преобразования C’ на степень квантования Qstep. В этом случае, масштаб уровня может выводиться в зависимости от параметра квантования, и восстановленный коэффициент преобразования C” может выводиться путем применения масштаба уровня к квантованному коэффициенту преобразования C’. Восстановленный коэффициент преобразования C” может несколько отличаться от исходного коэффициента преобразования C вследствие потерь в процессах преобразования и/или квантования. Поэтому устройство кодирования выполняет деквантование таким же образом, как в устройстве декодирования.

[89] Фиг. 4 показывает пример схематичной процедуры кодирования видео/изображения, в которой применимы варианты осуществления настоящего документа. На фиг. 4, S400 может выполняться предсказателем 220 устройства кодирования, описанного выше со ссылкой на фиг. 2, S410 может выполняться процессором 230 остатка, и S420 может выполняться энтропийным кодером 240. S400 может включать в себя процедуру интер/интра-предсказания, описанную в настоящем документе, S410 может включать в себя процедуру обработки остатка, описанную в настоящем документе, и S420 может включать в себя процедуру кодирования информации, описанную в настоящем документе.

[90] Со ссылкой на фиг. 4, процедура кодирования видео/изображения может включать в себя не только процедуру кодирования информации для восстановления картинки (например, информации предсказания, остаточной информации или информации разбиения), чтобы вывести закодированную информацию в форме битового потока, как описано со ссылкой на фиг. 2. Устройство кодирования может выводить (модифицированные) остаточные выборки из коэффициентов преобразования, квантованных посредством деквантователя 234 и обратного преобразователя 235, и генерировать восстановленную картинку на основе предсказанных выборок, выведенных в S400, и (модифицированных) остаточных выборок. Сгенерированная таким образом восстановленная картинка может быть той же самой, что и вышеупомянутая восстановленная картинка, сгенерированная устройством декодирования. Модифицированная восстановленная картинка может генерироваться посредством процедуры внутриконтурной фильтрации для восстановленной картинки, которая может сохраняться в буфере декодированной картинки или памяти 270, и, как в случае устройства декодирования, использоваться в качестве опорной картинки в процедуре интер-предсказания при последующем кодировании картинки. Как описано выше, часть или вся процедура внутриконтурной фильтрации может опускаться в некоторых случаях. Если процедура внутриконтурной фильтрации выполняется, связанная с (внутриконтурной) фильтрацией информация (параметр) кодируется энтропийным кодером 240 и выводится в форме битового потока, и устройство декодирования может выполнять процедуру внутриконтурной фильтрации аналогично этой процедуре устройства кодирования на основе связанной с фильтрацией информации.

[91] Посредством процедуры внутриконтурной фильтрации, можно уменьшить шум, генерируемый во время кодирования изображения/видео, такой как артефакты блочности и артефакты звона, и улучшить субъективное/объективное визуальное качество. К тому же, путем выполнения процедуры внутриконтурной фильтрации, как в устройстве кодирования, так и в устройстве декодирования, устройство кодирования и устройство декодирования могут выводить один и тот же результат предсказания, улучшать надежность кодирования картинки и уменьшать количество данных, подлежащих передаче для кодирования картинки.

[92] Как описано выше, процедура восстановления картинки может выполняться в устройстве декодирования, а также в устройстве кодирования. Восстановленный блок может генерироваться на основе интра-предсказания/интер-предсказания в единицах каждого блока, и может генерироваться восстановленная картинка, включающая в себя восстановленные блоки. Если текущая картинка/вырезка/группа мозаичных элементов является I-картинкой/вырезкой/группой мозаичных элементов, блоки, включенные в текущую картинку/вырезку/группу мозаичных элементов, могут быть восстановлены на основе только интра-предсказания. А если текущая картинка/вырезка/группа мозаичных элементов является P- или B-картинкой/вырезкой/группой мозаичных элементов, блоки, включенные в текущую картинку/вырезку/группу мозаичных элементов, могут быть восстановлены на основе интра-предсказания или интер-предсказания. В этом случае, интер-предсказание может применяться к некоторым блокам в текущей картинке/вырезке/группе мозаичных элементов, и интра-предсказание может применяться к другим блокам. Цветовой компонент картинки может включать в себя компонент яркости и компонент цветности, и, если не ограничено явно в настоящем документе, способы и примерные варианты осуществления, предложенные в настоящем документе, могут применяться к компоненту яркости и компоненту цветности.

[93] Фиг. 5 показывает пример схематичной процедуры декодирования видео/изображения, в которой применимы варианты осуществления настоящего раскрытия. На фиг. 5, S500 может выполняться в энтропийном декодере 310 устройства декодирования, описанного выше на фиг. 3, S510 может выполняться в предсказателе 330, S520 может выполняться в процессоре 320 остатка, S530 может выполняться в сумматоре 340, и S540 может выполняться в фильтре 350. S500 может включать в себя процесс декодирования информации, описанный в настоящем документе, S510 может включать в себя процесс интер-/интра-предсказания, описанный в настоящем документе, S520 может включать в себя процесс обработки остатка, описанный в настоящем документе, S530 может включать в себя процесс восстановления блока/картинки, описанный в настоящем документе, и S540 может включать в себя процесс внутриконтурной фильтрации, описанный в настоящем документе.

[94] Со ссылкой на фиг. 5, как представлено в описании со ссылкой на фиг. 3, процесс декодирования картинки может включать в себя процесс S500 получения информации изображения/видео из битового потока (посредством декодирования), процесс от S510 до S530 восстановления картинки и процесс S540 внутриконтурной фильтрации для восстановленной картинки. Процесс восстановления картинки может выполняться на основе остаточных выборок и выборок предсказания, полученных посредством интер-/интра-предсказания S510 и процесса S520 обработки остатка (деквантование для квантованных коэффициентов преобразования, обратное преобразование), описанных в настоящем раскрытии. Посредством процесса внутриконтурной фильтрации для восстановленной картинки, сгенерированной посредством процесса восстановления картинки, может генерироваться модифицированная восстановленная картинка, которая может выводиться как декодированная картинка и может также сохраняться в буфере декодированной картинки или памяти 360 устройства декодирования и использоваться как опорная картинка в процедуре интер-предсказания во время декодирования последующей картинки.

[95] В соответствии с обстоятельствами, процесс внутриконтурной фильтрации может опускаться, и в этом случае, восстановленная картинка может выводиться как декодированная картинка, и может также сохраняться в буфере декодированной картинки или памяти 360 устройства декодирования и использоваться как опорная картинка в процессе интер-предсказания в декодировании последующей картинки. Процесс S540 внутриконтурной фильтрации может включать в себя процесс фильтрации устранения блочности, процесс адаптивного смещения выборки (SAO), процесс адаптивного контурного фильтра (ALF) и/или процесс двунаправленного фильтра, как описано выше, и все или некоторые из них могут быть опущены. Дополнительно, один или некоторые из процесса фильтрации устранения блочности, процесса адаптивного смещения выборки (SAO), процесса адаптивного контурного фильтра (ALF) и процесса двунаправленного фильтра могут применяться последовательно или все могут применяться последовательно. Например, после того как процесс фильтрации устранения блочности применяется к восстановленной картинке, может выполняться процесс SAO. Альтернативно, например, после того как процесс фильтрации устранения блочности применяется к восстановленной картинке, может выполняться процесс ALF. Это может выполняться в устройстве кодирования таким же образом.

[96] Между тем, адаптивное цветовое преобразование (ACT) представляет собой технологию, существующую в расширении экранного контента HEVC, чтобы использовать внутриконтурное преобразование цветового пространства для устранения межцветовой компонентной избыточности. ACT было также принято для контента 444 в стандарте VVC.

[97] В расширении кодирования экранного контента (SCC) HEVC, ACT использовалось для адаптивного преобразования остатков предсказания из одного цветового пространства в пространство YCgCo. Два цветовых пространства адаптивно выбираются путем сигнализации одного флага ACT для каждой единицы преобразования (TU). Когда флаг равен 1, это указывает, что остаток TU кодируется в пространстве YCgCo. Если нет (т.е. когда флаг равен 0), это указывает, что остаток TU кодируется в исходном цветовом пространстве.

[98] ACT также было принято в стандарте VVC для контента 444 (контента формата цветности 4:4:4), и процесс декодирования с использованием ACT может выполняться, как показано на фиг. 6.

[99] Фиг. 6 является диаграммой для пояснения примера процесса декодирования видео/изображения с использованием ACT, в котором может применяться вариант осуществления или варианты осуществления настоящего документа.

[100] Здесь, предсказание скомпенсированного движения может упоминаться как интер-предсказание в этом документе. Как показано на фиг. 6, восстановленная картинка (или восстановленный блок, массив восстановленных выборок, восстановленная выборка(и), восстановленный сигнал) может генерироваться на основе выхода предсказания и остаточного выхода (обратное преобразование (обратное нормальное преобразование) (например: обратное преобразование на основе MTS и/или обратное LFNST и т.д.) или остаточного выхода обратного ACT). Выход предсказания может включать в себя блок предсказания, массив выборок предсказания, выборку предсказания или выборки предсказания или сигнал предсказания. Остаточный выход может включать в себя остаточный блок, массив остаточных выборок, остаточную выборку или остаточные выборки или остаточный сигнал. Например, на стороне кодирования, процесс ACT может выполняться на остаточных выборках, выведенных на основе предсказанных выборок, и выход процесса ACT может быть входом нормального преобразования (например, преобразования на основе MTS и/или LFNST). Информация (параметры), относящаяся к (обратному) ACT, может генерироваться/кодироваться устройством кодирования и может передаваться на устройство декодирования посредством битового потока. Устройство декодирования может получать/синтаксически анализировать/декодировать информацию (параметры), относящуюся к (обратному) ACT, и может выполнять обратное ACT на основе информации (параметров), относящейся к (обратному) ACT. На основе обратного ACT, может выводиться (модифицированная) остаточная выборка (или остаточный блок). Конкретно, коэффициент (преобразования) может быть выведен путем деквантования квантованного коэффициента (преобразования); остаточная выборка может выводиться путем выполнения обратного преобразования; и обратное ACT может дополнительно выполняться для получения (модифицированной) остаточной выборки.

[101] Базовое преобразование (ядро преобразования), используемое для преобразования цветового пространства, может оставаться тем же самым, что и преобразование, используемое для HEVC. Конкретно, матрицы прямого и обратного YCgCo цветового преобразования могут применяться следующим образом.

[102] [Уравнение 1]

[103] где C0, C1 и C2 могут соответствовать G, B и R, и C0', C1' and C2' могут соответствовать Y, Cg и Co.

[104] Дополнительно, чтобы компенсировать изменение динамического диапазона остаточных сигналов перед и после цветового преобразования, коррекции QP (-5, -5, -3) могут применяться к остаткам преобразования. Детали коррекции QP будут описаны позже.

[105] В случае ACT, принятого в VVC, имеются некоторые ограничения на то, когда ACT может применяться, и на взаимодействие с другими инструментами.

[106] - ACT становится выключенным для дуального дерева. То есть ACT становится включенным только для одиночного дерева.

[107] - ACT становится выключенным для интра-предсказания подразбиения (ISP).

[108] - ACT становится выключенным для цветности блочной дифференциальной импульсно-кодовой модуляции (BDPCM) и становится включенным только для яркости BDPCM.

[109] - Когда ACT становится включенным, предсказание кросс-компонентной линейной модели (CCLM) становится выключенным.

[110] Следует ли применять вышеописанное ACT в процессе кодирования/декодирования для изображения/видео может быть определено на основе информации, относящейся к ACT (то есть синтаксических элементов, относящихся к ACT), сигнализируемой через синтаксис, показанный в Таблицах 1 и 2 ниже. То есть следует или нет применять ACT, определяется на основе информации, относящейся к ACT, включенной в информацию изображения, и когда ACT применяется в соответствии с определением, оно может применяться к остаточной выборке, так что может выводиться модифицированная остаточная выборка.

[111] Например, следующие Таблицы 1 и 2 показывают пример структуры синтаксиса, в которой сигнализируется информация, относящаяся к ACT (т.е. синтаксические элементы, относящиеся к ACT).

[112] [Таблица 1]

[113] [Таблица 2]

[114] Таблица 3 ниже представляет семантику синтаксических элементов, включенных в таблицы синтаксиса согласно Таблицам 1 и 2 выше.

[115] [Таблица 3]

sps_act_enabled_flag специфицирует, включено ли адаптивное цветовое преобразование. Если sps_act_enabled_flag равен 1, адаптивное цветовое преобразование может использоваться, и флаг cu_act_enabled_flag может присутствовать в синтаксисе единицы кодирования. Если sps_act_enabled_flag равен 0, адаптивное цветовое преобразование не используется, и флаг cu_act_enabled_flag не присутствует в синтаксисе единицы кодирования. Когда флаг sps_act_enabled_flag не присутствует, он считается равным 0.
cu_act_enabled_flag, равный 1, специфицирует, что остатки текущей единицы кодирования кодируются в цветовом пространстве YCgCo. cu_act_enabled_flag, равный 0, специфицирует, что остатки текущей единицы кодирования кодируются в исходном цветовом пространстве. Когда cu_act_enabled_flag не присутствует, он считается равным 0.

[116] Со ссылкой на Таблицы 1-3, информация, указывающая включено ли ACT, может сигнализироваться/синтаксически анализироваться посредством набора параметров последовательности (SPS). Например, информация, указывающая включено ли ACT, может представлять собой синтаксический элемент sps_act_enabled_flag. Когда значение sps_act_enabled_flag равно 1, это может указывать, что ACT включено, и в этом случае, информация, указывающая, следует ли применять ACT к остатку текущего блока (т.е. текущей единицы кодирования), может присутствовать в синтаксисе единицы кодирования. Альтернативно, когда значение sps_act_enabled_flag равно 0, это может указывать, что ACT не включено, и в этом случае, информация, указывающая, следует ли применять ACT к остатку текущего блока (т.е. текущей единицы кодирования), может не присутствовать в синтаксисе единицы кодирования.

[117] На основе информации (например, sps_act_enabled_flag), указывающей, доступно ли ACT, сигнализируемое посредством SPS, информация, указывающая, применять ли ACT к остатку текущего блока (т.е. текущей единицы кодирования), может сигнализироваться/синтаксически анализироваться через синтаксис единицы кодирования. Например, информация, указывающая, применять ли ACT к остатку текущего блока (т.е. текущей единицы кодирования), может представлять собой синтаксический элемент cu_act_enabled_flag. Когда значение cu_act_enabled_flag равно 1, это может указывать, что ACT применяется к остатку текущего блока (то есть это указывает кодирование в цветовом пространстве YCgCo), а когда значение cu_act_enabled_flag равно 0, это может указывать, что ACT не применяется к остатку текущего блока (то есть это указывает кодирование в исходном цветовом пространстве). Здесь, применение ACT может означать использование преобразования цветового пространства.

[118] В одном варианте осуществления, когда значение информации, указывающей, доступно ли ACT, сигнализируемое/синтаксически анализируемое посредством SPS (например, sps_act_enabled_flag), равно 1, в синтаксисе единицы кодирования, информация, указывающая, следует ли применять ACT к остатку текущего блока (т.е. текущей единицы кодирования) (например, cu_act_enabled_flag), может сигнализироваться/ синтаксически анализироваться. Альтернативно, когда значение информации, указывающей, доступно ли ACT, сигнализируемое/ синтаксически анализируемое посредством SPS (например, sps_act_enabled_flag), равно 0, в синтаксисе единицы кодирования, информация, указывающая, следует ли применять ACT к остатку текущего блока (т.е. текущей единицы кодирования) (например, cu_act_enabled_flag), не может сигнализироваться/синтаксически анализироваться.

[119] Кроме того, на основе случая, где значение информации, указывающей, применять ли ACT к остатку текущего блока (т.е. текущей единицы кодирования) (например, cu_act_enabled_flag), сигнализируемой/синтаксически анализируемой посредством синтаксиса единицы кодирования, равно 1, ACT (т.е. преобразование цветового пространства) может применяться к остатку текущего блока.

[120] Между тем, как описано выше, ACT цветового преобразования в VVC может использовать то же самое уравнение, что и Уравнение 1 выше. Это преобразование называется преобразованием YCgCo. Матричное умножение, как в Уравнении 1, может быть выражено как в Уравнении 2 ниже.

[121] [Уравнение 2]

[122] Преобразование не является полностью обратимым (неидеальное восстановление вследствие потери точности для обработки Co и Cg). Поэтому, оно не может быть использовано в приложениях, которые требуют кодирования без потерь. Одним прямым путем обеспечения кодирования без потерь является выключение ACT. Его недостаток состоит в том, что приложения кодирования без потерь не могут извлечь выгоду из ACT. Варианты осуществления настоящего документа, описанные далее, обеспечивают способы для обеспечения возможности применения ACT в приложения кодирования как с потерями, так и без потерь.

[123] Далее, в этом документе, предложены способы для смягчения вышеописанных проблем ACT и повышения эффективности кодирования в применении процесса кодирования/декодирования на основе ACT.

[124] В текущем VVC, может применяться коррекция ACT QP, и в этом случае может иметься две проблемы. Во-первых, каждый цветовой компонент может иметь отличающееся смещение ACT Qp, которое не отражается точно в процессе выведения QP. Во-вторых, выведенный QP может иметь отрицательное значение. Соответственно, варианты осуществления настоящего документа предлагают способ выведения QP, в котором отражается смещение ACT Qp для каждого цветового компонента, и предотвращения того, что выведенный QP будет иметь отрицательное значение. В этом документе, параметр квантования для компонента яркости может быть представлен как Qp'y; параметр квантования для компонента цветности Cb может быть представлен как Qp'Cb; параметр квантования для компонента цветности Cr может быть представлен как Qp'Cr; и параметр квантования для совместного кодирования Cb-Cr может быть представлен как Qp'CbCr.

[125] В качестве одного варианта осуществления, как показано в Таблице 1 ниже, QP, выведенный на основе смещения ACT QP каждого цветового компонента, может быть ограничен.

[126] [Таблица 4]

Параметр квантования qP выводится следующим образом:
- Если cIdx равно 0, применяется следующее:
qP=Qp′Y
ActQpOffset=-5
- Иначе, если TuCResMode[xTbY][yTbY] равно 2, применяется следующее:
qP=Qp′CbCr
ActQpOffset =-5
- Иначе, если cIdx равно 1, применяется следующее:
qP=Qp′Cb
ActQpOffset=-5
- Иначе (cIdx равно 2), применяется следующее:
qP=Qp′Cr
ActQpOffset=-3
Параметр квантования qP модифицируется следующим образом:
- Если transform_skip_flag[xTbY][yTbY][cIdx] равно 0, применяется следующее:
qP=Max(0, qP + (cu_act_enabled_flag[xTbY][yTbY] ? ActQpOffset : 0))
- Иначе, если transform_skip_flag[xTbY][yTbY][cIdx] равно 1, применяется следующее:
qP=Max(0, Max(QpPrimeTsMin, qP) + (cu_act_enabled_flag[xTbY][yTbY] ?
ActQpOffset : 0))

[127] Со ссылкой на Таблицу 4, смещение ACT QP (например, ActQpOffset) может выводиться для каждого цветового компонента. Например, смещение ACT QP (например, ActQpOffset) для компонента яркости может быть -5; смещение ACT QP (например, ActQpOffset) для совместного кодирования Cb-Cr может быть -5; смещение ACT QP для компонента цветности Cb (например, ActQpOffset) может быть -5; и смещение ACT QP (например, ActQpOffset) для компонента цветности Cr может быть -3. В этом случае, параметр квантования (например, qP) может быть модифицирован на основе значения смещения ACT QP (например, ActQpOffset) для каждого цветового компонента. Например, на основе параметров квантования, выведенных для каждого цветового компонента (например, Qp'y, Qp'Cb, Qp'Cr, Qp'CbCr), и смещения ACT QP каждого цветового компонента (например, ActQpOffset), параметр квантования (например, qP) может быть модифицирован. Здесь, на основе значения информации, указывающей, применяется ли остаток текущего блока с использованием преобразования цветового пространства (например, cu_act_enabled_flag), смещение ACT QP (например, ActQpOffset) может быть отображено на параметр квантования (например, Qp'y, Qp'Cb, Qp'Cr, Qp'CbCr). В этом отношении, чтобы предотвратить то, что параметр квантования (например, qP) будет иметь отрицательное значение, параметр квантования (например, qP) может быть ограничен. Например, как показано в Таблице 4 выше, параметр квантования (например, qP) может быть определен как большее значение среди параметра квантования, выведенного на основе значения смещения ACT QP (например, ActQpOffset) для каждого цветового компонента, и значения 0.

[128] В качестве другого примера, QP может быть ограничен, как показано в Таблице 5 ниже. Таблица 5 показывает пример, в котором, когда значение информации (например, transform_skip_flag) о том, пропускается ли преобразование/ обратное преобразование, в Таблице 4 равно 1 вместо 0, QP ограничивается на основе минимального значения параметра квантования в режиме пропуска преобразования (например, QpPrimeTsMin). Здесь, когда значение информации о том, пропускается ли преобразование/обратное преобразование (например, transform_skip_flag), равно 1, это может указывать, что преобразование/обратное преобразование пропускается, что может упоминаться как режим пропуска преобразования. Когда значение информации о том, пропускается ли преобразование/обратное преобразование (например, transform_skip_flag), равно 0, это может указывать, что преобразование/обратное преобразование применяется. Минимальное значение параметра квантования (например, QpPrimeTsMin) в режиме пропуска преобразования может быть значением, выводимым на основе синтаксического элемента min_qp_prime_ts_minus4, и синтаксический элемент min_qp_prime_ts_minus4 может указывать минимальный параметр квантования, разрешенный для режима пропуска преобразования, сигнализируемого в SPS.

[129] [Таблица 5]

[130] Здесь, Y и Cb могут представлять три цветовых компонента; Y может соответствовать C0; Cb может соответствовать C1 или Cg; и Cr может соответствовать C2 или Co в преобразовании ACT.

[131] Вышеописанный вариант осуществления может применяться к спецификации VVC, как показано в Таблице 6 ниже. Таблица 6 представляет пример применения вышеописанного варианта осуществления к процессу масштабирования и процессу коррекции остатка в спецификации.

[132] [Таблица 6]

8.7.3 Процесс масштабирования (деквантования) для коэффициентов преобразования
Входами в этот процесс являются:
- положение яркости (xTbY, yTbY), специфицирующее верхнюю-левую выборку текущего блока преобразования яркости относительно верхней-левой выборки яркости текущей картинки,
- переменная nTbW, специфицирующая ширину блока преобразования ,
- переменная nTbH, специфицирующая высоту блока преобразования ,
- переменная predMode, специфицирующая режим предсказания единицы кодирования,
- переменная cIdx, специфицирующая цветовой компонент текущего блока.
Выходом этого процесса является массив (nTbW)x(nTbH) d масштабированных коэффициентов преобразования с элементами d[x][y].
Параметр квантования qP и переменная QpActOffset выводятся следующим образом:
- Если cIdx равно 0, применяется следующее:
qP=Qp′Y (1129)
QpActOffset=cu_act_enabled_flag[xTbY][yTbY] ? 5 : 0 (xxxx)
- Иначе, если TuCResMode[xTbY][yTbY] равно 2, применяется следующее:
qP=Qp′CbCr (1130)
QpActOffset=cu_act_enabled_flag[xTbY][yTbY] ? 5 : 0 (xxxx)
- Иначе, если cIdx равно 1, применяется следующее:
qP=Qp′Cb (1131)
QpActOffset=cu_act_enabled_flag[xTbY][yTbY] ? 5 : 0 (xxxx)
Иначе (cIdx равно 2), применяется следующее:
qP=Qp′Cr (1132)
QpActOffset=cu_act_enabled_flag[xTbY][yTbY] ? 3 : 0 (xxxx)
Параметр квантования qP одиицируется, и переменные rectNonTsFlag и bdShift выводятся следующим образом:
- Если transform_skip_flag[xTbY][yTbY][cIdx] равно 0, применяется следующее:
qP=Max(0, qP − QpActOffset) (1133)
rectNonTsFlag=(((Log2(nTbW)+Log2(nTbH))&1) == 1)?1 : 0 (1134)
bdShift=BitDepth+rectNonTsFlag + (1135)

[133]

((Log2(nTbW) + Log2(nTbH))/2) - 5+pic_dep_quant_enabled_flag
- Иначе (transform_skip_flag[xTbY][yTbY][cIdx] равно 1), применяется следующее:
qP=Max(QpPrimeTsMin, qP − QpActOffset) (1136)
rectNonTsFlag=0 (1137)
bdShift=10 (1138)
8.7.4.6 Процесс модификации остатка для блоков с использованием преобразования цветового пространства
[…]
Массивы (nTbW)x(nTbH) остаточных выборок rY, rCb и rCr модифицируются следующим образом:
rY[x][y]=Clip3(−(1<<BitDepth), (1<<BitDepth) − 1, rY[x][y]) (xxxx)
rCb[x][y]=Clip3(−(1<<BitDepth), (1<<BitDepth) − 1, rCb[x][y]) (xxxx)
rCr[x][y]=Clip3(−(1<<BitDepth), (1<<BitDepth) − 1, rCr[x][y]) (xxxx)
tmp=rY[x][y] − rCb[x][y] (1191)
rY[x][y]=rY[x][y] + rCb[x][y] (1192)
rCb[x][y]=tmp − rCr[x][y] (1193)
rCr[x][y]=tmp+rCr[x][y] (1194)

[134] В Таблице 4 значения ACTQpOffset для трех цветовых компонентов были выведены как -5, -5 и -3, и в Таблице 6 значения ACTQpOffset для трех цветовых компонентов были выведены как 5, 5 и 3, которые, однако, являются только примером и могут быть заменены на другие значения или переменные.

[135] Между тем, в случае текущего VVC, коррекция для смещения ACT QP фиксирована на -5 для компонентов Y, Cg, Co и YCbCr. В одном варианте осуществления настоящего документа, при рассмотрении случая, где смещение ACT QP может сигнализироваться посредством битового потока и может иметь более широкий диапазон смещения, предложен способ, в котором QP может быть ограничен в пределах минимального и максимального диапазонов, чтобы предотвратить выход QP, модифицированного на основе смещения ACT QP, из диапазона.

[136] В варианте осуществления, смещение ACT QP может быть значением, выводимым на основе сигнализированной информации, или предопределенным числом. Например, как показано в Таблице 4 ниже, смещение ACT QP может быть представлено переменными PpsActQpOffsetY, PpsActQpOffsetCb, PpsActQpOffsetCr и PpsActQpOffsetCbCr. Переменные могут быть предопределенным числом или значением, выводимым из сигнализированного смещения ACT QP. Сигнализация смещения ACT QP будет описана далее. Например, значения PpsActQpOffsetY, PpsActQpOffsetCbCr, PpsActQpOffsetCb и PpsActQpOffsetCr должны существовать в диапазоне от -12 до +12, что может быть требованием соответствия битового потока.

[137] Например, когда значение смещения QP сигнализируется вместо фиксированного значения, и диапазон значения смещения QP находится между -12 и 12, для того чтобы избежать отрицательного QP, необходимо ограничить не только минимальное значение выводимого QP, но и максимальное значение выводимого QP. Минимальное значение qP может стать 0, чтобы избежать отрицательных значений, или может стать минимальным допустимым qP, ограниченным сигнализируемым синтаксическим элементом (например, минимальным значением параметра квантования в режиме пропуска преобразования; QpPrimeTsMin). Максимальное значение qP может быть возможным максимальным значением qP (например, 63) или максимальным допустимым qP, ограниченным сигнализируемым синтаксическим элементом.

[138] Таблица 7 ниже показывает пример алгоритма, в котором может применяться вышеописанный вариант осуществления.

[139] [Таблица 7]

Параметр квантования qP выводится следующим образом:
- Если cIdx равно 0, применяется следующее:
qP=Qp′Y
ActQpOffset=PpsActQpOffsetY
- Иначе, если TuCResMode[xTbY][yTbY] равно 2, применяется следующее:
qP=Qp′CbCr
ActQpOffset=PpsActQpOffsetCbCr
- Иначе, если cIdx равно 1, применяется следующее:
qP=Qp′Cb
ActQpOffset=PpsActQpOffsetCb
- Иначе (cIdx равно 2), применяется следующее:
qP=Qp′Cr
ActQpOffset=PpsActQpOffsetCr
Параметр квантования qP модифицируется следующим образом:
- Если transform_skip_flag[xTbY][yTbY][cIdx] равно 0, применяется следующее:
qP=Clip3(0, 63+ QpBdOffset, qP + (cu_act_enabled_flag[xTbY][yTbY] ?ActQpOffset : 0))
- Иначе, если transform_skip_flag[xTbY][yTbY][cIdx] равно 1, применяется следующее:
qP=Clip3(0, 63+ QpBdOffset, Max(QpPrimeTsMin, qP) + (cu_act_enabled_flag[xTbY][yTbY] ? ActQpOffset : 0)

[140] В другом примере, QP может быть ограничен в пределах минимального и максимального диапазонов, как показано в Таблице 8 ниже. Таблица 8 представляет пример, в котором минимальный qP ограничен на основе QpPrimeTsMin вместо 0, когда значение информации о том, пропускается ли преобразование/обратное преобразование в Таблице 7 выше (например, transform_skip_flag), равно 1.

[141] [Таблица 8]

Параметр квантования qP модифицируется следующим образом:
- Если transform_skip_flag[xTbY][yTbY][cIdx] равно 0, применяется следующее:
qP=Clip3(0, 63+ QpBdOffset, qP + (cu_act_enabled_flag[xTbY][yTbY] ? ActQpOffset : 0 ))
- Иначе, если transform_skip_flag[xTbY][yTbY][cIdx] равно 1, применяется следующее:
qP=Clip3(QpPrimeTsMin, 63+ QpBdOffset, qP+cu_act_enabled_flag[xTbY][yTbY] ? ActQpOffset : 0)

[142] Между тем, комбинация BDPCM для ACT и компонентов яркости разрешена в текущем VVC. Однако BDPCM для компонента цветности и ACT не разрешена (выключена). Поэтому, в одном варианте осуществления настоящего документа, предлагается разрешить комбинацию ACT и BDPCM для компонента цветности.

[143] При рассмотрении сначала BDPCM, в процессе кодирования/декодирования, может использоваться метод блочной дифференциальной импульсно-кодированной модуляции (BDPCM) или дельта-импульсно-кодовой модуляции на блочной основе (BDPCM). BDPCM может также упоминаться как дельта-импульсно-кодовая модуляция на основе квантованного остаточного блока (RDPCM).

[144] При предсказании блока путем применения BDPCM, восстановленные выборки могут быть использованы для предсказания строки или столбца блока от линии к линии (построчно). В этом отношении, используемая опорная выборка может быть нефильтрованной выборкой. Направление BDPCM может указывать, используется ли предсказание вертикального направления или горизонтального направления. То есть когда применяется BDPCM, вертикальное направление или горизонтальное направление может быть выбрано как направление BDPCM, и предсказание может быть выполнено в этом направлении BDPCM. Ошибка предсказания может быть квантована в пространственной области, и выборка может быть восстановлена путем добавления деквантованной ошибки предсказания к предсказанию (т.е. выборке предсказания). Ошибка предсказания может означать остаток. В качестве альтернативы этой BDPCM, может быть предложена BDPCM квантованной остаточной области, и направление предсказания или сигнализация могут быть такими же, как в BDPCM, применяемой к пространственной области. То есть сам коэффициент преобразования может накапливаться подобно дельта-импульсно-кодовой модуляции (DPCM) посредством BDPCM квантованной остаточной области, и затем остаток может восстанавливаться посредством деквантования. Соответственно, BDPCM квантованной остаточной области может использоваться в смысле применения DPCM на стадии кодирования остатка. Квантованная остаточная область, используемая ниже, является остатком, выведенным на основе предсказания, то есть квантованным без преобразования, и относится к области для квантованной остаточной выборки. Например, квантованная остаточная область может включать в себя квантованные остатки (или квантованные остаточные коэффициенты), к которым применяется пропуск преобразования, то есть преобразование пропускается для остаточных выборок, но квантование применяется. Альтернативно, например, квантованная остаточная область может включать в себя квантованный коэффициент преобразования.

[145] Как описано выше, BDPCM может применяться к квантованной остаточной области, и квантованная остаточная область может включать в себя квантованный остаток (или квантованный остаточный коэффициент), в этом случае пропуск преобразования может применяться к остатку. То есть когда применяется BDPCM, преобразование может быть пропущено для остаточной выборки, а квантование может применяться к ней. Альтернативно, квантованная остаточная область может включать в себя квантованный коэффициент преобразования. Флаг, указывающий, применима или нет BDPCM, может сигнализироваться на уровне последовательности (SPS), и этот флаг может также сигнализироваться, только когда сигнализируется, что режим пропуска преобразования возможен в SPS. Флаг может упоминаться как флаг включения BDPCM или флаг включения SPS BDPCM.

[146] Когда применяется BDPCM, интра-предсказание может выполняться на всем блоке путем копирования выборки в соответствии с направлением предсказания (например, вертикальное предсказание или горизонтальное предсказание) подобно направлению интра-предсказания. Остаток, который является значением разности между исходным блоком и блоком предсказания, квантуется путем пропуска преобразования, и значение дельта, то есть значение разности между квантованным остатком и предсказателем в горизонтальном или вертикальном направлении (то есть квантованный остаток в горизонтальном или вертикальном направлении), может кодироваться.

[147] В случае, когда применима BDPCM, когда размер CU меньше или равен MaxTsSize (максимальному размеру блока пропуска преобразования) для выборки яркости, и CU кодируется с интра-предсказанием, информация флага может передаваться на уровне CU. Информация флага может упоминаться как флаг BDPCM. Здесь, MaxTsSize может означать максимальный размер блока для разрешения режима пропуска преобразования. Информация флага может указывать, применяется ли обычное интра-кодирование или BDPCM. Когда применяется BDPCM, может передаваться флаг направления предсказания BDPCM, указывающий, является ли направление предсказания горизонтальным направлением или вертикальным направлением. Флаг направления предсказания BDPCM может упоминаться как флаг направления BDPCM. Затем, блок может предсказываться посредством обычного процесса горизонтального или вертикального интра-предсказания с использованием нефильтрованной опорной выборки. Кроме того, остаток может квантоваться, и значение разности между каждым квантованным остатком и его предсказателем, например, остатком соседнего положения, уже квантованным в горизонтальном или вертикальном направлении в соответствии с направлением предсказания BDPCM, может кодироваться.

[148] При применении вышеописанной BDPCM вместе с ACT, настоящий документ предлагает способ, который может применяться не только к компоненту яркости, но и к компоненту цветности. В варианте осуществления, следующая Таблица 9 представляет часть синтаксиса единицы кодирования и представляет пример структуры синтаксиса, чтобы разрешать BDPCM для ACT и компонентов цветности.

[149] [Таблица 9]

[150] Со ссылкой на Таблицу 9 выше, посредством информации, указывающей, применяется ли остаток текущего блока с использованием преобразования цветового пространства (например, cu_act_enabled_flag), структура синтаксиса единицы кодирования может быть изменена так, что не определяется, применяется ли BDPCM для компонента цветности. Например, только когда значение cu_act_enabled_flag не равно 1, условие, при котором BDPCM применяется для компонента цветности (например, !cu_act_enabled_flag), может быть удалено. В этом случае, как ACT, так и BDPCM могут применяться к компоненту цветности текущего блока. Информация о том, применяется ли BDPCM для компонента цветности, может представлять собой синтаксический элемент intra_bdpcm_chroma_flag. Например, когда значение intra_bdpcm_chroma_flag равно 1, это может указывать, что BDPCM применяется к компоненту цветности текущего блока, а когда значение intra_bdpcm_chroma_flag равно 0, это может указывать, что BDPCM не применяется к компоненту цветности текущего блока.

[151] Между тем, как ACT, так и CCLM могут использоваться для устранения межкомпонентной избыточности. Эти два инструмента иногда перекрывают друг друга, но после применения любого инструмента, избыточность между компонентами не устраняется. Поэтому, может быть полезным разрешить применять два инструмента вместе. Вариант осуществления настоящего документа предлагает способ, который допускает комбинацию ACT и CCLM. В этом случае, CCLM может применяться сначала, а ACT может применяться позже на стороне декодера.

[152] В варианте осуществления, следующая Таблица 10 представляет часть синтаксиса единицы кодирования и представляет пример структуры синтаксиса, которая допускает комбинацию ACT и CCLM.

[153] [Таблица 10]

[154] Со ссылкой на Таблицу 10 выше, посредством информации, указывающей, применяется ли остаток текущего блока с использованием преобразования цветового пространства (например, cu_act_enabled_flag), структура синтаксиса единицы кодирования может быть изменена так, что не определяется, применяется ли CCLM. Например, только когда значение cu_act_enabled_flag не равно 1, условие, при котором CCLM применяется (например, !cu_act_enabled_flag), может быть удалено. В этом случае, как ACT, так и CCLM могут применяться к текущему блоку. Информация о том, применяется ли CCLM, может представлять собой синтаксический элемент cclm_mode_flag. Например, когда значение cclm_mode_flag равно 1, это может указывать, что CCLM применяется к текущему блоку, а когда значение cclm_mode_flag равно 0, это может указывать, что CCLM не применяется к текущему блоку.

[155] Структура синтаксиса может быть изменена, чтобы разрешать ACT, а также BDPCM и CCLM для компонентов цветности. Например, как показано в Таблицах 9 и 10 выше, это может быть реализовано путем устранения ограничения "!cu_act_enabled_flag" для сигнализации синтаксических элементов intra_bdpcm_chroma_flag и cclm_mode_flag.

[156] Между тем, в режиме ACT, остаток предсказания преобразуется из одного цветового пространства (GBR или YCbCr) в пространство YCgCo, и остаток TU кодируется в пространстве YCgCo. Базовое преобразование ACT (ядро преобразования), используемое для преобразования цветовых пространств, выражается Уравнением 3 ниже, где C0, C1 и C2 могут соответствовать G, B и R; и C0', C1' and C2' могут соответствовать Y, Cg и Co.

[157] [Уравнение 3]

[158] Как показано в Уравнении 3 выше, преобразование C0', C1' и C2' (здесь C0'=Y, C1'=Cg, C2'=Co) не нормализовано (т.е. L2norm не равно 1). Например, L2norm преобразования для каждого компонента примерно равно 0,6 для C0' и C1' и равно 0,7 для C2'. L2norm может быть получено путем взятия квадратного корня суммы каждого квадратичного коэффициента. Например, C0'= 2/4*C0+¼*C1+¼*C2. Поэтому, норма C0' равна квадратному корню {(2/4)*(2/4)+(¼)*(¼)+(¼)*(¼)}=квадратному корню (6/16=0,375), =0,375). Квадратный корень 0,375 примерно равен 0,6.

[159] Если преобразование не нормализовано, динамический диапазон каждого компонента становится нерегулярным, что может вызвать ухудшение характеристик кодирования в обычной системе сжатия видео. Чтобы компенсировать изменение в динамическом диапазоне остаточного сигнала, может быть использован способ коррекции QP путем передачи значения смещения QP для компенсации изменения в динамическом диапазоне для каждого компонента преобразования. Поэтому, один вариант осуществления настоящего документа фокусируется на совместном CbCr, а также общем способе управления коррекцией QP для преобразования ACT. В способе совместного CbCr, изменение в динамическом диапазоне может возникать между соответствующими цветовыми компонентами, так как каждый цветовой компонент кодируется совместно, а не независимо.

[160] При рассмотрении способа совместного кодирования CbCr, режим совместного кодирования для остатков цветности поддерживается в VVC, что может упоминаться как режим совместного кодирования цветности или режим совместного CbCr. Использование (включение) режима совместного кодирования цветности может быть указано флагом уровня TU_joint_cbcr_residual_flag, и выбранный режим может быть указан неявно посредством CBF цветности. Когда один или оба из CBF цветности для TU равен или равны 1, флаг tu_joint_cbcr_residual_flag может присутствовать. В PPS и заголовке вырезки, значение смещения QP цветности может сигнализироваться для режима совместного кодирования остатка цветности, чтобы отличить его от обычного значения смещения QP цветности, сигнализируемого для нормального режима кодирования остатка цветности. Это значение смещения QP цветности может быть использовано, чтобы выводить значение QP цветности для блока, кодируемого с использованием режима совместного кодирования остатка цветности. Когда соответствующий режим совместного кодирования цветности (режим 2 Таблицы 11) включен в TU, это смещение QP цветности может быть добавлено к выведенному на основе яркости QP цветности, применяемому во время квантования и декодирования соответствующей TU. Для других режимов (режимы 1 и 3 в Таблице 11), QP цветности может выводиться таким же путем, как в случае обычного блока Cb или Cr. Процесс восстановления остатка цветности (resCb и resCr) в передаваемом блоке преобразования таков, как показано в Таблице 11. Когда этот режим включен, сигнализируется один единственный совместный остаточный блок цветности (resJointC [x][y] в Таблице 11), а остаточный блок для Cb (resCb) и остаточный блок для Cr (resCr) могут выводиться с учетом информации, такой как tu_cbf_cb, tu_cbf_cr и CSign, которые являются значениями со знаком, специфицированными в заголовке вырезки.

[161] Таблица 11 ниже представляет пример восстановления остатка цветности в соответствии с режимом совместного CbCr. Здесь, значение CSign является значением со знаком (+1 или -1), специфицированным в заголовке вырезки, и resJointC [][] является передаваемым остатком.

[162] [Таблица 11]

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] ) >> 1 resCr[x][y]=resJointC[x][y] 3

[163] На стороне кодера, совместный компонент цветности может выводиться, как показано в Таблице 12 ниже. В соответствии с режимом, раскрытым в Таблице 11, resJointC {1,2} может генерироваться кодером, как в алгоритме в Таблице 12 ниже.

[164] [Таблица 12]

Если режим равен 2 (одиночный остаток с восстановлением Cb=C, Cr=CSign * C), совместный остаток определяется в соответствии с resJointC[x][y]=(resCb[x][y] + CSign * resCr[x][y])/2.
Иначе, если режим равен 1 (одиночный остаток с восстановлением Cb=C, Cr=(CSign * C) / 2), совместный остаток определяется в соответствии с resJointC[x][y]=(4 * resCb[x][y] + 2 * CSign * resCr[x][y])/5.
Иначе (режим равен 3, т.е. одиночный остаток, восстановление Cr=C, Cb=(CSign * C)/2), совместный остаток определяется в соответствии с resJointC[x][y]=(4 * resCr[x][y] + 2 * CSign * resCb[x][y])/5.

[165] Три режима совместного кодирования цветности, описанные выше, поддерживаются только в I-вырезке, и только режим 2 поддерживается в P- и B-вырезках. Поэтому, в P- и B-вырезках, синтаксический элемент tu_joint_cbcr_residual_flag может существовать, только когда два cbf цветности равны 1. Глубина преобразования может быть устранена из моделирования контекста tu_cbf_luma и tu_cbf_cb.

[166] Коррекция смещения ACT QP в текущем VVC фиксирована на -5 и является той же самой для компонентов Y, Cg, Co и совместного CbCr. Вариант осуществления настоящего документа допускает различные значения смещения ACT QP для Y, Cb, Cr и/или совместного CbCr, чтобы обеспечить гибкость в управлении QP каждого компонента и совместного CbCr. Значение смещения ACT QP может варьироваться в зависимости от того, имеет ли место совместное CbCr, и/или индекса компонента и/или режима совместного CbCr.

[167] В одном варианте осуществления, с использованием переменных ppsActQpOffsetY, ppsActQpOffsetCb и ppsActQpOffsetCr, выведенных на основе информации о смещении ACT QP, как описано выше, может указываться смещение ACT QP для Y, Cb и Cr, и переменная ppsActQpOffsetCbCr может быть использована для смещения ACT QP или режима 2 совместного CbCr (т.е. имеется ненулевой cbf в обоих компонентах cb и cr). Значения переменных могут быть определены или могут сигнализироваться из битового потока. Может иметься несколько вариаций в смещении ACT QP режима совместного CbCr.

[168] В примере, смещение ACT QP режима 2 совместного CbCr может иметь свое собственное значение смещения. Для других режимов совместного CbCr, может использоваться смещение ACT QP соответствующего компонента. В этом случае, алгоритм может быть реализован, как показано в Таблице 13 ниже.

[169] [Таблица 13]

Параметр квантования qP выводится следующим образом:
- Если cIdx равно 0, применяется следующее:
qP=Qp′Y
ActQpOffset=ppsActQpOffsetY
- Иначе, если TuCResMode[xTbY][yTbY] равно 2, применяется следующее:
qP=Qp′CbCr
ActQpOffset=ppsActQpOffsetCbCr
- Иначе, если cIdx равно 1, применяется следующее:
qP=Qp′Cb
ActQpOffset=ppsActQpOffsetCb
- Иначе (cIdx равно 2), применяется следующее:
qP=Qp′Cr
ActQpOffset=ppsActQpOffsetCr
Параметр квантования qP модифицируется следующим образом:
- Если transform_skip_flag[xTbY][yTbY][cIdx] равно 0, применяется следующее:
qP=Clip3(0, 63+ QpBdOffset, qP + (cu_act_enabled_flag[xTbY][yTbY] ?
ActQpOffset : 0))
- Иначе, если transform_skip_flag[xTbY][yTbY][cIdx] равно 1, применяется следующее:
qP=Clip3(QpPrimeTsMin, 63+ QpBdOffset, qP+cu_act_enabled_flag[xTbY][yTbY] ? ActQpOffset : 0)

[170] В другом примере, для режима совместного CbCr с tu_cbf_cb!=0 (т.е. режимы 1 и 2), может использоваться ppsActQpOffsetCb, и для режима совместного CbCr с tu_cbf_cb==0 (т.е. режим 3), может использоваться ppsActQpOffsetCr. В этом случае, алгоритм может быть реализован, как показано в Таблице 14 ниже.

[171] [Таблица 14]

Параметр квантования qP выводится следующим образом:
- Если cIdx равно 0, применяется следующее:
qP=Qp′Y
ActQpOffset=ppsActQpOffsetY
- Иначе, если TuCResMode[xTbY][yTbY] равно 2, применяется следующее:
qP=Qp′CbCr
- Иначе, если cIdx равно 1, применяется следующее:
qP=Qp′Cb
ActQpOffset=ppsActQpOffsetCb
- Иначе (cIdx равно 2), применяется следующее:
qP=Qp′Cr
ActQpOffset=ppsActQpOffsetCr
ActQpOffset в режиме совместного CbCr выводится следующим образом
Если cIdx не равно 0 и TuCResMode[xTbY][yTbY] не равно 0, применяется следующее:
- если TuCResMode[xTbY][yTbY] равно 1 или 2
ActQpOffset= ppsActQpOffsetCb
- Иначе
ActQpOffset= ppsActQpOffsetCr
Параметр квантования qP модифицируется следующим образом:
- Если transform_skip_flag[xTbY][yTbY][cIdx] равно 0, применяется следующее:
qP=Clip3(0, 63+ QpBdOffset, qP + (cu_act_enabled_flag[xTbY][yTbY] ?
ActQpOffset : 0 ))
- Иначе, если transform_skip_flag[xTbY][yTbY][cIdx] равно 1, применяется следующее:
qP=Clip3(QpPrimeTsMin, 63+ QpBdOffset, qP+cu_act_enabled_flag[xTbY][yTbY] ? ActQpOffset : 0 )

[172] В другом примере, независимо от режима совместного CbCr, если индексом компонента является Y, может использоваться ppsActQpOffsetY; если индексом компонента является Cb, может использоваться ppsActQpOffsetCb; и если индексом компонента является Cr, может использоваться ppsActQpOffsetCr. В этом случае, алгоритм может быть реализован, как показано в Таблице 15 ниже.

[173] [Таблица 15]

Параметр квантования qP выводится следующим образом:
- Если cIdx равно 0, применяется следующее:
qP=Qp′Y
ActQpOffset=ppsActQpOffsetY
- Иначе, если TuCResMode[xTbY][yTbY] равно 2, применяется следующее:
qP=Qp′CbCr
ActQpOffset=(cIdx==1)? ppsActQpOffsetCb: ppsActQpOffsetCr
- Иначе, если cIdx равно 1, применяется следующее:
qP=Qp′Cb
ActQpOffset=ppsActQpOffsetCb
- Иначе (cIdx равно 2), применяется следующее:
qP=Qp′Cr
ActQpOffset=ppsActQpOffsetCr
Параметр квантования qP модифицируется следующим образом:
- Если transform_skip_flag[xTbY][yTbY][cIdx] равно 0, применяется следующее:
qP=Clip3(0, 63+ QpBdOffset, qP + (cu_act_enabled_flag[xTbY][yTbY] ?
ActQpOffset : 0 ))
- Иначе, если transform_skip_flag[xTbY][yTbY][cIdx] равно 1, применяется следующее:
qP=Clip3(QpPrimeTsMin, 63+ QpBdOffset, qP+cu_act_enabled_flag[xTbY][yTbY] ? ActQpOffset : 0)

[174] Между тем, в варианте осуществления настоящего раскрытия, это может сигнализироваться через битовый поток для обеспечения большей гибкости для смещения ACT QP. С этой целью, информация о смещении ACT QP может быть помещена в соответствующий заголовок и может сигнализироваться. Например, она может сигнализироваться через SPS, PPS, заголовок картинки, заголовок вырезки и/или другие наборы заголовка. Смещение ACT QP совместного CbCr может сигнализироваться индивидуально или выводиться из смещения ACT QP для Y, Cb, Cr.

[175] В качестве примера, смещение ACT QP может сигнализироваться в PPS без потери общности и может сигнализироваться, как в таблице синтаксиса Таблицы 16 ниже. В примере Таблицы 16, одно смещение ACT QP может сигнализироваться для совместного CbCr.

[176] Следующая Таблица 16 является примером таблицы синтаксиса, сигнализирующей информацию, относящуюся к смещению ACT QP, в PPS, и следующая Таблица 17 представляет семантику для синтаксических элементов, включенных в таблицу синтаксиса Таблицы 16.

[177] [Таблица 16]

[178] [Таблица 17]

pps_act_qp_offsets_present_flag, равный 1, специфицирует, что 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. Pps_act_qp_offsets_present_flag, равный 0, специфицирует, что 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 RBSP. Когда sps_act_enabled_flag равен 0, значение pps_act_qp_offsets_present_flag должно быть равно 0.
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, соответственно, когда cu_act_enabled_flag равен 1. Когда не присутствуют, значения 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.
Переменная PpsActQpOffsetY установлена равной pps_act_y_qp_offset_plusX1 - X1.
Переменная PpsActQpOffsetCb установлена равной pps_act_cb_qp_offset_plusX2 -X2.
Переменная PpsActQpOffsetCr установлена равной pps_act_cr_qp_offset_plusX3 - X3.
Переменная PpsActQpOffsetCbCr установлена равной pps_act_cbcr_qp_offset_plusX4 - X4.
Примечание. X1,X2, X3 и X4 выше обозначают некоторые постоянные значения.
Соответствие битового потока требует, чтобы значения PpsActQpOffsetY, PpsActQpOffsetCb и PpsActQpOffsetCr, PpsActQpOffsetCbCr были в диапазоне от −12 до +12, включительно.

[179] Со ссылкой на Таблицы 16 и 17 выше, синтаксический элемент pps_act_qp_offsets_present_flag может синтаксически анализироваться/сигнализироваться в PPS. Здесь, pps_act_qp_offsets_present_flag может быть информацией, указывающей, существует ли информация, относящаяся к смещению ACT QP, в PPS. Например, когда значение pps_act_qp_offsets_present_flag равно 1, это может указывать, что информация, относящаяся к смещению ACT QP, присутствует в PPS, а когда значение pps_act_qp_offsets_present_flag равно 0, это может указывать, что информация, относящаяся к смещению ACT QP, не присутствует в PPS.

[180] Например, когда значение pps_act_qp_offsets_present_flag равно 1, информация, относящаяся к смещению ACT QP, может синтаксически анализироваться/сигнализироваться в PPS. Здесь, информация, относящаяся к смещению ACT QP, может включать в себя синтаксические элементы pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, pps_act_cr_qp_offset_plusX3 и pps_act_cbcr_qp_offset_plusX4.

[181] 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. Как показано в Таблице 17, значение смещения ACT QP (например, PpsActQpOffsetY, PpsActQpOffsetCb, PpsActQpOffsetCr, PpsActQpOffsetCbCr) может быть выведено на основе информации, относящейся к смещению ACT QP, сигнализируемой в PPS (например, pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, pps_act_cr_qp_offset_plusX3, pps_act_cbcr_qp_offset_plusX4). На основе значения смещения ACT QP, выведенного, как описано выше, значения параметра квантования qP для компонентов яркости, Cb, Cr и совместного CbCr могут выводиться, как в алгоритме Таблицы 18 ниже.

[182] [Таблица 18]

Параметр квантования qP выводится следующим образом:
- Если cIdx равно 0, применяется следующее:
qP=Qp′Y
ActQpOffset=PpsActQpOffsetY
- Иначе, если TuCResMode[xTbY][yTbY] равно 2, применяется следующее:
qP=Qp′CbCr
ActQpOffset=PpsActQpOffsetCbCr
- Иначе, если cIdx равно 1, применяется следующее:
qP=Qp′Cb
ActQpOffset=PpsActQpOffsetCb
- Иначе (cIdx равно 2), применяется следующее:
qP=Qp′Cr
ActQpOffset=PpsActQpOffsetCr

[183] Альтернативно, в качестве другого примера, при сигнализации смещения ACT QP, множество смещений ACT QP может сигнализироваться для других режимов совместного CbCr, упоминаемых как режим A и режим B. Режим А совместного CbCr является режимом 1 и режимом 2 в Таблице 11 выше и может указывать режим совместного CbCr, в котором tu_cbf_cb не равно 0. Режим В совместного CbCr является режимом 3 в Таблице 11 выше и может указывать режим совместного CbCr, в котором tu_cbf_cb равно 0.

[184] Следующая Таблица 19 является примером таблицы синтаксиса для сигнализации информации, относящейся к множеству смещений ACT QP, в соответствии с режимом совместного CbCr в PPS, и следующая Таблица 20 представляет семантику для синтаксических элементов, включенных в таблицу синтаксиса Таблицы 19.

[185] [Таблица 19]

[186] [Таблица 20]

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, соответственно, когда cu_act_enabled_flag равен 1. Когда не присутствуют, значения 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.
Переменная PpsActQpOffsetY установлена равной pps_act_y_qp_offset_plusX1 - X1.
Переменная PpsActQpOffsetCb установлена равной pps_act_cb_qp_offset_plusX2 -X2.
Переменная PpsActQpOffsetCr установлена равной pps_act_cr_qp_offset_plusX3 - X3.
Переменная PpsActQpOffsetCbCrModeA установлена равной pps_act_cbcr_qp_offset_modeA_plusX4 - X4.
Переменная PpsActQpOffsetCbCrModeB установлена равной pps_act_cbcr_qp_offset_modeB_plusX5 - X5.
Примечание. X1, X2, X3, X4, X5 выше обозначают некоторые постоянные значения.
Соответствие битового потока требует, чтобы значения PpsActQpOffsetY, PpsActQpOffsetCb и PpsActQpOffsetCr, PpsActQpOffsetCbCModeA, PpsActQpOffsetCbCrModeB были в диапазоне от −12 до +12, включительно.

[187] Со ссылкой на Таблицы 19 и 20 выше, синтаксический элемент pps_act_qp_offsets_present_flag может синтаксически анализироваться/сигнализироваться в PPS. Здесь, pps_act_qp_offsets_present_flag может быть информацией, указывающей, существует ли информация, относящаяся к смещению ACT QP, в PPS. Например, когда значение pps_act_qp_offsets_present_flag равно 1, это может указывать, что информация, относящаяся к смещению ACT QP, присутствует в PPS, а когда значение pps_act_qp_offsets_present_flag равно 0, это может указывать, что информация, относящаяся к смещению ACT QP, не присутствует в PPS.

[188] Например, когда значение pps_act_qp_offsets_present_flag равно 1, информация, относящаяся к смещению ACT QP, может синтаксически анализироваться/сигнализироваться в PPS. Здесь, информация, относящаяся к смещению ACT QP, может включать в себя синтаксические элементы 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. 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. Как показано в Таблице 20, значение смещения ACT QP (например, PpsActQpOffsetY, PpsActQpOffsetCb, PpsActQpOffsetCr, PpsActQpOffsetCbCrModeA, PpsActQpOffsetCbCrModeB) может быть выведено на основе информации, относящейся к смещению ACT QP, сигнализируемой в PPS (например, 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). На основе значения смещения ACT QP, выведенного, как описано выше, значения параметра квантования qP для компонентов яркости, Cb, Cr и совместного CbCr могут выводиться, как в алгоритме Таблицы 21 ниже.

[189] [Таблица 21]

Параметр квантования qP выводится следующим образом:
- Если cIdx равно 0, применяется следующее:
qP=Qp′Y
ActQpOffset=PpsActQpOffsetY
- Иначе, если TuCResMode[xTbY][yTbY] равно 2, применяется следующее:
qP=Qp′CbCr
- Иначе, если cIdx равно 1, применяется следующее:
qP=Qp′Cb
ActQpOffset=PpsActQpOffsetCb
- Иначе (cIdx равно 2), применяется следующее:
qP=Qp′Cr
ActQpOffset=PpsActQpOffsetCr
Если cIdx не равно 0 и TuCResMode[xTbY][yTbY] не равно 0, применяется следующее:
- ActQpOffset=(tu_cbf_cb[xTbY][yTbY])? PpsActQpOffsetCbCrModeA: PpsActQpOffsetCbCrModeB

[190] Альтернативно, в качестве другого примера, при сигнализации смещения ACT QP, только смещение ACT QP для Y, Cb и Cr может сигнализироваться. В этом случае, смещение ACT QP для совместного CbCr может быть выведено на основе PpsActQpOffsetY, PpsActQpOffsetCb и/или PpsActQpOffsetCr. Например, смещение ACT QP для совместного CbCr может быть установлено равным PpsActQpOffsetCb. Альтернативно, например, когда режимом совместного CbCr является tu_cbf_cb!=0 (т.е. режим 1 и режим 2), смещение ACT QP для совместного CbCr может быть установлено как PpsActQpOffsetCb, а когда режимом совместного CbCr является tu_cbf_cb==0 (т.е. режим 0), смещение ACT QP для совместного CbCr может быть установлено как PpsActQpOffsetCr.

[191] Таблица 22 ниже представляет пример таблицы синтаксиса для сигнализации только информации, относящейся к смещениям ACT QP для Y, Cb и Cr в PPS.

[192] [Таблица 22]

[193] Со ссылкой на Таблицу 22 выше, синтаксический элемент pps_act_qp_offsets_present_flag может синтаксически анализироваться/сигнализироваться в PPS. Здесь, pps_act_qp_offsets_present_flag может быть информацией, указывающей, существует ли информация, относящаяся к смещению ACT QP, в PPS. Например, когда значение pps_act_qp_offsets_present_flag равно 1, это может указывать, что информация, относящаяся к смещению ACT QP, присутствует в PPS, а когда значение pps_act_qp_offsets_present_flag равно 0, это может указывать, что информация, относящаяся к смещению ACT QP, не присутствует в PPS.

[194] Например, когда значение pps_act_qp_offsets_present_flag равно 1, информация, относящаяся к смещению ACT QP, может синтаксически анализироваться/сигнализироваться в PPS. Здесь, информация, относящаяся к смещению ACT QP, может включать в себя синтаксические элементы pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2 и pps_act_cr_qp_offset_plusX3. pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2 и pps_act_cr_qp_offset_plusX3 могут быть использованы для определения смещения, применяемого к значению параметра квантования qP для компонентов яркости, Cb, Cr и совместного CbCr. Как показано в Таблице 22, значение смещения ACT QP (например, PpsActQpOffsetY, PpsActQpOffsetCb, PpsActQpOffsetCr) может быть выведено на основе информации, относящейся к смещению ACT QP, сигнализируемой в PPS (например, pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, pps_act_cr_qp_offset_plusX3). На основе значения смещения ACT QP, выведенного, как описано выше, значения параметра квантования qP для компонентов яркости, Cb, Cr и совместного CbCr могут выводиться, как в алгоритме Таблицы 23 ниже.

[195] [Таблица 23]

Параметр квантования qP выводится следующим образом:
- Если cIdx равно 0, применяется следующее:
qP=Qp′Y
ActQpOffset=PpsActQpOffsetY
- Иначе, если TuCResMode[xTbY][yTbY] равно 2, применяется следующее:
qP=Qp′CbCr
ActQpOffset=(cIdx==1)? PpsActQpOffsetCb: PpsActQpOffsetCr
- Иначе, если cIdx равно 1, применяется следующее:
qP=Qp′Cb
ActQpOffset=PpsActQpOffsetCb
- Иначе (cIdx равно 2), применяется следующее:
qP=Qp′Cr
ActQpOffset=PpsActQpOffsetCr

[196] Между тем, вариант осуществления настоящего документа предлагает, что смещение ACT QP сигнализируется на множестве уровней. Как описано выше, смещение ACT QP может сигнализироваться на одном уровне, таком как PPS, и смещение ACT QP может сигнализироваться на более низком уровне, таком как заголовок вырезки, заголовок картинки или другой подходящий заголовок, чтобы обеспечить возможность более точного управления QP.

[197] В одном варианте осуществления, информация, относящаяся к ACT QP, может сигнализироваться посредством множества уровней (т.е. PPS и заголовка вырезки) и может сигнализироваться, как в таблице синтаксиса Таблиц 24 и 25 ниже. В этом варианте осуществления, заголовок вырезки предложен в качестве примера более низкого уровня, однако это только пример, и информация, относящаяся к ACT QP, может сигнализироваться посредством заголовка картинки (PH) или другого заголовка аналогичным образом.

[198] [Таблица 24]

[199] [Таблица 25]

[200] Таблица 26 ниже представляет семантику синтаксических элементов, включенных в таблицы синтаксиса Таблиц 24 и 25.

[201] [Таблица 26]

pps_slice_act_qp_offsets_present_flag, равный 1, специфицирует, что slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset и slice_act_cbcr_qp_offset присутствуют в заголовке вырезки. pps_slice_act_qp_offsets_present_flag, равный 0, специфицирует, что slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset не присутствуют в заголовке вырезки.
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 считаются равными 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, включительно.

[202] Со ссылкой на Таблицы 24-26, синтаксический элемент pps_act_qp_offsets_present_flag может синтаксически анализироваться/сигнализироваться на более высоком уровне (например, PPS). Здесь, pps_act_qp_offsets_present_flag может быть информацией, указывающей присутствует ли информация, относящаяся к смещению ACT QP, на более низком уровне (например, в заголовке вырезки). Например, когда значение pps_act_qp_offsets_present_flag равно 1, это может указывать, что информация, относящаяся к смещению ACT QP, присутствует на более низком уровне (например, в заголовке вырезки), а когда значение pps_act_qp_offsets_present_flag равно 0, это может указывать, что информация, относящаяся к смещению ACT QP, не присутствует на более низком уровне (например, в заголовке вырезки).

[203] На основе pps_act_qp_offsets_present_flag, сигнализируемого на более высоком уровне (например, PPS), информация, относящаяся к смещению ACT QP, может синтаксически анализироваться/сигнализироваться на более низком уровне (например, в заголовке вырезки). Здесь, информация, относящаяся к смещению ACT QP, может включать в себя синтаксические элементы slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset и slice_act_cbcr_qp_offset.

[204] Дополнительно, при сигнализации информации, относящейся к ACT QP, посредством множества уровней, способ выведения смещения ACT QP для совместного CbCr на основе смещения ACT QP (ACTQpOffset) Y, Cb, Cr и/или режима совместного CbCr может применяться без 1) сигнализации одного смещения ACT QP для совместного CbCr или 2) сигнализации множества смещений ACT QP для других режимов совместного CbCr или 3) сигнализации смещения ACT QP для совместного CbCr, как в вышеописанных вариантах осуществления. Например, как показано в Таблице 24 выше, pps_act_qp_offsets_present_flag может сигнализироваться в PPS, и информация, относящаяся к смещению ACT QP, может сигнализироваться в заголовке вырезки на основе pps_act_qp_offsets_present_flag.

[205] Следующая Таблица 27 является таблицей синтаксиса, представляющей пример сигнализации множества смещений ACT QP в заголовке вырезки для вышеописанных 2) других режимов совместного CbCr, и следующая Таблица 28 является таблицей синтаксиса, представляющей пример способа выведения смещения ACT QP для совместного CbCr на основе смещения ACT QP (ACTQpOffset) для Y, Cb, Cr и/или режима совместного CbCr без 3) сигнализации смещения ACT QP для совместного CbCr, как описано выше.

[206] [Таблица 27]

[207] [Таблица 28]

[208] В Таблице 28 выше, сигнализируются только смещения ACT QP для Y, Cb и Cr, а смещение ACT QP на уровне вырезки для совместного CbCr может быть выведено на основе slice_act_y_qp_offset, slice_act_cb_qp_offset и/или slice_act_cr_qp_offset. Дополнительно, это может также варьироваться в зависимости от типа режима совместного CbCr. Например, смещение ACT QP (QpOffset) на уровне вырезки для CbCr может быть установлено равным slice_act_cb_qp_offset. Альтернативно, например, когда режимом совместного CbCr является tu_cbf_cb!=0 (т.е. режим 1 и режим 2), смещение ACT QP на уровне вырезки для совместного CbCr может быть установлено как slice_act_cb_qp_offset, а когда режимом совместного CbCr является tu_cbf_cb==0 (т.е. режим 0), смещение ACT QP на уровне вырезки для совместного CbCr может быть установлено как slice_act_cr_qp_offset.

[209] Также, в варианте осуществления, при сигнализации информации, относящейся к ACT QP, посредством множества уровней, один из заголовка вырезки или заголовка картинки может сигнализировать информацию, относящуюся к ACT QP. Этот способ может применяться следующим образом.

[210] - Флаг (например, упоминаемый как pps_picture_slice_act_qp_offsets_present_flag) может сигнализироваться в PPS, и pps_picture_slice_act_qp_offsets_present_flag может указывать, может ли смещение ACT QP присутствовать либо в заголовке картинки, либо в заголовке вырезки.

[211] - Когда ACT включено и pps_picture_slice_act_qp_offsets_present_flag равен 1, флаг (например, упоминаемый как pic_act_qp_offsets_present_flag) может сигнализироваться в заголовке картинки. pic_act_qp_offsets_present_flag может указывать, присутствует ли смещение ACT QP в заголовке картинки. Когда значение pic_act_qp_offsets_present_flag равно 1, смещения ACT QP для всех вырезок картинки, ассоциированных с заголовком картинки, могут присутствовать в заголовке картинки.

[212] - Когда ACT включено и pps_picture_slice_act_qp_offsets_present_flag равен 1 и pic_act_qp_offsets_present_flag равен 0, смещение ACT QP для вырезки может присутствовать в заголовке вырезки.

[213] Способ сигнализации информации, относящейся к ACT QP, в одном из заголовка вырезки или заголовка картинки вместе с сигнализацией на более высоком уровне (например, PPS), как описано выше, может быть реализован, как таблицы синтаксиса Таблиц 29-31 ниже.

[214] [Таблица 29]

[215] [Таблица 30]

[216] [Таблица 31]

[217] Следующая Таблица 32 представляет семантику синтаксических элементов, включенных в таблицу синтаксиса Таблицы 29; следующая Таблица 33 представляет семантику синтаксических элементов, включенных в таблицу синтаксиса Таблицы 30; и следующая Таблица 34 представляет семантику синтаксических элементов, включенных в таблицу синтаксиса Таблицы 31.

[218] [Таблица 32]

pps_pic_slice_act_qp_offsets_present_flag, равный 1, специфицирует, что смещения ACT Qp могут присутствовать либо в заголовке картинки, либо в заголовке вырезки. pps_pic_slice_act_qp_offsets_present_flag, равный 0, специфицирует, что смещения ACT Qp не присутствуют ни в заголовке картинки, ни в заголовке вырезки. Когда не присутствует, значение of pps_pic_slice_act_qp_offsets_present_flag считается равным 0.

[219] [Таблица 33]

pic_act_qp_offsets_present_flag, равный 1, специфицирует, что смещения ACT Qp присутствуют в заголовке картинки. pic_act_qp_offsets_present_flag, равный 0, специфицирует, что смещения ACT Qp не присутствуют в заголовке картинки, но могут присутствовать в заголовке вырезки. Когда не присутствуют, значение pic_act_qp_offsets_present_flag считается равным 0.

[220] [Таблица 34]

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 должно быть в диапазоне от −12 до +12, включительно. Значение PpsActQpOffsetCb+slice_act_cb_qp_offset должно быть в диапазоне от −12 до +12, включительно. Значение PpsActQpOffsetCr+slice_act_cr_qp_offset должно быть в диапазоне от −12 до +12, включительно.
Когда не присутствуют, применяется следующее:
- Если 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.
- Иначе (т.е. pic_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, соответственно.

[221] Кроме того, в одном варианте осуществления, когда смещение ACT QP присутствует в заголовке вырезки или заголовке картинки, окончательное смещение, используемое для выведения значения qP, может быть смещением, выводимым путем суммирования смещений, сигнализируемых в PPS и заголовке вырезки/заголовке картинки. В этом случае, окончательное смещение (ActQpOffset), используемое для выведения значения qP, может выводиться, как в алгоритмах Таблиц 35-37 ниже.

[222] [Таблица 35]

Параметр квантования qP выводится следующим образом:
- Если cIdx равно 0, применяется следующее:
qP=Qp′Y
ActQpOffset=PPsQpOffsetY+slice_act_y_qp_offset
- Иначе, если TuCResMode[ xTbY ][ yTbY ] равно 2, применяется следующее:
qP=Qp′CbCr
ActQpOffset=PPsQpOffsetCbCr+slice_act_CbCr_qp_offset
- Иначе, если cIdx равно 1, применяется следующее:
qP=Qp′Cb
ActQpOffset=PpsActQpOffsetCb+slice_act_Cb_qp_offset
- Иначе (cIdx равно 2), применяется следующее:
qP=Qp′Cr
ActQpOffset=PpsActQpOffsetCr+slice_act_Cr_qp_offset

[223] Альтернативно, в примере, когда сигнализируется множество смещений ACT QP для режима совместного CbCr, смещения ACT QP (ActQpOffset) для совместного CbCr могут быть установлены, как в алгоритме Таблицы 36 ниже.

[224] [Таблица 36]

- Если cIdx равно 0, применяется следующее:
qP=Qp′Y
ActQpOffset=PPsQpOffsetY+slice_act_y_qp_offset
- Иначе, если TuCResMode[xTbY][yTbY] равно 2, применяется следующее:
qP=Qp′CbCr
- Иначе, если cIdx равно 1, применяется следующее:
qP=Qp′Cb
ActQpOffset=PpsActQpOffsetCb+slice_act_Cb_qp_offset
- Иначе (cIdx равно 2), применяется следующее:
qP=Qp′Cr
ActQpOffset=PpsActQpOffsetCr+slice_act_Cr_qp_offset
Если cIdx не равно 0 and TuCResMode[xTbY][yTbY] не равно 0, применяется следующее:
ActQpOffset=(tu_cbf_cb[xTbY][yTbY])? (PPsQpOffsetCbCrModeA+ slice_act_CbCr_qp_offset_ModeA): (PPsQpOffsetCbCrModeB+slice_act_CbCr_qp_offset_ModeB)

[225] Также, в одном варианте осуществления, когда не имеется смещений ACT QP для совместного CbCr и смещение ACT QP для совместного CbCr выводится с использованием смещения ACT QP для компонентов Y, Cb и/или Cr, смещение ACT QP (ActQpOffset) для режима совместного CbCr может быть установлено, как в алгоритме Таблицы 37 ниже.

[226] [Таблица 37]

- Иначе, если TuCResMode[xTbY][yTbY] равно 2, применяется следующее:
qP=Qp′CbCr
ActQpOffset=(cIdx==1])? (PPsQpOffsetCb+slice_act_Cb_qp_offset): (PPsQpOffsetCr+slice_act_Cr_qp_offset)

[227] Между тем, вариант осуществления настоящего документа предлагает способ с наличием списка смещений ACT QP. Этот способ может применяться следующим образом.

[228] a) Множество наборов смещений ACT QP может сигнализироваться как список в наборе параметров (например, SPS или PPS). Каждый набор в списке может включать в себя смещения ACT QP для компонентов Y, Cb, Cr и совместного CbCr.

[229] - Для простоты, список смещений ACT QP может сигнализироваться в том же наборе параметров, что и сигнализация списка смещения QP цветности.

[230] b) Число наборов смещений ACT QP в списке может быть тем же самым, что и число наборов смещений QP цветности, сигнализируемых в PPS.

[231] c) При выводе qP для каждой CU, используемое смещение ACT QP может быть смещением, указанным индексом (т.е. cu_chroma_qp_offset_idx) на смещение QP цветности CU в списке.

[232] d) Альтернативно, следующее может применяться для пунктов b) и c).

[233] - Может сигнализироваться число наборов смещений ACT QP в списке, которое может быть отличным от числа наборов смещений QP цветности.

[234] - Когда ACT включено, может сигнализироваться индекс для указания индекса смещения AQT QP, используемого для CU.

[235] В качестве примера, вышеописанный способ с использованием списка смещений ACT QP может быть реализован, как в таблице синтаксиса Таблицы 38 ниже.

[236] [Таблица 38]

[237] Таблица 39 ниже представляет семантику синтаксических элементов, включенных в таблицы синтаксиса Таблицы 38.

[238] [Таблица 39]

pps_act_y_qp_offset, pps_act_cb_qp_offset, pps_act_cr_qp_offset и pps_act_cbcr_qp_offset используются для определения смещений, которые применяются к значениям параметра квантования qP для компонентов яркости, Cb, Cr и совместного CbCr, соответственно, когда cu_act_enabled_flag равен 1. Когда не присутствуют, значения pps_act_y_qp_offset, pps_act_cb_qp_offset и pps_act_cr_qp_offset, and pps_act_cbcr_qp_offset считаются равными 0.
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, соответственно, когда 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] считаются равными 0.

[239] Кроме того, следующая Таблица 40 представляет пример алгоритма для выведения окончательного смещения (ActQpOffset), используемого для выведения значения qP для каждого компонента на основе синтаксических элементов, относящихся к смещению ACT QP, сигнализируемых в Таблице 39 выше.

[240] [Таблица 40]

Параметр квантования qP выводится следующим образом:
- Если cIdx равно 0, применяется следующее:
qP=Qp′Y
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=Qp′CbCr
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
- Иначе, если cIdx равно 1, применяется следующее:
qP=Qp′Cb
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=Qp′Cr
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

[241] Между тем, в одном варианте осуществления настоящего документа, предложено, что ACT использует обратимое цветовое преобразование для поддержки кодирования, как без потерь, так и с потерями. Это обратимое цветовое преобразование может заменять обычное цветовое преобразование с потерями в текущем VVC. Смещение ACT QP может также корректироваться, чтобы соответствовать цветовому преобразованию. В качестве примера, обратимое цветовое преобразование может быть таким, как в Таблице 41 ниже.

[242] [Таблица 41]

Прямое преобразование: из GBR к YCgCo Обратное преобразование: из YCgCo в GBR Co=R-B;
t=B + (Co>>1);
Cg=G - t;
Y=t + (Cg>>1);
t=Y - (Cg>>1)
G=Cg+t
B=t - (Co>>1)
R=Co+B

[243] Преобразование представляет собой обратимое (поддержка полного восстановления) цветовое преобразование YCgCo-R, где R представляет обратимость. Это преобразование YCgCo-R увеличивает битовые глубины Cg и Co на 1. Другие типы обратимого преобразования также могут использоваться.

[244] Поскольку обратимое цветовое преобразование может иметь иной стандарт, чем стандарт обычного цветового преобразования YCgCo в VVC, смещения ACT QP для Y, Cg и Co должны корректироваться, чтобы компенсировать изменение в динамическом диапазоне вследствие цветового преобразования. В текущем VVC, используются смещения ACT QP (-5, -5, -5) для Y, Cg и Co. Для обратимого преобразования может быть определено значение смещения ACT QP иное, чем (-5, -5, -5). Например, в преобразовании YCgCo-R, могут использоваться смещения ACT QP (-5, 1, 3) для Y, Cg и Co. Альтернативно, смещение ACT QP может сигнализироваться, как в вариантах осуществления, описанных в Таблицах 16-36. В частности, когда вышеописанное преобразование YCgCo-R использует смещение ACT QP (-5, 1, 3) совместно, сообщалось, что не наблюдалось потерь кодирования в среде кодирования с потерями (QP 22,27,32,37), как показано в Таблице 42 ниже. Кроме того, ACT может быть использовано для кодирования без потерь, которое может получать характеристику кодирования 5% или более.

[245] [Таблица 42]

Последовательность 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%

[246] Таблица 43 ниже представляет часть спецификации VVC, включающую матрицу унифицированного ACT и модифицированную для реализации вышеописанного варианта осуществления.

[247] [Таблица 43]

Процесс модификации остатка для блоков с использованием преобразования цветового пространства
Входами в этот процесс являются:
- переменная nTbW, специфицирующая ширину блока,
- переменная nTbH, специфицирующая высоту блока,
- массив (nTbW)x(nTbH) остаточных выборок яркости rY с элементами rY[x][y],
- массив (nTbW)x(nTbH) остаточных выборок цветности rCb с элементами rCb[x][y],
- массив (nTbW)x(nTbH) остаточных выборок цветности rCr с элементами rCr[x][y].
Выходами этого процесса являются:
- модифицированный массив (nTbW)x(nTbH) остаточных выборок яркости rY,
- модифицированный массив (nTbW)x(nTbH) остаточных выборок цветности rCb,
- модифицированный массив (nTbW)x(nTbH) остаточных выборок цветности rCr.
Массивы (nTbW)x(nTbH) остаточных выборок rY, rCb и rCr модифицируются следующим образом:
tmp=rY[x][y] - (rCb[x][y] >>1)
rY[x][y]=tmp+rCb[x][y]
rCb[x][y]=tmp - (rCr[x][y] >>1)
rCr[x][y]=rCb[x][y] + rCr[x][y]

[248] Между тем, вариант осуществления настоящего документа предлагает способ для разрешения использования одного или более цветовых преобразований в ACT. Цветовое преобразование, подлежащее использованию, может варьироваться в соответствии с флагом(ами), сигнализируемым посредством битового потока. Флаг(и) может сигнализироваться на множестве уровней гранулярности, включая SPS, PPS, заголовок картинки и вырезки.

[249] В примере, флаг может сигнализироваться, чтобы указывать, какое ACT должно применяться. Например, когда флаг равен 1, может применяться ACT на основе обратимого цветового преобразования. Когда флаг равен 0, может применяться ACT на основе необратимого цветового преобразования.

[250] В другом примере, флаг, специфицирующий ACT, может сигнализироваться, чтобы указывать цветовое преобразование, подлежащее использованию. В этом случае, пример синтаксического элемента, сигнализируемого посредством SPS, может быть таким, как в Таблице 44 ниже.

[251] [Таблица 44]

[252] Таблица 45 ниже представляет семантику синтаксических элементов, включенных в таблицы синтаксиса Таблицы 44.

[253] [Таблица 45]

sps_act_ reversible _conversion, равный 1, специфицирует, что адаптивное цветовое преобразование (ACT) использует формулу обратимого преобразования, равный 0, специфицирует, что ACT использует формулу необратимого преобразования.
Переменная lossyCoding устанавливается как ( !sps_act_ reversible _conversion)

[254] Кроме того, на основе флага lossyCoding (например, sps_act_reversible_conversion), используемого для выведения значения для переменной lossyCoding в Таблице 45, декодер может выполнять обратное преобразование из YCgCo в GBR, что может быть реализовано псевдокодом, как в Таблице 46 и Таблице 47 ниже.

[255] [Таблица 46]

[256] [Таблица 47]

Процесс модификации остатка для блоков с использованием преобразования цветового пространства
Входами в этот процесс являются:
- переменная nTbW, специфицирующая ширину блока,
- переменная nTbH, специфицирующая высоту блока,
- массив (nTbW)x(nTbH) остаточных выборок яркости rY с элементами rY[x][y],
- массив (nTbW)x(nTbH) остаточных выборок цветности rCb с элементами rCb[x][y],
- массив (nTbW)x(nTbH) остаточных выборок цветности rCr с элементами rCr[x][y].
Выходами в этот процесс являются:
- модифицированный массив (nTbW)x(nTbH) rY остаточных выборок яркости,
- модифицированный массив (nTbW)x(nTbH) rCb остаточных выборок цветности,
- модифицированный массив (nTbW)x(nTbH) rCr остаточных выборок цветности.
Массивы (nTbW)x(nTbH) остаточных выборок rY, rCb и rCr модифицируются следующим образом:
- Если sps_act_ reversible _conversion равно 1, массивы (nTbW)x(nTbH) остаточных выборок rY, rCb and rCr модифицируются следующим образом
tmp=rY[x][y] - (rCb[x][y] >>1)
rY[x][y]=tmp+rCb[x][y]
rCb[x][y]=tmp - (rCr[x][y] >>1)
rCr[x][y]=rCb[x][y] + rCr[x][y]
- Иначе, массивы (nTbW)x(nTbH) остаточных выборок rY, rCb and rCr модифицируются следующим образом
tmp=rY[x][y] − rCb[x][y]
rY[x][y]=rY[x][y] + rCb[x][y]
rCb[x][y]=tmp − rCr[x][y]
rCr[x][y] =tmp+rCr[x][y]

[257] Между тем, имеются некоторые сходства между обратным преобразованием YCgCo и обратным преобразованием YCgCo-R. В обратимом преобразовании, когда Cg и Co заменяются на Cg'=Cg<<1 и Co'=Co<<1, оно становится тем же самым, что и обратное преобразование с потерями. Оно может выполняться, как в Таблице 48 ниже.

[258] [Таблица 48]

[259] Таким образом, в другом варианте осуществления, вместо поддержания двух цветовых преобразований, может использоваться только обратимое преобразование. Для кодирования с потерями, компоненты Cg, Co масштабируются на ½ на стороне кодера и масштабируются на 2 на стороне декодера. Преимущество этого состоит в том, что имеется только одно унифицированное преобразование случаев с потерями и без потерь, и битовая глубина сохраняется неизменной для кодирования с потерями.

[260] Таблица 49 ниже представляет пример обратного преобразования из YCgCo в GBR.

[261] [Таблица 49]

Обратное преобразование: из YCgCo в GBR If (lossyCoding)
{
Cg=Cg << 1;
Co=Co << 1;
}
t=Y - (Cg>>1)
G=Cg+t
B=t - (Co>>1)
R=Co+B

[262] Например, флаг (например, actShiftFlag) для указания преобразования ACT, подлежащего использованию, может использоваться, как в Таблице 50 ниже. Таблица 50 ниже представляет пример сигнализации флага (например, actShiftFlag) для указания, какое преобразование ACT используется в SPS.

[263] [Таблица 50]

[264] Таблица 51 ниже представляет семантику синтаксических элементов, включенных в таблицы синтаксиса Таблицы 50.

[265] [Таблица 51]

sps_act_ shift_flag, равный 1, специфицирует, что шаг для сдвига цветового компонента применяется во время адаптивного цветового преобразования (ACT); равный 0, специфицирует, что шаг для сдвига цветового компонента не применяется во время ACT. Переменная actShiftFlag установлена равной sps_act_shift_flag.

[266] Кроме того, когда используется actShiftFlag из Таблицы 50 выше, декодер может выполнять обратное преобразование из YCgCo в GBR на основе флага actShiftFlag, что может быть реализовано в псевдокоде, как в Таблице 52 ниже.

[267] [Таблица 52]

Обратное преобразование: из YCgCo в GBR If (actShiftFlag)
{
Cg=Cg << 1;
Co=Co << 1;
}
t=Y - (Cg>>1)
G=Cg+t
B=t - (Co>>1)
R=Co+B

[268] Между тем, вариант осуществления настоящего документа предлагает способ для разрешения использования одного или более цветовых преобразований в ACT. В этом случае, тип цветового преобразования, подлежащего использованию, может быть выведен из другой информации, сигнализируемой посредством битового потока.

[269] В примере, могут быть доступны два типа преобразования ACT, включая обратимое преобразование ACT и необратимое преобразование ACT. Тип преобразования ACT может быть выведен из типа преобразования. Например, типом преобразования является пропуск преобразования (указывается переменной tuIsTransformSkip), то может использоваться обратимое преобразование ACT. Иначе, может использоваться необратимое преобразование ACT. Два типа преобразования ACT могут быть реализованы в псевдокоде, как в Таблицах 53 и 54 ниже.

[270] [Таблица 53]

Обратное преобразование: из YCgCo в GBR If (tuIsTransformSkip)
{
// YCgCo-R reversible conversion
t=Y - (Cg>>1)
G=Cg+t
B=t - (Co>>1)
R=Co+B
}
else {
t=Y - Cg
G=Y+Cg
B=t - Co
R=t+Co
}

[271] [Таблица 54]

Обратное преобразование: из YCgCo в GBR If (tuIsTransformSkip)
{
Cg=Cg << 1;
Co=Co << 1;
}
t=Y - (Cg>>1)
G=Cg+t
B=t - (Co>>1)
R=Co+B

[272] В другом примере, тип преобразования ACT может варьироваться в соответствии со значением QP. Если значение QP меньше или равно пороговому значению (например, QpPrimeTsMin), то может использоваться обратимое преобразование ACT. Иначе, может использоваться необратимое преобразование ACT.

[273] Между тем, в варианте осуществления, описанном выше со ссылкой на Таблицы 4-8, был предложен способ ограничения QP, выводимого на основе смещения ACT QP каждого цветового компонента. Более конкретно, предложенный способ предполагает, что QP, включая Qp'Y, Qp'CbCr, Qp'Cb и Qp'Cr, уже был выведен. И, чтобы модифицировать выведенный QP (Qp'Y, Qp'CbCr, Qp'Cb, Qp'Cr,) на основе смещения ACT QP и гарантировать, что модифицированный QP для масштабирования коэффициента преобразования не выходит из диапазона, добавляется процесс необходимого ограничения.

[274] В этом отношении, вариант осуществления настоящего документа предлагает способ объединения смещения ACT QP в процесс выведения QP для выведения Qp'Y, Qp'CbCr, Qp'Cb и Qp'Cr,. Поскольку процесс выведения QP уже включает в себя этапы ограничения, чтобы предотвратить выход выведенного QP из диапазона, объединение смещения ACT QP в процесс выведения QP может гарантировать, что окончательный QP не выходит из диапазона, и возможно избежать дополнительных этапов ограничения и упростить весь процесс выведения QP для процесса масштабирования коэффициента преобразования.

[275] Как описано выше, смещение ACT QP может быть определено как постоянная или может сигнализироваться. Например, смещение ACT QP для каждого цветового компонента Y, Cb, Cr и CbCr может быть выражено как ppsActQpOffsetY, ppsActQpOffsetCb, ppsActQpOffsetCr, ppsActQpOffsetCbCr, как в Таблице 55 ниже. Также, смещение ACT QP для каждого цветового компонента Y, Cb, Cr и CbCr может быть постоянным или переменным в диапазоне от -M до +N, где M и N могут стать равными, например, 12 для случая с потерями и 0 для случая без потерь. Одно или более смещений ACT QP могут выводиться из других значений смещения ACT QP. Например, ppsActQpOffsetCbCr может быть установлено в ppsActQpOffsetCb и ppsActQpOffsetCr в соответствии с режимом совместного CbCr.

[276] В варианте осуществления, вышеописанный процесс выведения QP на основе смещения ACT QP может быть реализован, как в Таблице 55 ниже. Таблица 55 представляет пример применения вышеописанного варианта осуществления к процессу масштабирования для коэффициента преобразования и процесса выведения для параметра квантования в спецификации VVC.

[277] [Таблица 55]

8.7.1 Процесс выведения для параметров квантования
Входами в этот процесс являются:
- положение яркости (xCb, yCb), специфицирующее верхнюю-левую выборку текущего блока кодирования относительно верхней-левой выборки яркости текущей картинки,
- переменная cbWidth, специфицирующая ширину текущего блока кодирования в выборках яркости,
- переменная cbHeight, специфицирующая высоту текущего блока кодирования в выборках яркости,
- переменная treeType, специфицирующая, используется ли одиночное дерево (SINGLE_TREE) или дуальное дерево для разбиения узла дерева кодирования, и, если используется дуальное дерево, обрабатывается ли в текущий момент компонент яркости (DUAL_TREE_LUMA) или компонент цветности (DUAL_TREE_CHROMA).
В этом процессе, выводятся параметр квантования яркости Qp′Y и параметры квантования цветности Qp′Cb, Qp′Cr and Qp′CbCr.
……..
Переменная QpY выводится следующим образом:
QpY=((qPY_PRED+CuQpDeltaVal+64+2 * QpBdOffset)%(64+QpBdOffset)) - QpBdOffset (1116)
Параметр квантования яркости Qp′Y выводится следующим образом:
actQpOffsetY=cu_act_enabled_flag[xCb][yCb]?ppsActQpOffsetY:0
Qp′Y=QpY+QpBdOffset+actQpOffsetY (1117)
Qp′Y=Clip3(0, 63+QpBdOffset, Qp′Y)
Когда ChromaArrayType не равно 0 и treeType равно SINGLE_TREE или DUAL_TREE_CHROMA, применяется следующее:
- Когда treeType равно DUAL_TREE_CHROMA, переменная QpY устанавливается равной параметру квантования яркости QpY единицы кодирования яркости, которая покрывает положение яркости (xCb+cbWidth/2, yCb+cbHeight/2).
- Переменные qPCb, qPCr и qPCbCr выводятся следующим образом:
qPChroma=Clip3(−QpBdOffset, 63, QpY) (1118)
qPCb=ChromaQpTable[0][qPChroma] (1119)
qPCr=ChromaQpTable[1][qPChroma] (1120)
qPCbCr=ChromaQpTable[2][qPChroma] (1121)
- Параметры квантования цветности для компонентов Cb и Cr, Qp′Cb и Qp′Cr, и совместного кодирования Cb-Cr, Qp′CbCr выводятся следующим образом:
actQpOffsetCb=cu_act_enabled_flag[xCb][yCb]?ppsActQpOffsetC b : 0

[278]

actQpOffsetCr=cu_act_enabled_flag[xCb][yCb]?ppsActQpOffsetCr:0
actQpOffsetCbCr=cu_act_enabled_flag[xCb][yCb]?ppsActQpOffsetCbCr : 0
Qp′Cb= Clip3(−QpBdOffset, 63, PCb+pps_cb_qp_offset+slice_cb_qp_offset+CuQpOffsetCb+actQpOffsetCb) + QpBdOffset (1122)
Qp′Cr=Clip3(−QpBdOffset, 63, qPCr+pps_cr_qp_offset+slice_cr_qp_offset+CuQpOffsetCr+actQpOffsetCr) + QpBdOffset (1123)
Qp′CbCr=Clip3(−QpBdOffset, 63, qPCbCr+pps_joint_cbcr_qp_offset+slice_joint_cbcr_qp_offset+CuQpOffsetCbCr+actQpOffsetCbCr) + QpBdOffset (1124)
8.7.3 Процесс масштабирования для коэффициентов преобразования
Входами в этот процесс являются:
- положение яркости (xTbY, yTbY), специфицирующее верхнюю-левую выборку текущего блока преобразования яркости относительно верхней-левой выборки яркости текущей картинки,
- переменная nTbW, специфицирующая ширину блока преобразования ,
- переменная nTbH, специфицирующая высоту блока преобразования ,
- переменная predMode, специфицирующая режим предсказания единицы кодирования,
- переменная cIdx, специфицирующая цветовой компонент текущего блока.
Выходом этого процесса является массив (nTbW)x(nTbH) d масштабированных коэффициентов преобразования с элементами d[x][y].
Параметр квантования qP выводится следующим образом:
- Если cIdx равно 0, применяется следующее:
qP=Qp′Y (1129)
- Иначе, если TuCResMode[xTbY][yTbY] равно 2, применяется следующее:
qP=Qp′CbCr (1130)
- Иначе, если cIdx равно 1, применяется следующее:
qP=Qp′Cb (1131)
- Иначе (cIdx равно 2), применяется следующее:
qP=Qp′Cr (1132)
Параметр квантования qP модифицируется, и переменные rectNonTsFlag и bdShift выводятся следующим образом:
- Если transform_skip_flag[xTbY][yTbY][cIdx] равно 0, применяется следующее:

[279]

rectNonTsFlag=(((Log2(nTbW)+Log2(nTbH))&1)==1)?1 : 0 (1134)
bdShift=BitDepth+rectNonTsFlag+ ((Log2(nTbW)+Log2(nTbH))/2)−5+pic_dep_quant_enabled_flag (1135)
- Иначе (transform_skip_flag[xTbY][yTbY][cIdx] равно 1), применяется следующее:
qP=Max( QpPrimeTsMin, qP) (1136)
rectNonTsFlag=0 (1137)
bdShift=10 (1138)

[280] Между тем, в кодировании видео, остаток, поддерживаемый в промежуточном процессе декодирования, делается таким, чтобы находиться в динамическом диапазоне 16-битного целого со знаком. В VVC, входной остаток для обратного преобразования ACT ограничивается в соответствии с внутренней битовой глубиной кодирования, как в Уравнении 4 ниже.

[281] [Уравнение 4]

[282] Однако ограничение, как в Уравнении 4, может вызвать проблему в обратимом преобразовании ACT. Поскольку обратимое преобразование ACT увеличивает битовую глубину компонентов Cg и Co на 1, может возникнуть проблема при ограничении в диапазоне (-(1<<BitDepth), (1<<BitDepth)-1).

[283] Соответственно, в одном варианте осуществления настоящего документа, предлагается диапазон ограничения остатка ACT, чтобы решить проблему, которая может возникнуть в процессе ограничения остатка ACT, как описано выше. Здесь, остаток ACT может относиться к остатку, полученному путем применения преобразования цветового пространства к остатку текущего блока (т.е. текущей единицы кодирования), когда ACT включено.

[284] В одном варианте осуществления, диапазон ограничения остатка ACT может быть увеличен до BitDepth+1. То есть остаточная выборка ACT может быть выведена на основе диапазона ограничения, в котором битовая глубина увеличена на 1.

[285] В качестве примера, Таблица 56 ниже представляет пример процесса выведения остаточной выборки для каждого цветового компонента на основе диапазона ограничения, в котором битовая глубина увеличена на 1.

[286] [Таблица 56]

8.7.4.6 Процесс модификации остатка для блоков с использованием преобразования цветового пространства
[…]
ACTClipBitDepth=min(BitDepth+1, 16)
Массивы (nTbW)x(nTbH) остаточных выборок rY, rCb и rCr модифицируются следующим образом:
rY[x][y]= Clip3(−(1<<ACTClipBitDepth), (1<<ACTClipBitDepth)−1, rY[x][y]) (xxxx)
rCb[x][y]= Clip3(−(1<<BitDepth), (1<<ACTClipBitDepth)−1, rCb[x][y]) (xxxx)
rCr[x][y]= Clip3(−(1<<BitDepth), (1<<ACTClipBitDepth)−1, rCr[x][y]) (xxxx)

[287] Со ссылкой на Таблицу 56, остаточные выборки, к которым применяется ACT, могут применять ограничение, чтобы иметь значение в конкретном диапазоне, и в этом случае, диапазон ограничения может быть определен на основе битовой глубины. Например, диапазон ограничения может быть определен как диапазон между минимальным значением и максимальным значением для ограничения и может быть определен на основе значения BitDepth+1. В примере, диапазон ограничения может быть определен на основе значения (или переменной) ACTClipBitDepth, используемого для указания диапазона ограничения, и ACTClipBitDepth может быть определено как меньшее значение из (BitDepth+1) и 16. В этом случае, диапазон ограничения (т.е. минимальное значение и максимальное значение) может быть определен как (-(1<<ACTClipBitDepth), (1<<ACTClipBitDepth)-1)). Ограничение может применяться к остаточной выборке (rY, rCb, rCr) для каждого цветового компонента на основе определенного диапазона ограничения. Кроме того, остаточная выборка ACT может быть окончательно скомпенсирована на основе ограниченных остаточных выборок (rY, rCb, rCr) для каждого цветового компонента.

[288] Альтернативно, в примере, процесс, раскрытый в Таблице 56, может также быть представлен, как в Таблице 57 ниже.

[289] [Таблица 57]

8.7.4.6 Процесс модификации остатка для блоков с использованием преобразования цветового пространства
[…]
ACTClipRange=1<<(BitDepth+1)-16)
Массивы (nTbW)x(nTbH) остаточных выборок rY, rCb и rCr модифицируются следующим образом:
rY[x][y]= Clip3(−actClipRange, actClipRange, rY[x][y]) (xxxx)
rCb[x][y]= Clip3(−actClipRange, actClipRange, rCb[x][y]) (xxxx)
rCr[x][y]= Clip3(−actClipRange, actClipRange, rCr[x][y]) (xxxx)

[290] Со ссылкой на Таблицу 57, остаточная выборка ACT может быть ограничена на основе диапазона ограничения (например, actClipRange). То есть в Таблице 57, диапазон ограничения, используемый для выведения остаточной выборки ACT, может быть представлен посредством actClipRange, выведенного на основе значения BitDepth+1. Например, значение (или переменная) actClipRange, используемое для указания диапазона ограничения, может выводиться как 1<<(BitDepth+1)-1. В этом случае, диапазон ограничения (т.е. минимальное значение и максимальное значение) может быть определен как (-actClipRange, actClipRange). Ограничение может применяться к остаточной выборке (rY, rCb, rCr) для каждого цветового компонента на основе определенного диапазона ограничения. Кроме того, остаточная выборка ACT может быть окончательно скомпенсирована на основе ограниченных остаточных выборок (rY, rCb, rCr) для каждого цветового компонента.

[291] Альтернативно, в качестве примера, процесс выведения остаточной выборки для каждого цветового компонента на основе диапазона ограничения, в котором битовая глубина увеличена на 1, может быть представлен, как в Таблице 58 ниже.

[292] [Таблица 58]

8.7.4.6 Процесс модификации остатка для блоков с использованием преобразования цветового пространства
[…]
ACTClipBitDepth=BitDepth+1
Или ACTClipBitDepth может быть ограничено в диапазоне. Например, 16
ACTClipBitDepth=min(BitDepth+1, 16)
Массивы (nTbW)x(nTbH) остаточных выборок rY, rCb и rCr модифицируются следующим образом:
rY[x][y]= Clip3(−(1<<ACTClipBitDepth), (1<<ACTClipBitDepth)−1, rY[x][y]) (xxxx)
rCb[x][y]= Clip3(−(1<<ACTClipBitDepth), (1<<ACTClipBitDepth)−1, rCb[x][y]) (xxxx)
rCr[x][y]= Clip3(−(1<<ACTClipBitDepth), (1<<ACTClipBitDepth)−1, rCr[x][y]) (xxxx)

[293] Со ссылкой на Таблицу 58, остаточные выборки, к которым применяется ACT, могут применять ограничение, чтобы иметь значение в конкретном диапазоне, и в этом случае, диапазон ограничения может быть определен на основе значения, полученного путем увеличения битовой глубины на 1. Например, диапазон ограничения может быть определен как диапазон между минимальным значением и максимальным значением для ограничения и может быть определен на основе значения BitDepth+1. Например, диапазон ограничения может быть определен на основе значения (или переменной) ACTClipBitDepth, используемого для указания диапазона ограничения, и ACTClipBitDepth может выводиться как значение BitDepth+1. В этом случае, диапазон ограничения (т.е. минимальное значение и максимальное значение) может быть определен как (-(1<<ACTClipBitDepth), (1<<ACTClipBitDepth)). Альтернативно, в соответствии с вариантом осуществления, ACTClipBitDepth может быть ограничено в конкретном диапазоне (например, 16) или может быть значением, выведенным на основе min(BitDepth+1, 16). Ограничение может применяться к остаточной выборке (rY, rCb, rCr) для каждого цветового компонента на основе диапазона ограничения, определенного, как указано выше. Кроме того, остаточная выборка ACT может быть окончательно скомпенсирована на основе ограниченных остаточных выборок (rY, rCb, rCr) для каждого цветового компонента.

[294] Альтернативно, в примере, процесс, раскрытый в Таблице 58, также может быть представлен, как в Таблице 59 ниже.

[295] [Таблица 59]

8.7.4.6 Процесс модификации остатка для блоков с использованием преобразования цветового пространства
[…]
actClipRange=1<<(BitDepth+1)
Массивы (nTbW)x(nTbH) остаточных выборок rY, rCb и rCr модифицируются следующим образом:
rY[x][y]= Clip3(−actClipRange, actClipRange-1, rY[x][y]) (xxxx)
rCb[x][y]= Clip3(−actClipRange, actClipRange-1, rCb[x][y]) (xxxx)
rCr[x][y]= Clip3(−actClipRange, actClipRange-1, rCr[x][y]) (xxxx)

[296] Со ссылкой на Таблицу 59, остаточная выборка ACT может быть ограничена на основе диапазона ограничения (например, actClipRange). То есть в Таблице 59, диапазон ограничения, используемый для вывода остаточной выборки ACT, может быть представлен посредством actClipRange, выведенного на основе значения BitDepth+1. Например, значение (или переменная) actClipRange, используемое для указания диапазона ограничения, может выводиться как 1<<(BitDepth+1). В этом случае, диапазон ограничения (т.е. минимальное значение и максимальное значение) может быть определен как (-actClipRange, actClipRange-1). Ограничение может применяться к остаточной выборке (rY, rCb, rCr) для каждого цветового компонента на основе определенного диапазона ограничения. Кроме того, остаточная выборка ACT может быть окончательно скомпенсирована на основе ограниченных остаточных выборок (rY, rCb, rCr) для каждого цветового компонента.

[297] Дополнительно, в соответствии с вариантом осуществления, диапазон ограничения остатка ACT может фиксироваться до 16 бит. Это может не только гарантировать, что остаток ACT находится в пределах динамического диапазона 16 бит, но также может гарантировать надежность для кодирования без потерь, в котором внутренняя битовая глубина не установлена надлежащим образом.

[298] В качестве примера, Таблица 60 ниже представляет пример процесса выведения остаточной выборки для каждого цветового компонента на основе фиксированного диапазона ограничения 16 бит.

[299] [Таблица 60]

8.7.4.6 Процесс модификации остатка для блоков с использованием преобразования цветового пространства
[…]
Массивы (nTbW)x(nTbH) остаточных выборок rY, rCb и rCr модифицируются следующим образом:
rY[x][y]=Clip3(−(1<<16), (1<<16)−1, rY[x][y]) (xxxx)
rCb[x][y]=Clip3(−(1<<16), (1<<16)−1, rCb[x][y]) (xxxx)
rCr[x][y]= Clip3(−(1<<16), (1<<16)−1, rCr[x][y]) (xxxx)

[300] Со ссылкой на Таблицу 60, остаточные выборки, к которым применяется ACT, могут применять ограничение, чтобы иметь значение в конкретном диапазоне, и в этом случае, диапазон ограничения может быть определен на основе фиксированной битовой глубины. Например, фиксированная битовая глубина может быть установлена на 16 бит, что может быть внутренней битовой глубиной, используемой в системе кодирования. В этом случае, диапазон ограничения (т.е. диапазон между минимальным и максимальным значениями для ограничения) может быть определен как (-(1<<16), (1<<16)). Ограничение может применяться к остаточной выборке (rY, rCb, rCr) для каждого цветового компонента на основе определенного диапазона ограничения. Кроме того, остаточная выборка ACT может быть окончательно скомпенсирована на основе ограниченных остаточных выборок (rY, rCb, rCr) для каждого цветового компонента.

[301] Альтернативно, в примере, процесс, раскрытый в Таблице 60, также может быть представлен, как в Таблице 61 ниже.

[302] [Таблица 61]

8.7.4.6 Процесс модификации остатка для блоков с использованием преобразования цветового пространства
[…]
Массивы (nTbW)x(nTbH) остаточных выборок rY, rCb и rCr модифицируются следующим образом:
rY[x][y]= Clip3(-65536, 65535, rY[x][y]) (xxxx)
rCb[x][y]= Clip3(-65536, 65535, rCb[x][y]) (xxxx)
rCr[x][y]= Clip3(-65536, 65535, rCr[x][y]) (xxxx)

[303] Со ссылкой на Таблицу 61, остаточная выборка ACT может быть ограничена диапазоном ограничения, определенным на основе фиксированной битовой глубины. Например, фиксированная битовая глубина может быть определена как 16 бит, и в этом случае, диапазон ограничения (т.е. диапазон между минимальным и максимальным значениями для ограничения) может быть определен как (-65536, 65535). Ограничение может применяться к остаточной выборке (rY, rCb, rCr) для каждого цветового компонента на основе диапазона ограничения, определенного, как описано выше. Кроме того, остаточная выборка ACT может быть окончательно скомпенсирована на основе ограниченных остаточных выборок (rY, rCb, rCr) для каждого цветового компонента.

[304] Также, в варианте осуществления, диапазон ограничения остатка ACT может быть установлен различным для компонентов яркости и цветности, соответственно. То есть диапазон ограничения, применяемый к остаточной выборке ACT для компонента яркости, и остаточная выборка для компонента цветности могут иметь разные динамические диапазоны. Например, в случае остатка ACT для компонента цветности, может использоваться диапазон ограничения, в котором битовая глубина увеличена на 1, а в случае остатка ACT для компонента яркости, может использоваться неизмененный диапазон ограничения.

[305] В качестве примера, Таблица 62 ниже представляет пример процесса, в котором компонент яркости ограничен на основе диапазона ограничения, в котором значение битовой глубины не изменяется, а компонент цветности ограничен на основе диапазона ограничения, в котором битовая глубина увеличена на 1.

[306] [Таблица 62]

8.7.4.6 Процесс модификации остатка для блоков с использованием преобразования цветового пространства
[…]
ACTClipBitDepthLuma=BitDepth
ACTClipBitDepthChroma=BitDepth+1
Отметим, что ACTClipBitDepthChroma может быть ограничено в диапазоне. Например, 16
ACTClipBitDepthChroma=min(BitDepth+1, 16)
Массивы (nTbW)x(nTbH) остаточных выборок rY, rCb и rCr модифицируются следующим образом:
rY[x][y]= Clip3(−(1<<ACTClipBitDepthLuma), (1<<ACTClipBitDepthLuma)−1, rY[x][y]) (xxxx)
rCb[x][y]= Clip3(−(1<<ACTClipBitDepthChroma), (1<<ACTClipBitDepthChroma)−1, rCb[x][y]) (xxxx)
rCr[x][y]= Clip3(−(1<<ACTClipBitDepthChroma), (1<<ACTClipBitDepthChroma)−1, rCr[x][y]) (xxxx)

[307] Со ссылкой на Таблицу 62, остаточная выборка ACT может быть ограничена путем применения различных диапазонов ограничения к компоненту яркости и компоненту цветности, соответственно. Например, в случае остатка ACT компонента яркости (например, rY), диапазон ограничения может быть выведен на основе значения битовой глубины (например, BitDepth), а в случае остатка ACT (например, rCb, rCr) компонента цветности, диапазон ограничения может быть выведен на основе значения, полученного путем увеличения битовой глубины на 1 (например, BitDepth+1). В это время, переменная ACTClipBitDepthLuma может быть использована, чтобы специфицировать диапазон ограничения остатка ACT (например, rY) компонента яркости, а переменная ACTClipBitDepthChroma может быть использована, чтобы специфицировать диапазон ограничения остатка ACT компонента цветности (например, rCb, rCr). То есть диапазон ограничения, используемый для компонента яркости, может быть определен как (-1<<ACTClipBitDepthLuma), (1<<ACTClipBitDepthLuma)-1), и диапазон ограничения, используемый для компонента цветности, может быть определен как (-(1<<ACTClipBitDepthChroma), (1<<ACTClipBitDepthChroma) - 1). Альтернативно, в соответствии с вариантом осуществления, диапазон ограничения ACTClipBitDepthChroma, используемый для компонента цветности, может также быть ограничен в конкретном диапазоне (например, 16), или также может быть значением, выведенным на основе min(BitDepth+1, 16). Ограничение может применяться к остаточной выборке (rY, rCb, rCr) для каждого цветового компонента на основе диапазона ограничения, определенного, как описано выше. Кроме того, остаточная выборка ACT может быть окончательно скомпенсирована на основе ограниченных остаточных выборок (rY, rCb, rCr) для каждого цветового компонента.

[308] Альтернативно, в примере, процесс, раскрытый в Таблице 62, также может быть представлен, как в Таблице 63 ниже.

[309] [Таблица 63]

8.7.4.6 Процесс модификации остатка для блоков с использованием преобразования цветового пространства
[…]
Массивы (nTbW)x(nTbH) остаточных выборок rY, rCb и rCr модифицируются следующим образом:
rY[x][y]=Clip3(− (BitDepth<<1), (BitDepth <<1)-1, rY[x][y]) (xxxx)
rCb[x][y]= Clip3(− ((BitDepth+1)<<1), ((BitDepth+1) <<1)-1,rCb[x][y]) (xxxx)
rCr[x][y]= Clip3(−((BitDepth+1)<<1), ((BitDepth+1) <<1)-1, rCr[x][y]) (xxxx)

[310] Со ссылкой на Таблицу 63, остаточная выборка ACT может быть ограничена путем применения различных диапазонов ограничения к компоненту яркости и компоненту цветности, соответственно. Например, в случае остатка ACT компонента яркости (например, rY), диапазон ограничения может быть выведен на основе значения битовой глубины (например, BitDepth), а в случае остатка ACT (например, rCb, rCr) компонента цветности, диапазон ограничения может быть выведен на основе значения, полученного путем увеличения битовой глубины на 1 (например, BitDepth+1). В этом случае, диапазон ограничения, используемый для компонента яркости, может быть определен как (-(BitDepth<<1), (BitDepth<<1)-1), и диапазон ограничения, используемый для компонента цветности, может быть определен как (-((BitDepth+1)<<1), ((BitDepth+1)<<1)-1). Ограничение может применяться к остаточной выборке (rY, rCb, rCr) для каждого цветового компонента на основе диапазона ограничения, определенного, как описано выше. Кроме того, остаточная выборка ACT может быть окончательно скомпенсирована на основе ограниченных остаточных выборок (rY, rCb, rCr) для каждого цветового компонента.

[311] Следующие чертежи были предоставлены для пояснения конкретных примеров настоящего раскрытия. Поскольку наименования или конкретные термины или наименования конкретных устройств, иллюстрируемых на чертежах (например, наименования синтаксиса/синтаксических элементов и т.п.), представлены в качестве примеров, технические признаки настоящего раскрытия не ограничены конкретными наименованиями, используемыми на последующих чертежах.

[312] Фиг. 7 и 8 схематично представляют пример способа кодирования видео/изображения и ассоциированные компоненты в соответствии с вариантом(ами) осуществления настоящего документа.

[313] Способ, раскрытый на фиг. 7, может выполняться устройством 200 кодирования, раскрытым на фиг. 2 или фиг. 8. Здесь, устройство 200 кодирования, раскрытое на фиг. 8, является упрощенным представлением устройства 200 кодирования, раскрытого на фиг. 2. Конкретно, этапы с S700 по S720 на фиг. 7, могут выполняться процессором 230 остатка, раскрытым на фиг. 2, и этап S730 на фиг. 7 может выполняться энтропийным кодером 240, раскрытым на фиг. 2. Кроме того, хотя не показано, процесс выведения выборки предсказания может выполняться предсказателем 220 устройства 200 кодирования; процесс генерации восстановленной выборки и восстановленной картинки для текущего блока на основе остаточной выборки и выборки предсказания для текущего блока может выполняться сумматором 250 устройства 200 кодирования; и процесс кодирования информации предсказания для текущего блока может выполняться энтропийным кодером 240 устройства 200 кодирования. Кроме того, способ, раскрытый на фиг. 7, может выполняться, включая варианты осуществления, описанные выше в этом документе. Соответственно, на фиг. 7, детальное описание содержания, соответствующее повторению вышеописанных вариантов осуществления, будет опущено или упрощено.

[314] Со ссылкой на фиг. 7, устройство кодирования может генерировать информацию, относящуюся к адаптивному цветовому преобразованию (ACT), для текущего блока (S700).

[315] Информация, относящаяся к ACT, может включать в себя информацию о том, следует ли применять ACT к текущему блоку. Например, информация о том, следует ли применять ACT к текущему блоку, может быть синтаксическим элементом cu_act_enabled_flag, описанным выше, и может включаться в синтаксис единицы кодирования и сигнализироваться. В примере, когда значение cu_act_enabled_flag равно 1, это может указывать, что ACT применяется к текущему блоку (т.е. остатку текущего блока), что указывает кодирование в цветовом пространстве YCgCo. Когда значение cu_act_enabled_flag равно 0, это может указывать, что ACT не применяется к текущему блоку (т.е. остатку текущего блока), что указывает кодирование в исходном цветовом пространстве. Здесь, ACT относится к способу выведения остатка с использованием преобразования цветового пространства, например, может указывать способ адаптивного преобразования остатка из одного цветового пространства в цветовое пространство YCgCo, как описано выше.

[316] Кроме того, информация, относящаяся к ACT, может дополнительно включать в себя информацию о том, включено ли ACT. Например, информация о том, включено ли ACT, может быть вышеописанным синтаксическим элементом sps_act_enabled_flag и может включаться в набор параметров последовательности (SPS) и сигнализироваться. В примере, когда значение sps_act_enabled_flag равно 1, это может указывать, что ACT включено, и в этом случае, информация, указывающая, следует ли применять ACT к текущему блоку (т.е. остатку текущего блока), может присутствовать в синтаксисе единицы кодирования. Когда значение sps_act_enabled_flag равно 0, это может указывать, что ACT не включено, и в этом случае, информация, указывающая следует ли применять ACT к текущему блоку (т.е. остатку текущего блока), может не присутствовать в синтаксисе единицы кодирования.

[317] В одном варианте осуществления, когда значение информации, указывающей, включено ли ACT, сигнализируемое/ синтаксически анализируемое посредством SPS (например, sps_act_enabled_flag), равно 1, информация, указывающая, следует ли применять ACT к текущему блоку (т.е. остатку текущего блока), (например, cu_act_enabled_flag), может сигнализироваться/синтаксически анализироваться посредством синтаксиса единицы кодирования. Альтернативно, когда значение информации, указывающей включено ли ACT, сигнализируемое/синтаксически анализируемое посредством SPS (например, sps_act_enabled_flag), равно 0, информация, указывающая, следует ли применять ACT к текущему блоку (т.е. остатку текущего блока), (например, cu_act_enabled_flag), не может сигнализироваться/синтаксически анализироваться посредством синтаксиса единицы кодирования.

[318] То есть устройство кодирования может определять, следует ли применять ACT к текущему блоку, и может генерировать информацию, относящуюся к ACT (например, cu_act_enabled_flag, sps_act_enabled_flag и т.д.), в соответствии с определением.

[319] Устройство кодирования может выводить остаточную выборку путем применения ACT к текущему блоку на основе информации, относящейся к ACT (S710).

[320] То есть устройство кодирования может выводить остаточную выборку путем применения ACT к текущему блоку на основе относящейся к ACT информации о применении ACT к текущему блоку. Например, когда значение информации (например, cu_act_enabled_flag), указывающее, следует ли применять ACT к текущему блоку (т.е. остатку текущего блока), равно 1, устройство кодирования может выводить остаточную выборку путем применения ACT к текущему блоку.

[321] В качестве одного варианта осуществления, устройство кодирования может выводить остаточный блок (остаточную выборку) на основе предсказанного блока (выборки предсказания), выведенного посредством предсказания. Например, сначала, устройство кодирования может определять режим предсказания для текущего блока и выводить выборки предсказания. Устройство кодирования может определять, следует ли выполнять интер-предсказание или интра-предсказание на текущем блоке, и может определять конкретный режим интер-предсказания или конкретный режим интра-предсказания на основе затрат по критерию RD. Устройство кодирования может выводить выборки предсказания для текущего блока путем выполнения предсказания в соответствии с определенным режимом предсказания. В этом случае, могут применяться различные способы предсказания, раскрытые в настоящем документе, такие как интер-предсказание или интра-предсказание. Также, устройство кодирования может генерировать и кодировать информацию (например, информацию режима предсказания), относящуюся к предсказанию, применяемому к текущему блоку. Кроме того, устройство кодирования может сравнивать выборки предсказания с исходными выборками для текущего блока и выводить остаточные выборки.

[322] Устройство кодирования может применять ACT к остаточной выборке, выведенной, как описано выше, на основе информации, относящейся к ACT (например, cu_act_enabled_flag). В одном варианте осуществления, устройство кодирования может выполнять ограничение по каждой из остаточной выборки яркости компонента яркости текущего блока, остаточной выборки цветности Cb для компонента цветности Cb текущего блока и остаточной выборки цветности Cr для компонента цветности Cr текущего блока, на основе диапазона ограничения. Устройство кодирования может выводить модифицированную остаточную выборку яркости, модифицированную остаточную выборку цветности Cb и модифицированную остаточную выборку цветности Cr путем применения ACT на основе ограниченной остаточной выборки яркости, ограниченной остаточной выборки цветности Cb и ограниченной остаточной выборки цветности Cr.

[323] Как описано выше, ACT, например, адаптивно преобразует остаток из одного цветового пространства в цветовое пространство YCgCo путем вывода остатка с преобразованием цветового пространства. В соответствии с вариантом осуществления, может применяться любой один из способов цветового преобразования ACT, раскрытого в Таблицах 41-54 выше. Здесь, детальное описание применения ACT к остаточной выборке будет опущено.

[324] Также, в качестве одного варианта осуществления, при выведении остаточной выборки путем применения ACT, устройство кодирования может определять диапазон ограничения на основе битовой глубины и может выполнять ограничение на остаточной выборке, чтобы иметь значение в пределах определенного диапазона ограничения.

[325] Например, диапазон ограничения может иметь значение между максимальным значением и минимальным значением, выведенное на основе значения, полученного путем увеличения битовой глубины на 1. В этом случае, минимальное значение диапазона ограничения может быть значением, выведенным посредством -(1<<(BitDepth+1)), и максимальное значение диапазона ограничения может быть значением, выведенным посредством (1<<(BitDepth+1))-1. Например, как раскрыто в Таблицах 56-59 выше, ограничение может выполняться на остаточной выборке (rY, rCb, rCr) каждого цветового компонента на основе диапазона ограничения. Кроме того, может выводиться (модифицированная) остаточная выборка, к которой было окончательно применено ACT на основе ограниченной остаточной выборки (rY, rCb, rCr) для каждого цветового компонента.

[326] Альтернативно, в примере, диапазон ограничения может иметь значение между максимальным значением и минимальным значением, выведенным на основе меньшего значения из значения, полученного путем увеличения битовой глубины на 1, и 16. Например, как раскрыто в Таблицах 56-59 выше, ограничение может выполняться на остаточных выборках (rY, rCb, rCr) каждого цветового компонента на основе диапазона ограничения. Кроме того, может выводиться (модифицированная) остаточная выборка, к которой было окончательно применено ACT на основе ограниченной остаточной выборки (rY, rCb, rCr) для каждого цветового компонента.

[327] Альтернативно, в примере, диапазон ограничения может быть определен на основе фиксированной битовой глубины. Например, фиксированная битовая глубина может быть равна 16 бит. В этом случае, диапазон ограничения может быть между -(1<<16) и (1<<16)-1, или между -65536 и 65535. Например, как раскрыто в Таблицах 60-61 выше, ограничение может выполняться на остаточной выборке (rY, rCb, rCr) каждого цветового компонента на основе диапазона ограничения. Кроме того, может выводиться (модифицированная) остаточная выборка, к которой было окончательно применено ACT на основе ограниченной остаточной выборки (rY, rCb, rCr) для каждого цветового компонента.

[328] Альтернативно, в примере, диапазон ограничения может включать в себя диапазоны ограничения для компонента яркости и компонента цветности, и различные диапазоны ограничения могут быть установлены для компонента яркости и компонента цветности, соответственно. Например, диапазон ограничения для компонента яркости может иметь диапазон между -(1<<BitDepth) и (1<<BitDepth)-1, выведенный на основе значения битовой глубины, и диапазон ограничения для компонента цветности может иметь диапазон между -(1<<(BitDepth+1)) и (1<<(BitDepth+1))-1, выведенный на основе значения, полученного путем увеличения битовой глубины на 1. Например, как раскрыто в Таблицах 62-63 выше, ограничение может выполняться на остаточной выборке (rY, rCb, rCr) каждого цветового компонента на основе диапазонов ограничения для компонента яркости и компонента цветности. Кроме того, может выводиться (модифицированная) остаточная выборка, к которой было окончательно применено ACT на основе ограниченной остаточной выборки (rY, rCb, rCr) для каждого цветового компонента.

[329] Устройство кодирования может генерировать остаточную информацию об остаточной выборке (S720).

[330] Остаточная информация, которая представляет собой информацию, генерируемую посредством процесса преобразования и/или квантования по отношению к остаточной выборке, может быть информацией о квантованных коэффициентах преобразования и, например, может включать в себя информацию значения, информацию местоположения, метод преобразования, ядро преобразования, параметр квантования или тому подобное для квантованных коэффициентов преобразования.

[331] В примере, устройство кодирования может выводить коэффициенты преобразования посредством процесса преобразования для остаточных выборок и может выводить квантованные коэффициенты преобразования путем квантования выведенных коэффициентов преобразования. В этом отношении, устройство кодирования может определять, следует ли применять преобразование к текущему блоку, с учетом эффективности кодирования. То есть устройство кодирования может определять, применяется ли преобразование к остаточным выборкам. Например, когда преобразование не применяется к остаточным выборкам, устройство кодирования может выводить остаточные выборки как коэффициенты преобразования. Альтернативно, когда преобразование применяется к остаточным выборкам, устройство кодирования может выводить коэффициенты преобразования путем выполнения преобразования на остаточных выборках. Здесь, остаточная выборка может относиться к остаточной выборке, модифицированной путем применения ACT, как описано выше.

[332] Устройство кодирования может кодировать информацию изображения (или информацию видео) (S730).

[333] Здесь, информация изображения может включать в себя информацию, относящуюся к ACT. Дополнительно, информация изображения может включать в себя остаточную информацию. Также, информация изображения может включать в себя информацию, относящуюся к предсказанию (например, информацию режима предсказания), используемую для выведения выборок предсказания. То есть информация изображения может включать в себя различную информацию, выводимую из процесса кодирования, и может быть кодирована включением такой различной информации.

[334] В варианте осуществления, устройство кодирования может кодировать информацию изображения, включая информацию, относящуюся к ACT, и остаточную информацию.

[335] Информация изображения, включающая в себя различную информацию, как описано выше, может кодироваться и выводиться в форме битового потока. Битовый поток может передаваться на устройство декодирования через сеть или (цифровой) носитель хранения. Здесь, сеть может включать в себя сеть вещания, сеть связи и/или тому подобное, и цифровой носитель хранения может включать в себя различные носители хранения, такие как универсальная последовательная шина (USB), защищенный цифровой носитель (SD), компакт-диск (CD), цифровой видеодиск (DVD), Blu-ray, накопитель на жестком диске (HDD), твердотельный накопитель (SSD) и тому подобное.

[336] Фиг. 9 и 10 схематично представляют пример способа декодирования видео/изображения и ассоциированные компоненты в соответствии с вариантом(ами) осуществления настоящего документа.

[337] Способ, раскрытый на фиг. 9, может выполняться устройством 300 декодирования, раскрытым на фиг. 3 или 10. Здесь, устройство 300 декодирования, раскрытое на фиг. 10, является упрощенным представлением устройства 300 декодирования, раскрытого на фиг. 3. Конкретно, этап S900 на фиг. 9 может выполняться энтропийным декодером 310, раскрытым на фиг. 3; этап S910 на фиг. 9 может выполняться процессором 320 остатка, раскрытым на фиг. 3; и этап S920 на фиг. 9 может выполняться сумматором 340, раскрытым на фиг. 3. Кроме того, хотя не показано, процесс приема информации предсказания для текущего блока может выполняться энтропийным декодером 310 устройства 300 декодирования, и процесс выведения выборки предсказания текущего блока может выполняться предсказателем 330 устройства 300 декодирования. Кроме того, способ, раскрытый на фиг. 9, может выполняться, включая варианты осуществления, описанные выше в этом документе. Соответственно, на фиг. 9, детальное описание содержания, соответствующего повторению вышеописанных вариантов осуществления, будет опущено или упрощено.

[338] Со ссылкой на фиг. 9, устройство декодирования может принимать информацию изображения (или информацию видео) из битового потока (S900).

[339] Например, устройство декодирования может синтаксически анализировать битовый поток и выводить информацию (например, информацию видео/изображения), требуемую для восстановления изображения (или восстановление картинки). В этом случае, информация изображения может включать в себя остаточную информацию, и остаточная информация может включать в себя информацию значения, информацию положения, метод преобразования, ядро преобразования, параметр квантования или тому подобное квантованных коэффициентов преобразования. Также, информация изображения может включать в себя информацию, относящуюся к предсказанию (например, информацию режима предсказания). Также, информация изображения может включать в себя информацию, относящуюся к адаптивному цветовому преобразованию (ACT). То есть информация изображения может включать в себя различную информацию, требуемую в процессе декодирования, и может быть декодирована на основе способа кодирования, такого как экспоненциальное кодирование Голомба, CAVLC или CABAC.

[340] В варианте осуществления, устройство декодирования может получать информацию изображения, включающую в себя информацию, относящуюся к адаптивному цветовому преобразованию (ACT), для битового потока.

[341] Информация, относящаяся к ACT, может включать в себя информацию о том, следует ли применять ACT к текущему блоку. Например, информация о том, следует ли применять ACT к текущему блоку, может быть синтаксическим элементом cu_act_enabled_flag, описанным выше, и может быть включена в синтаксис единицы кодирования и может сигнализироваться. В примере, когда значение cu_act_enabled_flag равно 1, это может указывать, что ACT применяется к текущему блоку (т.е. остатку текущего блока), что указывает кодирование в цветовом пространстве YCgCo. Когда значение cu_act_enabled_flag равно 0, это может указывать, что ACT не применяется к текущему блоку (т.е. остатку текущего блока), что указывает кодирование в исходном цветовом пространстве. Здесь, ACT относится к способу выведения остатка с использованием преобразования цветового пространства, например, может указывать способ адаптивного преобразования остатка из одного цветового пространства в цветовое пространство YCgCo, как описано выше.

[342] Кроме того, информация, относящаяся к ACT, может дополнительно включать в себя информацию о том, включено ли ACT. Например, информация о том, включено ли ACT, может представлять собой вышеописанный синтаксический элемент sps_act_enabled_flag и может включаться в набор параметров последовательности (SPS) и сигнализироваться. В примере, когда значение sps_act_enabled_flag равно 1, это может указывать, что ACT включено, и в этом случае, информация, указывающая, следует ли применять ACT к текущему блоку (т.е. остатку текущего блока), может присутствовать в синтаксисе единицы кодирования. Когда значение sps_act_enabled_flag равно 0, это может указывать, что ACT не включено, и в этом случае, информация, указывающая следует ли применять ACT к текущему блоку (т.е. остатку текущего блока), не может присутствовать в синтаксисе единицы кодирования.

[343] В одном варианте осуществления, когда значение информации, указывающей, включено ли ACT, сигнализируемое/синтаксически анализируемое посредством SPS (например, sps_act_enabled_flag), равно 1, информация, указывающая, следует ли применять ACT к текущему блоку (т.е. остатку текущего блока), (например, cu_act_enabled_flag), может сигнализироваться/синтаксически анализироваться посредством синтаксиса единицы кодирования. Альтернативно, когда значение информации, указывающей, включено ли ACT, сигнализируемое/ синтаксически анализируемое посредством SPS, (например, sps_act_enabled_flag), равно 0, информация, указывающая, следует ли применять ACT к текущему блоку (т.е. остатку текущего блока), (например, cu_act_enabled_flag), не может сигнализироваться/синтаксически анализироваться посредством синтаксиса единицы кодирования.

[344] То есть устройство декодирования может получать (синтаксически анализировать) информацию, относящуюся к ACT (например, cu_act_enabled_flag, sps_act_enabled_flag и т.д.), из битового потока.

[345] Устройство декодирования может выводить остаточную выборку путем применения ACT к текущему блоку на основе информации, относящейся к ACT (S910).

[346] То есть устройство декодирования может выводить остаточную выборку путем применения ACT к текущему блоку на основе относящейся к ACT информации о применении ACT к текущему блоку. Например, когда значение информации (например, cu_act_enabled_flag), указывающей, следует ли применять ACT к текущему блоку (т.е. остаток текущего блока), равно 1, устройство декодирования может выводить остаточную выборку путем применения ACT к текущему блоку.

[347] В варианте осуществления, сначала, устройство декодирования может получать остаточную информацию, включенную в информацию изображения. Остаточная информация может включать в себя информацию значения, информацию положения, метод преобразования, ядро преобразования, параметр квантования или тому подобное квантованных коэффициентов преобразования, как описано выше. Устройство декодирования может выводить квантованные коэффициенты преобразования для текущего блока на основе информации квантованных коэффициентов преобразования, включенной в остаточную информацию. Устройство декодирования может выводить коэффициенты преобразования путем применения процесса деквантования к квантованным коэффициентам преобразования и может выводить остаточные выборки текущего блока путем выполнения обратного преобразования на коэффициентах преобразования. В этом случае, устройство декодирования может получать информацию, указывающую, следует ли применять обратное преобразование к текущему блоку (т.е. информацию флага пропуска преобразования), и может выводить остаточные выборки на основе этой информации (т.е. информации флага пропуска преобразования). Например, когда обратное преобразование не применяется к коэффициентам преобразования (когда значение информации флага пропуска преобразования для текущего блока равно 1), устройство декодирования может выводить коэффициенты преобразования как остаточные выборки текущего блока. Альтернативно, когда обратное преобразование применяется к коэффициентам преобразования (когда значение информации флага пропуска преобразования для текущего блока равно 0), устройство декодирования может выводить остаточные выборки текущего блока путем обратного преобразования коэффициентов преобразования.

[348] Устройство декодирования может применять ACT к остаточной выборке, выведенной, как описано выше, на основе информации, относящейся к ACT (например, cu_act_enabled_flag). В одном варианте осуществления, устройство декодирования может выполнять ограничение по каждой из остаточной выборки яркости для компонента яркости текущего блока, остаточной выборки цветности Cb для компонента цветности Cb текущего блока и остаточной выборки цветности Cr для компонента цветности Cr текущего блока на основе диапазона ограничения. Устройство декодирования может выводить модифицированную остаточную выборку яркости, модифицированную остаточную выборку цветности Cb и модифицированную остаточную выборку цветности Cr путем применения ACT на основе ограниченной остаточной выборки яркости, ограниченной остаточной выборки цветности Cb и ограниченной остаточной выборки цветности Cr.

[349] Как описано выше, ACT, например, адаптивно преобразует остаток из одного цветового пространства в цветовое пространство YCgCo путем выведения остатка с преобразованием цветового пространства. В соответствии с вариантом осуществления, может применяться любой из способов цветового преобразования ACT, раскрытых в Таблицах 41-54. Здесь, детальное описание применения ACT к остаточной выборке будет опущено.

[350] Также, в качестве одного варианта осуществления, при выведении остаточной выборки путем применения ACT, устройство декодирования может определять диапазон ограничения на основе битовой глубины и выполнять ограничение на остаточной выборке, чтобы иметь значение в определенном диапазоне ограничения.

[351] Например, диапазон ограничения может иметь значение между максимальным значением и минимальным значением, выведенным на основе значения, полученного путем увеличения битовой глубины на 1. В этом случае, минимальное значение диапазона ограничения может быть значением, выведенным посредством -(1<<(BitDepth+1)), и максимальное значение диапазона ограничения может быть значением, выведенным посредством (1<<(BitDepth+1))-1. Например, как раскрыто в Таблицах 56-59, ограничение может выполняться на остаточной выборке (rY, rCb, rCr) каждого цветового компонента на основе диапазона ограничения. Кроме того, (модифицированная) остаточная выборка, к которой было окончательно применено ACT, может выводиться на основе ограниченной остаточной выборки (rY, rCb, rCr) для каждого цветового компонента.

[352] Альтернативно, в примере, диапазон ограничения может иметь значение между максимальным значением и минимальным значением, выведенным на основе меньшего значения из значения, полученного увеличением битовой глубины на 1, и 16. Например, как раскрыто в Таблицах 56-59, ограничение может выполняться на остаточной выборке (rY, rCb, rCr) каждого цветового компонента на основе диапазона ограничения. Кроме того, (модифицированная) остаточная выборка, к которой было окончательно применено ACT, может выводиться на основе ограниченной остаточной выборки (rY, rCb, rCr) для каждого цветового компонента.

[353] Альтернативно, в примере, диапазон ограничения может быть определен на основе фиксированной битовой глубины. Например, фиксированная битовая глубина может быть 16 бит. В этом случае, диапазон ограничения может быть между -(1<<16) и (1<<16)-1 или между -65536 и 65535. Например, как раскрыто в Таблицах 60-61, ограничение может выполняться на остаточной выборке (rY, rCb, rCr) каждого цветового компонента на основе диапазона ограничения. Кроме того, (модифицированная) остаточная выборка, к которой было окончательно применено ACT, может выводиться на основе ограниченной остаточной выборки (rY, rCb, rCr) для каждого цветового компонента.

[354] Альтернативно, в примере, диапазон ограничения может включать в себя диапазоны ограничения для компонента яркости и компонента цветности, и различные диапазоны ограничения могут быть установлены для компонента яркости и компонента цветности, соответственно. Например, диапазон ограничения для компонента яркости может иметь диапазон между -(1<<BitDepth) и (1<<BitDepth)-1, выведенный на основе значения битовой глубины, и диапазон ограничения для компонента цветности может иметь диапазон между -(1<<(BitDepth+1)) и (1<<(BitDepth+1))-1, выведенный на основе значения, полученного увеличением битовой глубины на 1. Например, как раскрыто в Таблицах 62-63, ограничение может выполняться на остаточной выборке (rY, rCb, rCr) каждого цветового компонента на основе диапазонов ограничения для компонента яркости и компонента цветности. Кроме того, (модифицированная) остаточная выборка, к которой окончательно было применено ACT, может выводиться на основе ограниченной остаточной выборки (rY, rCb, rCr) для каждого цветового компонента.

[355] Устройство декодирования может генерировать восстановленную выборку на основе остаточной выборки (S920).

[356] Здесь, остаточная выборка может относиться к остаточной выборке, модифицированной путем применения ACT, как описано выше.

[357] В варианте осуществления, устройство декодирования может определять, следует ли выполнять интер-предсказание или интра-предсказание на текущем блоке, на основе информации предсказания (например, информации режима предсказания), включенной в информацию изображения, и в соответствии с определением, предсказание может выполняться для выведения выборок предсказания для текущего блока. Устройство декодирования может генерировать восстановленные выборки на основе выборок предсказания и остаточных выборок. При этом, в зависимости от режима предсказания, устройство декодирования может использовать выборки предсказания непосредственно как восстановленные выборки или может генерировать восстановленные выборки добавлением остаточных выборок к выборкам предсказания. Оно также может выводить восстановленный блок или восстановленную картинку на основе восстановленных выборок. Затем, как описано выше, устройство декодирования может применять процесс внутриконтурной фильтрации, такой как фильтрация устранения блочности и/или процесс SAO, к восстановленной картинке, чтобы улучшить субъективное/ объективное качество изображения, по мере необходимости.

[358] Хотя способы были описаны на основе блок-схемы, в которой этапы или блоки перечислены в последовательности в описанных вариантах осуществления, этапы в настоящем документе не ограничены определенным порядком, и некоторый этап может выполняться на другом этапе или в другом порядке или одновременно с описанным выше. Специалистам в данной области должно быть понятно, что этапы, показанные в блок-схемах последовательностей действий, не являются исключительными, и другой этап может быть дополнительно включен, или один или более этапов могут быть удалены из блок-схемы последовательности действий, не оказывая влияния на технический объем настоящего документа.

[359] Способ согласно настоящему раскрытию может быть реализован в форме программного обеспечения, и устройство кодирования и/или устройство декодирования в соответствии с настоящим документом могут быть включены в устройство для выполнения обработки изображения, например, TV, компьютер, смартфон, телевизионную приставку, устройство отображения и т.п.

[360] Когда варианты осуществления настоящего документа реализуются программным обеспечением, упомянутый способ может быть реализован модулем (процессом или функцией), выполняющим упомянутую функцию. Модуль может храниться в памяти и исполняться процессором. Память может быть установлена внутри или вне процессора и может быть соединена с процессором различными хорошо известными средствами. Процессор может включать в себя специализированную интегральную схему (ASIC), другие чипсеты, логическую схему и/или устройство обработки данных. Память может включать в себя постоянную память (ROM), память с произвольным доступом (RAM), флэш-память, карту памяти, носитель хранения и/или другое устройство хранения. Иными словами, варианты осуществления в соответствии с настоящим документом могут реализовываться и исполняться на процессоре, микропроцессоре, контроллере или чипе. Например, функциональные модули, проиллюстрированные на чертежах, могут реализовываться и исполняться на компьютере, процессоре, микропроцессоре, контроллере или чипе. В этом случае, информация о реализации (например, информация об инструкциях) или алгоритмы могут храниться в цифровом носителе хранения.

[361] Кроме того, устройство декодирования и устройство кодирования, в которых применяется настоящее раскрытие, могут быть включены в приемопередатчик мультимедийного вещания, мобильный терминал связи, устройство домашнего кинотеатра, устройство цифрового кинотеатра, камеру наблюдения, устройство для разговора по видео, устройство связи в реальном времени, такой как видеосвязь, мобильное устройство стриминга, носитель хранения, камеру-регистратор (камкордер), провайдер видеоуслуг по требованию (VoD), устройство доставки видео непосредственно от провайдера контента (OTT), провайдер услуг Интернет-стриминга, устройство 3D видео, устройство виртуальной реальности (VR), устройство дополненной реальности (AR), устройство видеотелефонии, терминал транспортного средства (например, автомобильный терминал (включая самоуправляемый автомобиль), бортовой терминал, судовой терминал и т.д.) и медицинское видеоустройство; и могут использоваться для обработки сигнала или данных изображения. Например, видеоустройство OTT может включать в себя игровую консоль, Blu-ray-плеер, телевизор с Интернет-доступом, систему домашнего кинотеатра, смартфон, планшетный PC, цифровой видео-регистратор (DVR) и тому подобное.

[362] Кроме того, способ обработки, в котором применяется вариант(ы) осуществления настоящего раскрытия, может выполняться в форме программы, исполняемой компьютером, и может храниться в считываемом компьютером носителе записи. Мультимедийные данные, имеющие структуру данных в соответствии с вариантом(ами) осуществления настоящего раскрытия, могут также храниться в считываемых компьютером носителях записи. Считываемый компьютером носитель записи включает в себя все типы устройств хранения и распределенных устройств хранения для хранения считываемых компьютером данных. Считываемые компьютером носители записи могут включать в себя, например, Blu-ray-диск (BD), универсальную последовательную шину (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, магнитную ленту, флоппи-диск и оптическое устройство хранения данных. Дополнительно, считываемый компьютером носитель записи включает в себя носители в форме несущей волны (например, Интерент-передача). Кроме того, битовый поток, сгенерированный способом кодирования, может храниться в считываемом компьютером носителе записи или передаваться по сети проводной/беспроводной связи.

[363] Дополнительно, вариант(ы) осуществления настоящего документа может быть реализован как компьютерный программный продукт на основе программного кода, и программный код может исполняться на компьютере в соответствии с вариантом(ами) осуществления настоящего документа. Программный код может храниться на считываемом компьютером носителе.

[364] Фиг. 11 показывает пример системы стриминга контента, в которой могут применяться варианты осуществления настоящего документа.

[365] Со ссылкой на фиг. 11, система стриминга контента, в которой применяются варианты осуществления настоящего документа, может, в основном, включать в себя сервер кодирования, стриминговый сервер, веб-сервер, медиа-хранилище, пользовательское оборудование и устройство мультимедийного ввода.

[366] Сервер кодирования функционирует для сжатия цифровых данных контента, введенного из устройств мультимедийного ввода, таких как смартфон, камера, камкордер и т.п., для генерации битового потока и передачи его на стриминговый сервер. В другом примере, когда устройство мультимедийного ввода, такое как смартфон, камера, камкордер и т.п., напрямую генерирует битовый поток, сервер кодирования может быть опущен.

[367] Битовый поток может генерироваться способом кодирования или способом генерации битового потока, в котором применяются варианты осуществления настоящего раскрытия, и стриминговый сервер может временно хранить битовый поток в процессе передачи или приема битового потока.

[368] Стриминговый сервер передает мультимедийные данные на пользовательское оборудование на основе запроса пользователя через веб-сервер, который функционирует как инструмент, информирующий пользователя об услуге. Когда пользователь запрашивает желаемую услугу, веб-сервер переносит запрос на стриминговый сервер, и стриминговый сервер передает мультимедийные данные пользователю. В этом отношении, система стриминга контента может включать в себя отдельный сервер управления, и в этом случае сервер управления функционирует, чтобы управлять командами/откликами между соответствующим оборудованием в системе стриминга контента.

[369] Стриминговый сервер может принимать контент из медиа-хранилища и/или сервера кодирования. Например, когда контент принимается от сервера кодирования, контент может приниматься в реальном времени. В этом случае, чтобы обеспечить плавную стриминговую услугу, стриминговый сервер может хранить битовый поток в течение предопределенного периода времени.

[370] Например, пользовательское оборудование может включать в себя мобильный телефон, смартфон, ноутбук, терминал цифрового вещания, персональный цифровой помощник (PDA), портативный мультимедийный плеер (PMP), навигатор, тонкий PC, планшетный PC, ультрабук, носимое устройство (например, терминал типа часов (умные часы), терминал типа очков (умные очки), наголовный дисплей (HMD)), цифровой телевизор, настольный компьютер, цифровой указатель и т.п.

[371] Каждый из серверов в системе стриминга контента может работать как распределенный сервер, при этом данные, принятые каждым сервером, могут обрабатываться распределенным образом.

[372] Пункты формулы изобретения, описанные в настоящем раскрытии, могут комбинироваться различным образом. Например, технические признаки в пунктах формулы на способ в настоящем документе могут комбинироваться для реализации или выполнения в устройстве, и технические признаки в пунктах формулы на устройство могут комбинироваться для реализации или выполнения в способе. Кроме того, технические признаки в пунктах на способ и в пунктах на устройство могут комбинироваться для реализации или выполнения в устройстве. Кроме того, технические признаки в пунктах на способ и в пунктах на устройство могут комбинироваться для реализации или выполнения в способе.

Похожие патенты RU2797995C1

название год авторы номер документа
КОДИРОВАНИЕ ИЗОБРАЖЕНИЯ ИЛИ ВИДЕО НА ОСНОВЕ ОСТАТКА АСТ 2021
  • Чжао, Цзе
  • Ким, Сеунгхван
RU2819337C2
СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ АДАПТИВНОГО ПРЕОБРАЗОВАНИЯ ЦВЕТОВ И СПОСОБ ДЛЯ ПЕРЕДАЧИ ПОТОКА БИТОВ 2020
  • Чжао, Цзе
  • Ким, Сеунг Хван
  • Хендри, Хендри
  • Палури, Сеетхал
RU2795812C1
СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ АДАПТИВНОГО ПРЕОБРАЗОВАНИЯ ЦВЕТОВ И СПОСОБ ДЛЯ ПЕРЕДАЧИ ПОТОКА БИТОВ 2020
  • Чжао, Цзе
  • Ким, Сеунг Хван
  • Хендри, Хендри
  • Палури, Сеетхал
RU2811759C2
СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ НА ОСНОВЕ ПРЕОБРАЗОВАНИЯ И УСТРОЙСТВО ДЛЯ ЕГО ОСУЩЕСТВЛЕНИЯ 2021
  • Коо, Моонмо
  • Ким, Сеунгхван
  • Лим, Дзаехиун
RU2811986C2
СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ НА ОСНОВЕ ПРЕОБРАЗОВАНИЯ И УСТРОЙСТВО ДЛЯ ЕГО ОСУЩЕСТВЛЕНИЯ 2021
  • Коо, Моонмо
  • Ким, Сеунгхван
  • Лим, Дзаехиун
RU2803184C1
ПРЕОБРАЗОВАНИЕ ЦВЕТА ДЛЯ ВИДЕОКОДИРОВАНИЯ 2020
  • Ли Лин
  • Чжао Синь
  • Ли Сян
  • Лю Шань
RU2782437C1
КОДИРОВАНИЕ ИЗОБРАЖЕНИЯ ИЛИ ВИДЕО НА ОСНОВЕ РЕЖИМА ПАЛИТРЫ 2020
  • Чжао, Цзе
  • Палури, Сеетхал
  • Ким, Сеунгхван
RU2793826C1
КОДИРОВАНИЕ ИЗОБРАЖЕНИЯ ИЛИ ВИДЕО НА ОСНОВЕ РЕЖИМА ПАЛИТРЫ 2020
  • Чжао, Цзе
  • Палури, Сеетхал
  • Ким, Сеунгхван
RU2814221C2
КОДЕР, ДЕКОДЕР И СООТВЕТСТВУЮЩИЕ СПОСОБЫ, ИСПОЛЬЗУЮЩИЕ ВЫСОКОУРОВНЕВЫЙ ФЛАГ РАЗРЕШЕНИЯ DCT2 2020
  • Гао, Хань
  • Чен, Цзянле
  • Эсенлик, Семих
  • Котра, Ананд Меер
  • Ван, Бяо
RU2801589C2
КОРРЕКТИРОВКА КВАНТОВАНИЯ/МАСШТАБИРОВАНИЯ И ОБРАТНОГО КВАНТОВАНИЯ/МАСШТАБИРОВАНИЯ ПРИ ПЕРЕКЛЮЧЕНИИ ЦВЕТОВЫХ ПРОСТРАНСТВ 2014
  • Ли, Бинь
  • Сюй, Цзичжэн
  • Салливан, Дж. Гари
RU2648276C1

Иллюстрации к изобретению RU 2 797 995 C1

Реферат патента 2023 года Кодирование изображения или видео на основе остатка АСТ

Изобретение относится к технологии кодирования изображения или видео на основе остатка адаптивного цветового преобразования (ACT). Техническим результатом является повышение эффективности кодирования видео/изображения. Результат достигается тем, что остаточная выборка может быть выведена путем применения адаптивного цветового преобразования (ACT) в отношении текущего блока на основе информации, ассоциированной с ACT, причем остаточная выборка выводится путем ограничения на основе границы ограничения, причем граница ограничения определяется на основе битовой глубины. 3 н. и 15 з.п. ф-лы, 11 ил., 63 табл.

Формула изобретения RU 2 797 995 C1

1. Способ декодирования изображения, выполняемый устройством декодирования, причем способ содержит:

получение информации изображения, включающей в себя информацию, относящуюся к адаптивному цветовому преобразованию (ACT), из битового потока;

выведение остаточной выборки путем применения ACT для текущего блока на основе информации, относящейся к ACT; и

генерирование восстановленной выборки на основе остаточной выборки,

причем информация, относящаяся к ACT, включает в себя информацию о том, следует ли применять ACT к текущему блоку,

причем на основе относящейся к ACT информации о применении ACT к текущему блоку, остаточная выборка выводится путем ограничения на основе диапазона ограничения, и

причем диапазон ограничения определяется на основе битовой глубины (BitDepth).

2. Способ по п. 1, в котором диапазон ограничения имеет значение между максимальным значением и минимальным значением, выведенным на основе значения, полученного путем увеличения битовой глубины на 1.

3. Способ по п. 2, в котором минимальное значение диапазона ограничения представляет собой значение, выведенное посредством -(1<<(BitDepth+1)), и

причем максимальное значение диапазона ограничения представляет собой значение, выведенное посредством (1<<(BitDepth+1))-1.

4. Способ по п. 1, в котором диапазон ограничения имеет значение между максимальным значением и минимальным значением, выведенным на основе меньшего значения из значения, полученного путем увеличения битовой глубины на 1, и 16.

5. Способ по п. 1, в котором диапазон ограничения определяется на основе фиксированной битовой глубины, и

причем фиксированная битовая глубина равна 16 бит.

6. Способ по п. 5, в котором диапазон ограничения находится в диапазоне от -(1<<16) до (1<<16)-1 или в диапазоне от -65536 до 65535.

7. Способ по п. 1, в котором диапазон ограничения включает в себя диапазон ограничения для компонента яркости и диапазон ограничения для компонента цветности,

причем диапазон ограничения для компонента яркости имеет диапазон между -(1<<BitDepth) и (1<<BitDepth)-1, выведенный на основе значения битовой глубины, и

причем диапазон ограничения для компонента цветности имеет диапазон между -(1<<(BitDepth+1)) и (1<<(BitDepth+1))-1, выведенный на основе значения, полученного путем увеличения битовой глубины на 1.

8. Способ по п. 1, в котором выведение остаточной выборки содержит:

выполнение ограничения по каждой из остаточной выборки яркости для компонента яркости текущего блока, остаточной выборки цветности Cb для компонента цветности Cb текущего блока и остаточной выборки цветности Cr для компонента цветности Cr текущего блока на основе диапазона ограничения;

выведение модифицированной остаточной выборки яркости, модифицированной остаточной выборки цветности Cb и модифицированной остаточной выборки цветности Cr путем применения ACT на основе ограниченной остаточной выборки яркости, ограниченной остаточной выборки цветности Cb и ограниченной остаточной выборки цветности Cr.

9. Способ по п. 1, в котором информация изображения включает в себя набор параметров последовательности (SPS),

причем SPS включает в себя информацию о том, включено ли ACT, и

причем информация о том, следует ли применять ACT к текущему блоку, получается на основе информации о том, включено ли ACT.

10. Способ кодирования изображения, выполняемый устройством кодирования, причем способ содержит:

генерирование информации, относящейся к адаптивному цветовому преобразованию (ACT) для текущего блока;

выведение остаточной выборки путем применения ACT к текущему блоку на основе информации, относящейся к ACT;

генерирование остаточной информации на остаточной выборке; и

кодирование информации изображения, включающей в себя информацию, относящуюся к ACT, и остаточную информацию,

причем информация, относящаяся к ACT, включает в себя информацию о том, следует ли применять ACT к текущему блоку,

причем на основе относящейся к ACT информации о применении ACT к текущему блоку, остаточная выборка выводится путем ограничения на основе диапазона ограничения, и

причем диапазон ограничения определяется на основе битовой глубины (BitDepth).

11. Способ по п. 10, в котором диапазон ограничения имеет значение между максимальным значением и минимальным значением, выведенным на основе значения, полученного путем увеличения битовой глубины на 1.

12. Способ по п. 11, в котором минимальное значение диапазона ограничения представляет собой значение, выведенное посредством -(1<<(BitDepth+1)), и

причем максимальное значение диапазона ограничения представляет собой значение, выведенное посредством (1<<(BitDepth+1))-1.

13. Способ по п. 10, в котором диапазон ограничения имеет значение между максимальным значением и минимальным значением, выведенным на основе меньшего значения из значения, полученного путем увеличения битовой глубины на 1, и 16.

14. Способ по п. 10, в котором диапазон ограничения определяется на основе фиксированной битовой глубины, и

причем фиксированная битовая глубина равна 16 бит.

15. Способ по п. 14, в котором диапазон ограничения находится в диапазоне от -(1<<16) до (1<<16)-1 или в диапазоне от -65536 до 65535.

16. Способ по п. 10, в котором диапазон ограничения включает в себя диапазон ограничения для компонента яркости и диапазон ограничения для компонента цветности,

причем диапазон ограничения для компонента яркости имеет диапазон между -(1<<BitDepth) и (1<<BitDepth)-1, выведенный на основе значения битовой глубины, и

причем диапазон ограничения для компонента цветности имеет диапазон между -(1<<(BitDepth+1)) и (1<<(BitDepth+1))-1, выведенный на основе значения, полученного путем увеличения битовой глубины на 1.

17. Способ по п. 10, в котором информация изображения включает в себя набор параметров последовательности (SPS),

причем SPS включает в себя информацию о том, включено ли ACT, и

причем информация о том, следует ли применять ACT к текущему блоку, включается в информацию изображения на основе информации о том, включено ли ACT.

18. Невременный считываемый компьютером носитель записи, хранящий битовый поток, полученный способом кодирования изображения, причем способ кодирования изображения содержит:

генерирование информации, относящейся к адаптивному цветовому преобразованию (ACT) для текущего блока;

выведение остаточной выборки путем применения ACT к текущему блоку на основе информации, относящейся к ACT;

генерирование остаточной информации на остаточной выборке; и

кодирование информации изображения, включающей в себя информацию, относящуюся к ACT, и остаточную информацию,

причем информация, относящаяся к ACT, включает в себя информацию о том, следует ли применять ACT к текущему блоку,

причем на основе относящейся к ACT информации о применении ACT к текущему блоку, остаточная выборка выводится путем ограничения на основе диапазона ограничения, и

причем диапазон ограничения определяется на основе битовой глубины (BitDepth).

Документы, цитированные в отчете о поиске Патент 2023 года RU2797995C1

WO 2014205363 A1, 2014.12.24
US 2017318301 A1, 2017.11.02
WO 2015138962 A1, 2015.09.17
WO 2016040865 A1, 2016.03.17
WO 2016123232 A1, 2016.08.04
БЛОЧНОЕ АДАПТИВНОЕ КОДИРОВАНИЕ С ПРЕОБРАЗОВАНИЕМ ЦВЕТОВОГО ПРОСТРАНСТВА 2015
  • Чжан Ли
  • Чэнь Цзяньлэ
  • Соле Рохальс Джоэль
  • Карчевич Марта
RU2698760C2
US 2014355689 A1, 2014.12.04.

RU 2 797 995 C1

Авторы

Чжао, Цзе

Ким, Сеунгхван

Даты

2023-06-13Публикация

2021-01-25Подача