КОДИРОВАНИЕ ВИДЕО ИЛИ ИЗОБРАЖЕНИЙ НА ОСНОВЕ ПРЕОБРАЗОВАНИЯ СИГНАЛА ЯРКОСТИ С МАСШТАБИРОВАНИЕМ СИГНАЛА ЦВЕТНОСТИ
VIDEO OR IMAGE ENCODING BASED ON THE CONVERSION OF A BRIGHTNESS SIGNAL WITH SCALING OF A CHROMATICITY SIGNAL

Уровень техники
Область техники, к которой относится изобретение
[1] Настоящий документ относится к кодированию видео или изображений на основе преобразования сигнала яркости с масштабированием сигнала цветности.
Описание уровня техники
[2] В последнее время, спрос на высококачественное изображение/видео высокого разрешения, к примеру, изображение/видео сверхвысокой четкости (UHD) формата 4K или 8K либо выше, растет в различных областях техники. Поскольку данные изображений/видео имеют высокое разрешение и высокое качество, объем информации или битов, который должен передаваться, увеличивается относительно существующих данных изображений/видео, и в силу этого, передача данных изображений с использованием носителя, такого как существующая проводная/беспроводная широкополосная линия или существующий носитель хранения данных, либо сохранение данных изображений/видео с использованием существующего носителя хранения данных увеличивает затраты на передачу и затраты на хранение.
[3] Помимо этого, интерес и спрос на иммерсивного мультимедиа, такого как контент виртуальной реальности (VR) и искусственной реальности (AR) или голограммы, в последнее время растет, и широковещательная передача для изображения/видео, имеющих характеристики, отличающиеся от изображений реальности, таких как игровые изображения, увеличивается.
[4] Соответственно, требуется технология высокоэффективного сжатия изображений/видео, чтобы эффективно сжимать, передавать, сохранять и воспроизводить информацию высококачественного изображения/видео высокого разрешения, имеющего различные характеристики, как описано выше.
[5] Помимо этого, проводится обсуждение технологий, таких как преобразование сигнала яркости с масштабированием сигнала цветности (LMCS) и адаптивная контурная фильтрация (ALF), с тем чтобы повышать эффективность сжатия и повышать субъективное/объективное визуальное качество. Чтобы эффективно применять эти технологии, существует потребность в способе для эффективной передачи в служебных сигналах связанной информации.
Сущность изобретения
[6] Согласно варианту осуществления настоящего документа, предоставляются способ и оборудование для повышения эффективности кодирования изображений.
[7] Согласно варианту осуществления настоящего документа, предоставляются способ и оборудование эффективного применения фильтрации.
[8] Согласно варианту осуществления настоящего документа, предоставляются способ и оборудование эффективного LCMS-применения.
[9] Согласно варианту осуществления настоящего документа, предоставляются способ и оборудование для иерархической передачи в служебных сигналах связанной с ALF информации.
[10] Согласно варианту осуществления этого документа, предоставляются способ и оборудование для иерархической передачи в служебных сигналах связанной с LMCS-информации.
[11] Согласно варианту осуществления настоящего документа, LMCS-данные могут передаваться в служебных сигналах через APS из набора параметров на основе информации типа, и идентификационная APS-информация, указывающая APS-идентификатор для ссылки, может передаваться в служебных сигналах через информацию заголовка (заголовок группы плиток, заголовок кадра или заголовок среза).
[12] Согласно варианту осуществления настоящего документа, ALF-данные могут условно передаваться в служебных сигналах через APS, и идентификационная APS-информация, указывающая APS-идентификатор для ссылки, может передаваться в служебных сигналах через информацию заголовка (заголовок группы плиток, заголовок кадра или заголовок среза).
[13] Согласно варианту осуществления настоящего документа, APS (и/или его идентификатор) для извлечения ALF-данных может отличаться от APS (и/или его идентификатора) для извлечения данных модуля изменения формы (LMCS-данных).
[14] Согласно варианту осуществления настоящего документа, предоставляется способ декодирования видео/изображений, осуществляемый посредством оборудования декодирования.
[15] Согласно варианту осуществления настоящего документа, предоставляется оборудование декодирования для выполнения декодирования видео/изображений.
[16] Согласно варианту осуществления настоящего документа, предоставляется способ кодирования видео/изображений, осуществляемый посредством оборудования кодирования.
[17] Согласно варианту осуществления настоящего документа, предоставляется оборудование кодирования для выполнения кодирования видео/изображений.
[18] Согласно одному варианту осуществления настоящего документа, предоставляется машиночитаемый цифровой носитель хранения данных, на котором сохраняется кодированная информация видео/изображений, сформированная согласно способу кодирования видео/изображений, раскрытому, по меньшей мере, в одном из вариантов осуществления настоящего документа.
[19] Согласно варианту осуществления настоящего документа, предоставляется машиночитаемый цифровой носитель хранения данных, на котором сохраняется кодированная информация или кодированная информация видео/изображений, инструктирующая осуществление способа декодирования видео/изображений, раскрытого, по меньшей мере, в одном из вариантов осуществления настоящего документа, посредством оборудования декодирования.
Преимущества изобретения
[20] Согласно варианту осуществления настоящего документа, может повышаться полная эффективность сжатия изображений/видео.
[21] Согласно варианту осуществления настоящего документа, субъективное/объективное визуальное качество может повышаться посредством эффективной фильтрации.
[22] Согласно варианту осуществления настоящего документа, ALF и/или LMCS могут адаптивно применяться в единицах кадров, срезов и/или блоков кодирования.
[23] Согласно варианту осуществления настоящего документа, связанная с ALF информация может эффективно передаваться в служебных сигналах.
[24] Согласно варианту осуществления настоящего документа, связанная с LMCS информация может эффективно передаваться в служебных сигналах.
Краткое описание чертежей
[25] Фиг. 1 иллюстрирует пример системы кодирования видео/изображений, к которой могут применяться варианты осуществления настоящего документа.
[26] Фиг. 2 является схемой, принципиально иллюстрирующей конфигурацию оборудования кодирования видео/изображений, к которому могут применяться варианты осуществления настоящего документа.
[27] Фиг. 3 является схемой, схематично иллюстрирующей конфигурацию оборудования декодирования видео/изображений, к которому могут применяться варианты осуществления настоящего документа.
[28] Фиг. 4 примерно показывает иерархическую структуру для кодированного изображения/видео.
[29] Фиг. 5 является блок-схемой последовательности операций способа, схематично иллюстрирующей пример ALF-процесса.
[30] Фиг. 6 показывает примеры форм ALF-фильтров.
[31] Фиг. 7 показывает пример иерархической структуры ALF-данных.
[32] Фиг. 8 показывает другой пример иерархической структуры ALF-данных.
[33] Фиг. 9 примерно иллюстрирует иерархическую структуру CVS согласно варианту осуществления настоящего документа.
[34] Фиг. 10 иллюстрирует примерную LMCS-структуру согласно варианту осуществления настоящего документа.
[35] Фиг. 11 иллюстрирует LMCS-структуру согласно другому варианту осуществления настоящего документа.
[36] Фиг. 12 показывает график, представляющий примерное прямое преобразование.
[37] Фиг. 13 и фиг. 14 схематично показывают пример способа кодирования видео/изображений и связанных компонентов согласно варианту(ам) осуществления настоящего документа.
[38] Фиг. 15 и фиг. 16 схематично показывают пример способа декодирования изображений/видео и связанных компонентов согласно варианту осуществления настоящего документа.
[39] Фиг. 17 показывает пример системы потоковой передачи контента, к которой могут применяться варианты осуществления, раскрытые в настоящем документе.
Подробное описание вариантов осуществления
[40] Настоящий документ может модифицироваться в различных формах, и его конкретные варианты осуществления описываются и показываются на чертежах. Тем не менее, варианты осуществления не имеют намерение для ограничения настоящего документа. Термины, используемые в нижеприведенном описании, используются для того, чтобы просто описывать конкретные варианты осуществления, но не имеют намерение ограничивать настоящий документ. Выражение единственного числа включает в себя выражение множественного числа до этих пор, до тех пор, пока они четко трактуются по-разному. Такие термины, как "включать в себя" и "иметь", предназначены для того, чтобы указывать то, что существуют признаки, числа, этапы, операции, элементы, компоненты либо комбинации вышеозначенного, используемые в нижеприведенном описании, и в силу этого следует понимать, что не исключается возможность наличия или добавления одного или более других признаков, чисел, этапов, операций, элементов, компонентов либо комбинаций вышеозначенного.
[41] Между тем, каждая конфигурация на чертежах, описанная в настоящем документе, показывается независимо для удобства описания относительно различных характеристических функций и не означает, что каждая конфигурация реализуется как отдельные аппаратные средства или отдельное программное обеспечение. Например, два или более компонентов для каждого компонента могут комбинироваться, чтобы формировать один компонент, либо один компонент может разделяться на множество компонентов. Варианты осуществления, в которых каждый компонент интегрируется и/или отделяется, также включаются в объем раскрытия сущности настоящего документа.
[42] В дальнейшем в этом документе подробно описываются примеры настоящего варианта осуществления со ссылкой на прилагаемые чертежи. Помимо этого, аналогичные ссылки с номерами используются для того, чтобы указывать аналогичные элементы на всех чертежах, и идентичные описания аналогичных элементов опускаются.
[43] Фиг. 1 иллюстрирует пример системы кодирования видео/изображений, к которой могут применяться варианты осуществления настоящего документа.
[44] Ссылаясь на фиг. 1, система кодирования видео/изображений может включать в себя первое устройство (исходное устройство) и второе устройство (приемное устройство). Исходное устройство может передавать кодированную информацию или данные видео/изображений в приемное устройство через цифровой носитель хранения данных или сеть в форме файла или потоковой передачи.
[45] Исходное устройство может включать в себя видеоисточник, оборудование кодирования и передатчик. Приемное устройство может включать в себя приемник, оборудование декодирования и модуль рендеринга. Оборудование кодирования может называться "оборудованием кодирования видео/изображений", и оборудование декодирования может называться "оборудованием декодирования видео/изображений". Передатчик может включаться в оборудование кодирования. Приемник может включаться в оборудование декодирования. Модуль рендеринга может включать в себя дисплей, и дисплей может быть сконфигурирован как отдельное устройство или внешний компонент.
[46] Видеоисточник может получать видео/изображение посредством процесса захвата, синтезирования или формирования видео/изображения. Видеоисточник может включать в себя устройство захвата видео/изображений и/или устройство формирования видео/изображений. Устройство захвата видео/изображений может включать в себя, например, одну или более камер, архивы видео/изображений, включающие в себя ранее захваченные видео/изображения, и т.п. Устройство формирования видео/изображений может включать в себя, например, компьютеры, планшетные компьютеры и смартфоны и может (электронно) формировать видео/изображения. Например, виртуальное видео/изображение может формироваться через компьютер и т.п. В этом случае, процесс захвата видео/изображений может заменяться посредством процесса формирования связанных данных.
[47] Оборудование кодирования может кодировать входное видео/изображение. Оборудование кодирования может выполнять последовательность процедур, таких как прогнозирование, преобразование и квантование, для эффективности сжатия и кодирования. Кодированные данные (кодированная информация видео/изображений) могут выводиться в форме потока битов.
[48] Передатчик может передавать информацию или данные кодированных изображений/изображений, выводимую в форме потока битов, в приемник приемного устройства через цифровой носитель хранения данных или сеть в форме файла или потоковой передачи. Цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как, USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик может включать в себя элемент для формирования мультимедийного файла через предварительно определенный формат файлов и может включать в себя элемент для передачи через широковещательную передачу/сеть связи. Приемник может принимать/извлекать поток битов и передавать принимаемый поток битов в оборудование декодирования.
[49] Оборудование декодирования может декодировать видео/изображение посредством выполнения последовательности процедур, таких как деквантование, обратное преобразование и прогнозирование, соответствующих работе оборудования кодирования.
[50] Модуль рендеринга может подготавливать посредством рендеринга декодированное видео/изображение. Подготовленное посредством рендеринга видео/изображение может отображаться через дисплей.
[51] Настоящий документ относится к кодированию видео/изображений. Например, способ/вариант осуществления, раскрытый в этом документе, может применяться к способу, раскрытому в стандарте универсального кодирования видео (VVC), стандарте фундаментального кодирования видео (EVC), стандарте AOMedia Video 1 (AV1), стандарте второго поколения кодирования аудио/видео (AVS2) или стандарте кодирования видео/изображений следующего поколения (например, H.267, H.268 и т.п.).
[52] Настоящий документ предлагает различные варианты осуществления кодирования видео/изображений, и вышеуказанные варианты осуществления также могут выполняться в комбинации между собой, если не указано иное.
[53] В настоящем документе, видео может означать последовательность изображений во времени. Кадр, в общем, означает единицу, представляющую одно изображение в конкретном временном кадре, и срез/плитка означает единицу, составляющую часть кадра с точки зрения кодирования. Срез/плитка может включать в себя одну или более единиц дерева кодирования (CTU). Один кадр может состоять из одного или более срезов/плиток. Один кадр может состоять из одной или более групп плиток. Одна группа плиток может включать в себя одну или более плиток. Кирпич может представлять прямоугольную область CTU-строк в плитке в кадре. Плитка может сегментироваться на несколько кирпичей, каждый из которых может конструироваться с одной или более CTU-строк в плитке. Плитка, которая не сегментируется на несколько кирпичей, также может называться "кирпичом". Кирпичное сканирование может представлять конкретное последовательное упорядочение CTU, сегментирующих кадр, при этом CTU могут упорядочиваться при растровом сканировании CTU в кирпиче, и кирпичи в плитке могут упорядочиваться последовательно при растровом сканировании кирпичей плитки, и плитки в кадре могут упорядочиваться последовательно при растровом сканировании плиток кадра. Плитка представляет собой прямоугольную область CTU в конкретном столбце плиток и конкретной строке плиток в кадре. Столбец плиток представляет собой прямоугольную область CTU, имеющих высоту, равную высоте кадра, и ширину, указываемую посредством синтаксических элементов в наборе параметров кадра. Строка плиток представляет собой прямоугольную область CTU, имеющих высоту, указываемую посредством синтаксических элементов в наборе параметров кадра, и ширину, равную ширине кадра. Сканирование плиток представляет собой конкретное последовательное упорядочение CTU, сегментирующих кадр, при котором CTU упорядочиваются последовательно при растровом сканировании CTU в плитке, тогда как плитки в кадре упорядочиваются последовательно при растровом сканировании плиток кадра. Срез включает в себя собой целое число кирпичей кадра, которые могут содержаться исключительно в одной NAL-единице. Срез может состоять либо из определенного числа полных плиток, либо только из жесткой последовательности полных кирпичей одной плитки. В настоящем документе, группа плиток и срез могут использоваться друг вместо друга. Например, в настоящем документе, группа плиток/заголовок группы плиток может называться "срезом/заголовком среза".
[54] Между тем, один кадр может разделяться на два или более субкадров. Субкадр может представлять собой прямоугольную область одного или более срезов в кадре.
[55] Пиксел или пел может означать наименьшую единицу, составляющую один кадр (или изображение). Кроме того, "выборка" может использоваться в качестве термина, соответствующего пикселу. Выборка, в общем, может представлять пиксел или значение пиксела и может представлять только пиксел/пиксельное значение компонента сигнала яркости либо только пиксел/пиксельное значение компонента сигнала цветности.
[56] Единица может представлять базовую единицу обработки изображений. Единица может включать в себя, по меньшей мере, одно из конкретной области кадра и информации, связанной с областью. Одна единица может включать в себя один блок сигналов яркости и два блока сигналов цветности (например, Cb, Cr). Единица может использоваться взаимозаменяемо с такими терминами, как блок или зона в некоторых случаях. В общем случае, блок MxN может включать в себя выборки (или массивы выборок) либо набор (или массив) коэффициентов преобразования из M столбцов и N строк. Альтернативно, выборка может означать пиксельное значение в пространственной области и когда такое пиксельное значение преобразуется в частотную область, это может означать коэффициент преобразования в частотной области.
[57] В настоящем документе, "A или B" может означать "только A", "только B" или "как A, так и B". Другими словами, "A или B" в настоящем документе может интерпретироваться в качестве "A и/или B". Например, в настоящем документе "A, B или C (A, B или C)" означает "только A", "только B", "только C" либо "любая комбинация A, B и C".
[58] Наклонная черта (/) или запятая (запятая), используемая в настоящем документе, может означать "и/или". Например, "A/B" может означать "A и/или B". Соответственно, "A/B" может означать "только A", "только B" либо "как A, так и B". Например, "A, B, C" может означать "A, B или C".
[59] В настоящем документе, "по меньшей мере, одно из A и B" может означать "только A", "только B" или "как A, так и B". Кроме того, в настоящем документе, выражение "по меньшей мере, одно из A или B" или "по меньшей мере, одно из A и/или B" может интерпретироваться идентично "по меньшей мере, одно из A и B".
[60] Кроме того, в настоящем документе, "по меньшей мере, одно из A, B и C" означает "только A", "только B", "только C" либо "любая комбинация A, B и C". Кроме того, "по меньшей мере, одно из A, B или C" или "по меньшей мере, одно из A, B и/или C" может означать "по меньшей мере, одно из A, B и C".
[61] Кроме того, круглые скобки, используемые в настоящем документе, могут означать, "например". В частности, когда "прогнозирование (внутреннее прогнозирование)" указывается, "внутреннее прогнозирование" может предлагаться в качестве примера "прогнозирования". Другими словами, "прогнозирование" в настоящем документе не ограничено "внутренним прогнозированием", и "внутреннее прогнозирование" может предлагаться в качестве примера "прогнозирования". Кроме того, даже когда "прогнозирование (т.е. внутреннее прогнозирование)" указывается, "внутреннее прогнозирование" может предлагаться в качестве примера "прогнозирования".
[62] Технические признаки, которые отдельно описываются на одном чертеже в настоящем документе, могут реализовываться отдельно или одновременно.
[63] Фиг. 2 является схемой, принципиально иллюстрирующей конфигурацию оборудования кодирования видео/изображений, к которому могут применяться варианты осуществления настоящего документа. В дальнейшем в этом документе, то, что называется "оборудованием кодирования видео", может включать в себя оборудование кодирования изображений.
[64] Ссылаясь на фиг. 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 в качестве внутреннего/внешнего компонента.
[65] Модуль 210 сегментации изображений может сегментировать входное изображение (либо кадр или кадр), вводимое в оборудование 200 кодирования, на один более блоков обработки. Например, блок обработки может называться "единицей кодирования (CU)". В этом случае, единица кодирования может рекурсивно сегментироваться согласно структуре в виде дерева квадрантов, двоичного дерева и троичного дерева (QTBTTT) из единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU). Например, одна единица кодирования может сегментироваться на множество единиц кодирования большей глубины на основе структуры в виде дерева квадрантов, структуры в виде двоичного дерева и/или троичной структуры. В этом случае, например, сначала может применяться структура в виде дерева квадрантов, и впоследствии может применяться структура в виде двоичного дерева и троичная структура. Альтернативно, сначала может применяться структура в виде двоичного дерева. Процедура кодирования согласно настоящему раскрытию сущности может выполняться на основе конечной единицы кодирования, которая более не сегментируется. В этом случае, наибольшая единица кодирования может использоваться в качестве конечной единицы кодирования на основе эффективности кодирования согласно характеристикам изображений, или при необходимости, единица кодирования может рекурсивно сегментироваться на единицы кодирования большей глубины, и единица кодирования, имеющая оптимальный размер, может использоваться в качестве конечной единицы кодирования. Здесь, процедура кодирования может включать в себя процедуру прогнозирования, преобразования и восстановления, которая описывается ниже. В качестве другого примера, блок обработки дополнительно может включать в себя единицу прогнозирования (PU) или единицу преобразования (TU). В этом случае, единица прогнозирования и единица преобразования могут разбиваться или сегментироваться из вышеуказанной конечной единицы кодирования. Единица прогнозирования может представлять собой единицу выборочного прогнозирования, и единица преобразования может представлять собой единицу для извлечения коэффициента преобразования и/или единицу для извлечения остаточного сигнала из коэффициента преобразования.
[66] Единица может использоваться взаимозаменяемо с такими терминами, как блок или зона в некоторых случаях. В общем случае, блок MxN может представлять набор выборок или коэффициентов преобразования, состоящих из M столбцов и N строк. Выборка, в общем, может представлять пиксел или значение пиксела, может представлять только пиксел/пиксельное значение компонента сигнала яркости либо представлять только пиксел/пиксельное значение компонента сигнала цветности. Выборка может использоваться в качестве термина, соответствующего одному кадру (или изображению) для пиксела или пела.
[67] В оборудовании 200 кодирования, прогнозный сигнал (прогнозированный блок, массив прогнозных выборок), выводимый из модуля 221 взаимного прогнозирования или модуля 222 внутреннего прогнозирования, вычитается из сигнала входного изображения (исходного блока, массива исходных выборок), чтобы формировать остаточный сигнал (остаточный блок, массив остаточных выборок), и сформированный остаточный сигнал передается в преобразователь 232. В этом случае, как показано, модуль для вычитания прогнозного сигнала (прогнозированного блока, массива прогнозных выборок) из сигнала входного изображения (исходного блока, массива исходных выборок) в кодере 200 может называться "вычитателем 231". Модуль прогнозирования может выполнять прогнозирование для блока, который должен обрабатываться (в дальнейшем в этом документе, называемого "текущим блоком"), и формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование, на основе текущего блока или CU. Как описано ниже в описании каждого режима прогнозирования, модуль прогнозирования может формировать различную информацию, связанную с прогнозированием, к примеру, информацию режима прогнозирования, и передавать сформированную информацию в энтропийный кодер 240. Информация относительно прогнозирования может кодироваться в энтропийном кодере 240 и выводиться в форме потока битов.
[68] Модуль 222 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки для ссылки могут быть расположены в окружении текущего блока или могут быть расположены независимо согласно режиму прогнозирования. При внутреннем прогнозировании, режимы прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Ненаправленный режим может включать в себя, например, DC-режим и планарный режим. Направленный режим может включать в себя, например, 33 режима направленного прогнозирования или 65 режимов направленного прогнозирования согласно степени детальности направления прогнозирования. Тем не менее, это представляет собой просто пример, большее или меньшее число режимов направленного прогнозирования может использоваться в зависимости от настройки. Модуль 222 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.
[69] Модуль 221 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. Здесь, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными или отличающимися. Временной соседний блок может называться "совместно размещенным опорным блоком", "совместно размещенной CU (colCU)" и т.п., и опорный кадр, включающий в себя временной соседний блок, может называться "совместно размещенным кадром (colPic)". Например, модуль 221 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и формировать информацию, указывающую то, какой возможный вариант используется для того, чтобы извлекать вектор движения и/или индекс опорного кадра текущего блока. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования. Например, в случае режима пропуска и режима объединения, модуль 221 взаимного прогнозирования может использовать информацию движения соседнего блока в качестве информации движения текущего блока. В режиме пропуска, в отличие от режима объединения, остаточный сигнал может не передаваться. В случае режима прогнозирования векторов движения (MVP), вектор движения соседнего блока может использоваться в качестве предиктора вектора движения, и вектор движения текущего блока может указываться посредством передачи в служебных сигналах разности векторов движения.
[70] Модуль 220 прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования, описанных ниже. Например, модуль прогнозирования может не только применять внутреннее прогнозирование или взаимное прогнозирование для того, чтобы прогнозировать один блок, но также и одновременно применять как внутренние прогнозирование, так и взаимное прогнозирование. Это может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может быть основан на режиме прогнозирования на основе внутриблочного копирования (IBC) либо на палитровом режиме для прогнозирования блока. Режим IBC-прогнозирования или палитровый режим может использоваться для кодирования изображений/видео контента игры и т.п., например, для кодирования экранного контента (SCC). IBC по существу выполняет прогнозирование в текущем кадре, но может выполняться аналогично взаимному прогнозированию, в котором опорный блок извлекается в текущем кадре. Таким образом, IBC может использовать, по меньшей мере, одну из технологий взаимного прогнозирования, описанных в настоящем раскрытии сущности. Палитровый режим может рассматриваться как пример внутреннего кодирования или внутреннего прогнозирования. Когда палитровый режим применяется, выборочное значение в кадре может передаваться в служебных сигналах на основе информации относительно таблицы палитр и индекса палитры.
[71] Прогнозный сигнал, сформированный посредством модуля прогнозирования (включающего в себя модуль 221 взаимного прогнозирования и/или модуль 222 внутреннего прогнозирования), может использоваться для того, чтобы формировать восстановленный сигнал или формировать остаточный сигнал. Преобразователь 232 может формировать коэффициенты преобразования посредством применения технологии преобразования к остаточному сигналу. Например, технология преобразования может включать в себя, по меньшей мере, одно из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования Карунена-Лоэва (KLT), преобразования на основе графа (GBT) или условно нелинейного преобразования (CNT). Здесь, GBT означает преобразование, полученное из графа, когда информация взаимосвязи между пикселами представляется посредством графа. CNT означает преобразование, сформированное на основе прогнозного сигнала, сформированного с использованием всех ранее восстановленных пикселов. Помимо этого, процесс преобразования может применяться к квадратным пиксельным блокам, имеющим идентичный размер, или может применяться к блокам, имеющим переменный размер, а не квадратный.
[72] Квантователь 233 может квантовать коэффициенты преобразования и передавать их в энтропийный кодер 240, и энтропийный кодер 240 может кодировать квантованный сигнал (информацию относительно квантованных коэффициентов преобразования) и выводить поток битов. Информация относительно квантованных коэффициентов преобразования может называться "остаточной информацией". Квантователь 233 может перекомпоновывать блочные квантованные коэффициенты преобразования в одномерную векторную форму на основе порядка сканирования коэффициентов и формировать информацию относительно квантованных коэффициентов преобразования на основе квантованных коэффициентов преобразования в одномерной векторной форме. Информация относительно коэффициентов преобразования может формироваться. Энтропийный кодер 240 может осуществлять различные способы кодирования, такие как, например, кодирование экспоненциальным кодом Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и т.п. Энтропийный кодер 240 может кодировать информацию, необходимую для восстановления видео/изображений, отличную от квантованных коэффициентов преобразования (например, значений синтаксических элементов и т.д.), вместе или отдельно. Кодированная информация (например, кодированная информация видео/изображений) может передаваться или сохраняться в единицах NAL (слоя абстрагирования от сети) в форме потока битов. Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. В настоящем раскрытии сущности, информация и/или синтаксические элементы, передаваемые/передаваемые в служебных сигналах из оборудования кодирования в оборудование декодирования, могут включаться в информацию видео/кадров. Информация видео/изображений может кодироваться через вышеописанную процедуру кодирования и включаться в поток битов. Поток битов может передаваться по сети или может сохраняться на цифровом носителе хранения данных. Сеть может включать в себя широковещательную сеть и/или сеть связи, и цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как, USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик (не показан), передающий сигнал, выводимый из энтропийного кодера 240, и/или модуль хранения (не показан), сохраняющий сигнал, могут включаться в качестве внутреннего/внешнего элемента оборудования 200 кодирования, и альтернативно, передатчик может включаться в энтропийный кодер 240.
[73] Квантованные коэффициенты преобразования, выводимые из квантователя 233, могут использоваться для того, чтобы формировать прогнозный сигнал. Например, остаточный сигнал (остаточный блок или остаточные выборки) может восстанавливаться посредством применения деквантования и обратного преобразования к квантованным коэффициентам преобразования через деквантователь 234 и обратный преобразователь 235. Сумматор 250 суммирует восстановленный остаточный сигнал с прогнозным сигналом, выводимым из модуля 221 взаимного прогнозирования или модуля 222 внутреннего прогнозирования, чтобы формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок). Если отсутствует остаток для блока, который должен обрабатываться, к примеру, в случае, в котором режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока. Сумматор 250 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, и может использоваться для взаимного прогнозирования следующего кадра посредством фильтрации, как описано ниже.
[74] Между тем, преобразование сигнала яркости с масштабированием сигнала цветности (LMCS) может применяться во время кодирования и/или восстановления кадров.
[75] Фильтр 260 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 260 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 270, а именно, в DPB запоминающего устройства 270. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, дискретизированное адаптивное смещение, адаптивный контурный фильтр, билатеральный фильтр и т.п. Фильтр 260 может формировать различную информацию, связанную с фильтрацией, и передавать сформированную информацию в энтропийный кодер 240, как описано ниже в описании каждого способа фильтрации. Информация, связанная с фильтрацией, может кодироваться посредством энтропийного кодера 240 и выводиться в форме потока битов.
[76] Модифицированный восстановленный кадр, передаваемый в запоминающее устройство 270, может использоваться в качестве опорного кадра в модуле 221 взаимного прогнозирования. Когда взаимное прогнозирование применяется посредством оборудования кодирования, рассогласование прогнозирования между оборудованием 200 кодирования и оборудованием 300 декодирования может исключаться, и эффективность кодирования может повышаться.
[77] DPB запоминающего устройства 270 может сохранять модифицированный восстановленный кадр для использования в качестве опорного кадра в модуле 221 взаимного прогнозирования. Запоминающее устройство 270 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или кодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 221 взаимного прогнозирования и использоваться в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 270 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и может передавать восстановленные выборки в модуль 222 внутреннего прогнозирования.
[78] Фиг. 3 является принципиальной схемой, иллюстрирующей конфигурацию оборудования декодирования видео/изображений, к которому может применяться вариант(ы) осуществления настоящего раскрытия сущности.
[79] Ссылаясь на фиг. 3, оборудование 300 декодирования может включать в себя энтропийный декодер 310, остаточный процессор 320, модуль 330 прогнозирования, сумматор 340, фильтр 350, запоминающее устройство 360. Модуль 330 прогнозирования может включать в себя модуль 331 взаимного прогнозирования и модуль 332 внутреннего прогнозирования. Остаточный процессор 320 может включать в себя деквантователь 321 и обратный преобразователь 321. Энтропийный декодер 310, остаточный процессор 320, модуль 330 прогнозирования, сумматор 340 и фильтр 350 могут быть сконфигурированы посредством аппаратного компонента (например, набора микросхем или процессора декодера) согласно варианту осуществления. Помимо этого, запоминающее устройство 360 может включать в себя буфер декодированных кадров (DPB) или может быть сконфигурировано посредством цифрового носителя хранения данных. Аппаратный компонент дополнительно может включать в себя запоминающее устройство 360 в качестве внутреннего/внешнего компонента.
[80] Когда поток битов, включающий в себя информацию видео/изображений, вводится, оборудование 300 декодирования может восстанавливать изображение, соответствующее процессу, в котором информация видео/изображений обрабатывается в оборудовании кодирования по фиг. 2. Например, оборудование 300 декодирования может извлекать единицы/блоки на основе связанной с сегментацией на блоки информации, полученной из потока битов. Оборудование 300 декодирования может выполнять декодирование с использованием блока обработки, применяемого в оборудовании кодирования. Таким образом, блок обработки декодирования, например, может представлять собой единицу кодирования, и единица кодирования может сегментироваться согласно структуре в виде дерева квадрантов, структуре в виде двоичного дерева и/или структуре в виде троичного дерева из единицы дерева кодирования или наибольшей единицы кодирования. Одна или более единиц преобразования могут извлекаться из единицы кодирования. Восстановленный сигнал изображения, декодированный и выводимый посредством оборудования 300 декодирования, может воспроизводиться посредством оборудования воспроизведения.
[81] Оборудование 300 декодирования может принимать сигнал, выводимый из оборудования кодирования по фиг. 2 в форме потока битов, и принимаемый сигнал может декодироваться через энтропийный декодер 310. Например, энтропийный декодер 310 может синтаксически анализировать поток битов, чтобы извлекать информацию (например, информацию видео/изображений), необходимую для восстановления изображений (или восстановления кадров). Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Оборудование декодирования дополнительно может декодировать кадр на основе информации относительно набора параметров и/или общей информации ограничений. Передаваемая в служебных сигналах/принимаемая информация и/или синтаксические элементы, описанные далее в настоящем раскрытии сущности, могут декодироваться, могут декодировать процедуру декодирования и получаться из потока битов. Например, энтропийный декодер 310 декодирует информацию в потоке битов на основе способа кодирования, такого как кодирование экспоненциальным кодом Голомба, CAVLC или CABAC, и выходных синтаксических элементов, требуемых для восстановления изображений, и квантованных значений коэффициентов преобразования для остатка. Более конкретно, способ энтропийного CABAC-декодирования может принимать элемент разрешения, соответствующий каждому синтаксическому элементу в потоке битов, определять контекстную модель с использованием информации целевого синтаксического элемента декодирования, информации декодирования целевого блока декодирования или информации символа/элемента разрешения, декодированного на предыдущей стадии, и выполнять арифметическое декодирование для элемента разрешения посредством прогнозирования вероятности появления элемента разрешения согласно определенной контекстной модели и формировать символ, соответствующий значению каждого синтаксического элемента. В этом случае, способ энтропийного CABAC-декодирования может обновлять контекстную модель посредством использования информации декодированного символа/элемента разрешения для контекстной модели следующего символа/элемента разрешения после определения контекстной модели. Информация, связанная с прогнозированием, из информации, декодированной посредством энтропийного декодера 310, может предоставляться в модуль прогнозирования (модуль 332 взаимного прогнозирования и модуль 331 внутреннего прогнозирования), и остаточное значение, для которого энтропийное декодирование выполнено в энтропийном декодере 310, т.е. квантованные коэффициенты преобразования и связанная информация параметров, может вводиться в остаточный процессор 320. Остаточный процессор 320 может извлекать остаточный сигнал (остаточный блок, остаточные выборки, массив остаточных выборок). Помимо этого, информация относительно фильтрации из информации, декодированной посредством энтропийного декодера 310, может предоставляться в фильтр 350. Между тем, приемник (не показан) для приема сигнала, выводимого из оборудования кодирования, может быть дополнительно сконфигурирован в качестве внутреннего/внешнего элемента оборудования 300 декодирования, либо приемник может представлять собой компонент энтропийного декодера 310. Между тем, оборудование декодирования согласно этому документу может называться "оборудованием декодирования видео/изображений/кадров", и оборудование декодирования может классифицироваться на информационный декодер (декодер информации видео/изображений/кадров) и выборочный декодер (декодер выборок видео/изображений/кадров). Информационный декодер может включать в себя энтропийный декодер 310, и выборочный декодер может включать в себя, по меньшей мере, одно из деквантователя 321, обратного преобразователя 322, сумматора 340, фильтра 350, запоминающего устройства 360, модуля 332 взаимного прогнозирования и модуля 331 внутреннего прогнозирования.
[82] Деквантователь 321 может деквантовать квантованные коэффициенты преобразования и выводить коэффициенты преобразования. Деквантователь 321 может перекомпоновывать квантованные коэффициенты преобразования в форме двумерной блочной формы. В этом случае, перекомпоновка может выполняться на основе порядка сканирования коэффициентов, выполняемого в оборудовании кодирования. Деквантователь 321 может выполнять деквантование для квантованных коэффициентов преобразования посредством использования параметра квантования (например, информации размера шага квантования) и получать коэффициенты преобразования.
[83] Обратный преобразователь 322 обратно преобразует коэффициенты преобразования, чтобы получать остаточный сигнал (остаточный блок, массив остаточных выборок).
[84] Модуль 230 прогнозирования может выполнять прогнозирование для текущего блока и может формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование к текущему блоку, на основе информации относительно прогнозирования, выводимой из энтропийного декодера 310, и может определять конкретный режим внутреннего/взаимного прогнозирования.
[85] Модуль 320 прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования, описанных ниже. Например, модуль прогнозирования может не только применять внутреннее прогнозирование или взаимное прогнозирование для того, чтобы прогнозировать один блок, но также и одновременно применять внутреннее прогнозирование и взаимное прогнозирование. Это может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может быть основан на режиме прогнозирования на основе внутриблочного копирования (IBC) либо на палитровом режиме для прогнозирования блока. Режим IBC-прогнозирования или палитровый режим может использоваться для кодирования изображений/видео контента игры и т.п., например, для кодирования экранного контента (SCC). IBC по существу выполняет прогнозирование в текущем кадре, но может выполняться аналогично взаимному прогнозированию, в котором опорный блок извлекается в текущем кадре. Таким образом, IBC может использовать, по меньшей мере, одну из технологий взаимного прогнозирования, описанных в настоящем раскрытии сущности. Палитровый режим может рассматриваться как пример внутреннего кодирования или внутреннего прогнозирования. Когда палитровый режим применяется, выборочное значение в кадре может передаваться в служебных сигналах на основе информации относительно таблицы палитр и индекса палитры.
[86] Модуль 331 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки для ссылки могут быть расположены в окружении текущего блока или могут быть расположены независимо согласно режиму прогнозирования. При внутреннем прогнозировании, режимы прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Модуль 331 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.
[87] Модуль 332 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Например, модуль 332 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и извлекать вектор движения текущего блока и/или индекс опорного кадра на основе принимаемой информации выбора возможных вариантов. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования, и информация относительно прогнозирования может включать в себя информацию, указывающую режим взаимного прогнозирования для текущего блока.
[88] Сумматор 340 может формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок) посредством суммирования полученного остаточного сигнала с прогнозным сигналом (прогнозированным блоком, массивом прогнозированных выборок), выводимым из модуля прогнозирования (включающего в себя модуль 332 взаимного прогнозирования и/или модуль 331 внутреннего прогнозирования). Если отсутствует остаток для блока, который должен обрабатываться, к примеру, когда режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока.
[89] Сумматор 340 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, может выводиться посредством фильтрации, как описано ниже, или может использоваться для взаимного прогнозирования следующего кадра.
[90] Между тем, преобразование сигнала яркости с масштабированием сигнала цветности (LMCS) может применяться в процессе декодирования кадров.
[91] Фильтр 350 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 350 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 360, а именно, в DPB запоминающего устройства 360. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, дискретизированное адаптивное смещение, адаптивный контурный фильтр, билатеральный фильтр и т.п.
[92] (Модифицированный) восстановленный кадр, сохраненный в DPB запоминающего устройства 360, может использоваться в качестве опорного кадра в модуле 332 взаимного прогнозирования. Запоминающее устройство 360 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или декодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 260 взаимного прогнозирования, так что она используется в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 360 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и передавать восстановленные выборки в модуль 331 внутреннего прогнозирования.
[93] В настоящем документе, варианты осуществления, описанные в фильтре 260, модуле 221 взаимного прогнозирования и модуле 222 внутреннего прогнозирования оборудования 200 кодирования, могут быть идентичными или надлежащим образом применяться, так что они соответствуют фильтру 350, модулю 332 взаимного прогнозирования и модулю 331 внутреннего прогнозирования оборудования 300 декодирования. То же также может применяться к модулю 332 и модулю 331 внутреннего прогнозирования.
[94] Как описано выше, при кодировании видео, прогнозирование выполняется для того, чтобы повышать эффективность сжатия. Через это, можно формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока, который представляет собой блок, который должен кодироваться. Здесь, прогнозированный блок включает в себя прогнозные выборки в пространственной области (или пиксельной области). Прогнозированный блок извлекается одинаково из устройства кодирования и устройства декодирования, и устройство кодирования декодирует информацию (остаточную информацию) относительно остатка между исходным блоком и прогнозированным блоком, а не исходное выборочное значение самого исходного блока. Посредством передачи служебных сигналов в устройство может увеличиваться эффективность кодирования изображений. Оборудование декодирования может извлекать остаточный блок, включающий в себя остаточные выборки на основе остаточной информации, и формировать восстановленный блок, включающий в себя восстановленные выборки, посредством суммирования остаточного блока с прогнозированным блоком и формировать восстановленный кадр, включающий в себя восстановленные блоки.
[95] Остаточная информация может формироваться через процессы преобразования и квантования. Например, оборудование кодирования может извлекать остаточный блок между исходным блоком и прогнозированным блоком и выполнять процесс преобразования для остаточных выборок (массива остаточных выборок), включенных в остаточный блок, чтобы извлекать коэффициенты преобразования, и после этого, посредством выполнения процесса квантования для коэффициентов преобразования, извлекать квантованные коэффициенты преобразования, чтобы передавать в служебных сигналах остаточную связанную информацию в оборудование декодирования (через поток битов). Здесь, остаточная информация может включать в себя информацию местоположения, технологию преобразования, ядро преобразования и параметр квантования, информацию значений квантованных коэффициентов преобразования и т.д. Оборудование декодирования может выполнять процесс деквантования/обратного преобразования на основе остаточной информации и извлекать остаточные выборки (или остаточные блоки). Оборудование декодирования может формировать восстановленное изображение на основе прогнозированного блока и остаточного блока. Оборудование кодирования также может деквантовать/обратно преобразовывать квантованные коэффициенты преобразования для ссылки для взаимного прогнозирования более позднего кадра, чтобы извлекать остаточный блок и формировать восстановленный кадр на его основе. В настоящем документе, по меньшей мере, одно из квантования/деквантования и/или преобразования/обратного преобразования может опускаться. Когда квантование/деквантование опускается, квантованный коэффициент преобразования может называться "коэффициентом преобразования". Когда преобразование/обратное преобразование опускается, коэффициенты преобразования могут называться "коэффициентами" или "остаточными коэффициентами" либо по-прежнему могут называться "коэффициентами преобразования" для единообразности выражения. В настоящем документе, квантованный коэффициент преобразования и коэффициент преобразования могут называться "коэффициентом преобразования" и "масштабированным коэффициентом преобразования", соответственно. В этом случае, остаточная информация может включать в себя информацию относительно коэффициента(ов) преобразования, и информация относительно коэффициента(ов) преобразования может передаваться в служебных сигналах через синтаксис остаточного кодирования. Коэффициенты преобразования могут извлекаться на основе остаточной информации (или информации относительно коэффициента(ов) преобразования), и масштабированные коэффициенты преобразования могут извлекаться через обратное преобразование (масштабирование) для коэффициентов преобразования. Остаточные выборки могут извлекаться на основе обратного преобразования (преобразования) масштабированных коэффициентов преобразования. Это также может применяться/выражаться в других частях настоящего документа.
[96] Внутреннее прогнозирование может означать прогнозирование, которое формирует прогнозные выборки для текущего блока на основе опорных выборок в кадре, которому принадлежит текущий блок (далее называется "текущим кадром"). Когда внутреннее прогнозирование применяется к текущему блоку, соседние опорные выборки, которые должны использоваться для внутреннего прогнозирования текущего блока, могут извлекаться. Соседние опорные выборки текущего блока могут включать в себя выборки, смежные с левой границей относительно текущего блока, имеющего размер nWxnH, и в сумме 2xnH выборок, граничащих с левой нижней частью, выборки, смежные с верхней границей относительно текущего блока, и в сумме 2xnW выборок, граничащих с правой верхней частью, и одну выборку, граничащую с левой верхней частью относительно текущего блока. Альтернативно, соседние опорные выборки текущего блока могут включать в себя множество верхних соседних выборок и множество левых соседних выборок. Помимо этого, соседние опорные выборки текущего блока могут включать в сумме nH выборок, смежных с правой границей относительно текущего блока, имеющего размер nWxnH, в сумме nW выборок, смежных с нижней границей относительно текущего блока, и одну выборку, смежную с правой нижней частью относительно текущего блока.
[97] Тем не менее, некоторые соседние опорные выборки текущего блока могут еще не декодироваться или не быть доступными. В этом случае, декодер может конфигурировать соседние опорные выборки, которые следует использовать для прогнозирования, посредством подстановки вместо выборок, которые не доступны, доступных выборок. Альтернативно, соседние опорные выборки, которые должны использоваться для прогнозирования, могут быть сконфигурированы через интерполяцию доступных выборок.
[98] Когда соседние опорные выборки извлекаются, (i) прогнозная выборка может извлекаться на основе среднего или интерполяции соседних опорных выборок текущего блока, и (ii) прогнозная выборка может извлекаться на основе опорной выборки, присутствующей в конкретном направлении (прогнозирования) для прогнозной выборки из периферийных опорных выборок текущего блока. Случай (i) может называться "ненаправленным режимом" или "неугловым режимом", и случай (ii) может называться "направленным режимом" или "угловым режимом".
[99] Кроме того, прогнозная выборка также может формироваться через интерполяцию между второй соседней выборкой и первой соседней выборкой, расположенной в направлении, противоположном направлению прогнозирования режима внутреннего прогнозирования текущего блока на основе прогнозной выборки текущего блока из соседних опорных выборок. Вышеописанный случай может называться "внутренним прогнозированием с линейной интерполяцией (LIP)". Помимо этого, выборки прогнозирования сигналов цветности могут формироваться на основе выборок сигнала яркости с использованием линейной модели. Этот случай может называться "LM-режимом".
[100] Помимо этого, временная прогнозная выборка текущего блока может извлекаться на основе фильтруемых соседних опорных выборок и, по меньшей мере, одной опорной выборки, извлекаемой согласно режиму внутреннего прогнозирования из существующих соседних опорных выборок, т.е. нефильтрованные соседние опорные выборки и временная прогнозная выборка могут суммироваться со взвешиванием, чтобы извлекать прогнозную выборку текущего блока. Вышеописанный случай может называться "позиционно-зависимым внутренним прогнозированием (PDPC)".
[101] Помимо этого, линия опорных выборок, имеющая наибольшую точность прогнозирования из соседних множественных опорных примерных линий текущего блока, может выбираться, чтобы извлекать прогнозную выборку посредством использования опорной выборки, расположенной в направлении прогнозирования на соответствующей линии, и затем линия опорных выборок, используемая в данном документе, может указываться (передаваться в служебных сигналах) в оборудование декодирования, за счет этого выполняя внутреннее прогнозирующее кодирование. Вышеописанный случай может называться "внутренним прогнозированием на основе множественной опорной линии (MRL)" или "внутренним прогнозированием на основе MRL".
[102] Помимо этого, внутреннее прогнозирование может выполняться на основе идентичного режима внутреннего прогнозирования посредством разделения текущего блока на вертикальные или горизонтальные субсегменты, и соседние опорные выборки могут извлекаться и использоваться в единице субсегментов. Таким образом, в этом случае, режим внутреннего прогнозирования для текущего блока в равной степени применяется к субсегментам, и производительность внутреннего прогнозирования может повышаться в некоторых случаях посредством извлечения и использования соседних опорных выборок в единице субсегментов. Такой способ прогнозирования может называться "внутренним прогнозированием на основе внутренних субсегментов (ISP) или на основе ISP".
[103] Вышеописанные способы внутреннего прогнозирования могут называться "типом внутреннего прогнозирования" отдельно от режима внутреннего прогнозирования. Тип внутреннего прогнозирования может называться с помощью различных терминов, таких как "технология внутреннего прогнозирования" или "дополнительный режим внутреннего прогнозирования". Например, тип внутреннего прогнозирования (или дополнительный режим внутреннего прогнозирования) может включать в себя, по меньшей мере, одно из вышеописанных LIP, PDPC, MRL и ISP. Общий способ внутреннего прогнозирования, за исключением конкретного типа внутреннего прогнозирования, такого как LIP, PDPC, MRL или ISP, может называться "типом нормального внутреннего прогнозирования". Тип нормального внутреннего прогнозирования, в общем, может применяться, когда конкретный тип внутреннего прогнозирования не применяется, и прогнозирование может выполняться на основе режима внутреннего прогнозирования, описанного выше. Между тем, постфильтрация может выполняться для прогнозированной выборки, извлекаемой по мере необходимости.
[104] В частности, процедура внутреннего прогнозирования может включать в себя этап определения режима/типа внутреннего прогнозирования, этап извлечения соседних опорных выборок и этап извлечения прогнозных выборок на основе режима/типа внутреннего прогнозирования. Помимо этого, этап постфильтрации может выполняться для прогнозированной выборки, извлекаемой по мере необходимости.
[105] Когда внутреннее прогнозирование применяется, режим внутреннего прогнозирования, применяемый к текущему блоку, может определяться с использованием режима внутреннего прогнозирования соседнего блока. Например, оборудование декодирования может выбирать один из возможных вариантов наиболее вероятного режима (MPM) MPM-списка, извлекаемого на основе режима внутреннего прогнозирования соседнего блока (например, левого и/или верхнего соседних блоков) относительно текущего блока на основе принимаемого MPM-индекса и выбирать один из других оставшихся вводных режимов прогнозирования, не включенных в возможные MPM-варианты (и в планарный режим), на основе информации оставшегося режима внутреннего прогнозирования. MPM-список может быть выполнен с возможностью включать в себя или не включать в себя планарный режим в качестве возможного варианта. Например, если MPM-список включает в себя планарный режим в качестве возможного варианта, MPM-список может иметь шесть возможных вариантов. Если MPM-список не включает в себя планарный режим в качестве возможного варианта, MPM-список может иметь три возможных варианта. Когда MPM-список не включает в себя планарный режим в качестве возможного варианта, непланарный флаг (например, intra_luma_not_planar_flag), указывающий то, не представляет собой либо представляет собой режим внутреннего прогнозирования текущего блока планарный режим, может передаваться в служебных сигналах. Например, MPM-флаг может передаваться в служебных сигналах сначала, и MPM-индекс и непланарный флаг может передаваться в служебных сигналах, когда значение MPM-флага равно 1. Помимо этого, MPM-индекс может передаваться в служебных сигналах, когда значение непланарного флага равно 1. Здесь, MPM-список выполнен с возможностью как не включать в себя планарный режим в качестве возможного варианта, так и не передавать в служебных сигналах непланарный флаг первым, чтобы сначала проверять то представляет он собой или нет планарный режим, поскольку планарный режим всегда рассматривается в качестве MPM.
[106] Например, то, находится режим внутреннего прогнозирования, применяемый к текущему блоку, в возможных MPM-вариантах (и в планарном режиме) или в оставшемся режиме, может указываться на основе MPM-флага (например, Intra_luma_mpm_flag). Значение 1 MPM-флага может указывать то, что режим внутреннего прогнозирования для текущего блока находится в возможных MPM-вариантах (и в планарном режиме), и значение 0 MPM-флага может указывать то, что режим внутреннего прогнозирования для текущего блока не находится в возможных MPM-вариантах (и планарном режиме). Значение 0 непланарного флага (например, Intra_luma_not_planar_flag) может указывать то, что режим внутреннего прогнозирования для текущего блока представляет собой планарный режим, и значение 1 для значения непланарного флага может указывать то, что режим внутреннего прогнозирования для текущего блока не представляет собой планарный режим. MPM-индекс может передаваться в служебных сигналах в форме синтаксического элемента mpm_idx или intra_luma_mpm_idx, и информация оставшегося режима внутреннего прогнозирования может передаваться в служебных сигналах в форме синтаксического элемента rem_intra_luma_pred_mode или intra_luma_mpm_remainder. Например, информация оставшегося режима внутреннего прогнозирования может индексировать оставшиеся режимы внутреннего прогнозирования, не включенные в возможные MPM-варианты (и в планарный режим), из всех режимов внутреннего прогнозирования в порядке номера режима прогнозирования, чтобы указывать один из них. Режим внутреннего прогнозирования может представлять собой режим внутреннего прогнозирования для компонента (выборки) сигнала яркости. В дальнейшем в этом документе, информация режима внутреннего прогнозирования может включать в себя, по меньшей мере, одно из MPM-флага (например, Intra_luma_mpm_flag), непланарного флага (например, Intra_luma_not_planar_flag), MPM-индекса (например, mpm_idx или intra_luma_mpm_idx) и информации оставшегося режима внутреннего прогнозирования (rem_intra_luma_pred_mode или intra_luma_mpm_remainder). В настоящем документе, MPM-список может называться с помощью различных терминов, таких как "список возможных MPM-вариантов" и "candModeList". Когда MIP применяется к текущему блоку, отдельный MPM-флаг (например, intra_mip_mpm_flag), MPM-индекс (например, intra_mip_mpm_idx) и информация оставшегося режима внутреннего прогнозирования (например, intra_mip_mpm_remainder) для MIP может передаваться в служебных сигналах, и непланарный флаг не передается в служебных сигналах.
[107] Другими словами, в общем, когда разбиение блоков выполняется для изображения, текущий блок и соседний блок, которые должны кодироваться, имеют аналогичные характеристики изображений. Следовательно, текущий блок и соседний блок имеют высокую вероятность наличия идентичного или аналогичного режима внутреннего прогнозирования. Таким образом, кодер может использовать режим внутреннего прогнозирования соседнего блока для того, чтобы кодировать режим внутреннего прогнозирования текущего блока.
[108] Например, кодер/декодер может конфигурировать список наиболее вероятных режимов (MPM) для текущего блока. MPM-список также может называться "списком возможных MPM-вариантов". В данном документе, MPM может означать режим, используемый для того, чтобы повышать эффективность кодирования с учетом подобия между текущим блоком и соседним блоком при кодировании режима внутреннего прогнозирования. Как описано выше, MPM-список может быть выполнен с возможностью включать в себя планарный режим или может быть выполнен с возможностью исключать планарный режим. Например, когда MPM-список включает в себя планарный режим, число возможных вариантов в MPM-списке может быть равным 6. Так же, если MPM-список не включает в себя планарный режим, число возможных вариантов в MPM-списке может быть равным 5.
[109] Кодер/декодер может конфигурировать MPM-список, включающий в себя 5 или 6 MPM.
[110] Чтобы конфигурировать MPM-список, три типа режимов могут рассматриваться: внутренние режимы по умолчанию, соседние внутренние режимы и извлеченные внутренние режимы.
[111] Для соседних внутренних режимов, могут рассматриваться два соседних блока, т.е. левый соседний блок и верхний соседний блок.
[112] Как описано выше, если MPM-список выполнен с возможностью не включать в себя планарный режим, планарный режим исключается из списка, и число возможных вариантов MPM-списков может задаваться равным 5.
[113] Помимо этого, ненаправленный режим (или неугловой режим) из режимов внутреннего прогнозирования может включать в себя DC-режим на основе среднего соседних опорных выборок текущего блока или планарный режим на основе интерполяции.
[114] Когда взаимное прогнозирование применяется, модуль прогнозирования оборудования кодирования/оборудования декодирования может извлекать прогнозную выборку посредством выполнения взаимного прогнозирования в единицах блоков. Взаимное прогнозирование может представлять собой прогнозирование, извлекаемое таким способом, который зависит от элементов данных (например, выборочных значений или информаций движения) кадра(ов), отличного от текущего кадра. Когда взаимное прогнозирование применяется к текущему блоку, прогнозированный блок (массив прогнозных выборок) для текущего блока может извлекаться на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения на опорном кадре, указываемом посредством индекса опорного кадра. Здесь, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения текущего блока может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию типа взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными или отличающимися. Временной соседний блок может называться "совместно размещенным опорным блоком", "совместно размещенной CU (colCU)" и т.п., и опорный кадр, включающий в себя временной соседний блок, может называться "совместно размещенным кадром (colPic)". Например, список возможных вариантов информации движения может быть сконфигурирован на основе соседних блоков текущего блока, и информация флага или индекса, указывающая то, какой возможный вариант выбирается (используется), может передаваться в служебных сигналах, чтобы извлекать вектор движения и/или индекс опорного кадра текущего блока. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования. Например, в случае режима пропуска и режима объединения, информация движения текущего блока может быть идентичной информации движения соседнего блока. В режиме пропуска, в отличие от режима объединения, остаточный сигнал может не передаваться. В случае режима прогнозирования векторов движения (MVP), вектор движения выбранного соседнего блока может использоваться в качестве предиктора вектора движения, и вектор движения текущего блока может передаваться в служебных сигналах. В этом случае, вектор движения текущего блока может извлекаться с использованием суммы предиктора вектора движения и разности векторов движения.
[115] Информация движения может включать в себя L0-информацию движения и/или L1-информацию движения согласно типу взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). Вектор движения в L0-направлении может называться "L0-вектором движения" или "MVL0", и вектор движения в L1-направлении может называться "L1-вектором движения" или "MVL1". Прогнозирование на основе L0-вектора движения может называться "L0-прогнозированием", прогнозирование на основе L1-вектора движения может называться "L1-прогнозированием", и прогнозирование на основе как L0-вектора движения, так и L1-вектора движения может называться "бипрогнозированием". Здесь, L0-вектор движения может указывать вектор движения, ассоциированный со списком L0 опорных кадров (L0), и L1-вектор движения может указывать вектор движения, ассоциированный со списком L1 опорных кадров (L1). Список L0 опорных кадров может включать в себя кадры, которые находятся раньше в порядке вывода, чем текущий кадр, в качестве опорных кадров, и список L1 опорных кадров может включать в себя кадры, которые находятся позже в порядке вывода, чем текущий кадр. Предыдущие кадры могут называться "прямыми (опорными) кадрами", и последующие кадры могут называться "обратными (опорными) кадрами". Список L0 опорных кадров дополнительно может включать в себя кадры, которые находятся позже в порядке вывода, чем текущий кадр, в качестве опорных кадров. В этом случае, предыдущие кадры могут индексироваться сначала в списке L0 опорных кадров, и последующие кадры могут индексироваться позже. Список L1 опорных кадров дополнительно может включать в себя предыдущие кадры в порядке вывода относительно текущего кадра в качестве опорных кадров. В этом случае, последующие кадры могут индексироваться сначала в списке 1 опорных кадров, и предыдущие кадры могут индексироваться позже. Порядок вывода может соответствовать порядку номеров в последовательности кадров (POC).
[116] Фиг. 4 примерно показывает иерархическую структуру для кодированного изображения/видео.
[117] Ссылаясь на фиг. 4, кодированное изображение/видео разделяется на слой кодирования видео (VCL), который обрабатывает процесс декодирования изображения/видео и себя, подсистему, которая передает и сохраняет кодированную информацию, и NAL (слой абстрагирования от сети), отвечающий за функцию и присутствующий между VCL и подсистемой.
[118] В VCL, формируются VCL-данные, включающие в себя сжатые данные изображений (данные срезов), либо может формироваться набор параметров, включающий в себя набор параметров кадра (PSP), набор параметров последовательности (SPS) и набор параметров видео (VPS), или сообщение с дополнительной улучшающей информацией (SEI), дополнительно требуемое для процесса декодирования изображений.
[119] В NAL, NAL-единица может формироваться посредством добавления информации заголовка (заголовка NAL-единицы) в первичную байтовую последовательность данных (RBSP), сформированную в VCL. В этом случае, RBSP означает данные срезов, набор параметров, SEI-сообщение и т.д., сформированные в VCL. Заголовок NAL-единицы может включать в себя информацию типа NAL-единиц, указываемую согласно RBSP-данным, включенным в соответствующую NAL-единицу.
[120] Как показано на чертеже, NAL-единица может классифицироваться на VCL NAL-единицу и не-VCL NAL-единицу согласно RBSP, сформированной в VCL. VCL NAL-единица может означать NAL-единицу, которая включает в себя информацию относительно изображения (данных срезов) в изображении, и не-VCL NAL-единица может означать NAL-единицу, которая включает в себя информацию (набор параметров или SEI-сообщение) требуемый для декодирования изображения.
[121] Вышеописанная VCL NAL-единица и не-VCL NAL-единица могут передаваться через сеть посредством присоединения информации заголовка согласно стандарту данных подсистемы. Например, NAL-единица может преобразовываться в формат данных предварительно определенного стандарта, такого как формат файлов H.266/VVC, транспортный протокол реального времени (RTP), транспортный поток (TS) и т.д., и передаваться через различные сети.
[122] Как описано выше, NAL-единица может указываться с типом NAL-единицы согласно структуре RBSP-данных, включенной в соответствующую NAL-единицу, и информация относительно типа NAL-единицы может сохраняться и передаваться в служебных сигналах в заголовке NAL-единицы.
[123] Например, NAL-единица может классифицироваться на тип VCL NAL-единицы и тип не-VCL NAL-единицы согласно тому, включает или нет NAL-единица в себя информацию (данные срезов) относительно изображения. Тип VCL NAL-единицы может классифицироваться согласно природе и типу кадров, включенных в VCL NAL-единицу, и тип не-VCL NAL-единицы может классифицироваться согласно типам наборов параметров.
[124] Ниже приводится пример типа NAL-единицы, указываемого согласно типу набора параметров, включенного в тип не-VCL NAL-единицы.
[125] - NAL-единица APS (набора параметров адаптации): Тип для NAL-единицы, включающей в себя APS
[126] - NAL-единица DPS (набора параметров декодирования): Тип для NAL-единицы, включающей в себя DPS
[127] - NAL-единица VPS (набора параметров видео): Тип для NAL-единицы, включающей в себя VPS
[128] - NAL-единица SPS (набора параметров последовательности): Тип для NAL-единицы, включающей в себя SPS
[129] - NAL-единица PPS (набора параметров кадра): Тип для NAL-единицы, включающей в себя PPS
[130] - NAL-единица PH (заголовка кадра): Тип для NAL-единицы, включающей в себя PH
[131] Вышеуказанные типы NAL-единиц могут иметь синтаксическую информацию для типа NAL-единицы, и синтаксическая информация может сохраняться и передаваться в служебных сигналах в заголовке NAL-единицы. Например, синтаксическая информация может быть nal_unit_type, и типы NAL-единиц могут указываться посредством значения nal_unit_type.
[132] Между тем, как описано выше, один кадр может включать в себя множество срезов, и один срез может включать в себя заголовок среза и данные срезов. В этом случае, один заголовок кадра дополнительно может добавляться во множество срезов (заголовок среза и набор данных срезов) в одном кадре. Заголовок кадра (синтаксис заголовков кадра) может включать в себя информацию/параметры, обычно применимую к кадру. В настоящем документе, срез или кадр может смешиваться или заменяться группой плиток. Кроме того, в настоящем документе, заголовок среза или заголовок кадра может смешиваться или заменяться заголовком группы плиток.
[133] Заголовок среза (синтаксис заголовков срезов) может включать в себя информацию/параметры, которая может применяться обобщенно к срезу. APS (APS-синтаксис) или PPS (PPS-синтаксис) может включать в себя информацию/параметры, которая может применяться обобщенно к одному или более срезов или кадров. SPS (SPS-cинтаксис) может включать в себя информацию/параметры, которая может применяться обобщенно к одной или более последовательностей. VPS (VPS-синтаксис) может включать в себя информацию/параметры, которая может применяться обобщенно к нескольким слоям. DPS (DPS-синтаксис) может включать в себя информацию/параметры, которая может применяться обобщенно к полному видео. DPS может включать в себя информацию/параметры, связанную с конкатенацией кодированной видеопоследовательности (CVS). Высокоуровневый синтаксис (HLS) в настоящем документе может включать в себя, по меньшей мере, одно из APS-синтаксиса, PPS-синтаксиса, SPS-cинтаксиса, VPS-синтаксиса, DPS-синтаксиса и синтаксиса заголовков срезов.
[134] В настоящем документе, изображение/информация изображений, кодированная из оборудования кодирования и передаваемая в служебных сигналах в оборудование декодирования в форме потока битов, включает в себя не только связанную с сегментацией информацию в кадре, информацию внутреннего/взаимного прогнозирования, остаточную информацию, информацию внутриконтурной фильтрации и т.д., но также и информацию, включенную в заголовок среза, информацию, включенную в APS, информацию, включенную в PPS, информацию, включенную в SPS, и/или информацию, включенную в VPS.
[135] Между тем, чтобы компенсировать разность между исходным изображением и восстановленным изображением вследствие ошибки, возникающей в процессе кодирования со сжатием, таком как, квантование, процесс внутриконтурной фильтрации может выполняться для восстановленных выборок или восстановленных кадров, как описано выше. Как описано выше, внутриконтурная фильтрация может выполняться посредством фильтра оборудования кодирования и фильтра оборудования декодирования, и может применяться фильтр удаления блочности, SAO и/или адаптивный контурный фильтр (ALF). Например, ALF-процесс может выполняться после того, как процесс фильтрации для удаления блочности и/или SAO-процесс завершаются. Тем не менее, даже в этом случае, процесс фильтрации для удаления блочности и/или SAO-процесс могут опускаться.
[136] Фиг. 5 является блок-схемой последовательности операций способа, схематично иллюстрирующей пример ALF-процесса. ALF-процесс, раскрытый на фиг. 5, может выполняться в оборудовании кодирования и оборудовании декодирования. В этом документе, оборудование кодирования может включать в себя оборудование кодирования и/или оборудование декодирования.
[137] Ссылаясь на фиг. 5, оборудование кодирования извлекает фильтр для ALF (S500). Фильтр может включать в себя коэффициенты фильтрации. Оборудование кодирования может определять то, следует или нет применять ALF, и при определении применять ALF, может извлекать фильтр, включающий в себя коэффициенты фильтрации для ALF. Информация для извлечения (коэффициентов) фильтра для ALF или (коэффициентов) фильтра для ALF может называться "ALF-параметром". Информация относительно того, применяется или нет ALF (т.е. флаг активации ALF), и ALF-данные для извлечения фильтра могут передаваться в служебных сигналах из оборудования кодирования в оборудование декодирования. ALF-данные могут включать в себя информацию для извлечения фильтра для ALF. Кроме того, например, для иерархического управления ALF, флаг активации ALF может передаваться в служебных сигналах на уровне SPS, заголовка кадра, заголовка среза и/или CTB, соответственно.
[138] Чтобы извлекать фильтр для ALF, активность и/или направленность текущего блока (или целевого ALF-блока) извлекаются, и фильтр может извлекаться на основе активности и/или направленности. Например, ALF-процесс может применяться в единицах блоков 4×4 (на основе компонентов сигнала яркости). Текущий блок или целевой ALF-блок, например, может представлять собой CU или может представлять собой блок 4×4 в CU. В частности, например, фильтры для ALF могут извлекаться на основе первых фильтров, извлекаемых из информации, включенной в ALF-данные, и предварительно заданных вторых фильтров, и оборудование кодирования может выбирать один из фильтров на основе активности и/или направленности. Оборудование кодирования может использовать коэффициенты фильтрации, включенные в выбранный фильтр, для ALF.
[139] Оборудование кодирования выполняет фильтрацию на основе фильтра (S510). Модифицированные восстановленные выборки могут извлекаться на основе фильтрации. Например, коэффициенты фильтрации в фильтре могут размещаться или выделяться согласно форме фильтра, и фильтрация может выполняться для восстановленных выборок в текущем блоке. Здесь, восстановленные выборки в текущем блоке могут представлять собой восстановленные выборки после того, как завершается процесс фильтрации для удаления блочности и SAO-процесс. Например, одна форма фильтра может использоваться, или одна форма фильтра может выбираться и использоваться из множества предварительно определенных форм фильтра. Например, форма фильтра, применяемая к компоненту сигнала яркости, и форма фильтра, применяемая к компоненту сигнала цветности, могут отличаться. Например, ромбовидная форма фильтра 7×7 может использоваться для компонента сигнала яркости, и ромбовидная форма фильтра 5×5 может использоваться для компонента сигнала цветности.
[140] Фиг. 6 показывает примеры формы ALF-фильтра.
[141] (A) по фиг. 6 показывает форму ромбовидного фильтра 7×7, и (b) по фиг. 6 показывает форму ромбовидного фильтра 5×5. На фиг. 6, Cn в форме фильтра представляет коэффициент фильтрации. Когда n в Cn является идентичным, это указывает то, что идентичные коэффициенты фильтрации могут назначаться. В настоящем документе, позиция и/или единица, которой назначаются коэффициенты фильтрации согласно форме фильтра ALF, может называться "отводом фильтра". В этом случае, один коэффициент фильтрации может назначаться каждому отводу фильтра, и компоновка отводов фильтра может соответствовать форме фильтра. Отвод фильтра, расположенный в центре формы фильтра, может называться "центральным отводом фильтра". Идентичные коэффициенты фильтрации могут назначаться двум отводам фильтра с идентичным значением n, которые существуют в позициях, соответствующих друг другу относительно центрального отвода фильтра. Например, в случае ромбовидной формы фильтра 7×7, 25 отводов фильтра включаются, и поскольку коэффициенты C0-C11 фильтрации назначаются в центрально симметричной форме, коэффициенты фильтрации могут назначаться 25 отводам фильтра с использованием только 13 коэффициентов фильтрации. Кроме того, например, в случае ромбовидной формы фильтра 5×5, 13 отводов фильтра включаются, и поскольку коэффициенты C0-C5 фильтрации назначаются в централизованно симметричной форме, коэффициенты фильтрации могут назначаться 13 отводам фильтра с использованием только 7 коэффициентов фильтрации. Например, чтобы уменьшать объем данных для передаваемой в служебных сигналах информации относительно коэффициентов фильтрации, 12 коэффициентов фильтрации из 13 коэффициентов фильтрации для ромбовидной формы фильтра 7×7 могут передаваться в служебных сигналах (явно), и один коэффициент фильтрации может извлекаться (неявно). Кроме того, например, 6 коэффициентов фильтрации из 7 коэффициентов фильтрации для ромбовидной формы фильтра 5×5 могут передаваться в служебных сигналах (явно), и один коэффициент фильтрации может извлекаться (неявно).
[142] Согласно варианту осуществления настоящего документа, ALF-параметр, используемый для ALF-процесса, может передаваться в служебных сигналах через набор параметров адаптации (APS). ALF-параметр может извлекаться из информации фильтра для ALF или ALF-данных.
[143] ALF представляет собой тип технологии внутриконтурной фильтрации, которая может применяться при кодировании видео/изображений, как описано выше. ALF может выполняться с использованием адаптивного фильтра Винера. Это может служить для того, чтобы минимизировать среднеквадратическую ошибку (MSE) между исходными выборками и декодированными выборками (или восстановленными выборками). Высокоуровневое проектирование для инструментального ALF-средства может включать синтаксические элементы, доступные из SPS и/или заголовка среза (либо заголовка группы плиток).
[144] Фиг. 7 показывает пример иерархической структуры ALF-данных.
[145] Ссылаясь на фиг. 7, кодированная видеопоследовательность (CVS) может включать в себя SPS, один или более PPS и один или более кодированных кадров, которые следуют друг за другом. Каждый кодированный кадр может разделяться на прямоугольные области. Прямоугольные области могут называться "плитками". Одна или более плиток могут агрегироваться, чтобы формировать группу плиток или срез. В этом случае, заголовок группы плиток может связываться с PPS, и PPS может связываться с SPS. Согласно существующему способу, ALF-данные (ALF-параметр) включаются в заголовок группы плиток. С учетом того, что одно видео состоит из множества кадров, и один кадр включает в себя множество плиток, частая передача в служебных сигналах ALF-данных (ALF-параметров) в единицах групп плиток уменьшает эффективность кодирования.
[146] Согласно варианту осуществления, предложенному в настоящем документе, ALF-параметр может включаться в APS и передаваться в служебных сигналах следующим образом.
[147] Фиг. 8 показывает другой пример иерархической структуры ALF-данных.
[148] Ссылаясь на фиг. 8, APS задается, и APS может переносить необходимые ALF-данные (ALF-параметры). Помимо этого, APS может иметь параметры самоидентификации и ALF-данные. Параметр самоидентификации APS может включать в себя APS-идентификатор. Таким образом, APS может включать в себя информацию, указывающую APS-идентификатор, в дополнение к полю ALF-данных. Заголовок группы плиток или заголовок среза может ссылаться на APS с использованием информации APS-индекса. Другими словами, заголовок группы плиток или заголовок среза может включать в себя информацию APS-индекса, и ALF-процесс для целевого блока может выполняться на основе ALF-данных (ALF-параметра), включенных в APS, имеющих APS-идентификатор, указываемый посредством информации APS-индекса. Здесь, информация APS-индекса может называться "идентификационной APS-информацией".
[149] Помимо этого, SPS может включать в себя флаг, разрешающий использование ALF. Например, когда CVS начинается, SPS может проверяться, и флаг может проверяться в SPS. Например, SPS может включать в себя синтаксис нижеприведенной таблицы 1. Синтаксис таблицы 1 может составлять часть SPS.
[150] Табл. 1
[151] Семантика синтаксических элементов, включенных в синтаксис таблицы 1, может выражаться, например, так, как показано в следующей таблице.
[152] Табл. 2
- sps_alf_enabled_flag, равный 0, указывает то, что адаптивный контурный фильтр деактивируется; sps_alf_enabled_flag, равный 1, указывает то, что адаптивный контурный фильтр активируется.
[153] Таким образом, синтаксический элемент sps_alf_enabled_flag может указывать то, активируется или нет ALF, на основе того, равно значение 0 или 1. Синтаксический элемент sps_alf_enabled_flag может называться "флагом активации ALF" (который может называться "первым флагом активации ALF") и может включаться в SPS. Таким образом, флаг активации ALF может передаваться в служебных сигналах в SPS (или на SPS-уровне). Когда значение флага активации ALF, передаваемого в служебных сигналах посредством SPS, равно 1, может определяться то, что ALF по существу предоставляется для кадров в CVS, ссылающейся SPS. Между тем, как описано выше, ALF может отдельно включаться/выключаться посредством передачи в служебных сигналах дополнительного флага активации на нижнем уровне относительно SPS.
[154] Например, если инструментальное ALF-средство активируется для CVS, дополнительный флаг активации (который может называться "вторым флагом активации ALF") может передаваться в служебных сигналах в заголовке группы плиток или заголовке среза. Второй флаг активации ALF может синтаксически анализироваться/передаваться в служебных сигналах, например, когда ALF активируется на SPS-уровне. Если значение второго флага активации ALF равно 1, ALF-данные могут синтаксически анализироваться через заголовок группы плиток или заголовок среза. Например, второй флаг активации ALF может указывать условие активации ALF для компонентов сигнала яркости и сигнала цветности. К ALF-данным может осуществляться доступ через идентификационную APS-информацию.
[155] Табл. 3
[156] Табл. 4
[157] Семантика синтаксических элементов, включенных в синтаксис таблицы 3 или таблицы 4, может выражаться, например, так, как показано ниже таблицы.
[158] Табл. 5
- tile_group_alf_enabled_flag, равный 1, указывает то, что адаптивный контурный фильтр активируется и может применяться к цветовому Y-, Cb- или Cr-компоненту в группе плиток; tile_group_alf_enabled_flag, равный 0, указывает то, что адаптивный контурный фильтр деактивируется для всех цветовых компонентов в группе плиток.
- tile_group_aps_id указывает adaptation_parameter_set_id APS, на который ссылается группа плиток. TemporalId APS NAL-единицы, имеющей adaptation_parameter_set_id, равный tile_group_aps_id, должен быть меньше или равным TemporalId кодированной NAL-единицы групп плиток.
Когда на несколько APS с идентичным значением adaptation_parameter_set_id ссылаются посредством двух или более групп плиток идентичного кадра, несколько APS с идентичным значением adaptation_parameter_set_id должны иметь идентичный контент.
[159] Табл. 6
- slice_alf_enabled_flag, равный 1, указывает то, что адаптивный контурный фильтр активируется и может применяться к цветовому Y-, Cb- или Cr-компоненту в срезе; slice_alf_enabled_flag,_равный 0, указывает то, что адаптивный контурный фильтр деактивируется для всех цветовых компонентов в срезе. Когда не присутствует, значение slice_alf_enabled_flag логически выводится равным ph_alf_enabled_flag.
- slice_aps_id указывает adaptation_parameter_set_id APS, который означает срез. TemporalId APS NAL-единицы, имеющей adaptation_parameter_set_id, равный tile_group_aps_id, должен быть меньше или равным TemporalId кодированной NAL-единицы групп плиток.
Когда на несколько APS с идентичным значением adaptation_parameter_set_id ссылаются посредством двух или более срезов идентичного кадра, несколько APS с идентичным значением adaptation_parameter_set_id должны иметь идентичный контент.
[160] Второй флаг активации ALF может включать в себя синтаксический элемент tile_group_alf_enabled_flag или синтаксический элемент slice_alf_enabled_flag.
[161] APS для ссылки посредством соответствующей группы плиток или соответствующего среза может идентифицироваться на основе идентификационной APS-информации (т.е. синтаксического элемента tile_group_aps_id или синтаксического элемента slice_aps_id). APS может включать в себя ALF-данные.
[162] Между тем, структура APS, включающая в себя ALF-данные, например, может описываться на основе следующего синтаксиса и семантики. Синтаксис таблицы 7 может составлять часть APS.
[163] Табл. 7
[164] Табл. 8
- adaptation_parameter_set_id предоставляет идентификатор для APS для ссылки посредством других синтаксических элементов.
Примечание. APS могут совместно использоваться в кадрах и могут отличаться в различных группах плиток в кадре.
- aps_extension_flag, равный 0, указывает то, что синтаксические элементы aps_extension_data_flag не присутствуют в синтаксической APS RBSP-структуре; aps_extension_flag, равный 1, указывает то, что синтаксические элементы aps_extension_data_flag присутствуют в синтаксической APS RBSP-структуре.
- aps_extension_data_flag может иметь любое значение. Его присутствие и значение не затрагивают соответствие декодера профилям, указываемым в этой версии этой спецификации. Декодеры, соответствующие этой версии этой спецификации, должны игнорировать все синтаксические элементы aps_extension_data_flag.
[165] Как описано выше, синтаксический элемент adaptation_parameter_set_id может указывать идентификатор соответствующего APS. Таким образом, APS может идентифицироваться на основе синтаксического элемента adaptation_parameter_set_id. Синтаксический элемент adaptation_parameter_set_id может называться "идентификационной APS-информацией". Кроме того, APS может включать в себя поле ALF-данных. Поле ALF-данных может синтаксически анализироваться/передаваться в служебных сигналах после синтаксического элемента adaptation_parameter_set_id.
[166] Кроме того, например, флаг APS-расширения (т.е. синтаксический элемент aps_extension_flag) может синтаксически анализироваться/передаваться в служебных сигналах в APS. Флаг APS-расширения может указывать то, присутствуют или нет синтаксические элементы флага расширенных APS-данных (aps_extension_data_flag). Флаг APS-расширения может использоваться, например, для того, чтобы предоставлять точки расширения для последующей версии VVC-стандарта.
[167] Базовая обработка/трактовка ALF-информации может выполняться в заголовке среза или заголовке группы плиток. Вышеописанное поле ALF-данных может включать в себя информацию относительно обработки ALF-фильтра. Например, информация, которая может извлекаться из поля ALF-данных, включает в себя информацию относительно используемого числа фильтров, информацию, указывающую то, применяется или нет ALF только к компоненту сигнала яркости, информацию относительно цветового компонента, информацию относительно параметров на основе экспоненциального кода Голомба (EG) и/или дельта-значений коэффициентов фильтрации и т.д.
[168] Между тем, поле ALF-данных может включать в себя, например, синтаксис ALF-данных следующим образом.
[169] Табл. 9
[170]
[171] Семантика синтаксических элементов, включенных в синтаксис таблицы 9, может выражаться, например, так, как показано в следующей таблице.
[172] Табл. 10
- alf_chroma_idc, равный 0, указывает то, что адаптивный контурный фильтр не применяется к цветовым Cb- и Cr-компонентам; alf_chroma_idc, равный 1, указывает то, что адаптивный контурный фильтр применяется к цветовому Cb-компоненту; alf_chroma_idc, равный 2, указывает то, что адаптивный контурный фильтр применяется к цветовому Cr-компоненту; alf_chroma_idc, равный 3, указывает то, что адаптивный контурный фильтр применяется к цветовым Cb- и Cr-компонентам.
Максимальное значение maxVal усеченного унарного преобразования tu(v) в двоичную форму задается равным 3. Переменная NumAlfFilters, указывающая число различных адаптивных контурных фильтров, задается равной 25.
- alf_luma_num_filters_signalled_minus1 плюс 1 указывает число классов адаптивных контурных фильтров, для которых могут передаваться в служебных сигналах коэффициенты сигналов яркости. Значение alf_luma_num_filters_signalled_minus1 должно составлять в диапазоне от 0 до NumAlfFilters-1, включительно.
Максимальное значение maxVal усеченного двоичного преобразования tb(v) в двоичную форму задается равным NumAlfFilters-1.
- alf_luma_coeff_delta_idx[filtIdx] указывает индексы передаваемых в служебных сигналах дельт коэффициентов сигнала яркости адаптивного контурного фильтра для класса фильтров, указываемого посредством filtIdx в пределах от 0 до NumAlfFilters-1. Когда alf_luma_coeff_delta_idx[filtIdx] не присутствует, он логически выводится равным 0.
Максимальное значение maxVal усеченного двоичного преобразования tb(v) в двоичную форму задается равным alf_luma_num_filters_signalled_minus1.
- alf_luma_coeff_delta_flag, равный 1, указывает то, что alf_luma_coeff_delta_prediction_flag не передается в служебных сигналах; alf_luma_coeff_delta_flag, равный 0, указывает то, что alf_luma_coeff_delta_prediction_flag может передаваться в служебных сигналах.
- alf_luma_coeff_delta_prediction_flag, равный 1, указывает то, что передаваемые в служебных сигналах дельты коэффициентов фильтрации сигнала яркости прогнозируются из дельт предыдущих коэффициентов сигнала яркости; alf_luma_coeff_delta_prediction_flag, равный 0, указывает то, что передаваемые в служебных сигналах дельты коэффициентов фильтрации сигнала яркости не прогнозируются из дельт предыдущих коэффициентов сигнала яркости. Если не присутствует, alf_luma_coeff_delta_prediction_flag логически выводится равным 0; alf_luma_min_eg_order_minus1 плюс 1 указывает минимальный порядок экспоненциального кода Голомба для передачи в служебных сигналах коэффициентов фильтрации сигнала яркости. Значение alf_luma_min_eg_order_minus1 должно составлять в диапазоне 0-6, включительно.
- alf_luma_eg_order_increase_flag[i], равный 1, указывает то, что минимальный порядок экспоненциального кода Голомба для передачи в служебных сигналах коэффициентов фильтрации сигнала яркости постепенно увеличивается на 1; alf_luma_eg_order_increase_flag[i], равный 0, указывает то, что минимальный порядок экспоненциального кода Голомба для передачи в служебных сигналах коэффициентов фильтрации сигнала яркости не увеличивается постепенно на 1. Порядок expGoOrderY[i] экспоненциального кода Голомба, используемого для того, чтобы декодировать значения alf_luma_coeff_delta_abs[sigFiltIdx][j], извлекается следующим образом:
- expGoOrderY[i]=
alf_luma_min_eg_order_minus1+1+alf_luma_eg_order_increase_flag[i] (7-51)
- alf_luma_coeff_flag[sigFiltIdx], равный 1, указывает то, что коэффициенты фильтра сигнала яркости, указываемого посредством sigFiltIdx, передаются в служебных сигналах; alf_luma_coeff_flag[sigFiltIdx], равный 0, указывает то, что все коэффициенты фильтрации для фильтра сигнала яркости, указываемого посредством sigFiltIdx, задаются равными 0. Если не присутствует, alf_luma_coeff_flag[sigFiltIdx] задается равным 1.
[173] - alf_luma_coeff_delta_abs[sigFiltIdx][j] указывает абсолютное значение j-ой дельты коэффициента передаваемого в служебных сигналах фильтра сигнала яркости, указываемого посредством sigFiltIdx. Когда alf_luma_coeff_delta_abs[sigFiltIdx][j] не присутствует, он логически выводится равным 0. Порядок k экспоненциального преобразования uek(v) в двоичную форму Голомба извлекается следующим образом:
golombOrderIdxY[]={0, 0, 1, 0, 0, 1, 2, 1, 0, 0, 1, 2} (7-52)
k=expGoOrderY [golombOrderIdxY[j]] (7-53)
- alf_luma_coeff_delta_sign[sigFiltIdx][j] указывает знак j-ого коэффициента сигнала яркости фильтра, указываемого посредством sigFiltIdx следующим образом:
- Если alf_luma_coeff_delta_sign[sigFiltIdx][j] равен 0, соответствующий коэффициент фильтрации сигнала яркости имеет положительное значение.
- Иначе (alf_luma_coeff_delta_sign[sigFiltIdx][j] равен 1), соответствующий коэффициент фильтрации сигнала яркости имеет отрицательное значение.
Когда alf_luma_coeff_delta_sign[sigFiltIdx][j] не присутствует, он логически выводится равным 0. Переменная filterCoefficients[sigFiltIdx][j] с:
sigFiltIdx=0...alf_luma_num_filters_signalled_minus1, j=0...11 инициализируется следующим образом:
filterCoefficients[sigFiltIdx][j]=alf_luma_coeff_delta_abs[sigFiltIdx][j]* (7-54)
(1-2*alf_luma_coeff_delta_sign[sigFiltIdx][j])
Когда alf_luma_coeff_delta_prediction_flag равен 1, filterCoefficients[sigFiltIdx][j] с sigFiltIdx=1...alf_luma_num_filters_signalled_minus1, и j=0...11 модифицируются следующим образом:
filterCoefficients[sigFiltIdx][j]+=filterCoefficients[sigFiltIdx-1][j] (7-55)
Коэффициенты фильтрации сигнала яркости AlfCoeffL с элементами AlfCoeffL [filtldx][j], с:
filtIdx=CNumAlfFilters-1, и j=0...11 извлекаются следующим образом:
AlfCoeffL[filtIdx][j]=filterCoefficients [alf_luma_coeff_delta_idx[filtIdx]][j] (7-56). Последние коэффициенты фильтрации AlfCoeffL [filtIdx][12] для filtIdx=0...NumAlfFilters-1 извлекаются следующим образом:
L
k
L
AlfCoeff[filtIdx][12]=128-Z(AlfCoeff[filtIdx][k]<<1), для k=0...11
7
7
8
Требование соответствия потока битов заключается в том, что значения AlfCoeffL[filtIdx][j] с filtIdx=0...NumAlfFilters-1, j=0...11 должны составлять в диапазоне от -2 в 2-1, включительно, и значения AlfCoeffL[filtIdx][12] должны составлять в диапазоне от 0 до 2-1, включительно; alf_chroma_min_eg_order_minus1 плюс 1 указывает минимальный порядок экспоненциального кода Голомба для передачи в служебных сигналах коэффициентов фильтрации сигнала цветности. Значение alf_chroma_min_eg_order_minus1 должно составлять в диапазоне 0-6, включительно.
- alf_chroma_eg_order_increase_flag[i], равный 1, указывает то, что минимальный порядок экспоненциального кода Голомба для передачи в служебных сигналах коэффициентов фильтрации сигнала цветности постепенно увеличивается на 1; alf_chroma_eg_order_increase_flag[i], равный 0, указывает то, что минимальный порядок экспоненциального кода Голомба для передачи в служебных сигналах коэффициентов фильтрации сигнала цветности не увеличивается постепенно на 1, порядок expGoOrderC[i] экспоненциального кода Голомба, используемого для того, чтобы декодировать значения alf_chroma_coeff_abs [j], извлекается следующим образом:
[174] expGoOrderC[i]=alf_chroma_min_eg_order_minus1+1+alf_chroma_eg_order_increase_flag[i]
7
- alf_chroma_coeff_abs[j] указывает абсолютное значение j-ого коэффициента фильтрации сигнала цветности. Когда alf_chroma_coeff_abs[j] не присутствует, он логически выводится равным 0. Требование соответствия потока битов заключается в том, что значения alf_chroma_coeff_abs[j] должны составлять в диапазоне от 0 до 2-1, включительно. Порядок k экспоненциального преобразования в двоичную форму Голомба ueK(v) извлекается следующим образом:
golombOrderIdxC[]={0, 0, 1, 0, 0, 1} (7-59)
k=expGoOrderC [golombOrderIdxC[j]] (7-60)
- alf_chroma_coeff_sign[j] указывает знак j-ого коэффициента фильтрации сигнала цветности следующим образом:
- Если alf_chroma_coeff_sign[j] равен 0, соответствующий коэффициент фильтрации сигнала цветности имеет положительное значение.
- Иначе (alf_chroma_coeff_sign[j] равен 1), соответствующий коэффициент фильтрации сигнала цветности имеет отрицательное значение.
Когда alf_chroma_coeff_sign[j] не присутствует, он логически выводится равным 0.
Коэффициенты AlfCoeffC фильтрации сигнала цветности с элементами cc[j], с j=0...5, извлекаются следующим образом:
AlfCoeffC[j]=alf_chroma_coeff_abs[j]*(1-2*alf_chroma_coeff_sign[j]) (7-61)
Последний коэффициент фильтрации для j=6 извлекается следующим образом:
k
AlfCoeffc[6]=128-Z(AlfCoeffc[k]<<1), с k=0...5 (7-62)
7
7
8
Требование соответствия потока битов заключается в том, что значения AlfCoeffC[j] с j=0...5 должны составлять в диапазоне от -2-1 до 2-1, включительно, и что значения AlfCoeffC[6] должны составлять в диапазоне от 0 до 2-1, включительно.
[175] Например, синтаксический анализ ALF-данных через заголовок группы плиток или заголовок среза может начинаться посредством синтаксического анализа/передачи в служебных сигналах сначала синтаксического элемента alf_chroma_idc. Синтаксический элемент alf_chroma_idc может иметь значения в пределах от 0 до 3. Значения могут указывать то, применяется процесс фильтрации на основе ALF только к компоненту сигнала яркости либо к комбинации компонентов сигнала яркости и сигнала цветности. После того как доступность (параметры активации) для каждого компонента определяется, информация относительно числа фильтров (компонентов) сигнала яркости может синтаксически анализироваться. В качестве примера, максимальное число фильтров, которые могут использоваться, может задаваться равным 25. Если число передаваемых в служебных сигналах фильтров сигнала яркости составляет, по меньшей мере, один, для каждого фильтра в диапазоне от 0 до максимального числа фильтров (т.е. 25, которое альтернативно может быть известным как класс), информация индекса для фильтра может синтаксически анализироваться/передаваться в служебных сигналах. Это может подразумевать, что каждый класс (т.е. от 0 до максимального числа фильтров) ассоциирован с индексом фильтра. Когда фильтр, который должен использоваться для каждого класса, помечается на основе индекса фильтра, флаг (т.е. alf_luma_coeff_delta_flag) может синтаксически анализироваться/передаваться в служебных сигналах. Флаг может использоваться для того, чтобы интерпретировать то, существует или информация флага (т.е. alf_luma_coeff_delta_prediction_flag), связанная с прогнозированием дельта-значения коэффициента фильтрации ALF-сигнала яркости, в заголовке среза или заголовке группы плиток.
[176] Если число фильтров сигнала яркости, передаваемых в служебных сигналах посредством синтаксического элемента alf_luma_num_filters_signalled_minus1, превышает 0, и значение синтаксического элемента alf_luma_coeff_delta_flag равен 0, это означает то, что синтаксический элемент alf_luma_coeff_delta_prediction_flag присутствует в заголовке среза или заголовке группы плиток, и его состояние оценивается. Если состояние синтаксического элемента alf_luma_coeff_delta_prediction_flag указывает 1, это может означать то, что коэффициенты фильтрации сигнала яркости прогнозируются из предыдущих коэффициентов (фильтрации) сигналов яркости. Если состояние синтаксического элемента alf_luma_coeff_delta_prediction_flag указывает 0, это может означать то, что коэффициенты фильтрации сигнала яркости не прогнозируются из дельт предыдущих коэффициентов (фильтрации) сигналов яркости.
[177] Когда дельта-коэффициенты фильтрации (т.е. alf_luma_coeff_delta_abs) кодируются на основе экспоненциального кода Голомба, порядок k (порядок k) экспоненциального кода Голомба (EG) возможно должен определяться, чтобы декодировать дельта-коэффициенты фильтрации сигнала яркости (т.е. alf_luma_coeff_delta_abs). Эта информация может быть необходима, чтобы декодировать коэффициенты фильтрации. Порядок экспоненциального кода Голомба может выражаться как EG(k). Чтобы определять EG(k), синтаксический элемент alf_luma_min_eg_order_minus1 может синтаксически анализироваться/передаваться в служебных сигналах. Синтаксический элемент alf_luma_min_eg_order_minus1 может представлять собой энтропийно кодированный синтаксический элемент. Синтаксический элемент alf_luma_min_eg_order_minus1 может указывать наименьший порядок EG, используемого для декодирования дельта-коэффициентов фильтрации сигнала яркости. Например, значение синтаксического элемента alf_luma_min_eg_order_minus1 может составлять в диапазоне 0-6. После того, как синтаксический элемент alf_luma_min_eg_order_minus1 синтаксически анализируется/передается в служебных сигналах, синтаксический элемент alf_luma_eg_order_increase_flag может синтаксически анализироваться/передаваться в служебных сигналах. Если значение синтаксического элемента alf_luma_eg_order_increase_flag равно 1, это указывает то, что порядок EG, указываемый посредством синтаксического элемента alf_luma_min_eg_order_minus1, увеличивается на 1. Если значение синтаксического элемента alf_luma_eg_order_increase_flag равно 0, это указывает то, что порядок EG, указываемого посредством синтаксического элемента alf_luma_min_eg_order_minus1, не увеличивается. Порядок EG может представляться посредством индекса EG. EG-порядок (или EG-индекс) (связанный с компонентом сигнала яркости) на основе синтаксического элемента alf_luma_min_eg_order_minus1 и синтаксического элемента alf_luma_eg_order_increase_flag может определяться, например, следующим образом.
[178] Табл. 11
1. Максимальный индекс Голомба предварительно задается согласно типу фильтра. Т.е. для фильтра 5×5, максимальный индекс Голомба равен 2, и для 7×7 равен 3 максимальный индекс Голомба.
2. Начальная константа Kmin задается равной alf_luma_min_eg_order_minus1+1
3. Для каждого индекса, i в диапазоне {0 - максимальный индекс Голомба}, вычисляется промежуточный массив, т.е. KminTab[i], состоящий из суммы KminTab[i]=Kmin+alf_luma_eg_order_increase_flag[i]
4. Kmin обновляется в конце каждой итерации таким образом, что оно составляет Kmin=KminTab[i]
[179] На основе процесса определения, expGoOrderY может извлекаться в качестве expGoOrderY=KminTab. Через это, может извлекаться массив, включающий в себя EG-порядки, который может использоваться посредством оборудования декодирования. expGoOrderY может указывать EG-порядок (или EG-индекс).
[180] Может быть предусмотрен индекс предварительно заданного порядка Голомба (т.е. golombOrderIdxY). Предварительно заданный порядок Голомба может использоваться для того, чтобы определять конечный порядок Голомба для того, чтобы кодировать коэффициенты.
[181] Например, предварительно заданный порядок Голомба может быть сконфигурирован, например, следующим образом:
[182]
[183] Здесь, порядок k=expGoOrderY [golombOrderIdxY[j]] и j может представлять j-ый передаваемый в служебных сигналах коэффициент фильтрации. Например, если j=2, т.е. третий коэффициент фильтрации, golomborderIdxY[2]=1, и в силу этого k=expGoOrderY[1].
[184] В этом случае, например, если значение синтаксического элемента alf_luma_coeff_delta_flag представляет "истина", т.е. 1, синтаксический элемент alf_luma_coeff_flag может передаваться в служебных сигналах для каждого фильтра, который передается в служебных сигналах. Синтаксический элемент alf_luma_coeff_flag указывает то, (явно) передается или нет коэффициент фильтрации сигнала яркости в служебных сигналах.
[185] Когда EG-порядок и состояния вышеуказанных связанных флагов (т.е. alf_luma_coeff_delta_flag, alf_luma_coeff_flag и т.д.) определяются, информация разности и информация знака коэффициентов фильтрации сигнала яркости могут синтаксически анализироваться/передаваться в служебных сигналах (т.е. alf_luma_coeff_flag представляет собой "истина"), если указывается). Информация абсолютных дельта-значений (синтаксический элемент alf_luma_coeff_delata_abs) для каждого из 12 коэффициентов фильтрации может синтаксически анализироваться/передаваться в служебных сигналах. Помимо этого, если синтаксический элемент alf_luma_coeff_delta_abs имеет значение, информация знака (синтаксический элемент alf_luma_coeff_delta_sign) может синтаксически анализироваться/передаваться в служебных сигналах. Информация, включающая в себя информацию разности и информацию знака коэффициентов фильтрации сигнала яркости, может называться "информацией относительно коэффициентов фильтрации сигнала яркости".
[186] Дельты коэффициентов фильтрации могут определяться наряду со знаком и сохраненный. В этом случае, дельты коэффициентов фильтрации со знаком могут сохраняться в форме массива, который может выражаться как filterCoefficients. Дельты коэффициентов фильтрации могут называться "дельта-коэффициентами сигнала яркости", и дельты коэффициентов фильтрации со знаком могут называться "дельта-коэффициентами сигнала яркости со знаком".
[187] Чтобы определять конечные коэффициенты фильтрации из дельта-коэффициентов сигнала яркости со знаком, коэффициенты фильтрации (сигналов яркости) могут обновляться следующим образом.
[188]
[189] Здесь, j может указывать индекс коэффициента фильтрации, и sigFiltIdx может указывать передаваемый в служебных сигналах индекс фильтра. j={0,..., 11} и sigFiltIdx={0,..., alf_luma_filters_signaled_minus1}.
[190] Коэффициенты могут копироваться в конечный AlfCoeffL[filtIdx][j]. В этом случае, filtidx=0,..., 24 и j=0,..., 11.
[191] Дельта-коэффициенты сигналов яркости со знаком для данного индекса фильтра могут использоваться для того, чтобы определять первые 12 коэффициентов фильтрации. Например, тринадцатый коэффициент фильтрации фильтра 7×7 может определяться на основе следующего уравнения. Тринадцатый коэффициент фильтрации может указывать вышеописанный коэффициент фильтрации центрального отвода.
[192] уравнение 1
[193] Здесь, индекс коэффициента фильтрации 12 может указывать тринадцатый коэффициент фильтрации. Для сравнения, поскольку индекс коэффициента фильтрации начинается с 0, значение 12 может указывать тринадцатый коэффициент фильтрации.
7
7
8
[194] Например, чтобы обеспечивать соответствие потока битов, диапазон значений конечных коэффициентов фильтрации AlfCoeffL [filtIdx][k] равен 0,..., 11 может составлять в диапазоне от -2 до 2-1 и может составлять в диапазоне от 0 до 2-1, когда k равен 12. Здесь, k может заменяться j.
[195] Когда обработка для компонента сигнала яркости выполняется, обработка для компоненте сигнала цветности может выполняться на основе синтаксического элемента alf_chroma_idc. Если значение синтаксического элемента alf_chroma_idc превышает 0, информация минимального EG-порядка для компонента сигнала цветности (т.е. синтаксический элемент alf_chroma_min_eg_order_minus1) может синтаксически анализироваться/передаваться в служебных сигналах. Согласно вышеописанному варианту осуществления настоящего документа, ромбовидная форма фильтра 5×5 может использоваться для компонента сигнала цветности. В этом случае, максимальный индекс Голомба может быть равным 2. В этом случае, EG-порядок (или EG-индекс) для компонента сигнала цветности может определяться, например, следующим образом.
[196] Табл. 12
1. Начальная константа Kmin задается равной alf_chroma_min_eg_order_minus1+1
2.
Для каждого индекса, i в диапазоне {0 - максимальный индекс Голомба}, вычисляется промежуточный массив, т.е. KminTab[i], состоящий из суммы KminTab[i]=Kmin+alf_chroma_eg_order_increase_flag[i]
3. Kmin обновляется в конце каждой итерации таким образом, что оно составляет Kmin=KminTab[i]
[197] На основе процесса определения, expGoOrderC может извлекаться в качестве expGoOrderC=KminTab. Через это, может извлекаться массив, включающий в себя EG-порядки, который может использоваться посредством оборудования декодирования. expGoOrderC может указывать EG-порядок (или EG-индекс) для компонента сигнала цветности.
[198] Может быть предусмотрен индекс предварительно заданного порядка Голомба (golombOrderIdxC). Предварительно заданный порядок Голомба может использоваться для того, чтобы определять конечный порядок Голомба для того, чтобы кодировать коэффициенты.
[199] Например, предварительно заданный порядок Голомба может быть сконфигурирован, например, как следующее уравнение.
[200]
[201] Здесь, порядок k=expGoOrderC [golombOrderIdxC[j]] и j может представлять j-ый передаваемый в служебных сигналах коэффициент фильтрации. Например, если j=2, это указывает третий коэффициент фильтрации, golomborderIdxY[2]=1, и в силу этого k=expGoOrderC[1].
[202] На основе этого, информация абсолютных значений и информация знака коэффициентов фильтрации сигнала цветности может синтаксически анализироваться/передаваться в служебных сигналах. Информация, включающая в себя информацию абсолютных значений и информацию знака коэффициентов фильтрации сигнала цветности, может называться "информацией относительно коэффициентов фильтрации сигнала цветности". Например, ромбовидная форма фильтра 5×5 может применяться к компоненту сигнала цветности, и в этом случае, абсолютная дельта-информация (синтаксический элемент alf_chroma_coeff_abs) для каждого из шести коэффициентов фильтрации (компонентов сигнала цветности) может синтаксически анализироваться/передаваться в служебных сигналах. Помимо этого, если значение синтаксического элемента alf_chroma_coeff_abs превышает 0, информация знака (синтаксический элемент alf_chroma_coeff_sign) может синтаксически анализироваться/передаваться в служебных сигналах. Например, эти шесть коэффициентов фильтрации сигнала цветности могут извлекаться на основе информации относительно коэффициентов фильтрации сигнала цветности. В этом случае, седьмой коэффициент фильтрации сигнала цветности, например, может определяться на основе следующего уравнения. Седьмой коэффициент фильтрации может представлять вышеописанный коэффициент фильтрации центрального отвода.
[203] уравнение 2
[204] Здесь, индекс коэффициента фильтрации 6 может указывать седьмой коэффициент фильтрации. Для сравнения, поскольку индекс коэффициента фильтрации начинается с 0, значение 6 может указывать седьмой коэффициент фильтрации.
7
7
8
8
[205] Например, чтобы обеспечивать соответствие потока битов, диапазон значений конечных коэффициентов AlfCoeffC[filtIdx][k] фильтрации может составлять от -2 до 2-1, когда k равен 0,..., 5, и диапазон значений конечных коэффициентов AlfCoeffC[filtIdx][k] фильтрации может составлять от -2 до 2-1, когда k равен 6. Здесь, k может заменяться j.
[206] Когда коэффициенты фильтрации (сигнала яркости/сигнала цветности) извлекаются, фильтрация на основе ALF может выполняться на основе коэффициентов фильтрации или фильтра, включающего в себя коэффициенты фильтрации. Через это, модифицированные восстановленные выборки могут извлекаться, как описано выше. Помимо этого, несколько фильтров могут извлекаться, и коэффициенты фильтрации одного из нескольких фильтров могут использоваться для ALF-процесса. Например, одно из множества фильтров может указываться на основе передаваемой в служебных сигналах информации выбора фильтра. Альтернативно, например, один из множества фильтров может выбираться на основе активности и/или направленности текущего блока или целевого ALF-блока, и коэффициенты фильтрации выбранного фильтра могут использоваться для ALF-процесса.
[207] Между тем, чтобы повышать эффективность кодирования, преобразование сигнала яркости с масштабированием сигнала цветности (LMCS) может применяться, как описано выше. LMCS может называться "контурным изменением формы". Чтобы повышать эффективность кодирования, LMCS-управление и/или передача в служебных сигналах связанной с LMCS информации может выполняться иерархически.
[208] Фиг. 9 примерно иллюстрирует иерархическую структуру CVS согласно варианту осуществления настоящего документа. Кодированная видеопоследовательность (CVS) может включать в себя набор параметров последовательности (SPS), набор параметров кадра (PPS), заголовок группы плиток, данные плиток и/или CTU. Здесь, заголовок группы плиток и данные плиток могут называться "заголовком среза" и "данными срезов", соответственно.
[209] SPS может включать в себя флаги исходно, чтобы обеспечивать возможность использования инструментальных средств в CVS. Помимо этого, на SPS может ссылаться PPS, включающий в себя информацию относительно параметров, которые изменяются для каждого кадра. Каждый из кодированных кадров может включать в себя одну или более кодированных плиток прямоугольной области. Плитки могут группироваться на растровые сканирования, формирующие группы плиток. Каждая группа плиток инкапсулируется с информацией заголовка, называемой "заголовком группы плиток". Каждая плитка состоит из кодированных данных включения CTU. Здесь данные могут включать в себя исходные выборочные значения, прогнозные выборочные значения и их компоненты сигнала яркости и сигнала цветности (прогнозные выборочные значения сигналов яркости и прогнозные выборочные значения сигналов цветности).
[210] Фиг. 10 иллюстрирует примерную LMCS-структуру согласно варианту осуществления настоящего документа. LMCS-структура 1000 по фиг. 10 включает в себя часть 1010 внутриконтурного преобразования компонентов сигнала яркости на основе адаптивных кусочно-линейных (адаптивных PWL-) моделей и часть 1020 зависимого от сигналов яркости остаточного масштабирования сигналов цветности для компонентов сигнала цветности. Блоки деквантования и обратного преобразования 1011, восстановления 1012 и внутреннего прогнозирования 1013 части 1010 внутриконтурного преобразования представляют процессы, применяемые в преобразованной области (с измененной формой). Блоки контурной фильтрации 1015, компенсации движения или взаимного прогнозирования 1017 части 1010 внутриконтурного преобразования и блоки восстановления 1022, внутреннего прогнозирования 1023, компенсации движения или взаимного прогнозирования 1024, контурной фильтрации 1025 части 1020 остаточного масштабирования сигналов цветности представляют процессы, применяемые в исходной (непреобразованной, с неизмененной формой) области.
[211] Как проиллюстрировано на фиг. 10, когда LMCS активируется, может применяться, по меньшей мере, одно из процесса 1014обратного преобразования (изменения формы), процесса 1018 прямого преобразования (изменения формы) и процесса 1021 масштабирования сигналов цветности. Например, процесс обратного преобразования может применяться к (восстановленной) выборке сигнала яркости (либо выборкам сигнала яркости или массиву выборок сигнала яркости) в восстановленном кадре. Процесс обратного преобразования может выполняться на основе кусочного функционального (обратного) индекса выборки сигнала яркости. Кусочный функциональный (обратный) индекс может идентифицировать фрагмент, которому принадлежит выборка сигнала яркости. Вывод процесса обратного преобразования представляет собой модифицированную (восстановленную) выборку сигнала яркости (либо модифицированные выборки сигнала яркости или модифицированный массив выборок сигнала яркости). LMCS может активироваться или деактивироваться на уровне группы плиток (или среза), кадра или выше.
[212] Процесс прямого преобразования и/или процесс масштабирования сигналов цветности могут применяться, чтобы формировать восстановленный кадр. Кадр может содержать выборки сигнала яркости и выборки сигнала цветности. Восстановленный кадр с выборками сигнала яркости может называться "восстановленным кадром сигналов яркости", и восстановленный кадр с выборками сигнала цветности может называться "восстановленным кадром сигналов цветности". Комбинация восстановленного кадра сигналов яркости и восстановленного кадра сигналов цветности может называться "восстановленным кадром". Восстановленный кадр сигналов яркости может формироваться на основе процесса прямого преобразования. Например, если взаимное прогнозирование применяется к текущему блоку, прямое преобразование применяется к прогнозной выборке сигналов яркости, извлекаемой на основе (восстановленной) выборки сигнала яркости в опорном кадре. Поскольку (восстановленная) выборка сигнала яркости в опорном кадре формируется на основе процесса обратного преобразования, прямое преобразование может применяться к прогнозной выборке сигналов яркости, так что преобразованная прогнозная выборка сигналов яркости (с измененной формой) может извлекаться. Процесс прямого преобразования может выполняться на основе кусочного функционального индекса прогнозной выборки сигналов яркости. Кусочный функциональный индекс может извлекаться на основе значения прогнозной выборки сигналов яркости или значения выборки сигнала яркости в опорном кадре, используемом для взаимного прогнозирования. Если внутреннее прогнозирование (или внутриблочное копирование (IBC)) применяется к текущему блоку, прямое преобразование не требуется, поскольку процесс обратного преобразования еще не применен к восстановленным выборкам в текущем кадре. (Восстановленная) выборка сигнала яркости в восстановленном кадре сигналов яркости формируется на основе преобразованной прогнозной выборки сигналов яркости и соответствующей остаточной выборки сигналов яркости.
res
res
resScale
pred
pred
resScale
es
[213] Восстановленный кадр сигналов цветности может формироваться на основе процесса масштабирования сигналов цветности. Например, (восстановленная) выборка сигнала цветности в восстановленном кадре сигналов цветности может извлекаться на основе прогнозной выборки сигналов цветности и остаточной выборки (c) сигналов цветности в текущем блоке. Остаточная выборка (c) сигналов цветности извлекается на основе (масштабированной) остаточной выборки (c) сигналов цветности и коэффициента остаточного масштабирования сигналов цветности (cScaleInv может называться "varScale") для текущего блока. Коэффициент остаточного масштабирования сигналов цветности может вычисляться на основе значений прогнозной выборки сигналов яркости с измененной формой для текущего блока. Например, коэффициент масштабирования может вычисляться на основе среднего значения ave(Y') сигнала яркости прогнозных выборочных значений Y' сигналов яркости с измененной формой. Для ссылки, на фиг. 10, (масштабированная) остаточная выборка сигналов цветности, извлекаемая на основе обратного преобразования/деквантование, может называться "c", и остаточная выборка сигналов цветности, извлекаемая посредством выполнения процесса (обратного) масштабирования для (масштабированной) остаточной выборкой сигналов цветности, может называться "c".
[214] Фиг. 11 иллюстрирует LMCS-структуру согласно другому варианту осуществления настоящего документа. Фиг. 11 описывается со ссылкой на фиг. 10. Здесь, главным образом описывается различие между LMCS-структурой по фиг. 11 и LMCS-структурой 1000 по фиг. 10. Часть внутриконтурного преобразования и часть зависимого от сигналов яркости остаточного масштабирования сигналов цветности по фиг. 11 могут работать идентично (аналогично) части 1010 внутриконтурного преобразования и части 1020 зависимого от сигналов яркости остаточного масштабирования сигналов цветности по фиг. 10.
[215] Ссылаясь на фиг. 11, коэффициент остаточного масштабирования сигналов цветности может извлекаться на основе восстановленных выборок сигнала яркости. В этом случае, среднее значение сигнала яркости (avgYr) может получаться (извлекаться) на основе соседних восстановленных выборок сигнала яркости за пределами восстановленного блока, а не внутренних восстановленных выборок сигнала яркости восстановленного блока, и коэффициент остаточного масштабирования сигналов цветности извлекается на основе среднего значения сигнала яркости (avgYr). Здесь, соседние восстановленные выборки сигнала яркости могут граничить с восстановленными выборками сигнала яркости текущего блока или могут граничить с восстановленными выборками сигнала яркости виртуальных конвейерных единиц данных (VPDU), включающих в себя текущий блок. Например, когда внутреннее прогнозирование применяется к целевому блоку, восстановленные выборки могут извлекаться на основе прогнозных выборок, которые извлекаются на основе внутреннего прогнозирования. В другом примере, когда взаимное прогнозирование применяется к целевому блоку, прямое преобразование применяется к прогнозным выборкам, которые извлекаются на основе взаимных прогнозных выборок, и восстановленные выборки формируются (извлекаются) на основе прогнозных выборок сигналов яркости с измененной формой (после прямого преобразования).
[216] Информация видео/изображений, передаваемая в служебных сигналах через поток битов, может включать в себя LMCS-параметры (информацию относительно LMCS). LMCS-параметры могут быть сконфигурированы как высокоуровневый синтаксис (HLS, включающий в себя синтаксис заголовков срезов) и т.п. Ниже приводится подробное описание и конфигурация LMCS-параметров. Как описано выше, синтаксические таблицы, описанные в настоящем документе (и в нижеприведенных вариантах осуществления), могут конфигурироваться/кодироваться на конце кодера и передаваться в служебных сигналах в конец декодера через поток битов. Декодер может синтаксически анализировать/декодировать информацию относительно LMCS (в форме синтаксических элементов) в синтаксических таблицах. Один или более вариантов осуществления, которые описываются ниже, могут комбинироваться. Кодер может кодировать текущий кадр на основе информации относительно LMCS, и декодер может декодировать текущий кадр на основе информации относительно LMCS.
[217] Внутриконтурное преобразование компонентов сигнала яркости может регулировать динамический диапазон входного сигнала посредством перераспределения кодовых слов через динамический диапазон, чтобы повышать эффективность сжатия. Для преобразования сигнала яркости, могут использоваться функция (FwdMap) прямого преобразования (изменения формы) и функция (InvMap) обратного преобразования (изменения формы), соответствующая функции (FwdMap) прямого преобразования. Функция FwdMap может передаваться в служебных сигналах с использованием кусочно-линейных моделей, например, кусочно-линейная модель может иметь 16 фрагментов или элементов разрешения. Фрагменты могут иметь равную длину. В одном примере, функция InvMap не должна передаваться в служебных сигналах и вместо этого извлекается из функции FwdMap. Таким образом, обратное преобразование может представлять собой функцию прямого преобразования. Например, функция обратного преобразования может математически компоноваться в качестве симметричной функции прямого преобразования, отраженной посредством линии y=x.
[218] Внутриконтурное изменение формы (сигналов яркости) может использоваться для того, чтобы преобразовывать выборки значений входного сигнала яркости в измененные значения в области с измененной формой. Значения с измененной формой могут кодироваться и затем преобразовываться обратно в исходную (непреобразованную, с неизмененной формой) область после восстановления. Чтобы компенсировать взаимодействие между сигналом яркости и сигналом цветности, остаточное масштабирование сигналов цветности может применяться. Внутриконтурное изменение формы выполняется посредством указания высокоуровневого синтаксиса для модели на основе модуля изменения формы. Синтаксис модели на основе модуля изменения формы может передавать в служебных сигналах кусочно-линейную модель (PWL-модель). Например, синтаксис модели на основе модуля изменения формы может передавать в служебных сигналах PWL-модель с 16 элементами разрешения или фрагментами с равными длинами. Таблица (FwdLUT) прямого поиска и/или таблица (InvLUT) обратного поиска могут извлекаться на основе кусочно-линейной модели. Например, PWL-модель предварительно вычисляет таблицы прямого (FwdLUT) и обратного (InvLUT) поиска (LUT) с 1024 записями. В качестве примера, когда таблица FwdLUT прямого поиска извлекается, таблица InvLUT обратного поиска может извлекаться на основе таблицы FwdLUT прямого поиска. Таблица FwdLUT прямого поиска может преобразовывать значения Yi входного сигнала яркости в измененные значения Yr, и таблица InvLUT обратного поиска может преобразовывать измененные значения Yr в восстановленные значения Y'i. Восстановленные значения Y'i могут извлекаться на основе значений Yi входного сигнала яркости.
[219] В одном примере, SPS может включать в себя синтаксис нижеприведенной таблицы 13. Синтаксис таблицы 13 может включать в себя sps_reshaper_enabled_flag в качестве флага активации инструментального средства. Здесь, sps_reshaper_enabled_flag может использоваться для того, чтобы указывать то, используется или нет модуль изменения формы в кодированной видеопоследовательности (CVS). Таким образом, sps_reshaper_enabled_flag может представлять собой флаг для активации изменения формы в SPS. В одном примере, синтаксис таблицы 13 может составлять часть SPS.
[220] Табл. 13
[221] В одном примере, семантика относительно синтаксического элемента sps_reshaper_enabled_flag может быть такой, как показано в нижеприведенной таблице 14.
[222] Табл. 14
- sps_reshaper_enabled_flag, равный 1, указывает то, что модуль изменения формы используется в кодированной видеопоследовательности (CVS); sps_reshaper_enabled_flag равный 0 указывает то, что модуль изменения формы не используется в CVS.
[223] В одном примере, заголовок группы плиток может включать в себя синтаксис нижеприведенной таблицы 15. В дальнейшем в этом документе, синтаксис или информация, означаемая вместе с группой плиток, могут заменяться срезом.
[224] Табл. 15
[225] Семантика синтаксических элементов, включенных в синтаксис таблицы 15, может включать в себя, например, вопросы, раскрытые в следующих таблицах.
[226] Табл. 16
- tile_group_reshaper_model_present_flag, равный 1, указывает то, что tile_group_reshaper_model присутствует в заголовке группы плиток; tile_group_reshaper_model_present_flag, равный 0, указывает то, что tile_group_reshaper_model не присутствует в заголовке группы плиток. Когда tile_group_reshaper_model_present_flag не присутствует, он логически выводится равным 0.
- tile_group_reshaper_enabled_flag, равный 1, указывает то, что модуль изменения формы активируется для текущей группы плиток; tile_group_reshaper_enabled_flag, равный 0, указывает то, что модуль изменения формы не активируется для текущей группы плиток. Когда tile_group_reshaper_enable_flag не присутствует, он логически выводится равным 0.
- tile_group_reshaper_chroma_residual_scale_flag, равный 1, указывает то, что остаточное масштабирование сигналов цветности активируется для текущей группы плиток; tile_group_reshaper_chroma_residual_scale_flag, равный 0, указывает то, что остаточное масштабирование сигналов цветности не активируется для текущей группы плиток. Когда tile_group_reshaper_chroma_residual_scale_flag не присутствует, он логически выводится равным 0.
[227] В качестве одного примера, после того как флаг, активирующий изменение формы (т.е. sps_reshaper_enabled_flag) синтаксически анализируется в SPS, заголовок группы плиток может синтаксически анализировать дополнительные данные (т.е. информацию, включенную в вышеприведенную таблицу 15), которые используются для того, чтобы конструировать таблицы поиска (FwdLUT и/или InvLUT). Для этого, состояние флага активации SPS-модуля изменения формы (sps_reshaper_enabled_flag) может сначала проверяться в заголовке группы плиток. Когда sps_reshaper_enabled_flag представляет собой "истина" (или 1), дополнительный флаг, т.е. tile_group_reshaper_model_present_flag может синтаксически анализироваться. Цель tile_group_reshaper_model_present_flag может состоять в том, чтобы указывать присутствие модели изменения формы. Например, когда tile_group_reshaper_model_present_flag представляет собой "истина" (или 1), может указываться то, что модуль изменения формы присутствует для текущей группы плиток. Когда tile_group_reshaper_model_present_flag представляет собой "ложь" (или 0), может указываться то, что модуль изменения формы не присутствует для текущей плитки.
[228] Если модуль изменения формы присутствует, и модуль изменения формы активируется в текущей плитке, модель на основе модуля изменения формы (т.е. tile_group_reshaper_model) может обрабатываться. В дополнение к этому, также может синтаксически анализироваться дополнительный флаг, tile_group_reshaper_enable_flag; tile_group_reshaper_enable_flag может указывать то, используется или нет модель изменения формы для текущей группы плиток. Например, если tile_group_reshaper_enable_flag равен 0 (или "ложь"), может указываться то, что модель изменения формы не используется для текущей группы плиток. Если tile_group_reshaper_enable_flag равен 1 (или "истина"), может указываться то, что модель изменения формы используется для текущей группы плиток.
[229] В качестве одного примера, tile_group_reshaper_model_present_flag может представлять собой "истина" (или 1), и tile_group_reshaper_enable_flag может представлять собой "ложь" (или 0). Это означает то, что модель изменения формы присутствует, но не использована в текущей группе плиток (или срез). В этом случае, модель изменения формы может использоваться в будущих группах плиток (или срезах). В качестве другого примера, tile_group_reshaper_enable_flag может представлять собой "истина" (или 1), и tile_group_reshaper_model_present_flag может представлять собой "ложь" (или 0). В таком случае, декодер использует модуль изменения формы из предыдущей инициализации.
[230] Когда модель изменения формы (т.е. tile_group_reshaper_model) и tile_group_reshaper_enable_flag синтаксически анализируются, может определяться (оцениваться) то, присутствуют или нет условия, необходимые для масштабирования сигналов цветности. Вышеуказанные условия включают в себя условие 1 (текущая группа плиток/срез не кодирована внутренне) и/или условие 2 (текущая группа плиток/срез не сегментирована на две отдельных структуры в виде дерева квадрантов кодирования для сигнала яркости и сигнала цветности, т.е. блочная структура для текущей группы плиток/среза не представляет собой структуру в виде сдвоенного дерева). Если условие 1 и/или условие 2 представляют собой "истина", и/или tile_group_reshaper_enable_flag представляет собой "истина" (или 1), то tile_group_reshaper_chroma_residual_scale_flag может синтаксически анализироваться. Когда tile_group_reshaper_chroma_residual_scale_flag активируется (если 1 или "истина"), может указываться то, что остаточное масштабирование сигналов цветности активируется для текущей группы плиток. Когда tile_group_reshaper_chroma_residual_scale_flag деактивируется (если 0 или "ложь"), может указываться то, что остаточное масштабирование сигналов цветности деактивируется для текущей группы плиток.
[231] Цель модели изменения формы групп плиток состоит в том, чтобы синтаксически анализировать данные, которые требуются для того, чтобы конструировать таблицы поиска (LUT). Эти LUT конструируются согласно такой идее, что распределение допустимого диапазона значений сигнала яркости может разделяться на множество элементов разрешения (например, 16 элементов разрешения), которые могут представляться с использованием набора из системы уравнений 16 PWL. Следовательно, любое значение сигнала яркости, которое находится в данном элементе разрешения, может преобразовываться в измененное значение сигнала яркости.
[232] Фиг. 12 показывает график, представляющий примерное прямое преобразование. На фиг. 12, пять элементов разрешения проиллюстрированы примерно.
[233] Ссылаясь на фиг. 12, ось X представляет значения входного сигнала яркости, и ось Y представляет измененные выходные значения сигнала яркости. Ось X разделяется на 5 элементов разрешения или срезов, причем каждый элемент разрешения имеет длину L. Таким образом, пять элементов разрешения, преобразованных в измененные значения сигнала яркости, имеют идентичную длину. Таблица (FwdLUT) прямого поиска может конструироваться с использованием данных (т.е. данных модуля изменения формы), доступных из заголовка группы плиток, и в силу этого преобразование может упрощаться.
[234] В одном варианте осуществления, выходные точки поворота, ассоциированные с индексами элементов разрешения, могут вычисляться. Выходные точки поворота могут задавать (помечать) минимальные и максимальные границы выходного диапазона кодового слова изменения формы. Процесс вычисления выходных точек поворота может выполняться посредством вычисления кусочной кумулятивной функции распределения (CDF) числа кодовых слов изменения формы. Выходной диапазон поворота может разделяться на срезы на основе максимального числа элементов разрешения, которые должны использоваться, и размера таблицы (FwdLUT или InvLUT) поиска. В качестве одного примера, выходной диапазон поворота может разделяться на срезы на основе произведения между максимальным числом элементов разрешения и размером таблицы поиска (размер LUT * максимальное число индексов элементов разрешения). Например, если произведение между максимальным числом элементов разрешения и размером таблицы поиска 1024, выходной диапазон поворота может разделяться на срезы с 1024 записями. Этот разделение выходного диапазона поворота может выполняться (применяться или достигаться) на основе (с использованием) коэффициента масштабирования. В одном примере, коэффициент масштабирования может извлекаться на основе нижеприведенного уравнения 3.
[235] уравнение 3
[236] В уравнении 3, SF обозначает коэффициент масштабирования, и y1 и y2 обозначают выходные точки поворота, соответствующие каждому элементу разрешения. Кроме того, FP_PREC и c могут представлять собой предварительно определенные константаы. Коэффициент масштабирования, определенный на основе уравнения 3, может называться "коэффициентом масштабирования для прямого изменения формы".
[237] В другом варианте осуществления, относительно обратного изменения формы (обратного преобразования), для заданного диапазона элементов разрешения, которые должны использоваться (т.е. от reshaper_model_min_bin_idx до reshape_model_max_bin_idx), осуществляется выборка входных точек поворота с измененной формой, которые соответствуют преобразованным точкам поворота прямого LUT и преобразованным обратные выходным точкам поворота (заданным посредством "рассматриваемый индекс элемента разрешения * число начальных кодовых слов"). В другом примере, коэффициент SF масштабирования может извлекаться на основе нижеприведенного уравнения 4.
[238] уравнение 4
[239] В уравнении 4, SF обозначает коэффициент масштабирования, x1 и x2 обозначают входные точки поворота, и y1 и y2 обозначают выходные точки поворота, соответствующие каждому фрагменту (элементу разрешения) (выходные точки поворота обратного преобразования). Здесь, входные точки поворота могут представлять собой точки поворота, преобразованные на основе таблицы (FwdLUT) прямого поиска, и выходные точки поворота могут представлять собой точки поворота, преобразованные в инверсию на основе таблицы (InvLUT) обратного поиска. Кроме того, FP_PREC может составлять предварительно определенное постоянное значение. FP_PREC уравнения 4 может быть идентичным или отличающимся от FP_PREC уравнения 3. Коэффициент масштабирования, определенный на основе уравнения 4, может называться "коэффициентом масштабирования для обратного изменения формы". Во время обратного изменения формы, сегментация входных точек поворота может выполняться на основе коэффициента масштабирования уравнения 4. Коэффициент SF масштабирования используется для того, чтобы разделять на срезы диапазон входных точек поворота. На основе сегментированных входных точек поворота, индексам элементов разрешения в диапазоне от 0 до минимального индекса (reshaper_model_min_bin_idx) элемента разрешения и/или от минимального индекса (reshaper_model_min_bin_idx) элемента разрешения до максимального индекса (reshape_model_max_bin_idx) элемента разрешения назначаются значения поворота, которые соответствуют минимальным и максимальным значениям элементов разрешения.
[240] Нижеприведенная таблица 17 показывает синтаксис модели на основе модуля изменения формы согласно варианту осуществления. Модель на основе модуля изменения формы может называться "моделью изменения формы" или "LMCS-моделью". Здесь, модель на основе модуля изменения формы примерно описана в качестве модуля изменения формы групп плиток, но настоящий документ не обязательно ограничивается посредством этого варианта осуществления. Например, модель на основе модуля изменения формы может включаться в APS, или модель на основе модуля изменения формы групп плиток может называться "моделью на основе модуля изменения формы срезов" или "LMCS-данными". Кроме того, префикс reshaper_model или Rsp может использоваться наравне с lmcs. Например, в следующих таблицах и в нижеприведенном описании, reshaper_model_min_bin_idx, reshaper_model_delta_max_bin_idx, reshaper_model_max_bin_idx, RspCW, RsepDeltaCW могут использоваться наравне с lmcs_min_bin_idx, lmcs_delta_cs_bin_idx, lmx, lmcs_delta_csDcselta_idx, lmx, соответственно.
[241] Табл. 17
[242] Семантика синтаксических элементов, включенных в синтаксис таблицы 17, может включать в себя, например, описания в следующей таблице.
[243] Табл. 18
- reshape_model_min_bin_idx указывает минимальный индекс элемента разрешения (или фрагмента), который должен использоваться в процессе конструирования модуля изменения формы. Значение reshape_model_min_bin_idx должно составлять в диапазоне от 0 до MaxBinIdx, включительно. Значение MaxBinIdx должно быть равным 15.
- reshape_model_delta_max_bin_idx указывает максимальный разрешенный индекс MaxBinIdx элемента разрешения (или фрагмента) минус максимальный индекс элемента разрешения, который должен использоваться в процессе конструирования модуля изменения формы. Значение reshape_model_max_bin_idx задается равным MaxBinIdx-reshape_model_delta_max_bin_idx.
- reshaper_model_bin_delta_abs_cw_prec_minus1 плюс 1 указывает число битов, используемых для представления синтаксиса reshape_model_bin_delta_abs_CW[i].
- reshape_model_bin_delta_abs_CW[i] указывает абсолютное дельта-значение кодового слова для i-ого элемента разрешения.
- reshaper_model_bin_delta_sign_CW_flag[i] указывает знак reshape_model_bin_delta_abs_CW[i] следующим образом:
- Если reshape_model_bin_delta_sign_CW_flag[i] равен 0, соответствующая переменная RspDeltaCW[i] является положительным значением.
- Иначе (reshape_model_bin_delta_sign_CW_flag[i] не равно 0), соответствующая переменная RspDeltaCW[i] составляет отрицательное значение.
Когда reshape_model_bin_delta_sign_CW_flag[i] не присутствует, он логически выводится равным 0.
[244] Модель на основе модуля изменения формы включает в себя reshape_model_min_bin_idx, reshape_model_delta_max_bin_idx, reshaper_model_bin_delta_abs_cw_prec_minus1, reshape_model_bin_delta_abs_CW[i] и reshaper_model_bin_delta_sign_CW в качестве элементов. В дальнейшем в этом документе подробно описывается каждый синтаксический элемент.
[245] - reshape_model_min_bin_idx указывает минимальный индекс элемента разрешения (или фрагмента), используемый в процессе конфигурирования (конструирования) модуля изменения формы. Значение reshape_model_min_bin_idx может составлять в диапазоне от 0 до MaxBinIdx. Например, MaxBinIdx может быть равным 15.
[246] В варианте осуществления, модель на основе модуля изменения формы групп плиток предпочтительно может синтаксически анализировать два индекса (или параметра), reshaper_model_min_bin_idx и reshaper_model_delta_max_bin_idx. Максимальный индекс (reshaper_model_max_bin_idx) элемента разрешения может извлекаться (определяться) на основе этих двух индексов; reshape_model_delta_max_bin_idx может представлять значение, полученное посредством вычитания фактического максимального индекса (reshape_model_max_bin_idx) элемента разрешения, используемого в процессе конфигурирования модуля изменения формы, из разрешенного максимального индекса MaxBinIdx элемента разрешения. Значение максимального индекса (reshaper_model_max_bin_idx) элемента разрешения может составлять в диапазоне от 0 до MaxBinIdx. Например, MaxBinIdx может быть равным 15. В качестве примера, значение reshape_model_max_bin_idx может извлекаться на основе нижеприведенного уравнения 5.
[247] уравнение 5
[248] Максимальный индекс элемента разрешения reshaper_model_max_bin_idx может превышать или быть равен минимальному индексу элемента разрешения reshaper_model_min_bin_idx. Минимальный индекс элемента разрешения может называться "минимальным разрешенным индексом элемента разрешения" или "разрешенным минимальным индексом элемента разрешения", и максимальный индекс элемента разрешения также может называться "максимальным разрешенным индексом элемента разрешения" или "разрешенным максимальным индексом элемента разрешения".
[249] Если максимальный индекс (rehape_model_max_bin_idx) элемента разрешения извлекается, синтаксический элемент reshaper_model_bin_delta_abs_cw_prec_minus1 может синтаксически анализироваться. Число битов, используемых для того, чтобы представлять синтаксис reshape_model_bin_delta_abs_CW[i], может определяться на основе reshaper_model_bin_delta_abs_cw_prec_minus1. Например, число битов, используемых для того, чтобы представлять reshape_model_bin_delta_abs_CW[i], может быть равным 1 плюс reshaper_model_bin_delta_abs_cw_prec_minus1.
[250] - reshape_model_bin_delta_abs_CW[i] может указывать информацию, связанную с абсолютным дельта-значением кодового слова (абсолютным значением кодового дельта-слова) i-ого элемента разрешения; reshape_model_bin_delta_abs_CW[i] и reshaper_model_bin_delta_sign_CW_flag[i] могут представлять собой примеры информации относительно кодовых слов изменения формы. В одном примере, если абсолютное дельта-значение кодового слова i-ого элемента разрешения превышает 0, reshaper_model_bin_delta_sign_CW_flag[i] может синтаксически анализироваться. Знак reshape_model_bin_delta_abs_CW[i] может определяться на основе reshaper_model_bin_delta_sign_CW_flag[i]. В одном примере, если reshaper_model_bin_delta_sign_CW_flag[i] равен 0 (или "ложь"), соответствующая переменная RspDeltaCW[i] может представлять собой знак плюс. В других случаях (если reshaper_model_bin_delta_sign_CW_flag[i] не равен 0, если reshaper_model_bin_delta_sign_CW_flag[i] равен 1 (или "истина")), соответствующая переменная RspDeltaCW[i] может представлять собой знак минус. Если reshape_model_bin_delta_sign_CW_flag[i] не присутствует, он может логически выводиться равным 0 (или "ложь").
[251] В варианте осуществления, переменная RspDeltaCW[i] может извлекаться на основе reshape_model_bin_delta_abs_CW[i] и reshape_model_bin_delta_sign_CW_flag[i], описанных выше. RspDeltaCW[i] может называться "дельта-значением кодового слова". Например, RspDeltaCW[i] может извлекаться на основе нижеприведенного уравнения 6.
[252] уравнение 6
[253] В уравнении 6, reshape_model_bin_delta_sign_CW[i] может представлять собой информацию, связанную со знаком RspDeltaCW[i]. Например, reshape_model_bin_delta_sign_CW[i] может быть идентичным reshaper_model_bin_delta_sign_CW_flag[i], описанному выше. Здесь, i может составлять в диапазоне от минимального индекса (reshaper_model_min_bin_idx) элемента разрешения до максимального индекса (reshape_model_max_bin_idx) элемента разрешения.
[254] Переменная RspCW[i] (или массив) может извлекаться на основе RspDeltaCW[i]. RspDeltaCW[i] может представлять собой пример информации относительно кодовых слов изменения формы. Здесь, RspCW[i] может указывать число кодовых слов, выделяемых (распределяемых) для i-ого элемента разрешения. Таким образом, число кодовых слов, выделяемых (распределяемых) для каждого элемента разрешения, может сохраняться в форме массива. В одном примере, если i меньше reshaper_model_min_bin_idx или больше reshaper_model_max_bin_idx (i<reshaper_model_min_bin_idx или reshaper_model_max_bin_idx<i), RspCW[i] может быть равно 0. Иначе (если i превышает или равно reshaper_model_min_bin_idx, описанному выше, и меньше или равно reshaper_model_max_bin_idx (reshaper_model_min_bin_idx<=i<=reshaper_model_max_bin_idx), RspCW[i] может извлекаться на основе вышеописанного RspDeltaCW[i], битовой глубины (BitDepthY) сигналов яркости и/или MaxBinIdx. В этом случае, например, RspCW[i] может извлекаться на основе нижеприведенного уравнения 7.
[255] уравнение 7
[256] В уравнении 7, OrgCW может составлять предварительно определенное значение, например, может определяться на основе нижеприведенного уравнения 8. OrgCW может представлять собой пример информации относительно кодовых слов изменения формы.
[257] уравнение 8
[258] В уравнении 8, BitDepthY является битовой глубиной сигналов яркости, и MaxBinIdx представляет допустимый максимальный индекс элемента разрешения. В одном примере, если BitDepthY равен 10, RspCW[i] может иметь значение от 32 до 2*OrgCW-1.
[259] Переменная InputPivot[i] может извлекаться на основе OrgCW. Например, InputPivot[i] может извлекаться на основе нижеприведенного уравнения 9.
[260] уравнение 9
[261] Переменные ReshapePivot[i], ScaleCoef[i] и/или InvScaleCoeff[i] могут извлекаться на основе вышеописанных RspCW[i], InputPivot[i] и/или OrgCW, например, ReshapePivot[i]], ScaleCoef[i] и/или InvScaleCoeff[i], могут извлекаться на основе следующей таблицы.
[262] Табл. 19
[263] В таблице 19, может использоваться синтаксис цикла for, в котором i увеличивается от 0 до MaxBinIdx, и shiftY может составлять предварительно определенную константу для побитового сдвига. То, извлекается или нет InvScaleCoeff[i] на основе RspCW[i], может определяться на основе условного предложения согласно тому, равен RspCW[i] либо нет 0.
[264] ChromaScaleCoef[i] для извлечения коэффициента остаточного масштабирования сигналов цветности может извлекаться на основе следующей таблицы. Здесь, i может составлять в диапазоне от 0 до MaxBinIdx.
[265] Табл. 20
[266] В таблице 20, shiftC может составлять предварительно определенную константу для побитового сдвига. Ссылаясь на таблицу 20, то, извлекается или нет ChromaScaleCoef[i] на основе массива ChromaResidualScaleLut, может определяться на основе условного предложения согласно тому, равен RspCW[i] либо нет 0. Здесь, ChromaResidualScaleLut может представлять собой предварительно определенный массив. Тем не менее, массив ChromaResidualScaleLut является просто примерным, и настоящий вариант осуществления не обязательно ограничивается посредством таблицы 20.
[267] Выше описывается способ для извлечения i-ых переменных; (i+1)-ые переменные могут быть основаны на ReshapePivot[i+1], и, например, ReshapePivot[i+1] может извлекаться на основе уравнения 10.
[268] уравнение 10
[269] В уравнении 10, RspCW[i] может извлекаться на основе уравнений 7 и/или 8, описанных выше. Преобразование сигнала яркости может выполняться на основе вышеописанных вариантов осуществления и примеров, и вышеописанный синтаксис и элементы, включенные здесь, могут быть просто примерными представлениями, и варианты осуществления не ограничены посредством вышеуказанных таблиц или уравнений.
[270] (Зависимое от сигналов яркости) остаточное масштабирование сигналов цветности проектируется с возможностью компенсировать взаимодействие между сигналом яркости и его соответствующими сигналами цветности. Например, то, активируется остаточное масштабирование сигналов цветности или нет, также передается в служебных сигналах на уровне группы плиток или на уровне среза. В одном примере, если преобразование сигнала яркости активируется, и если сегментация на сдвоенное дерево (также известное как отдельное дерево сигналов цветности) не применяется к текущей группе плиток, дополнительный флаг передается в служебных сигналах, чтобы указывать то, активируется зависимое от сигналов яркости остаточное масштабирование сигналов цветности или нет. В другом примере, когда преобразование сигнала яркости не используется, либо когда сегментация на сдвоенное дерево используется в текущей группе плиток, зависимое от сигналов яркости остаточное масштабирование сигналов цветности деактивируется. В другом примере, зависимое от сигналов яркости остаточное масштабирование сигналов цветности всегда деактивируется для блоков сигналов цветности, зона которых меньше или равна 4.
[271] Остаточное масштабирование сигналов цветности может выполняться на основе среднего значения сигнала яркости опорных выборок. Например, опорные выборки могут включать в себя выборки соответствующего блока прогнозирования сигналов яркости (компонента сигнала яркости блока прогнозирования, к которому применяется внутреннее прогнозирование и/или взаимное прогнозирование). Когда взаимное прогнозирование применяется, опорные выборки могут включать в себя выборки после того, как прямое преобразование применяется к прогнозным выборкам компонента сигнала яркости. Альтернативно, опорные выборки могут включать в себя соседние выборки текущего блока или соседние выборки VPDU, включающей в себя текущий блок. В этом случае, когда взаимное прогнозирование применяется к соседнему блоку, включающему в себя соседние выборки, соседние выборки могут включать в себя восстановительные выборки компонента сигнала яркости, извлекаемые на основе прогнозных выборок компонента сигнала яркости, к которым применяется прямое преобразование соседнего блока. Операции масштабирования на стороне кодера и/или на стороне декодера могут реализовываться, например, как целочисленные операции с фиксированной запятой на основе нижеприведенного уравнения 11.
[272] уравнение 11
[273] В уравнении 11, c' обозначает масштабированную остаточную выборку сигналов цветности (масштабированный компонент сигнала цветности остаточной выборки), c обозначает остаточную выборку сигналов цветности (компонент сигнала цветности остаточной выборки), s обозначает коэффициент остаточного масштабирования сигналов цветности, и CSCALE_FP_PREC обозначает (предварительно заданное) постоянное значение.
[274] Как описано выше, среднее значение сигнала яркости опорных выборок может получаться, и коэффициент остаточного масштабирования сигналов цветности может извлекаться на основе среднего значения сигнала яркости. Как описано выше, остаточные выборки компонента сигнала цветности могут масштабироваться на основе коэффициента остаточного масштабирования сигналов цветности, и восстановленная выборка компонента сигнала цветности может формироваться на основе масштабированных остаточных выборок компонента сигнала цветности.
[275] В варианте осуществления настоящего документа, предлагается структура передачи служебных сигналов для эффективного применения вышеописанной ALF и/или LMCS. Согласно варианту осуществления настоящего документа, например, ALF-данные и/или LMCS-данные (т.е. данные модуля изменения формы) могут включаться в HLS (т.е. APS), и ALF-данные и/или LMCS-данные (данные модуля изменения формы), включенные в APS, могут извлекаться посредством передачи служебных сигналов APS-идентификатора для ссылки. Кроме того, например, каждый APS может включать в себя информацию типа относительно типов параметра параметров в соответствующем наборе параметров.
[276] Например, следующая таблица показывает пример набора параметров последовательности и семантики синтаксических элементов, включенных согласно варианту осуществления.
[277] Табл. 21
[278] Табл. 22
- sps_reshaper_enabled_flag, равный 1, указывает то, что модуль изменения формы используется в кодированной видеопоследовательности (CVS); sps_reshaper_enabled_flag, равный 0, указывает то, что модуль изменения формы не используется в CVS.
[279] Например, следующая таблица показывает пример набора параметров адаптации (APS) согласно варианту осуществления.
[280] Табл. 23
[281] В дальнейшем таблица 23 описывается на основе отличия от APS таблицы 7, описанной выше. В качестве примера, информация типа (т.е. aps_params_type) APS-параметров может синтаксически анализироваться/передаваться в служебных сигналах в APS. Информация типа APS-параметров может синтаксически анализироваться/передаваться в служебных сигналах после adaptation_parameter_set_id.
[282] aps_params_type, ALF_APS и MAP_APS, включенные в таблицу 23, могут описываться согласно следующей таблице. Таким образом, согласно aps_params_type, включенному в таблицу 23, типы APS-параметров, применяемых к APS, могут задаваться так, как показано в следующей таблице.
[283] Табл. 24
aps_params_type
Название aps_params_type
Тип APS-параметров
0
ALF_APS
ALF-параметры
1
MAP_APS
Параметры внутриконтурного преобразования (т.е. модуля изменения формы)
2...7
Зарезервировано
Зарезервировано
[284] Ссылаясь на таблицу 24, например, aps_params_type может представлять собой синтаксический элемент для классификации типов соответствующих APS-параметров. Тип APS-параметров может включать в себя ALF-параметры и параметры внутриконтурного преобразования (т.е. модуля изменения формы). Ссылаясь на таблицу 24, когда значение информации типа (aps_params_type) равно 0, название aps_params_type может определяться в качестве ALF_APS (или ALF APS), и тип APS-параметров может определяться в качестве ALF-параметров (APS-параметр может указывать ALF-параметры в этом случае). В этом случае, поле ALF-данных (т.е. alf_data) может синтаксически анализироваться/передаваться в служебных сигналах в APS. Когда значение информации типа (aps_params_type) равно 1, название aps_params_type может определяться в качестве MAP_APS (или APS на основе модуля изменения формы), и тип APS-параметров может определяться в качестве параметров внутриконтурного преобразования (т.е. модуля изменения формы) (APS-параметры могут указывать параметры модуля изменения формы). В этом случае, модуль изменения формы (модель на основе модуля изменения формы, LMCS) данные (т.е. reshaper_data) может синтаксически анализироваться/передаваться в служебных сигналах в APS.
[285] В качестве примера, следующая таблица показывает пример информации заголовка согласно варианту осуществления. Здесь, заголовок группы плиток может называться "заголовком кадра" или "заголовком среза".
[286] Табл. 25
[287] Семантика синтаксических элементов, включенных в синтаксис таблицы 25, может включать в себя, например, вопросы, раскрытые в следующей таблице. Здесь, tile_group_reshaper_enable_flag может называться "slice_reshaper_enable_flag", ph_reshaper_enable_flag" и "ph_lmcs_enable_flag". Таким образом, tile_group_reshaper_enable_flag и slice_reshaper_enable_flag могут указывать то, активируются либо нет данные модуля изменения формы в плитке или срезе (флаг активации модуля изменения формы); tile_group_reshaper_enable_flag отличается от sps_reshaper_enable_flag, и конкретно каждый флаг может присутствовать для различных слоев.
[288] В одном примере, информация изображений может включать в себя первый APS, второй APS и информацию заголовка. Информация заголовка может включать в себя связанную с модулем изменения формы идентификационную APS-информацию (например, tile_group_alf_aps_id) и связанную с ALF идентификационную APS-информацию (например, tile_group_alf_aps_id). Связанная с модулем изменения формы идентификационная APS-информация (например, tile_group_alf_aps_id) может указывать первый APS и/или его идентификатор. Связанная с ALF идентификационная APS-информация (например, tile_group_alf_aps_id) может указывать второй APS и/или его идентификатор. Например, идентификатор первого APS может отличаться от идентификатора второго APS.
[289] Табл. 26
- tile_group_alf_aps_id указывает adaptation_parameter_set_id ALF APS, на который ссылается группа плиток. TemporalId ALF APS NAL-единицы, имеющей adaptation_parameter_set_id, равный tile_group_alf_aps_id, должен быть меньше или равным TemporalId кодированной NAL-единицы групп плиток.
Когда на несколько ALF APS с идентичным значением adaptation_parameter_set_id ссылаются посредством двух или более групп плиток идентичного кадра, несколько ALF APS с идентичным значением adaptation_parameter_set_id должны иметь идентичный контент.
- tile_group_reshaper_enabled_flag, равный 1, указывает то, что модуль изменения формы активируется для текущей группы плиток; tile_group_reshaper_enabled_flag, равный 0, указывает то, что модуль изменения формы не активируется для текущей группы плиток. Когда tile_group_reshaper_enable_flag не присутствует, он логически выводится равным 0.
- tile_group_reshaper_aps_id указывает adaptation_parameter_set_id APS на основе модуля изменения формы, на который ссылается группа плиток. TemporalId APS NAL-единицы модуля изменения формы, имеющей adaptation_parameter_set_id, равный tile_group_reshaper_aps_id, должен быть меньше или равным TemporalId кодированной NAL-единицы групп плиток.
Когда на несколько APS на основе модуля изменения формы с идентичным значением adaptation_parameter_set_id ссылаются посредством двух или более групп плиток идентичного кадра, несколько APS на основе модуля изменения формы с идентичным значением adaptation_parameter_set_id должны иметь идентичный контент.
- tile_group_reshaper_chroma_residual_scale_flag, равный 1, указывает то, что остаточное масштабирование сигналов цветности активируется для текущей группы плиток; tile_group_reshaper_chroma_residual_scale_flag, равный 0, указывает то, что остаточное масштабирование сигналов цветности не активируется для текущей группы плиток. Когда tile_group_reshaper_chroma_residual_scale_flag не присутствует, он логически выводится равным 0.
[290] Следующая таблица показывает примерный синтаксис данных модуля изменения формы (называемого моделью на основе модуля изменения формы" или просто "модулем изменения формы") согласно варианту осуществления настоящего документа. Данные модуля изменения формы, показанные в синтаксисе таблицы 27, могут представлять собой пример поля данных модуля изменения формы, включенного в таблицу 23.
[291] Табл. 27
[292] Семантика синтаксических элементов, включенных в синтаксис таблицы 27, может включать в себя, например, вопросы, раскрытые в следующей таблице.
[293] Табл. 28
- reshaper_model_min_bin_idx указывает минимальный индекс элемента разрешения (или фрагмента), который должен использоваться в процессе конструирования модуля изменения формы. Значение reshaper_model_min_bin_idx должно составлять в диапазоне от 0 до MaxBinIdx, включительно. Значение MaxBinIdx должно быть равным 15.
- reshaper_model_delta_max_bin_idx указывает максимальный разрешенный индекс MaxBinIdx элемента разрешения (или фрагмента) минус максимальный индекс элемента разрешения, который должен использоваться в процессе конструирования модуля изменения формы. Значение reshaper_model_delta_max_bin_idx должно составлять в диапазоне от 0 до MaxBinIdx, включительно.
Переменная ReshaperMaxBinIdx задается равной MaxBinIdx-reshaper_model_delta_max_bin_idx. Значение ReshaperMaxBinIdx должно превышать или быть равно reshaper_model_min_bin_idx.
- reshaper_model_bin_delta_abs_cw_prec_minus1 плюс 1 указывает число битов, используемых для представления синтаксического элемента reshaper_model_bin_delta_abs_CW[i]. Значение reshaper_model_bin_delta_abs_cw_prec_minus1 должно составлять в диапазоне 0 до BitDepthY-2, включительно.
- reshaper_model_bin_delta_abs_CW[i] указывает абсолютное дельта-значение кодового слова для i-ого элемента разрешения. Синтаксический элемент reshaper_model_bin_delta_abs_CW[i] представляется посредством reshaper_model_bin_delta_abs_cw_prec_minus1+1 бит.
- reshaper_model_bin_delta_sign_CW_flag[i] указывает знак reshaper_model_bin_delta_abs_CW[i] следующим образом:
Если reshape_model_bin_delta_sign_CW_flag[i] равен 0, соответствующая переменная RspDeltaCW[i] является положительным значением.
- Иначе (reshape_model_bin_delta_sign_CW_flag[i] не равно 0), соответствующая переменная RspDeltaCW[i] составляет отрицательное значение. Когда reshape_model_bin_delta_sign_CW_flag[i] не присутствует, он логически выводится равным 0.
[294] Нижеприведенные чертежи создаются, чтобы пояснять конкретные примеры настоящего описания изобретения. Поскольку названия конкретного оборудования, описанного на чертежах, или названия конкретных сигналов/сообщений/полей представляются в качестве примера, технические признаки настоящего описания изобретения не ограничены конкретными названиями, используемыми на нижеприведенных чертежах.
[295] Фиг. 13 и фиг. 14 схематично показывают пример способа кодирования видео/изображений и связанных компонентов согласно варианту(ам) осуществления настоящего документа. Способ, раскрытый на фиг. 13, может осуществляться посредством оборудования кодирования, раскрытого на фиг. 2. В частности, например, S1300 по фиг. 13 может выполняться посредством модуля 220 прогнозирования оборудования кодирования, и S1310-S1330 могут выполняться посредством остаточного процессора 230 оборудования кодирования, и S1340 может выполняться посредством энтропийного кодера 240 оборудования кодирования. Способ, раскрытый на фиг. 13, может включать в себя варианты осуществления, описанные выше в настоящем документе.
[296] Ссылаясь на фиг. 13, оборудование кодирования может формировать прогнозные выборки сигналов яркости текущего блока в текущем кадре (S1300). В одном примере, оборудование кодирования может извлекать режим прогнозирования текущего блока в качестве режима внутреннего прогнозирования или режима взаимного прогнозирования и может извлекать прогнозные выборки сигналов яркости на основе режима прогнозирования текущего блока. В этом случае, могут применяться различные способы прогнозирования, раскрытые в настоящем документе, такие как взаимное прогнозирование или внутреннее прогнозирование.
[297] Оборудование кодирования может формировать информацию режима прогнозирования (S1310). Например, информация режима прогнозирования может включать в себя информацию относительно различных режимов прогнозирования (т.е. режима объединения, MVP-режима и т.д.), MVD-информацию и т.п. Информация режима прогнозирования может формироваться на основе прогнозных выборок сигналов яркости.
[298] Оборудование кодирования может извлекать кодовые слова изменения формы для процесса изменения формы прогнозных выборок сигналов яркости (S1320). Например, кодовые слова изменения формы могут представлять собой RspCW[i], описанный в сочетании с уравнением 7 и/или таблица 19. Кроме того, оборудование кодирования может извлекать информацию относительно кодовых слов изменения формы для процесса изменения формы прогнозных выборок сигналов яркости. Например, информация относительно кодовых слов изменения формы может включать в себя reshaper_model_bin_delta_abs_cw_prec_minus1, reshape_model_bin_delta_abs_CW[i], reshaper_model_bin_delta_sign_CW_flag[i] и/или RspDeltaCW[i], описанные в сочетании с уравнением 6, таблица 17 и/или таблица 18.
[299] Помимо этого, оборудование кодирования дополнительно может извлекать индексы моделей на основе модуля изменения формы для процесса изменения формы. Индексы моделей на основе модуля изменения формы могут включать в себя, по меньшей мере, один из синтаксических элементов, включенных в информацию (синтаксис) модели на основе модуля изменения формы и информацию заголовка (заголовок группы плиток, заголовок кадра или заголовок среза). Например, индексы моделей на основе модуля изменения формы могут включать в себя вышеописанные reshaper_model_min_bin_idx, reshaper_model_delta_max_bin_idx, reshape_model_max_bin_idx и MaxBinIdx.
[300] Оборудование кодирования может формировать прогнозные выборки сигналов яркости с измененной формой на основе прогнозных выборок сигналов яркости и кодовых слов изменения формы (S1330). Прогнозные выборки сигналов яркости с измененной формой могут формироваться на основе прямого изменения формы или обратного изменения формы. Прогнозные выборки сигналов яркости с измененной формой могут называться "прогнозными выборками сигналов яркости после (прямого или обратного) преобразования".
[301] Оборудование кодирования может формировать информацию относительно изменения формы (S1340). Информация относительно изменения формы может включать в себя информацию относительно кодовых слов изменения формы, информацию относительно индексов моделей на основе модуля изменения формы и информацию относительно поля данных изменения формы, описанного выше в настоящем документе. Кроме того, информация относительно изменения формы дополнительно может включать в себя информацию относительно прогнозных выборок сигналов яркости с измененной формой.
[302] Оборудование кодирования может кодировать информацию видео/изображений (S1350). Информация изображений/видео может включать в себя информацию для формирования выборок сигнала яркости и/или информацию, связанную с изменением формы. Информация для формирования выборок сигнала яркости может включать в себя, например, связанную с прогнозированием информацию (информацию режима прогнозирования), остаточную информацию, связанную с LMCS информацию (информацию относительно изменения формы (модуль изменения формы, данные модуля изменения формы, модель на основе модуля изменения формы)) и связанную с ALF информацию. Связанная с прогнозированием информация может включать в себя информацию относительно различных режимов прогнозирования (т.е. режим объединения, MVP-режим и т.д.), MVD-информацию и т.п.
[303] Кодированная информация изображений/видео может выводиться в форме потока битов. Поток битов может передаваться в оборудование декодирования через сеть или носитель хранения данных.
[304] Информация изображений/видео может включать в себя различную информацию согласно варианту осуществления настоящего документа. Например, информация изображений/видео может включать в себя, по меньшей мере, одну информацию или, по меньшей мере, один синтаксический элемент, раскрытый, по меньшей мере, в одной из таблиц 1, 3, 4, 7, 9, 13, 15, 17, 19, 20, 21, 23, 25 и/или 27, описанных выше.
[305] Например, информация изображений может включать в себя первый адаптивный набор параметров (APS). Первый APS может реализовываться так, как показано в таблице 23, описанной выше. Первый APS может включать в себя информацию типа, указывающую то, что первый APS представляет собой APS, включающей в себя поле данных модуля изменения формы. Например, информация типа может представлять собой aps_params_type, описанный вместе с таблицами 23 и 24. На основе информации типа, первый APS может включать в себя поле данных модуля изменения формы. Таким образом, первый APS может классифицироваться на тип внутриконтурного преобразования (тип модуля изменения формы или LMCS-тип) на основе связанной с модулем изменения формы идентификационной APS-информации. Оборудование кодирования может синтаксически анализировать/передавать в служебных сигналах поле данных модуля изменения формы на основе информации типа, указывающей то, что первый APS представляет собой APS, включающий в себя поле данных модуля изменения формы. Кодовые слова изменения формы, информация относительно них и/или индексы модели изменения формы могут извлекаться на основе поля данных изменения формы.
[306] В одном примере (связанном с таблицей 24), на основе того, что значение информации типа, указывающее то, что первый APS представляет собой APS, включающий в себя поле данных модуля изменения формы, равно 1, первый APS может включать в себя поле данных модуля изменения формы, включающее в себя параметры модуля изменения формы. Здесь, параметры модуля изменения формы могут включать в себя информацию относительно кодовых слов изменения формы и/или информацию относительно индексов моделей на основе модуля изменения формы.
[307] Информация изображений может включать в себя информацию заголовка, информация заголовка может включать в себя связанную с модулем изменения формы идентификационную APS-информацию, и связанная с модулем изменения формы идентификационная APS-информация может указывать идентификатор первого APS.
[308] В одном примере, информация изображений может включать в себя SPS, и SPS может включать в себя первый флаг активации модуля изменения формы (т.е. sps_reshaper_enabled_flag таблицы 25), указывающий то, активируются или нет данные модуля изменения формы. Когда значение первого флага активации модуля изменения формы равно 1, информация заголовка может включать в себя второй флаг активации модуля изменения формы (например, tile_group_reshaper_enabled_flag таблицы 25 или ph_reshaper_enabled_flag), указывающий то, активируются или нет данные модуля изменения формы в кадре (в другом примере, в группе плиток или срезе). Когда значение второго флага активации модуля изменения формы равно 1, связанная с модулем изменения формы идентификационная APS-информация может включаться в информацию заголовка.
[309] Оборудование кодирования может выполнять остаточное масштабирование сигналов цветности на основе прогнозных выборок с измененной формой и флага остаточного масштабирования сигналов цветности. Флаг остаточного масштабирования сигналов цветности может включаться в информацию заголовка, и флаг остаточного масштабирования сигналов цветности может формироваться, когда значение первого флага активации модуля изменения формы равно 1.
[310] В одном примере, оборудование кодирования может формировать восстановленные выборки на основе прогнозных выборок сигналов яркости с измененной формой. Оборудование кодирования может извлекать коэффициенты фильтрации для ALF для восстановленных выборок. Оборудование кодирования может формировать модифицированные восстановленные выборки на основе восстановленных выборок и коэффициентов фильтрации. Оборудование кодирования может формировать ALF-данные на основе коэффициентов фильтрации и/или модифицированных восстановленных выборок.
[311] Например, информация изображений дополнительно может включать в себя второй APS. Второй APS может реализовываться так, как показано в таблице 23, описанной выше. Второй APS может включать в себя информацию типа, указывающую то, что второй APS представляет собой APS, включающий в себя поле ALF-данных. Например, информация типа может представлять собой aps_params_type, описанный вместе с таблицами 23 и 24. На основе информации типа, второй APS может включать в себя поле ALF-данных. Таким образом, второй APS может классифицироваться на тип ALF на основе связанной с ALF идентификационной APS-информации. Оборудование кодирования может синтаксически анализировать/передавать в служебных сигналах поле ALF-данных на основе информации типа, указывающей то, что второй APS представляет собой APS, включающий в себя поле ALF-данных.
[312] В одном примере, идентификатор первого APS, указываемый посредством связанной с модулем изменения формы идентификационной APS-информации, может отличаться от идентификатора второго APS, указываемого посредством связанной с ALF идентификационной APS-информации.
[313] Например, (связано с таблицами 23 и 24), когда значение информации типа, указывающее то, что второй APS представляет собой APS, включающий в себя поле ALF-данных, равно 0, APS-параметры второго APS указывают ALF-параметры, и второй APS может включать в себя поле ALF-данных и/или ALF-данные. Коэффициенты фильтрации могут извлекаться на основе поля ALF-данных и/или ALF-данных.
[314] В одном примере, информация заголовка может включать в себя связанную с ALF идентификационную APS-информацию, и связанная с ALF идентификационная APS-информация может указывать идентификатор второго APS, включающего в себя ALF-данные.
[315] В одном примере, SPS может включать в себя первый флаг активации ALF (т.е. sps_ALF_enabled_flag таблицы 25), указывающий то, активируются или нет ALF-данные. Когда значение первого флага активации ALF равно 1, информация заголовка включает в себя второй флаг активации ALF (например, tile_group_alf_enabled_flag таблицы 25 или ph_alf_enabled_flag), указывающий то, активируются или нет ALF-данные в кадре (в другом примере, в группе плиток или срезе). Когда значение второго флага активации ALF равно 1, связанная с ALF идентификационная APS-информация может включаться в информацию заголовка.
[316] В одном примере, оборудование кодирования может извлекать остаточные выборки на основе прогнозных выборок с измененной формой и исходных выборок. В этом случае, остаточная информация может извлекаться на основе остаточных выборок. На основе остаточной информации, могут извлекаться (модифицированные) остаточные выборки. Восстановленные выборки могут формироваться на основе (модифицированных) остаточных выборок. Восстановленный блок и восстановленный кадр могут извлекаться на основе восстановленных выборок.
[317] Фиг. 15 и фиг. 16 схематично показывают пример способа декодирования изображений/видео и связанных компонентов согласно варианту осуществления настоящего документа. Способ, раскрытый на фиг. 15, может осуществляться посредством оборудования декодирования, проиллюстрированного на фиг. 3. В частности, например, S1500 по фиг. 15 может выполняться посредством энтропийного декодера 310 оборудования декодирования, S1510 может выполняться посредством модуля 330 прогнозирования оборудования декодирования, и S1520 может выполняться посредством остаточного процессора 320 оборудования декодирования. Способ, раскрытый на фиг. 15, может включать в себя варианты осуществления, описанные выше в настоящем документе.
[318] Ссылаясь на фиг. 15, оборудование декодирования может принимать/получать информацию изображений/видео. Например, оборудование декодирования может принимать/получать информацию изображений/видео через поток битов. Оборудование декодирования может получать информацию режима прогнозирования и/или информацию относительно изменения формы из потока битов (S1500).
[319] Информация изображений/видео может включать в себя различную информацию согласно варианту осуществления настоящего документа. Например, информация изображений/видео может включать в себя информацию, раскрытую, по меньшей мере, в одной из таблиц 1, 3, 4, 7, 9, 13, 15, 17, 19, 20, 21, 23, 25 и/или 27, описанных выше.
[320] Оборудование декодирования может формировать прогнозные выборки сигналов яркости текущего блока в текущем кадре на основе информации режима прогнозирования (S1510). В этом случае, могут применяться различные способы прогнозирования, раскрытые в настоящем документе, такие как взаимное прогнозирование или внутреннее прогнозирование.
[321] Оборудование кодирования может извлекать прогнозные выборки сигналов яркости с измененной формой на основе информации относительно изменения формы и прогнозных выборок сигналов яркости (S1520). Прогнозные выборки сигналов яркости с измененной формой могут формироваться на основе прямого изменения формы или обратного изменения формы. Прогнозные выборки сигналов яркости с измененной формой могут называться "прогнозными выборками сигналов яркости после (прямого или обратного) преобразования". В частности, оборудование декодирования может извлекать кодовые слова изменения формы на основе информации относительно изменения формы. Например, информация относительно кодовых слов изменения формы может включать в себя reshaper_model_bin_delta_abs_cw_prec_minus1, reshape_model_bin_delta_abs_CW[i], reshaper_model_bin_delta_sign_CW_flag[i] и/или RspDeltaCW[i], описанные в сочетании с уравнением 6, таблицей 17 и/или таблицей 18.
[322] Помимо этого, оборудование декодирования дополнительно может извлекать индексы модели изменения формы для процесса изменения формы. Индексы моделей на основе модуля изменения формы могут включать в себя, по меньшей мере, один из синтаксических элементов, включенных в информацию (синтаксис) модели на основе модуля изменения формы и информацию заголовка (заголовок группы плиток, заголовок кадра или заголовок среза). Например, индексы моделей на основе модуля изменения формы могут включать в себя вышеописанные reshaper_model_min_bin_idx, reshaper_model_delta_max_bin_idx, reshape_model_max_bin_idx и MaxBinIdx.
[323] Например, информация изображений может включать в себя первый адаптивный набор параметров (APS). Первый APS может реализовываться так, как показано в таблице 23, описанной выше. Первый APS может включать в себя информацию типа, указывающую то, что первый APS представляет собой APS, включающий в себя поле данных модуля изменения формы. Например, информация типа может представлять собой aps_params_type, описанный вместе с таблицами 23 и 24. На основе информации типа, первый APS может включать в себя поле данных модуля изменения формы. Таким образом, первый APS может классифицироваться на тип внутриконтурного преобразования (тип модуля изменения формы или LMCS-тип) на основе связанной с модулем изменения формы идентификационной APS-информации. Оборудование декодирования может синтаксически анализировать/передавать в служебных сигналах поле данных модуля изменения формы на основе информации типа, указывающей то, что первый APS представляет собой APS, включающий в себя поле данных модуля изменения формы. Кодовые слова изменения формы, информация относительно них и/или индексы модели изменения формы могут извлекаться на основе поля данных изменения формы.
[324] В одном примере (связанном с таблицей 24), на основе того, что значение информации типа, указывающее то, что первый APS представляет собой APS, включающий в себя поле данных модуля изменения формы, равно 1, первый APS может включать в себя поле данных модуля изменения формы, включающее в себя параметры модуля изменения формы. Здесь, параметры модуля изменения формы могут включать в себя информацию относительно кодовых слов изменения формы и/или информацию относительно индексов моделей на основе модуля изменения формы.
[325] Информация изображений может включать в себя информацию заголовка, информация заголовка может включать в себя связанную с модулем изменения формы идентификационную APS-информацию, и связанная с модулем изменения формы идентификационная APS-информация может указывать идентификатор первого APS.
[326] В одном примере, информация изображений может включать в себя SPS, и SPS может включать в себя первый флаг активации модуля изменения формы (т.е. sps_reshaper_enabled_flag таблицы 25), указывающий то, активируются или нет данные модуля изменения формы. Когда значение первого флага активации модуля изменения формы равно 1, информация заголовка может включать в себя второй флаг активации модуля изменения формы (например, tile_group_reshaper_enabled_flag таблицы 25 или ph_reshaper_enabled_flag), указывающий то, активируются или нет данные модуля изменения формы в кадре (в другом примере, в группе плиток или срезе). Когда значение второго флага активации модуля изменения формы равно 1, связанная с модулем изменения формы идентификационная APS-информация может включаться в информацию заголовка.
[327] Оборудование декодирования может выполнять остаточное масштабирование сигналов цветности на основе прогнозных выборок с измененной формой и флага остаточного масштабирования сигналов цветности. Флаг остаточного масштабирования сигналов цветности может включаться в информацию заголовка, и флаг остаточного масштабирования сигналов цветности может передаваться в служебных сигналах, когда значение первого флага активации модуля изменения формы равно 1.
[328] Оборудование декодирования может формировать восстановленные выборки на основе прогнозных выборок сигналов яркости с измененной формой. Оборудование декодирования может выполнять ALF-процесс для восстановленных выборок. Оборудование декодирования может извлекать коэффициенты фильтрации для ALF и формировать модифицированные восстановленные выборки на основе восстановленных выборок и коэффициентов фильтрации. Один фильтр может включать в себя набор коэффициентов фильтрации. Фильтр или коэффициенты фильтрации могут извлекаться на основе ALF-данных.
[329] Например, информация изображений дополнительно может включать в себя второй набор параметров адаптации (APS). Второй APS может реализовываться так, как показано в таблице 23, описанной выше. Второй APS может включать в себя информацию типа, указывающую то, что второй APS представляет собой APS, включающий в себя поле ALF-данных. Например, информация типа может представлять собой aps_params_type, описанный вместе с таблицами 23 и 24. На основе информации типа, второй APS может включать в себя поле ALF-данных. Таким образом, второй APS может классифицироваться на тип ALF на основе связанной с ALF идентификационной APS-информации. Оборудование декодирования может синтаксически анализировать/передавать в служебных сигналах поле ALF-данных на основе информации типа, указывающей то, что второй APS представляет собой APS, включающий в себя поле ALF-данных.
[330] В одном примере, идентификатор первого APS, указываемый посредством связанной с модулем изменения формы идентификационной APS-информации, может отличаться от идентификатора второго APS, указываемого посредством связанной с ALF идентификационной APS-информации.
[331] Например, (связано с таблицами 23 и 24), когда значение информации типа, указывающее то, что второй APS представляет собой APS, включающий в себя поле ALF-данных, равно 0, APS-параметры второго APS указывают ALF-параметры, и второй APS может включать в себя поле ALF-данных и/или ALF-данные. Коэффициенты фильтрации могут извлекаться на основе поля ALF-данных и/или ALF-данных.
[332] В одном примере, информация заголовка может включать в себя связанную с ALF идентификационную APS-информацию, и связанная с ALF идентификационная APS-информация может указывать идентификатор второго APS, включающего в себя ALF-данные.
[333] В одном примере, SPS может включать в себя первый флаг активации ALF (т.е. sps_ALF_enabled_flag таблицы 25), указывающий то, активируются или нет ALF-данные. Когда значение первого флага активации ALF равно 1, информация заголовка включает в себя второй флаг активации ALF (например, tile_group_alf_enabled_flag таблицы 25 или ph_alf_enabled_flag), указывающий то, активируются или нет ALF-данные в кадре (в другом примере, в группе плиток или срезе). Когда значение второго флага активации ALF равно 1, связанная с ALF идентификационная APS-информация может включаться в информацию заголовка.
[334] В вышеописанном варианте осуществления, способы описываются на основе блок-схемы последовательности операций способа, имеющей последовательность этапов или блоков. Настоящее раскрытие сущности не ограничено порядком вышеуказанных этапов или блоков. Некоторые этапы или блоки могут возникать одновременно или в порядке, отличном от других этапов или блоков, как описано выше. Дополнительно, специалисты в данной области техники должны понимать, что этапы, показанные на вышеприведенной блок-схеме последовательности операций способа, не являются исчерпывающими, и другие этапы могут включаться, либо один или более этапов на блок-схеме последовательности операций способа могут удаляться без влияния на объем настоящего раскрытия сущности.
[335] Способ согласно вышеописанным вариантам осуществления настоящего документа может реализовываться в программной форме, и оборудование кодирования и/или оборудование декодирования согласно настоящему документу, например, может включаться в оборудование, которое выполняет обработку изображений, для телевизора, компьютера, смартфона, абонентской приставки, устройства отображения и т.д.
[336] Когда варианты осуществления в настоящем документе реализуются в программном обеспечении, вышеописанный способ может реализовываться как модуль (процесс, функция и т.д.), который выполняет вышеописанную функцию. Модуль может сохраняться в запоминающем устройстве и выполняться посредством процессора. Запоминающее устройство может быть внутренним или внешним для процессора и может соединяться с процессором посредством различных известных средств. Процессор может включать в себя специализированную интегральную схему (ASIC), другие наборы микросхем, логические схемы и/или устройства обработки данных. Запоминающее устройство может включать в себя постоянное запоминающее устройство (ROM), оперативное запоминающее устройство (RAM), флэш-память, карты памяти, носители хранения данных и/или другие устройства хранения данных. Таким образом, варианты осуществления, описанные в настоящем раскрытии сущности, могут выполняться посредством реализации на процессоре, микропроцессоре, контроллере или микросхеме. Например, функциональные модули, показанные на каждом чертеже, могут реализовываться и выполняться на компьютере, процессоре, микропроцессоре, контроллере или микросхеме. В этом случае, информация относительно инструкций или алгоритма для реализации может сохраняться в цифровом носителе хранения данных.
[337] Помимо этого, оборудование декодирования и оборудование кодирования, к которому применяется настоящее раскрытие сущности, могут включаться в мультимедийное широковещательное приемо-передающее оборудование, терминал мобильной связи, видеооборудование системы домашнего кинотеатра, видеооборудование системы цифрового кинотеатра, камеру наблюдения, оборудование проведения видеочатов, оборудование связи в реальном времени, к примеру, видеосвязи, мобильное оборудование потоковой передачи, носитель хранения данных, записывающую видеокамеру, оборудование предоставления VoD-услуг, видеооборудование поверх сетей (OTT), оборудование предоставления услуг потоковой передачи по Интернету, трехмерное видеооборудование, видеооборудование телеконференц-связи, транспортировочное абонентское устройство (т.е. абонентское устройство в транспортном средстве, абонентское устройство в самолете, абонентское устройство в морском судне и т.д.) и медицинское видеооборудование, и могут использоваться для того, чтобы обрабатывать видеосигналы и сигналы данных. Например, видеоборудование поверх сетей (OTT) может включать в себя игровую приставку, Blu-Ray-проигрыватель, телевизор с доступом в Интернет, систему домашнего кинотеатра, смартфон, планшетный PC, цифровое записывающее видеоустройство (DVR) и т.п.
[338] Дополнительно, способ обработки, к которому применяется настоящий документ, может формироваться в форме программы, которая должна выполняться посредством компьютера, и может сохраняться на машиночитаемом носителе записи. Мультимедийные данные, имеющие структуру данных согласно настоящему раскрытию сущности, также могут сохраняться на машиночитаемых носителях записи. Машиночитаемые носители записи включают в себя все типы устройств хранения данных, на которых сохраняются данные, считываемые посредством компьютерной системы. Машиночитаемые носители записи, например, могут включать в себя BD, универсальную последовательную шину (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, магнитную ленту, гибкий диск и оптическое устройство хранения данных. Кроме того, машиночитаемые носители записи включают в себя среды, реализованные в форме несущих волн (т.е. как передача через Интернет). Помимо этого, поток битов, сформированный посредством способа кодирования, может сохраняться на машиночитаемом носителе записи или может передаваться по сетям проводной/беспроводной связи.
[339] Помимо этого, варианты осуществления настоящего документа могут реализовываться с компьютерным программным продуктом согласно программным кодам, и программные коды могут выполняться в компьютере посредством вариантов осуществления настоящего документа. Программные коды могут сохраняться на несущей, которая является считываемой посредством компьютера.
[340] Фиг. 17 показывает пример системы потоковой передачи контента, к которой могут применяться варианты осуществления, раскрытые в настоящем документе.
[341] Ссылаясь на фиг. 17, система потоковой передачи контента, к которой применяется вариант(ы) осуществления настоящего документа, может включать в себя, главным образом, сервер кодирования, потоковый сервер, веб-сервер, хранилище мультимедиа, пользовательское устройство и устройство ввода мультимедиа.
[342] Сервер кодирования сжимает контент, вводимый из устройств ввода мультимедиа, таких как смартфон, камера, записывающая видеокамера и т.д. В цифровые данные, чтобы формировать поток битов и передавать поток битов в потоковый сервер. В качестве другого примера, когда устройства ввода мультимедиа, такие как смартфоны, камеры, записывающие видеокамеры и т.д., непосредственно формируют поток битов, сервер кодирования может опускаться.
[343] Поток битов может формироваться посредством способа кодирования или способа формирования потока битов, к которому применяется вариант(ы) осуществления настоящего документа, и потоковый сервер может временно сохранять поток битов в процессе передачи или приема потока битов.
[344] Потоковый сервер передает мультимедийные данные в пользовательское устройство на основе запроса пользователя через веб-сервер, и веб-сервер служит в качестве среды для информирования пользователя в отношении услуги. Когда пользователь запрашивает требуемую услугу из веб-сервера, веб-сервер доставляет ее на потоковый сервер, и потоковый сервер передает мультимедийные данные пользователю. В этом случае, система потоковой передачи контента может включать в себя отдельный сервер управления. В этом случае, сервер управления служит для того, чтобы управлять командой/ответом между устройствами в системе потоковой передачи контента.
[345] Потоковый сервер может принимать контент из хранилища мультимедиа и/или сервера кодирования. Например, когда контент принимается из сервера кодирования, контент может приниматься в реальном времени. В этом случае, чтобы предоставлять плавную услугу потоковой передачи, потоковый сервер может сохранять поток битов в течение предварительно определенного времени.
[346] Примеры пользовательского устройства могут включать в себя мобильный телефон, смартфон, переносной компьютер, цифровой широковещательный терминал, персональное цифровое устройство (PDA), портативный мультимедийный проигрыватель (PMP), навигационное устройство, грифельный планшетный PC, планшетные PC, ультрабуки, носимые устройства (например, интеллектуальные часы, интеллектуальные очки, наголовные дисплеи), цифровые телевизоры, настольные компьютеры, систему цифровых информационных табло и т.п. Каждый сервер в системе потоковой передачи контента может работать в качестве распределенного сервера, причем в этом случае данные, принимаемые из каждого сервера, могут распределяться.
[347] Каждый сервер в системе потоковой передачи контента может работать в качестве распределенного сервера, причем в этом случае данные, принимаемые из каждого сервера, могут распределяться.
[348] Формула изобретения, описанная в данном документе, может комбинироваться различными способами. Например, технические признаки формулы изобретения на способ настоящего документа могут комбинироваться и реализовываться в качестве оборудования, и технические признаки формулы изобретения оборудования настоящего документа могут комбинироваться и реализовываться в качестве способа. Помимо этого, технические признаки пункта формулы изобретения на способ настоящего документа и технические признаки пункта формулы изобретения на оборудование могут комбинироваться для реализации в качестве оборудования, и технические признаки пункта формулы изобретения на способ настоящего документа и технические признаки пункта формулы изобретения на оборудование могут комбинироваться и реализовываться в качестве способа.