Уровень техники
Область техники, к которой относится изобретение
[1] Настоящее раскрытие относится к оборудованию и к способу для кодирования изображения.
Описание предшествующего уровня техники
[2] В последнее время, спрос на высококачественное изображение/видео высокого разрешения, к примеру, изображение/видео сверхвысокой четкости (UHD) формата 4K или 8K либо выше, растет в различных областях техники. Поскольку данные изображений/видео имеют высокое разрешение и высокое качество, объем информации или битов, который должен передаваться, увеличивается относительно существующих данных изображений/видео, и в силу этого передача данных изображений с использованием носителя, такого как существующая проводная/беспроводная широкополосная линия или существующий носитель хранения данных, либо сохранение данных изображений/видео с использованием существующего носителя хранения данных увеличивает затраты на передачу и затраты на хранение.
[3] Помимо этого, интерес и спрос на иммерсивное мультимедиа, такое как контент виртуальной реальности (VR) и искусственной реальности (AR) или голограммы, в последнее время растет, и широковещательная передача для изображения/видео, имеющего характеристики, отличающиеся от изображений реальности, таких как игровые изображения, увеличивается.
[4] Соответственно, требуется технология высокоэффективного сжатия изображений/видео, чтобы эффективно сжимать, передавать, сохранять и воспроизводить информацию высококачественного изображения/видео высокого разрешения, имеющего различные характеристики, как описано выше.
[5] В процедуре кодирования для сжатия изображений/видео, может выполняться процедура внутриконтурной фильтрации. В последнее время, проводится обсуждение касательно повышения точности фильтрации.
Сущность изобретения
[6] Настоящее раскрытие предоставляет способ и оборудование для повышения эффективности кодирования изображений/видео.
[7] Настоящее раскрытие также предоставляет способ и оборудование для эффективного применения фильтрации.
[8] Настоящее раскрытие также предоставляет способ и оборудование для эффективного ALF-применения.
[9] Согласно варианту осуществления настоящего раскрытия, процедура фильтрации может выполняться для восстановленных выборок сигналов цветности на основе восстановленных выборок сигналов яркости.
[10] Согласно варианту осуществления настоящего раскрытия, фильтрованные восстановленные выборки сигналов цветности могут модифицироваться на основе восстановленных выборок сигналов яркости.
[11] Согласно варианту осуществления настоящего раскрытия, информация относительно того, доступна или нет CCALF, может передаваться в служебных сигналах в SPS.
[12] Согласно варианту осуществления настоящего раскрытия, информация относительно значений коэффициентов кросскомпонентного фильтра может извлекаться из ALF-данных (нормальных ALF-данных или CCALF-данных).
[13] Согласно варианту осуществления настоящего раскрытия, идентификационная информация APS, включающая в себя ALF-данные для извлечения коэффициентов кросскомпонентного фильтра в срезе, может передаваться в служебных сигналах.
[14] Согласно варианту осуществления настоящего раскрытия, информация относительно индекса набора фильтров для CCALF может передаваться в служебных сигналах в единицах CTU (блоков).
[15] Согласно варианту осуществления настоящего раскрытия, предоставляется способ декодирования видео/изображений, осуществляемый посредством оборудования декодирования.
[16] Согласно варианту осуществления настоящего раскрытия, предоставляется оборудование декодирования для выполнения декодирования видео/изображений.
[17] Согласно варианту осуществления настоящего раскрытия, предоставляется способ кодирования видео/изображений, осуществляемый посредством оборудования кодирования.
[18] Согласно варианту осуществления настоящего раскрытия, предоставляется оборудование кодирования для выполнения кодирования видео/изображений.
[19] Согласно одному варианту осуществления настоящего раскрытия, предоставляется компьютерно-читаемый цифровой носитель хранения данных, на котором сохраняется кодированная информация видео/изображений, сформированная согласно способу кодирования видео/изображений, раскрытому по меньшей мере в одном из вариантов осуществления настоящего раскрытия.
[20] Согласно варианту осуществления настоящего раскрытия, предоставляется компьютерно-читаемый цифровой носитель хранения данных, на котором сохраняется кодированная информация или кодированная информация видео/изображений, инструктирующая оборудованию декодирования осуществлять способ декодирования видео/изображений, раскрытый по меньшей мере в одном из вариантов осуществления настоящего раскрытия.
Положительные эффекты
[21] Согласно варианту осуществления настоящего раскрытия, может повышаться полная эффективность сжатия изображений/видео.
[22] Согласно варианту осуществления настоящего раскрытия, субъективное/объективное визуальное качество может повышаться посредством эффективной фильтрации.
[23] Согласно варианту осуществления настоящего раскрытия, ALF-процедура может эффективно выполняться, и может повышаться производительность фильтрации.
[24] Согласно варианту осуществления настоящего раскрытия, восстановленные выборки сигналов цветности, фильтрованные на основе восстановленных выборок сигналов яркости, могут модифицироваться, чтобы повышать качество кадров и точность кодирования компонента сигналов цветности декодированного кадра.
[25] Согласно варианту осуществления настоящего раскрытия, CCALF-процедура может эффективно выполняться.
[26] Согласно варианту осуществления настоящего раскрытия, связанная с ALF информация может эффективно передаваться в служебных сигналах.
[27] Согласно варианту осуществления настоящего раскрытия, связанная с CCALF информация может эффективно передаваться в служебных сигналах.
[28] Согласно варианту осуществления настоящего раскрытия, ALF и/или CCALF могут адаптивно применяться в единицах кадров, срезов и/или блоков кодирования.
[29] Согласно варианту осуществления настоящего раскрытия, когда CCALF используется в способе и оборудовании кодирования и декодирования для неподвижного изображения или видео, коэффициенты фильтра для CCALF и способ передачи включения-выключения в единице блоков или CTU могут улучшаться, в силу этого повышая эффективность кодирования.
Краткое описание чертежей
[30] Фиг. 1 схематично показывает пример системы кодирования видео/изображений, которая может применяться к вариантам осуществления настоящего раскрытия.
[31] Фиг. 2 является схемой, принципиально иллюстрирующей конфигурацию оборудования кодирования видео/изображений, которое может применяться к вариантам осуществления настоящего раскрытия.
[32] Фиг. 3 является схемой, принципиально иллюстрирующей конфигурацию оборудования декодирования видео/изображений, которое может применяться к вариантам осуществления настоящего раскрытия.
[33] Фиг. 4 примерно показывает иерархическую структуру для кодированного изображения/видео.
[34] Фиг. 5 является блок-схемой последовательности операций, иллюстрирующей способ восстановления блоков на основе внутреннего прогнозирования в оборудовании декодирования.
[35] Фиг. 6 является блок-схемой последовательности операций, иллюстрирующей способ восстановления блоков на основе взаимного прогнозирования в оборудовании кодирования.
[36] Фиг. 7 является блок-схемой последовательности операций, иллюстрирующей способ восстановления блоков на основе взаимного прогнозирования в оборудовании декодирования.
[37] Фиг. 8 показывает пример формы ALF-фильтра.
[38] Фиг. 9 является схемой, иллюстрирующей виртуальную границу, применяемую к процедуре фильтрации согласно варианту осуществления настоящего раскрытия.
[39] Фиг. 10 показывает пример ALF-процедуры с использованием виртуальной границы согласно варианту осуществления настоящего раскрытия.
[40] Фиг. 11 является схемой, иллюстрирующей процедуру кросскомпонентной адаптивной контурной фильтрации (CC-ALF) согласно варианту осуществления настоящего раскрытия.
[41] Фиг. 12 и 13 схематично показывают пример способа кодирования видео/изображений и связанных компонентов согласно варианту(ам) осуществления настоящего раскрытия.
[42] Фиг. 14 и 15 схематично показывают пример способа декодирования изображений/видео и связанных компонентов согласно варианту(ам) осуществления настоящего раскрытия.
[43] Фиг. 16 иллюстрирует пример системы потоковой передачи контента, к которой могут применяться варианты осуществления, раскрытые в настоящем раскрытии.
Подробное описание вариантов осуществления
[44] Настоящее раскрытие может модифицироваться в различных формах, и его конкретные варианты осуществления описываются и показаны на чертежах. Тем не менее, эти варианты осуществления не предназначены для ограничения настоящего раскрытия. Термины, используемые в нижеприведенном описании, используются для того, чтобы просто описывать конкретные варианты осуществления, но не имеют намерение ограничивать настоящее раскрытие. Выражение единственного числа включает в себя выражение множественного числа до этих пор, до тех пор, пока они четко трактуются по-разному. Такие термины, как "включать в себя" и "иметь", предназначены для того, чтобы указывать то, что существуют признаки, числа, этапы, операции, элементы, компоненты либо комбинации вышеозначенного, используемые в нижеприведенном описании, и в силу этого следует понимать, что не исключается возможность наличия или добавления одного или более других признаков, чисел, этапов, операций, элементов, компонентов либо комбинаций вышеозначенного.
[45] Между тем, каждая конфигурация на чертежах, описанная в настоящем раскрытии, показывается независимо для удобства описания относительно различных характеристических функций и не означает то, что каждая конфигурация реализуется как отдельные аппаратные средства или отдельное программное обеспечение. Например, два или более компонентов для каждого компонента могут комбинироваться, чтобы формировать один компонент, либо один компонент может разделяться на множество компонентов. Варианты осуществления, в которых каждый компонент интегрируется и/или отделяется, также включаются в объем документа настоящего раскрытия.
[46] Настоящее раскрытие относится к кодированию видео/изображений. Например, способы/варианты осуществления, раскрытые в настоящем раскрытии, могут применяться к способам, раскрытым в стандарте универсального кодирования видео (VVC). Помимо этого, способы/варианты осуществления, раскрытые в настоящем раскрытии, могут применяться к способу, раскрытому в стандарте фундаментального кодирования видео (EVC), стандарте AOMedia Video 1 (AV1), стандарте кодирования аудио/видео второго поколения (AVS2) или стандарте кодирования видео/изображений следующего поколения (например, H.267 или H.268 и т.д.).
[47] Настоящее раскрытие представляет различные варианты осуществления кодирования видео/изображений, и если не указано иное, эти варианты осуществления могут выполняться в комбинации между собой.
[48] В настоящем раскрытии, видео может означать последовательность изображений во времени. Кадр, в общем, означает единицу, представляющую одно изображение в конкретной временной области, и срез/плитка (плитка) представляет собой единицу, составляющую часть кадра при кодировании. Срез/плитка может включать в себя одну или более единиц дерева кодирования (CTU). Кадр может состоять из одного или более срезов/блоков. Плитка представляет собой прямоугольную область CTU в конкретном столбце плиток и конкретной строке плиток в кадре. Столбец плиток представляет собой прямоугольную область CTU, имеющих высоту, равную высоте кадра, и ширину, указываемую посредством синтаксических элементов в наборе параметров кадра. Строка плиток представляет собой прямоугольную область CTU, имеющих высоту, указываемую посредством синтаксических элементов в наборе параметров кадра, и ширину, равную ширине кадра. Сканирование плиток представляет собой конкретное последовательное упорядочение CTU, сегментирующих кадр, при котором CTU упорядочиваются последовательно при растровом сканировании CTU в плитке, тогда как плитки в кадре упорядочиваются последовательно при растровом сканировании плиток кадра. Срез включает в себя целое число полных плиток или целое число последовательных законченных CTU-строк в плитке кадра, который может быть содержаться исключительно в одной NAL-единице.
[49] Между тем, один кадр может разделяться на два или более субкадров. Субкадр может представлять собой прямоугольную область одного или более срезов в кадре.
[50] Пиксел или пел может означать наименьшую единицу, составляющую один кадр (или изображение). Кроме того, "выборка" может использоваться в качестве термина, соответствующего пикселу. Выборка, в общем, может представлять пиксел или значение пиксела и может представлять только пиксел/пиксельное значение компонента сигналов яркости либо только пиксел/пиксельное значение компонента сигналов цветности.
[51] Единица может представлять базовую единицу обработки изображений. Единица может включать в себя по меньшей мере одно из конкретной области кадра и информации, связанной с областью. Одна единица может включать в себя один блок сигналов яркости и два блока сигналов цветности (например, Cb, Cr). Единица может использоваться взаимозаменяемо с такими терминами, как блок или зона в некоторых случаях. В общем случае, блок MxN может включать в себя выборки (или массивы выборок) либо набор (или массив) коэффициентов преобразования из M столбцов и N строк. Альтернативно, выборка может означать пиксельное значение в пространственной области и когда такое пиксельное значение преобразуется в частотную область, это может означать коэффициент преобразования в частотной области.
[52] В настоящем раскрытии, "A или B (A или B)" может означать "только A", "только B" или "как A, так и B". Другими словами, "A или B (или B)" в настоящем раскрытии может интерпретироваться в качестве "A и/или B (A и/или B)". Например, в настоящем раскрытии, "A, B или C (A, B или C)" означает "только A", "только B", "только C" либо "любая комбинация A, B и C".
[53] Наклонная черта (/) или запятая, используемая в настоящем раскрытии, может означать "и/или". Например, "A/B" может означать "A и/или B". Соответственно, "A/B" может означать "только A", "только B" либо "как A, так и B". Например, "A, B, C" может означать "A, B или C".
[54] В настоящем раскрытии, "по меньшей мере одно из A и B" может означать "только A", "только B" или "как A, так и B". Кроме того, в раскрытии, выражение "по меньшей мере одно из A или B" или "по меньшей мере одно из A и/или B" может интерпретироваться в равной степени как "по меньшей мере одно из A и B".
[55] Кроме того, в настоящем раскрытии, "по меньшей мере одно из A, B и C" означает "только A", "только B", "только C" либо "любая комбинация A, B и C". Кроме того, "по меньшей мере одно из A, B или C" или "по меньшей мере одно из A, B и/или C" может означать "по меньшей мере одно из A, B и C".
[56] Кроме того, круглые скобки, используемые в настоящем раскрытии, могут означать "например". В частности, когда указывается "прогнозирование (внутреннее прогнозирование)", оно может упоминаться как то, что "внутреннее прогнозирование" предлагается в качестве примера "прогнозирования". Другими словами, "прогнозирование" в настоящем раскрытии не ограничено "внутренним прогнозированием", и "внутреннее прогнозирование" может предлагаться в качестве примера "прогнозирования". Кроме того, даже когда указывается "прогнозирование (т.е. внутреннее прогнозирование)", оно может упоминаться как то, что "внутреннее прогнозирование", предлагается в качестве примера "прогнозирования".
[57] Технические признаки, которые отдельно описываются на одном чертеже в настоящем раскрытии, могут реализовываться отдельно или одновременно.
[58] В дальнейшем в этом документе описываются варианты осуществления настоящего раскрытия со ссылкой на прилагаемые чертежи. В дальнейшем в этом документе, идентичные ссылки с номерами могут использоваться для идентичных компонентов на чертежах, и повторные описания идентичных компонентов могут опускаться.
[59] Фиг. 1 иллюстрирует пример системы кодирования видео/изображений, к которой может применяться настоящее раскрытие.
[60] Ссылаясь на фиг. 1, система кодирования видео/изображений может включать в себя исходное устройство и приемное устройство. Исходное устройство может передавать кодированную информацию или данные видео/изображений в приемное устройство через цифровой носитель хранения данных или сеть в форме файла или потоковой передачи.
[61] Исходное устройство может включать в себя видеоисточник, оборудование кодирования и передатчик. Приемное устройство может включать в себя приемник, оборудование декодирования и модуль рендеринга. Оборудование кодирования может называться "оборудованием кодирования видео/изображений", и оборудование декодирования может называться "оборудованием декодирования видео/изображений". Передатчик может включаться в оборудование кодирования. Приемник может включаться в оборудование декодирования. Модуль рендеринга может включать в себя дисплей, и дисплей может быть сконфигурирован как отдельное устройство или внешний компонент.
[62] Видеоисточник может получать видео/изображение посредством процесса захвата, синтезирования или формирования видео/изображения. Видеоисточник может включать в себя устройство захвата видео/изображений и/или устройство формирования видео/изображений. Устройство захвата видео/изображений может включать в себя, например, одну или более камер, архивы видео/изображений, включающие в себя ранее захваченные видео/изображения, и т.п. Устройство формирования видео/изображений может включать в себя, например, компьютеры, планшетные компьютеры и смартфоны и может (электронным образом) формировать видео/изображения. Например, виртуальное видео/изображение может формироваться через компьютер и т.п. В этом случае, процесс захвата видео/изображений может заменяться посредством процесса формирования связанных данных.
[63] Оборудование кодирования может кодировать входное видео/изображение. Оборудование кодирования может выполнять последовательность процедур, таких как прогнозирование, преобразование и квантование, для эффективности сжатия и кодирования. Кодированные данные (кодированная информация видео/изображений) могут выводиться в форме потока битов.
[64] Передатчик может передавать информацию или данные кодированных изображений/изображений, выводимую в форме потока битов, в приемник приемного устройства через цифровой носитель хранения данных или сеть в форме файла или потоковой передачи. Цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик может включать в себя элемент для формирования мультимедийного файла через предварительно определенный формат файлов и может включать в себя элемент для передачи через широковещательную передачу/сеть связи. Приемник может принимать/извлекать поток битов и передавать принимаемый поток битов в оборудование декодирования.
[65] Оборудование декодирования может декодировать видео/изображение посредством выполнения последовательности процедур, таких как деквантование, обратное преобразование и прогнозирование, соответствующих работе оборудования кодирования.
[66] Модуль рендеринга может подготавливать посредством рендеринга декодированное видео/изображение. Подготовленное посредством рендеринга видео/изображение может отображаться через дисплей.
[67] Фиг. 2 является схемой, схематично иллюстрирующей конфигурацию оборудования кодирования видео/изображений, к которому может применяться настоящее раскрытие. В дальнейшем в этом документе, то, что называется "оборудованием кодирования видео", может включать в себя оборудование кодирования изображений.
[68] Ссылаясь на фиг. 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 в качестве внутреннего/внешнего компонента.
[69] Модуль 210 сегментации изображений может сегментировать входное изображение (либо кадр или кинокадр), вводимое в оборудование 200 кодирования, на один или более блоков обработки. Например, блок обработки может называться "единицей кодирования (CU)". В этом случае, единица кодирования может рекурсивно сегментироваться согласно структуре в виде дерева квадрантов, двоичного дерева и троичного дерева (QTBTTT) из единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU). Например, одна единица кодирования может сегментироваться на множество единиц кодирования большей глубины на основе структуры в виде дерева квадрантов, структуры в виде двоичного дерева и/или троичной структуры. В этом случае, например, сначала может применяться структура в виде дерева квадрантов, и впоследствии может применяться структура в виде двоичного дерева и троичная структура. Альтернативно, сначала может применяться структура в виде двоичного дерева. Процедура кодирования согласно настоящему раскрытию может выполняться на основе конечной единицы кодирования, которая более не сегментируется. В этом случае, наибольшая единица кодирования может использоваться в качестве конечной единицы кодирования на основе эффективности кодирования согласно характеристикам изображений, или при необходимости, единица кодирования может рекурсивно сегментироваться на единицы кодирования большей глубины, и единица кодирования, имеющая оптимальный размер, может использоваться в качестве конечной единицы кодирования. Здесь, процедура кодирования может включать в себя процедуру прогнозирования, преобразования и восстановления, которая описывается ниже. В качестве другого примера, блок обработки дополнительно может включать в себя единицу прогнозирования (PU) или единицу преобразования (TU). В этом случае, единица прогнозирования и единица преобразования могут разбиваться или сегментироваться из вышеуказанной конечной единицы кодирования. Единица прогнозирования может представлять собой единицу выборочного прогнозирования, и единица преобразования может представлять собой единицу для извлечения коэффициента преобразования и/или единицу для извлечения остаточного сигнала из коэффициента преобразования.
[70] Единица может использоваться взаимозаменяемо с такими терминами, как блок или зона в некоторых случаях. В общем случае, блок MxN может представлять набор выборок или коэффициентов преобразования, состоящих из M столбцов и N строк. Выборка, в общем, может представлять пиксел или значение пиксела, может представлять только пиксел/пиксельное значение компонента сигналов яркости либо представлять только пиксел/пиксельное значение компонента сигналов цветности. Выборка может использоваться в качестве термина, соответствующего одному кадру (или изображению) для пиксела или пела.
[71] Вычитатель 231 вычитает прогнозный сигнал (прогнозированный блок, прогнозные выборки или массив прогнозных выборок), выводимый из модуля 220 прогнозирования, из сигнала входного изображения (исходного блока, исходных выборок или массива исходных выборок), чтобы получать остаток. Сигнал (остаточный блок, остаточные выборки или массив остаточных выборок) может формироваться, и сформированный остаточный сигнал передается в преобразователь 232. Модуль 220 прогнозирования может выполнять прогнозирование относительно целевого блока обработки (в дальнейшем в этом документе, называемого "текущим блоком") и формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль 220 прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование, на основе текущего блока или CU. Как описано ниже в описании каждого режима прогнозирования, модуль прогнозирования может формировать различную информацию, связанную с прогнозированием, к примеру, информацию режима прогнозирования, и передавать сформированную информацию в энтропийный кодер 240. Информация относительно прогнозирования может кодироваться в энтропийном кодере 240 и выводиться в форме потока битов.
[72] Модуль 222 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки для ссылки могут быть расположены в окружении текущего блока или могут быть расположены с разнесением согласно режиму прогнозирования. При внутреннем прогнозировании режимы прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Ненаправленный режим может включать в себя, например, DC-режим и планарный режим. Направленный режим может включать в себя, например, 33 режима направленного прогнозирования или 65 режимов направленного прогнозирования согласно степени детальности направления прогнозирования. Тем не менее, это представляет собой просто пример, большее или меньшее число режимов направленного прогнозирования может использоваться в зависимости от настройки. Модуль 222 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.
[73] Модуль 221 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. Здесь, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными или отличающимися. Временной соседний блок может называться "совместно размещенным опорным блоком", "совместно размещенной CU (colCU)" и т.п., и опорный кадр, включающий в себя временной соседний блок, может называться "совместно размещенным кадром (colPic)". Например, модуль 221 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и формировать информацию, указывающую то, какой возможный вариант используется для того, чтобы извлекать вектор движения и/или индекс опорного кадра текущего блока. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования. Например, в случае режима пропуска и режима объединения, модуль 221 взаимного прогнозирования может использовать информацию движения соседнего блока в качестве информации движения текущего блока. В режиме пропуска, в отличие от режима объединения, остаточный сигнал может не передаваться. В случае режима прогнозирования векторов движения (MVP), вектор движения соседнего блока может использоваться в качестве предиктора вектора движения, и вектор движения текущего блока может указываться посредством передачи в служебных сигналах разности векторов движения.
[74] Модуль 220 прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования, описанных ниже. Например, модуль прогнозирования может не только применять внутреннее прогнозирование или взаимное прогнозирование для того, чтобы прогнозировать один блок, но также и одновременно применять как внутренние прогнозирование, так и взаимное прогнозирование. Это может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может выполнять внутриблочное копирование (IBC) для прогнозирования блока. Режим IBC-прогнозирования может использоваться для кодирования изображений/видео контента игры и т.п., например, для кодирования экранного контента (SCC). IBC по существу выполняет прогнозирование в текущем кадре, но может выполняться аналогично взаимному прогнозированию, в котором опорный блок извлекается в текущем кадре. Таким образом, IBC может использовать по меньшей мере одну из технологий взаимного прогнозирования, описанных в настоящем раскрытии.
[75] Прогнозный сигнал, сформированный посредством модуля 221 взаимного прогнозирования и/или модуля 222 внутреннего прогнозирования, может использоваться для того, чтобы формировать восстановленный сигнал или формировать остаточный сигнал. Преобразователь 232 может формировать коэффициенты преобразования посредством применения технологии преобразования к остаточному сигналу. Например, технология преобразования может включать в себя дискретное косинусное преобразование (DCT), дискретное синусное преобразование (DST), преобразование Карунена-Лоэва (KLT), преобразование на основе графа (GBT) или условно нелинейное преобразование (CNT). Здесь, GBT означает преобразование, полученное из графа, когда информация взаимосвязи между пикселами представляется посредством графа. CNT означает преобразование, сформированное на основе прогнозного сигнала, сформированного с использованием всех ранее восстановленных пикселов. Помимо этого, процесс преобразования может применяться к квадратным пиксельным блокам, имеющим идентичный размер, или может применяться к блокам, имеющим переменный размер, а не квадратный.
[76] Квантователь 233 может квантовать коэффициенты преобразования и передавать их в энтропийный кодер 240, и энтропийный кодер 240 может кодировать квантованный сигнал (информацию относительно квантованных коэффициентов преобразования) и выводить поток битов. Информация относительно квантованных коэффициентов преобразования может называться "остаточной информацией". Квантователь 233 может перекомпоновывать блочные квантованные коэффициенты преобразования в одномерную векторную форму на основе порядка сканирования коэффициентов и формировать информацию относительно квантованных коэффициентов преобразования на основе квантованных коэффициентов преобразования в одномерной векторной форме. Информация относительно коэффициентов преобразования может формироваться. Энтропийный кодер 240 может осуществлять различные способы кодирования, такие как, например, кодирование экспоненциальным кодом Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и т.п. Энтропийный кодер 240 может кодировать информацию, необходимую для восстановления видео/изображений, отличную от квантованных коэффициентов преобразования (например, значений синтаксических элементов и т.д.), вместе или отдельно. Кодированная информация (например, кодированная информация видео/изображений) может передаваться или сохраняться в единицах NAL (слоя абстрагирования от сети) в форме потока битов. Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. В настоящем раскрытии, передача служебных сигналов/передаваемая информация и/или синтаксические элементы, описанные далее в настоящем раскрытии, могут кодироваться через вышеуказанный процесс кодирования и включаться в поток битов. Поток битов может передаваться по сети или может сохраняться на цифровом носителе хранения данных. Сеть может включать в себя широковещательную сеть и/или сеть связи, и цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как, USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик (не показан), передающий сигнал, выводимый из энтропийного кодера 240, и/или модуль хранения (не показан), сохраняющий сигнал, могут включаться в качестве внутреннего/внешнего элемента оборудования 200 кодирования, и альтернативно, передатчик может включаться в энтропийный кодер 240.
[77] Квантованные коэффициенты преобразования, выводимые из квантователя 233, могут использоваться для того, чтобы формировать прогнозный сигнал. Например, остаточный сигнал (остаточный блок или остаточные выборки) может восстанавливаться посредством применения деквантования и обратного преобразования к квантованным коэффициентам преобразования через деквантователь 234 и обратный преобразователь 235. Сумматор 250 суммирует восстановленный остаточный сигнал с прогнозным сигналом, выводимым из модуля 220 прогнозирования, чтобы формировать восстановленный сигнал (восстановленный кадр, восстановленные выборки или массив восстановленных выборок). Если отсутствует остаток для блока, который должен обрабатываться, к примеру, в случае, в котором режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока. Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, и может использоваться для взаимного прогнозирования следующего кадра посредством фильтрации, как описано ниже.
[78] Между тем, преобразование сигнала яркости с масштабированием сигнала цветности (LMCS) может применяться во время кодирования и/или восстановления кадров.
[79] Фильтр 260 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 260 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 270, а именно, в DPB запоминающего устройства 270. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, фильтрацию на основе дискретизированного адаптивного смещения (SAO), адаптивный контурный фильтр, билатеральный фильтр и т.п. Фильтр 260 может формировать различную информацию, связанную с фильтрацией, и передавать сформированную информацию в энтропийный кодер 240, как описано ниже в описании каждого способа фильтрации. Информация, связанная с фильтрацией, может кодироваться посредством энтропийного кодера 240 и выводиться в форме потока битов.
[80] Модифицированный восстановленный кадр, передаваемый в запоминающее устройство 270, может использоваться в качестве опорного кадра в модуле 221 взаимного прогнозирования. Когда взаимное прогнозирование применяется посредством оборудования кодирования, рассогласование прогнозирования между оборудованием 200 кодирования и оборудованием 300 декодирования может исключаться, и эффективность кодирования может повышаться.
[81] DPB запоминающего устройства 270 может сохранять модифицированный восстановленный кадр для использования в качестве опорного кадра в модуле 221 взаимного прогнозирования. Запоминающее устройство 270 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или кодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 221 взаимного прогнозирования и использоваться в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 270 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и может передавать восстановленные выборки в модуль 222 внутреннего прогнозирования.
[82] Фиг. 3 является схемой, схематично иллюстрирующей конфигурацию оборудования декодирования видео/изображений, к которому может применяться настоящее раскрытие.
[83] Ссылаясь на фиг. 3, оборудование 300 декодирования может включать в себя энтропийный декодер 310, остаточный процессор 320, модуль 330 прогнозирования, сумматор 340, фильтр 350, запоминающее устройство 360. Модуль 330 прогнозирования может включать в себя модуль 331 взаимного прогнозирования и модуль 332 внутреннего прогнозирования. Остаточный процессор 320 может включать в себя деквантователь 321 и обратный преобразователь 321. Энтропийный декодер 310, остаточный процессор 320, модуль 330 прогнозирования, сумматор 340 и фильтр 350 могут быть сконфигурированы посредством аппаратного компонента (например, набора микросхем или процессора декодера) согласно варианту осуществления. Помимо этого, запоминающее устройство 360 может включать в себя буфер декодированных кадров (DPB) или может быть сконфигурировано посредством цифрового носителя хранения данных. Аппаратный компонент дополнительно может включать в себя запоминающее устройство 360 в качестве внутреннего/внешнего компонента.
[84] Когда поток битов, включающий в себя информацию видео/изображений, вводится, оборудование 300 декодирования может восстанавливать изображение, соответствующее процессу, в котором информация видео/изображений обрабатывается в оборудовании кодирования по фиг. 2. Например, оборудование 300 декодирования может извлекать единицы/блоки на основе связанной с сегментацией на блоки информации, полученной из потока битов. Оборудование 300 декодирования может выполнять декодирование с использованием блока обработки, применяемого в оборудовании кодирования. Таким образом, блок обработки декодирования, например, может представлять собой единицу кодирования, и единица кодирования может сегментироваться согласно структуре в виде дерева квадрантов, структуре в виде двоичного дерева и/или структуре в виде троичного дерева из единицы дерева кодирования или наибольшей единицы кодирования. Одна или более единиц преобразования могут извлекаться из единицы кодирования. Восстановленный сигнал изображения, декодированный и выводимый посредством оборудования 300 декодирования, может воспроизводиться посредством оборудования воспроизведения.
[85] Оборудование 300 декодирования может принимать сигнал, выводимый из оборудования кодирования по фиг. 2 в форме потока битов, и принимаемый сигнал может декодироваться через энтропийный декодер 310. Например, энтропийный декодер 310 может синтаксически анализировать поток битов, чтобы извлекать информацию (например, информацию видео/изображений), необходимую для восстановления изображений (или восстановления кадров). Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Оборудование декодирования дополнительно может декодировать кадр на основе информации относительно набора параметров и/или общей информации ограничений. Передаваемая в служебных сигналах/принимаемая информация и/или синтаксические элементы, описанные далее в настоящем раскрытии, могут декодироваться, могут декодировать процедуру декодирования и получаться из потока битов. Например, энтропийный декодер 310 декодирует информацию в потоке битов на основе способа кодирования, такого как кодирование экспоненциальным кодом Голомба, CAVLC или CABAC, и выходных синтаксических элементов, требуемых для восстановления изображений, и квантованных значений коэффициентов преобразования для остатка. Более конкретно, способ энтропийного CABAC-декодирования может принимать элемент разрешения, соответствующий каждому синтаксическому элементу в потоке битов, определять контекстную модель с использованием информации целевого синтаксического элемента декодирования, информации декодирования целевого блока декодирования или информации символа/элемента разрешения, декодированного на предыдущей стадии, и выполнять арифметическое декодирование для элемента разрешения посредством прогнозирования вероятности появления элемента разрешения согласно определенной контекстной модели и формировать символ, соответствующий значению каждого синтаксического элемента. В этом случае, способ энтропийного CABAC-декодирования может обновлять контекстную модель посредством использования информации декодированного символа/элемента разрешения для контекстной модели следующего символа/элемента разрешения после определения контекстной модели. Информация, связанная с прогнозированием, из информации, декодированной посредством энтропийного декодера 310, может предоставляться в модуль 330 прогнозирования, и информация относительно остатка, для которого энтропийное декодирование выполнено в энтропийном декодере 310, т.е. квантованные коэффициенты преобразования и связанная информация параметров, может вводиться в деквантователь 321. Помимо этого, информация относительно фильтрации из информации, декодированной посредством энтропийного декодера 310, может предоставляться в фильтр 350. Между тем, приемник (не показан) для приема сигнала, выводимого из оборудования кодирования, может быть дополнительно сконфигурирован в качестве внутреннего/внешнего элемента оборудования 300 декодирования, или приемник может представлять собой компонент энтропийного декодера 310. Между тем, оборудование декодирования согласно настоящему раскрытию может называться "оборудованием декодирования видео/изображений/кадров", и оборудование декодирования может классифицироваться на информационный декодер (декодер информации видео/изображений/кадров) и выборочный декодер (декодер выборок видео/изображений/кадров). Информационный декодер может включать в себя энтропийный декодер 310, и выборочный декодер может включать в себя по меньшей мере одно из деквантователя 321, обратного преобразователя 322, модуля 330 прогнозирования, сумматора 340, фильтра 350 и запоминающего устройства 360.
[86] Деквантователь 321 может деквантовать квантованные коэффициенты преобразования и выводить коэффициенты преобразования. Деквантователь 321 может перекомпоновывать квантованные коэффициенты преобразования в форме двумерной блочной формы. В этом случае, перекомпоновка может выполняться на основе порядка сканирования коэффициентов, выполняемого в оборудовании кодирования. Деквантователь 321 может выполнять деквантование для квантованных коэффициентов преобразования посредством использования параметра квантования (например, информации размера шага квантования) и получать коэффициенты преобразования.
[87] Обратный преобразователь 322 обратно преобразует коэффициенты преобразования, чтобы получать остаточный сигнал (остаточный блок, массив остаточных выборок).
[88] Модуль 230 прогнозирования может выполнять прогнозирование для текущего блока и может формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование к текущему блоку, на основе информации относительно прогнозирования, выводимой из энтропийного декодера 310, и может определять конкретный режим внутреннего/взаимного прогнозирования.
[89] Модуль прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования, описанных ниже. Например, модуль прогнозирования может не только применять внутреннее прогнозирование или взаимное прогнозирование для того, чтобы прогнозировать один блок, но также и одновременно применять внутреннее прогнозирование и взаимное прогнозирование. Это может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может выполнять внутриблочное копирование (IBC). Внутриблочное копирование может использоваться для кодирования изображений/видео контента игры и т.п., например, для кодирования экранного контента (SCC). IBC по существу выполняет прогнозирование в текущем кадре, но может выполняться аналогично взаимному прогнозированию, в котором опорный блок извлекается в текущем кадре. Таким образом, IBC может использовать по меньшей мере одну из технологий взаимного прогнозирования, описанных в настоящем раскрытии.
[90] Модуль 331 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки для ссылки могут быть расположены в окружении текущего блока или могут быть расположены с разнесением согласно режиму прогнозирования. При внутреннем прогнозировании режимы прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Модуль 331 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.
[91] Модуль 332 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Например, модуль 332 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и извлекать вектор движения текущего блока и/или индекс опорного кадра на основе принимаемой информации выбора возможных вариантов. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования, и информация относительно прогнозирования может включать в себя информацию, указывающую режим взаимного прогнозирования для текущего блока.
[92] Сумматор 340 может формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок) посредством суммирования полученного остаточного сигнала с прогнозным сигналом (прогнозированным блоком, массивом прогнозированных выборок), выводимым из модуля 330 прогнозирования. Если отсутствует остаток для блока, который должен обрабатываться, к примеру, когда режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока.
[93] Сумматор 340 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, может выводиться посредством фильтрации, как описано ниже, или может использоваться для взаимного прогнозирования следующего кадра.
[94] Между тем, преобразование сигнала яркости с масштабированием сигнала цветности (LMCS) может применяться в процессе декодирования кадров.
[95] Фильтр 350 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 350 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 360, а именно, в DPB запоминающего устройства 360. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, фильтрацию на основе дискретизированного адаптивного смещения, адаптивный контурный фильтр, билатеральный фильтр и т.п.
[96] (Модифицированный) восстановленный кадр, сохраненный в DPB запоминающего устройства 360, может использоваться в качестве опорного кадра в модуле 332 взаимного прогнозирования. Запоминающее устройство 360 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или декодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 260 взаимного прогнозирования, так что она используется в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 360 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и передавать восстановленные выборки в модуль 331 внутреннего прогнозирования.
[97] В этом подробном описании, варианты осуществления, описанные в модуле 330 прогнозирования, деквантователе 321, обратном преобразователе 322 и фильтре 350 оборудования 300 декодирования, представляют собой модуль 220 прогнозирования, деквантователь 234, обратный преобразователь 235 и фильтр 260 и могут применяться идентичным или соответствующим способом.
[98] Как описано выше, при кодировании видео прогнозирование выполняется для того, чтобы повышать эффективность сжатия. Через это, можно формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока, который представляет собой блок, который должен кодироваться. Здесь, прогнозированный блок включает в себя прогнозные выборки в пространственной области (или пиксельной области). Прогнозированный блок извлекается одинаково из оборудования кодирования и оборудования декодирования, и оборудование кодирования декодирует информацию (остаточную информацию) относительно остатка между исходным блоком и прогнозированным блоком, а не исходное выборочное значение самого исходного блока. Посредством передачи служебных сигналов в устройство, может повышаться эффективность кодирования изображений. Оборудование декодирования может извлекать остаточный блок, включающий в себя остаточные выборки на основе остаточной информации, и формировать восстановленный блок, включающий в себя восстановленные выборки, посредством суммирования остаточного блока с прогнозированным блоком и формировать восстановленный кадр, включающий в себя восстановленные блоки.
[99] Остаточная информация может формироваться через процессы преобразования и квантования. Например, оборудование кодирования может извлекать остаточный блок между исходным блоком и прогнозированным блоком и выполнять процесс преобразования для остаточных выборок (массива остаточных выборок), включенных в остаточный блок, чтобы извлекать коэффициенты преобразования, и после этого, посредством выполнения процесса квантования для коэффициентов преобразования, извлекать квантованные коэффициенты преобразования, чтобы передавать в служебных сигналах остаточную связанную информацию в оборудование декодирования (через поток битов). Здесь, остаточная информация может включать в себя информацию местоположения, технологию преобразования, ядро преобразования и параметр квантования, информацию значений квантованных коэффициентов преобразования и т.д. Оборудование декодирования может выполнять процесс деквантования/обратного преобразования на основе остаточной информации и извлекать остаточные выборки (или остаточные блоки). Оборудование декодирования может формировать восстановленный кадр на основе прогнозированного блока и остаточного блока. Оборудование кодирования также может деквантовать/обратно преобразовывать квантованные коэффициенты преобразования для ссылки для взаимного прогнозирования более позднего кадра, чтобы извлекать остаточный блок и формировать восстановленный кадр на его основе.
[100] В настоящем раскрытии по меньшей мере одно из квантования/деквантования и/или преобразования/обратного преобразования может опускаться. Когда квантование/деквантование опускается, квантованный коэффициент преобразования может называться "коэффициентом преобразования". Когда преобразование/обратное преобразование опускается, коэффициенты преобразования могут называться "коэффициентами" или "остаточными коэффициентами" либо по-прежнему могут называться "коэффициентами преобразования" для единообразности выражения.
[101] В настоящем раскрытии, квантованный коэффициент преобразования и коэффициент преобразования могут называться "коэффициентом преобразования" и "масштабированным коэффициентом преобразования", соответственно. В этом случае, остаточная информация может включать в себя информацию относительно коэффициента(ов) преобразования, и информация относительно коэффициента(ов) преобразования может передаваться в служебных сигналах через синтаксис остаточного кодирования. Коэффициенты преобразования могут извлекаться на основе остаточной информации (или информации относительно коэффициента(ов) преобразования), и масштабированные коэффициенты преобразования могут извлекаться через обратное преобразование (масштабирование) для коэффициентов преобразования. Остаточные выборки могут извлекаться на основе обратного преобразования (преобразования) масштабированных коэффициентов преобразования. Это также может применяться/выражаться в других частях настоящего раскрытия.
[102] Модуль прогнозирования оборудования кодирования/оборудования декодирования может извлекать прогнозную выборку посредством выполнения взаимного прогнозирования в единицах блоков. Взаимное прогнозирование может представлять собой прогнозирование, извлекаемое таким способом, который зависит от элементов данных (например, выборочных значений или информации движения и т.д.) кадра(ов), отличного от текущего кадра. Когда взаимное прогнозирование применяется к текущему блоку, прогнозированный блок (массив прогнозных выборок) для текущего блока может извлекаться на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения в опорном кадре, указываемом посредством индекса опорного кадра. Здесь, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения текущего блока может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию типа взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными или отличающимися. Временной соседний блок может называться "совместно размещенным опорным блоком", "совместно размещенной CU (colCU)" и т.п., и опорный кадр, включающий в себя временной соседний блок, может называться "совместно размещенным кадром (colPic)". Например, список возможных вариантов информации движения может быть сконфигурирован на основе соседних блоков текущего блока, и информация флага или индекса, указывающая то, какой возможный вариант выбирается (используется), может передаваться в служебных сигналах, чтобы извлекать вектор движения и/или индекс опорного кадра текущего блока. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования. Например, в случае режима пропуска и режима объединения, информация движения текущего блока может быть идентичной информации движения соседнего блока. В режиме пропуска, в отличие от режима объединения, остаточный сигнал может не передаваться. В случае режима прогнозирования векторов движения (MVP), вектор движения выбранного соседнего блока может использоваться в качестве предиктора вектора движения, и вектор движения текущего блока может передаваться в служебных сигналах. В этом случае, вектор движения текущего блока может извлекаться с использованием суммы предиктора вектора движения и разности векторов движения.
[103] Информация движения может включать в себя 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).
[104] Фиг. 4 примерно показывает иерархическую структуру для кодированного изображения/видео.
[105] Ссылаясь на фиг. 4, кодированное изображение/видео разделяется на слой кодирования видео (VCL), который обрабатывает процесс декодирования изображения/видео и себя, подсистему, которая передает и сохраняет кодированную информацию, и NAL (слой абстрагирования от сети), отвечающий за функцию и присутствующий между VCL и подсистемой.
[106] В VCL, формируются VCL-данные, включающие в себя сжатые данные изображений (данные срезов), либо может формироваться набор параметров, включающий в себя набор параметров кадра (PSP), набор параметров последовательности (SPS) и набор параметров видео (VPS), или сообщение с дополнительной улучшающей информацией (SEI), дополнительно требуемое для процесса декодирования изображений.
[107] В NAL, NAL-единица может формироваться посредством добавления информации заголовка (заголовка NAL-единицы) в первичную байтовую последовательность данных (RBSP), сформированную в VCL. В этом случае, RBSP означает данные срезов, набор параметров, SEI-сообщение и т.д., сформированные в VCL. Заголовок NAL-единицы может включать в себя информацию типа NAL-единиц, указываемую согласно RBSP-данным, включенным в соответствующую NAL-единицу.
[108] Как показано на чертеже, NAL-единица может классифицироваться на VCL NAL-единицу и не-VCL NAL-единицу согласно RBSP, сформированной в VCL. VCL NAL-единица может означать NAL-единицу, которая включает в себя информацию относительно изображения (данных срезов) в изображении, и не-VCL NAL-единица может означать NAL-единицу, которая включает в себя информацию (набор параметров или SEI-сообщение) требуемый для декодирования изображения.
[109] Вышеуказанные VCL NAL-единица и не-VCL NAL-единица могут передаваться через сеть посредством присоединения информации заголовка согласно стандарту данных подсистемы. Например, NAL-единица может преобразовываться в формат данных предварительно определенного стандарта, такого как формат файлов H.266/VVC, транспортный протокол реального времени (RTP), транспортный поток (TS) и т.д., и передаваться через различные сети.
[110] Как описано выше, NAL-единица может указываться с типом NAL-единицы согласно структуре RBSP-данных, включенной в соответствующую NAL-единицу, и информация относительно типа NAL-единицы может сохраняться и передаваться в служебных сигналах в заголовке NAL-единицы.
[111] Например, NAL-единица может классифицироваться на тип VCL NAL-единицы и тип не-VCL NAL-единицы согласно тому, включает или нет NAL-единица в себя информацию (данные срезов) относительно изображения. Тип VCL NAL-единицы может классифицироваться согласно природе и типу кадров, включенных в VCL NAL-единицу, и тип не-VCL NAL-единицы может классифицироваться согласно типам наборов параметров.
[112] Ниже приводится пример типа NAL-единицы, указываемого согласно типу набора параметров, включенного в тип не-VCL NAL-единицы.
[113] - NAL-единица APS (набора параметров адаптации): Тип для NAL-единицы, включающей в себя APS
[114] - NAL-единица DPS (набора параметров декодирования): Тип для NAL-единицы, включающей в себя DPS
[115] - NAL-единица VPS (набора параметров видео): Тип для NAL-единицы, включающей в себя VPS
[116] - NAL-единица SPS (набора параметров последовательности): Тип для NAL-единицы, включающей в себя SPS
[117] - NAL-единица PPS (набора параметров кадра): Тип для NAL-единицы, включающей в себя PPS
[118] - NAL-единица PH (заголовка кадра): Тип для NAL-единицы, включающей в себя PH
[119] Вышеуказанные типы NAL-единиц могут иметь синтаксическую информацию для типа NAL-единицы, и синтаксическая информация может сохраняться и передаваться в служебных сигналах в заголовке NAL-единицы. Например, синтаксическая информация может быть nal_unit_type, и типы NAL-единиц могут указываться посредством значения nal_unit_type.
[120] Между тем, как описано выше, один кадр может включать в себя множество срезов, и один срез может включать в себя заголовок среза и данные срезов. В этом случае, один заголовок кадра дополнительно может добавляться во множество срезов (заголовок среза и набор данных срезов) в одном кадре. Заголовок кадра (синтаксис заголовков кадра) может включать в себя информацию/параметры, обычно применимую к кадру. В настоящем раскрытии, срез может смешиваться или заменяться группой плиток. Кроме того, в настоящем раскрытии, заголовок среза может смешиваться или заменяться заголовком группы плиток.
[121] Заголовок среза (синтаксис заголовка среза, информация заголовка среза) может включать в себя информацию/параметры, которая может применяться обобщенно к срезу. APS (APS-синтаксис) или PPS (PPS-синтаксис) может включать в себя информацию/параметры, которая может применяться обобщенно к одному или более срезов или кадров. SPS (SPS-cинтаксис) может включать в себя информацию/параметры, которая может применяться обобщенно к одной или более последовательностей. VPS (VPS-синтаксис) может включать в себя информацию/параметры, которая может применяться обобщенно к нескольким слоям. DPS (DPS-синтаксис) может включать в себя информацию/параметры, которая может применяться обобщенно к полному видео. DPS может включать в себя информацию/параметры, связанную с конкатенацией кодированной видеопоследовательности (CVS). Высокоуровневый синтаксис (HLS) в настоящем раскрытии может включать в себя по меньшей мере одно из APS-синтаксиса, PPS-синтаксиса, SPS-cинтаксиса, VPS-синтаксиса, DPS-синтаксиса и синтаксиса заголовков срезов.
[122] В настоящем раскрытии, изображение/информация изображений, кодированная из оборудования кодирования и передаваемая в служебных сигналах в оборудование декодирования в форме потока битов, включает в себя не только связанную с сегментацией информацию в кадре, информацию внутреннего/взаимного прогнозирования, остаточную информацию, информацию внутриконтурной фильтрации и т.п., но также и информацию, включенную в заголовок среза, информацию, включенную в APS, информацию, включенную в PPS, информацию, включенную в SPS, и/или информацию, включенную в VPS.
[123] Между тем, чтобы компенсировать разность между исходным изображением и восстановленным изображением вследствие ошибки, возникающей в процессе кодирования со сжатием, таком как, квантование, процесс внутриконтурной фильтрации может выполняться для восстановленных выборок или восстановленных кадров, как описано выше. Как описано выше, внутриконтурная фильтрация может выполняться посредством фильтра оборудования кодирования и фильтра оборудования декодирования, и может применяться фильтр удаления блочности, SAO и/или адаптивный контурный фильтр (ALF). Например, ALF-процесс может выполняться после того, как процесс фильтрации для удаления блочности и/или SAO-процесс завершаются. Тем не менее, даже в этом случае, процесс фильтрации для удаления блочности и/или SAO-процесс могут опускаться.
[124] В дальнейшем в этом документе приводится подробное описание восстановления и фильтрации кадров. При кодировании изображений/видео восстановленный блок может формироваться на основе внутреннего прогнозирования/взаимного прогнозирования для каждого блока, и может формироваться восстановленный кадр, включающий в себя восстановленные блоки. Когда текущий кадр/срез представляет собой I-кадр/срез, блоки, включенные в текущий кадр/срез, могут восстанавливаться только на основе внутреннего прогнозирования. Между тем, когда текущий кадр/срез представляет собой P- или B-кадр/срез, блоки, включенные в текущий кадр/срез, могут восстанавливаться на основе внутреннего прогнозирования или взаимного прогнозирования. В этом случае, внутреннее прогнозирование может применяться к некоторым блокам в текущем кадре/срезе, и взаимное прогнозирование может применяться к оставшимся блокам.
[125] Внутреннее прогнозирование может означать прогнозирование, которое формирует прогнозные выборки для текущего блока на основе опорных выборок в кадре, которому принадлежит текущий блок (далее называется "текущим кадром"). Когда внутреннее прогнозирование применяется к текущему блоку, соседние опорные выборки, которые должны использоваться для внутреннего прогнозирования текущего блока, могут извлекаться. Соседние опорные выборки текущего блока могут включать в себя выборки, смежные с левой границей относительно текущего блока, имеющего размер nWxnH, и в сумме 2xnH выборок, граничащих с левой нижней частью, выборки, смежные с верхней границей относительно текущего блока, и в сумме 2xnW выборок, граничащих с правой верхней частью, и одну выборку, граничащую с левой верхней частью относительно текущего блока. Альтернативно, соседние опорные выборки текущего блока могут включать в себя множество верхних соседних выборок и множество левых соседних выборок. Помимо этого, соседние опорные выборки текущего блока могут включать в сумме nH выборок, смежных с правой границей относительно текущего блока, имеющего размер nWxnH, в сумме nW выборок, смежных с нижней границей относительно текущего блока, и одну выборку, смежную с правой нижней частью относительно текущего блока.
[126] Тем не менее, некоторые соседние опорные выборки текущего блока могут еще не декодироваться или не быть доступными. В этом случае, декодер может конфигурировать соседние опорные выборки, которые следует использовать для прогнозирования, посредством подстановки вместо выборок, которые не доступны, доступных выборок. Альтернативно, соседние опорные выборки, которые должны использоваться для прогнозирования, могут быть сконфигурированы через интерполяцию доступных выборок.
[127] Когда соседние опорные выборки извлекаются, прогнозная выборка может извлекаться на основе среднего или интерполяции соседних опорных выборок текущего блока и (ii) прогнозирования из соседних опорных выборок текущего блока. Прогнозная выборка может извлекаться на основе опорной выборки, присутствующей в конкретном направлении (прогнозирования) относительно выборки. Случай (i) может называться "ненаправленным режимом" или "неугловым режимом", и случай (ii) может называться "направленным режимом" или "угловым режимом". Кроме того, на основе прогнозной выборки текущего блока из соседних опорных выборок, вторая соседняя выборка, расположенная в противоположном направлении относительно направления прогнозирования режима внутреннего прогнозирования текущего блока, и первая соседняя выборка интерполируются. Прогнозная выборка может формироваться. Вышеописанный случай может называться "внутренним прогнозированием с линейной интерполяцией (LIP)". Помимо этого, выборки прогнозирования сигналов цветности могут формироваться на основе выборок сигнала яркости с использованием линейной модели. Этот случай может называться "LM-режимом". Помимо этого, временная прогнозная выборка текущего блока может извлекаться на основе фильтрованных соседних опорных выборок и по меньшей мере одной опорной выборки, извлекаемой согласно режиму внутреннего прогнозирования из существующих соседних опорных выборок, т.е. нефильтрованные соседние опорные выборки и временная прогнозная выборка могут суммироваться со взвешиванием, чтобы извлекать прогнозную выборку текущего блока. Вышеописанный случай может называться "позиционно-зависимым внутренним прогнозированием (PDPC)". Помимо этого, линия опорных выборок, имеющая наибольшую точность прогнозирования из соседних множественных опорных примерных линий текущего блока, может выбираться, чтобы извлекать прогнозную выборку посредством использования опорной выборки, расположенной в направлении прогнозирования на соответствующей линии, и затем линия опорных выборок, используемая в данном документе, может указываться (передаваться в служебных сигналах) в оборудование декодирования, за счет этого выполняя внутреннее прогнозирующее кодирование. Вышеописанный случай может называться "внутренним прогнозированием на основе множественной опорной линии (MRL)" или "внутренним прогнозированием на основе MRL". Помимо этого, внутреннее прогнозирование может выполняться на основе идентичного режима внутреннего прогнозирования посредством разделения текущего блока на вертикальные или горизонтальные субсегменты, и соседние опорные выборки могут извлекаться и использоваться в единице субсегментов. Таким образом, в этом случае, режим внутреннего прогнозирования для текущего блока в равной степени применяется к субсегментам, и производительность внутреннего прогнозирования может повышаться в некоторых случаях посредством извлечения и использования соседних опорных выборок в единице субсегментов. Такой способ прогнозирования может называться "внутренним прогнозированием на основе внутренних субсегментов (ISP) или на основе ISP". Вышеописанные способы внутреннего прогнозирования могут называться "типом внутреннего прогнозирования" отдельно от режима внутреннего прогнозирования. Тип внутреннего прогнозирования может называться с помощью различных терминов, таких как "технология внутреннего прогнозирования" или "дополнительный режим внутреннего прогнозирования". Например, тип внутреннего прогнозирования (или дополнительный режим внутреннего прогнозирования) может включать в себя по меньшей мере одно из вышеописанных LIP, PDPC, MRL и ISP. Общий способ внутреннего прогнозирования, за исключением конкретного типа внутреннего прогнозирования, такого как LIP, PDPC, MRL или ISP, может называться "типом нормального внутреннего прогнозирования". Тип нормального внутреннего прогнозирования, в общем, может применяться, когда конкретный тип внутреннего прогнозирования не применяется, и прогнозирование может выполняться на основе режима внутреннего прогнозирования, описанного выше. Между тем, постфильтрация может выполняться для прогнозированной выборки, извлекаемой по мере необходимости.
[128] В частности, процедура внутреннего прогнозирования может включать в себя этап определения режима/типа внутреннего прогнозирования, этап извлечения соседних опорных выборок и этап извлечения прогнозных выборок на основе режима/типа внутреннего прогнозирования. Помимо этого, этап постфильтрации может выполняться для прогнозированной выборки, извлекаемой по мере необходимости.
[129] В дальнейшем в этом документе описывается внутреннее прогнозирование в оборудовании кодирования. Оборудование кодирования может извлекать режим внутреннего прогнозирования для текущего блока, извлекать соседние опорные выборки текущего блока и формировать прогнозные выборки в текущем блоке на основе режима внутреннего прогнозирования и соседних опорных выборок. Здесь, процедуры определения режима внутреннего прогнозирования, извлечения периферийных опорных выборок и формирования прогнозных выборок могут выполняться одновременно, или одна процедура может выполняться перед другой процедурой. Например, модуль 222 внутреннего прогнозирования устройства кодирования может включать в себя модуль определения режима/типа прогнозирования, модуль извлечения опорных выборок и модуль извлечения прогнозных выборок, и модуль определения режима/типа прогнозирования может определять режим/тип внутреннего прогнозирования для текущего блока, модуль извлечения опорных выборок может извлекать соседние опорные выборки текущего блока, и модуль извлечения прогнозных выборок может извлекать выборки движения текущего блока. Между тем, хотя не показано, когда вышеописанная процедура фильтрации прогнозных выборок выполняется, модуль 222 внутреннего прогнозирования дополнительно может включать в себя фильтр прогнозных выборок (не показан). Оборудование кодирования может определять режим, применяемый к текущему блоку, из множества режимов внутреннего прогнозирования. Оборудование кодирования может сравнивать RD-затраты для режимов внутреннего прогнозирования и определять оптимальный режим внутреннего прогнозирования для текущего блока.
[130] Между тем, оборудование кодирования может выполнять процедуру фильтрации прогнозных выборок. Фильтрация прогнозных выборок может называться "постфильтрацией". Некоторые или все прогнозные выборки могут фильтроваться посредством процедуры фильтрации прогнозных выборок. В некоторых случаях, процедура фильтрации прогнозных выборок может опускаться.
[131] Оборудование кодирования извлекает остаточные выборки для текущего блока на основе прогнозных выборок (S510). Оборудование кодирования может сравнивать прогнозные выборки в исходных выборках текущего блока на основе фазы и извлекать остаточные выборки.
[132] Оборудование кодирования может преобразовывать/квантовать остаточные выборки, чтобы извлекать квантованные коэффициенты преобразования (S520), и после этого деквантует/обратно преобразует квантованные коэффициенты преобразования снова, чтобы извлекать (модифицированные) остаточные выборки (S530). Причина выполнения деквантования/обратного преобразования снова после преобразования/квантования состоит в том, чтобы извлекать остаточные выборки, идентичные остаточным выборкам, извлекаемым из оборудования декодирования, как описано выше.
[133] Оборудование кодирования может формировать восстановленный блок, включающий в себя восстановленные выборки для текущего блока, на основе прогнозных выборок и (модифицированных) остаточных выборок (S540). Восстановленный кадр для текущего кадра может формироваться на основе восстановленного блока.
[134] Оборудование кодирования может кодировать информацию изображений, включающую в себя информацию прогнозирования относительно внутреннего прогнозирования (например, информацию режима прогнозирования, указывающую режим прогнозирования) и остаточную информацию относительно внутренних и остаточных выборок, и выводить кодированную информацию изображений в форме потока битов, как описано выше. Остаточная информация может включать в себя синтаксис остаточного кодирования. Оборудование кодирования может преобразовывать/квантовать остаточные выборки с тем, чтобы извлекать квантованные коэффициенты преобразования. Остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования.
[135] Фиг. 5 является блок-схемой последовательности операций, иллюстрирующей способ восстановления блоков на основе внутреннего прогнозирования в оборудовании декодирования. Способ по фиг. 5 может включать в себя этапы S500, S510, S520, S530 и S540. Оборудование декодирования может выполнять операцию, соответствующую операции, выполняемой в оборудовании кодирования.
[136] S500-S520 могут выполняться посредством модуля 331 внутреннего прогнозирования оборудования декодирования, и информация прогнозирования по S500 и остаточная информация по S530 могут получаться из потока битов посредством энтропийного декодера 310 оборудования декодирования. Остаточный процессор 320 оборудования декодирования может извлекать остаточные выборки для текущего блока на основе остаточной информации. В частности, деквантователь 321 остаточного процессора 320 извлекает коэффициенты преобразования посредством выполнения деквантования на основе квантованных коэффициентов преобразования, извлекаемых на основе остаточной информации, и обратный преобразователь 322 остаточного процессора может извлекать остаточные выборки для текущего блока посредством выполнения обратного преобразования для коэффициентов преобразования. S540 может выполняться посредством сумматора 340 или модуля восстановления оборудования декодирования.
[137] В частности, оборудование декодирования может извлекать режим внутреннего прогнозирования для текущего блока на основе принимаемой информации режима прогнозирования (S500). Оборудование декодирования может извлекать периферийные опорные выборки текущего блока (S510). Оборудование декодирования формирует прогнозные выборки в текущем блоке на основе режима внутреннего прогнозирования и соседних опорных выборок (S520). В этом случае, оборудование декодирования изображений может выполнять процедуру фильтрации прогнозных выборок. Фильтрация прогнозных выборок может называться "постфильтрацией". Некоторые или все прогнозные выборки могут фильтроваться посредством процедуры фильтрации прогнозных выборок. В некоторых случаях, процедура фильтрации прогнозных выборок может опускаться.
[138] Оборудование декодирования формирует остаточные выборки для текущего блока на основе принимаемой остаточной информации (S530). Оборудование декодирования может формировать восстановленные выборки для текущего блока на основе прогнозных выборок и остаточных выборок и извлекать восстановленный блок, включающий в себя восстановленные выборки (S540). Восстановленный кадр для текущего кадра может формироваться на основе восстановленного блока.
[139] Здесь, модуль 331 внутреннего прогнозирования оборудования декодирования может включать в себя модуль определения режима/типа прогнозирования, модуль извлечения опорных выборок и модуль извлечения прогнозных выборок, и модуль определения режима/типа прогнозирования может определять режим внутреннего прогнозирования для текущего блока на основе информации режима прогнозирования, полученной посредством энтропийного декодера 310 оборудования декодирования, модуль извлечения опорных выборок может извлекать периферийные опорные выборки текущего блока, и модуль извлечения прогнозных выборок может извлекать прогнозные выборки текущего блока. Между тем, хотя не показано, когда процедура фильтрации прогнозных выборок, описанная выше, выполняется, модуль 331 внутреннего прогнозирования дополнительно может включать в себя фильтр прогнозных выборок (не показан).
[140] Информация прогнозирования может включать в себя информацию режима внутреннего прогнозирования и/или информацию типа внутреннего прогнозирования. Информация режима внутреннего прогнозирования может включать в себя, например, информацию флага (например, intra_luma_mpm_flag), указывающую то, применяется либо нет наиболее вероятный режим (MPM) к текущему блоку, либо оставшийся режим применяется, и когда MPM применяется к текущему блоку, информация режима прогнозирования дополнительно может включать в себя информацию индекса (например, intra_luma_mpm_idx), указывающую один из возможных вариантов режимов внутреннего прогнозирования (возможных MPM-вариантов). Возможные варианты режимов внутреннего прогнозирования (возможные MPM-варианты) могут включать в себя список возможных MPM-вариантов или MPM-список. Помимо этого, когда MPM не применяется к текущему блоку, информация режима внутреннего прогнозирования дополнительно может включать в себя информацию оставшихся режимов (например, intra_luma_mpm_remainder), указывающую один из оставшихся режимов внутреннего прогнозирования, за исключением возможных вариантов режимов внутреннего прогнозирования (возможных MPM-вариантов). Оборудование декодирования может определять режим внутреннего прогнозирования текущего блока на основе информации режима внутреннего прогнозирования. Отдельный MPM-список может быть сконфигурирован для вышеуказанного MIP.
[141] Помимо этого, информация типа внутреннего прогнозирования может реализовываться в различных формах. Например, информация типа внутреннего прогнозирования может включать в себя информацию индекса типа внутреннего прогнозирования, указывающую один из типов внутреннего прогнозирования. В качестве другого примера, информация типа внутреннего прогнозирования может включать в себя по меньшей мере одно из информации опорной выборочной линии (например, intra_luma_ref_idx), указывающей то, применяется или нет MRL к текущему блоку, и если применяется, то, какая опорная выборочная линия используется, информации ISP-флага (например, intra_subpartitions_mode_flag), указывающей то, применяется или нет ISP к текущему блоку, информации ISP-типа (например, intra_subpartitions_split_flag), указывающей тип разбиения субсегментов, когда ISP применяется, информации флага, указывающей то, применяется или нет PDCP, либо информации флага, указывающей то, применяется или нет LIP. Помимо этого, информация типа внутреннего прогнозирования может включать в себя MIP-флаг, указывающий то, применяется или нет MIP к текущему блоку.
[142] Информация режима внутреннего прогнозирования и/или информация типа внутреннего прогнозирования могут кодироваться/декодироваться через способ кодирования, описанный в настоящем раскрытии. Например, информация режима внутреннего прогнозирования и/или информация типа внутреннего прогнозирования могут кодироваться/декодироваться посредством энтропийного кодирования (например, CABAC, CAVLC) на основе усеченного двоичного кода (Райса).
[143] Модуль прогнозирования оборудования кодирования/оборудования декодирования может извлекать прогнозные выборки посредством выполнения взаимного прогнозирования на поблочной основе. Взаимное прогнозирование может представлять собой прогнозирование, извлекаемое таким способом, который зависит от элементов данных (например, выборочных значений или информаций движения) кадра(ов), отличного от текущего кадра. Когда взаимное прогнозирование применяется к текущему блоку, прогнозированный блок (массив прогнозных выборок) для текущего блока может извлекаться на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения в опорном кадре, указываемом посредством индекса опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения текущего блока может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию типа взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). Когда взаимное прогнозирование применяется, соседний блок может включать в себя пространственный соседний блок, который присутствует в текущем кадре, и временной соседний блок, который присутствует в опорном кадре. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными друг другу или отличающимися друг от друга. Временной соседний блок может упоминаться под таким названием, как "совместно размещенный опорный блок", "совместно размещенная CU (colCU)", и т.д., и опорный кадр, включающий в себя временной соседний блок, может называться "совместно размещенным кадром (colPic)". Например, список возможных вариантов информации движения может быть сконфигурирован на основе соседних блоков текущего блока, и информация флага или индекса, указывающая то, какой возможный вариант выбирается (используется) для того, чтобы извлекать вектор движения и/или индекс опорного кадра текущего блока, может передаваться в служебных сигналах. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования и, например, в случае режима пропуска и режима объединения, информация движения текущего блока может быть идентичной информации движения соседнего блока. В случае режима пропуска, остаточный сигнал может не передаваться, в отличие от режима объединения. В случае режима прогнозирования векторов движения (MVP), вектор движения выбранного соседнего блока используется в качестве предиктора вектора движения, и разность векторов движения может передаваться в служебных сигналах. В этом случае, вектор движения текущего блока может извлекаться с использованием суммы предиктора вектора движения и разности векторов движения.
[144] Фиг. 6 является блок-схемой последовательности операций, иллюстрирующей способ восстановления блоков на основе взаимного прогнозирования в оборудовании кодирования. Способ по фиг. 7 может включать в себя этапы S600, S610, S620, S630 и S640.
[145] S600 может выполняться посредством модуля 221 взаимного прогнозирования оборудования кодирования, и S610-S630 могут выполняться посредством остаточного процессора 230 оборудования кодирования. В частности, S610 может выполняться посредством вычитателя 231 оборудования кодирования, S620 может выполняться посредством преобразователя 232 и квантователя 233 оборудования кодирования, и S630 может выполняться посредством деквантователя 234 и обратного преобразователя 235 оборудования кодирования. На S600, информация прогнозирования может извлекаться посредством модуля 221 взаимного прогнозирования и кодироваться посредством энтропийного кодера 240. Остаточная информация может извлекаться через S610 и S620 и кодироваться посредством энтропийного кодера 240. Остаточная информация представляет собой информацию относительно остаточных выборок. Остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования для остаточных выборок. Как описано выше, остаточные выборки могут извлекаться в качестве коэффициентов преобразования через преобразователь 232 оборудования кодирования, и коэффициенты преобразования могут извлекаться в качестве квантованных коэффициентов преобразования через квантователь 233. Информация относительно квантованных коэффициентов преобразования может кодироваться посредством энтропийного кодера 240 через процедуру остаточного кодирования.
[146] Оборудование кодирования выполняет взаимное прогнозирование для текущего блока (S600). Оборудование кодирования может извлекать режим взаимного прогнозирования и информацию движения текущего блока и формировать прогнозные выборки текущего блока. Здесь, процедуры для определения режима взаимного прогнозирования, извлечения информации движения и формирования прогнозных выборок могут выполняться одновременно, или одна процедура может выполняться перед другой процедурой. Например, модуль 221 взаимного прогнозирования оборудования кодирования может включать в себя модуль определения режима прогнозирования, модуль извлечения информации движения и модуль извлечения прогнозных выборок, и модуль определения режима прогнозирования может определять режим прогнозирования для текущего блока, модуль извлечения информации движения может извлекать информацию движения текущего блока, и модуль извлечения прогнозных выборок может извлекать выборки движения текущего блока. Например, модуль 221 взаимного прогнозирования оборудования кодирования может выполнять поиск блока, аналогичного текущему блоку, в предварительно определенной зоне (зоне поиска) опорных кадров через оценку движения, и может извлекать опорный блок, в котором разность относительно текущего блока является минимальной либо составляет предварительно определенное опорное значение или меньше. На основе этого, индекс опорного кадра, указывающий опорный кадр, в котором расположен опорный блок, может извлекаться, и вектор движения может извлекаться на основе разности позиций между опорным блоком и текущим блоком. Оборудование кодирования может определять режим, применяемый к текущему блоку, из числа различных режимов прогнозирования. Оборудование кодирования может сравнивать функции затрат на искажение в зависимости от скорости передачи (RD) для различных режимов прогнозирования и определять оптимальный режим прогнозирования для текущего блока.
[147] Например, когда режим пропуска или режим объединения применяется к текущему блоку, оборудование кодирования может конструировать список возможных вариантов объединения, который описывается ниже, и извлекать опорный блок, в котором разность относительно текущего блока является минимальной либо составляет предварительно определенное опорное значение или меньше, из опорных блоков, указываемых посредством возможных вариантов объединения, включенных в список возможных вариантов объединения. В этом случае, возможный вариант объединения, ассоциированный с извлеченным опорным блоком, может выбираться, и информация индекса объединения, указывающая выбранный возможный вариант объединения, может формироваться и передаваться в служебных сигналах в оборудование декодирования. Информация движения текущего блока может извлекаться с использованием информации движения выбранного возможного варианта объединения.
[148] В качестве другого примера, когда (A)MVP-режим применяется к текущему блоку, оборудование кодирования конструирует список возможных (A)MVP-вариантов, который описывается ниже, и использует вектор движения выбранного возможного MVP-варианта, из возможных вариантов предикторов векторов движения (MVP), включенных в список возможных (A)MVP-вариантов, в качестве MVP текущего блока. В этом случае, например, вектор движения, указывающий опорный блок, извлекаемый посредством оценки движения, описанной выше, может использоваться в качестве вектора движения текущего блока, и возможный MVP-вариант, имеющий вектор движения, имеющий наименьшую разность относительно вектора движения текущего блока, из возможных MVP-вариантов, может представлять собой выбранный возможный MVP-вариант. Разность векторов движения (MVD), которая представляет собой разность, полученную посредством вычитания MVP из вектора движения текущего блока, может извлекаться. В этом случае, информация относительно MVD может передаваться в служебных сигналах в оборудование декодирования. Помимо этого, когда (A)MVP-режим применяется, значение индекса опорного кадра может быть сконфигурировано как информация индекса опорного кадра и отдельно передаваться в служебных сигналах в оборудование декодирования.
[149] Оборудование кодирования может извлекать остаточные выборки на основе прогнозных выборок (S610). Оборудование кодирования может извлекать остаточные выборки посредством сравнения исходных выборок текущего блока с прогнозными выборками.
[150] Оборудование кодирования преобразует/квантует остаточные выборки, чтобы извлекать квантованные коэффициенты преобразования (S620), и затем деквантует/обратно преобразует квантованные коэффициенты преобразования снова, чтобы извлекать (модифицированные) остаточные выборки (S630). Причина выполнения деквантования/обратного преобразования снова после преобразования/квантования состоит в том, чтобы извлекать остаточные выборки, идентичные остаточным выборкам, извлекаемым из оборудования декодирования, как описано выше.
[151] Оборудование кодирования может формировать восстановленный блок, включающий в себя восстановленные выборки для текущего блока, на основе прогнозных выборок и (модифицированных) остаточных выборок (S640). Восстановленный кадр для текущего кадра может формироваться на основе восстановленного блока.
[152] Хотя не показано, как описано выше, оборудование 100 кодирования может кодировать видеоинформацию, включающую в себя информацию прогнозирования и остаточную информацию. Оборудование 100 кодирования может выводить кодированную информацию изображений в форме потока битов. Информация прогнозирования может представлять собой информацию, связанную с процедурой прогнозирования, и может включать в себя информацию режима прогнозирования (например, флаг пропуска, флаг объединения или индекс режима) и информацию движения. Информация движения может включать в себя информацию выбора возможных вариантов (например, индекс объединения, MVP-флаг или MVP-индекс), которая представляет собой информацию для извлечения вектора движения. Помимо этого, информация относительно информации движения может включать в себя вышеуказанную MVD-информацию и/или информацию индекса опорного кадра. Помимо этого, информация относительно информации движения может включать в себя информацию, указывающую то, применяется либо нет L0-прогнозирование, L1-прогнозирование или бипрогнозирование. Остаточная информация представляет собой информацию относительно остаточных выборок. Остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования для остаточных выборок.
[153] Выходной поток битов может сохраняться на (цифровом) носителе хранения данных и передаваться в оборудование декодирования либо может передаваться в оборудование декодирования через сеть.
[154] Фиг. 7 является блок-схемой последовательности операций, иллюстрирующей способ восстановления блоков на основе взаимного прогнозирования в оборудовании декодирования. Способ по фиг. 7 может включать в себя этапы S700, S710, S720, S730 и S740. Оборудование декодирования может выполнять операцию, соответствующую операции, выполняемой посредством оборудования кодирования.
[155] S700-S720 могут выполняться посредством модуля 332 взаимного прогнозирования оборудования декодирования, и информация прогнозирования по S700 и остаточная информация по S730 могут получаться из потока битов посредством энтропийного декодера 310 оборудования декодирования. Остаточный процессор 320 оборудования декодирования может извлекать остаточные выборки для текущего блока на основе остаточной информации. В частности, деквантователь 321 остаточного процессора 320 может извлекать коэффициенты преобразования посредством выполнения деквантования на основе квантованных коэффициентов преобразования, извлекаемых на основе остаточной информации, и обратный преобразователь 322 остаточного процессора может извлекать остаточные выборки для текущего блока посредством выполнения обратного преобразования для коэффициентов преобразования. S740 может выполняться посредством сумматора 340 или модуля восстановления оборудования декодирования.
[156] В частности, оборудование декодирования может определять режим прогнозирования для текущего блока на основе принимаемой информации прогнозирования (S700). Оборудование декодирования может определять то, какой режим взаимного прогнозирования применяется к текущему блоку, на основе информации режима прогнозирования в информации прогнозирования.
[157] Например, может определяться то, применяется или нет режим объединения к текущему блоку, или то, определяется или нет (A)MVP-режим, на основе флага объединения. Альтернативно, один из различных возможных вариантов режимов взаимного прогнозирования может выбираться на основе индекса режима. Возможные варианты режима взаимного прогнозирования могут включать в себя режим пропуска, режим объединения и/или (A)MVP-режим либо могут включать в себя различные режимы взаимного прогнозирования, которые описываются ниже.
[158] Оборудование декодирования извлекает информацию движения текущего блока на основе определенного режима взаимного прогнозирования (S710). Например, когда режим пропуска или режим объединения применяется к текущему блоку, оборудование декодирования может конфигурировать список возможных вариантов объединения, который описывается ниже, и выбирать один возможный вариант объединения из числа возможных вариантов объединения, включенных в список возможных вариантов объединения. Выбор может выполняться на основе вышеуказанной информации выбора (индекса объединения). Информация движения текущего блока может извлекаться с использованием информации движения выбранного возможного варианта объединения. Информация движения выбранного возможного варианта объединения может использоваться как информация движения текущего блока.
[159] В качестве другого примера, когда (A)MVP-режим применяется к текущему блоку, оборудование декодирования может конструировать список возможных (A)MVP-вариантов, который описывается ниже, и использовать вектор движения выбранного возможного MVP-варианта из числа возможных вариантов предикторов векторов движения (MVP), включенных в список возможных (A)MVP-вариантов, в качестве MVP текущего блока. Выбор может выполняться на основе вышеописанной информации выбора (MVP-флага или MVP-индекса), описанной выше. В этом случае, MVD текущего блока может извлекаться на основе информации относительно MVD, и вектор движения текущего блока может извлекаться на основе MVP текущего блока и MVD. Кроме того, индекс опорного кадра текущего блока может извлекаться на основе информации индекса опорного кадра. Кадр, указываемый посредством индекса опорного кадра в списке опорных кадров для текущего блока, может извлекаться в качестве опорного кадра, на который ссылаются для взаимного прогнозирования текущего блока.
[160] Между тем, как описано ниже, информация движения текущего блока может извлекаться без конфигурирования списка возможных вариантов. В этом случае, информация движения текущего блока может извлекаться согласно процедуре, раскрытой в режиме прогнозирования, который описывается ниже. В этом случае, конфигурирование списка возможных вариантов, как описано выше, может опускаться.
[161] Оборудование декодирования может формировать прогнозные выборки для текущего блока на основе информации движения текущего блока (S720). В этом случае, опорный кадр может извлекаться на основе индекса опорного кадра текущего блока, и прогнозные выборки текущего блока могут извлекаться с использованием выборок опорного блока, указываемого посредством вектора движения текущего блока в опорном кадре. В этом случае, как описано ниже, процедура фильтрации прогнозных выборок для всех или некоторых прогнозных выборок текущего блока дополнительно может выполняться в зависимости от случая.
[162] Например, модуль 332 взаимного прогнозирования оборудования декодирования может включать в себя модуль определения режима прогнозирования, модуль извлечения информации движения и модуль извлечения прогнозных выборок, и модуль определения режима прогнозирования может определять режим прогнозирования для текущего блока на основе принимаемой информации режима прогнозирования, модуль извлечения информации движения может извлекать информацию движения (вектор движения и/или индекс опорного кадра и т.д.) текущего блока на основе принимаемой информации относительно информации движения, и модуль извлечения прогнозных выборок может извлекать прогнозные выборки текущего блока.
[163] Оборудование декодирования формирует остаточные выборки для текущего блока на основе принимаемой остаточной информации (S730). Оборудование декодирования может формировать восстановленные выборки для текущего блока на основе прогнозных выборок и остаточных выборок и может извлекать восстановленный блок, включающий в себя восстановленные выборки (S740). Восстановленный кадр для текущего кадра может формироваться на основе восстановленного блока.
[164] Различные режимы взаимного прогнозирования могут использоваться для прогнозирования текущего блока в кадре. Например, могут использоваться различные режимы, такие как режим объединения, режим пропуска, режим прогнозирования векторов движения (MVP), аффинный режим, режим объединения на основе субблоков и режим объединения с MVD (MMVD) и т.п. Режим детализации векторов движения на стороне декодера (DMVR), режим адаптивного разрешения векторов движения (AMVR), бипрогнозирование с помощью весовых коэффициентов уровня CU (BCW), двунаправленный оптический поток (BDOF) и т.п. также могут использоваться в качестве дополнительных режимов дополнительно или вместо этого. Аффинный режим может называться "режимом аффинного прогнозирования движения". MVP-режим может называться "режимом усовершенствованного прогнозирования векторов движения (AMVP)". В настоящем раскрытии, некоторые режимы и/или возможные варианты информации движения, извлекаемые посредством некоторых режимов, могут включаться в качестве одного из возможных вариантов информации движения других режимов. Например, возможный HMVP-вариант может добавляться в качестве возможного варианта объединения в режиме объединения/пропуска или может добавляться в качестве возможного MVP-варианта в MVP-режиме.
[165] Информация режима прогнозирования, указывающая режим взаимного прогнозирования текущего блока, может передаваться в служебных сигналах из оборудования кодирования в оборудование декодирования. Информация режима прогнозирования может включаться в поток битов и приниматься посредством оборудования декодирования. Информация режима прогнозирования может включать в себя информацию индекса, указывающую один из множества возможных вариантов режимов. Альтернативно, режим взаимного прогнозирования может указываться через иерархическую передачу в служебных сигналах информации флага. В этом случае, информация режима прогнозирования может включать в себя один или более флагов. Например, флаг пропуска может передаваться в служебных сигналах, чтобы указывать то, применяется или нет режим пропуска, и если режим пропуска не применяется, флаг объединения может передаваться в служебных сигналах, чтобы указывать то, применяется или нет режим объединения, и если режим объединения не применяется, указывается необходимость применять MVP-режим, или флаг для дополнительной классификации дополнительно может передаваться в служебных сигналах. Аффинный режим может передаваться в служебных сигналах в независимом режиме или может передаваться в служебных сигналах в режиме, зависимом от режима объединения или MVP-режима. Например, аффинный режим может включать в себя аффинный режим объединения и аффинный MVP-режим.
[166] Между тем, информация, указывающая то, используется либо нет прогнозирование на основе списка 0 (L0), прогнозирование на основе списка 1 (L1) или бипрогнозирование, описанные выше, в текущем блоке (текущей единице кодирования), может передаваться в служебных сигналах в текущем блоке. Информация может называться "информацией направления прогнозирования движения", "информацией направления взаимного прогнозирования" или "информацией индикатора взаимного прогнозирования" и может конфигурироваться/кодироваться/передаваться в служебных сигналах, например, в форме синтаксического элемента inter_pred_idc. Таким образом, синтаксический элемент inter_pred_idc может указывать то, используется либо нет вышеуказанное прогнозирование на основе списка 0 (L0), прогнозирование на основе списка 1 (L1) или бипрогнозирование для текущего блока (текущей единицы кодирования). В настоящем раскрытии, для удобства описания, тип взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование или бипрогнозирование), указываемый посредством синтаксического элемента inter_pred_idc, может указываться как направление прогнозирования движения. L0-прогнозирование может представляться как pred_L0, L1-прогнозирование как pred_L1, и парное прогнозирование как pred_BI. Например, следующие типы прогнозирования могут определяться согласно значению синтаксического элемента inter_pred_idc.
[167] Табл. 1
[168] Как описано выше, один кадр может включать в себя один или более срезов. Срез может иметь одни из типов срезов, включающих в себя внутренний (I) срез, прогнозирующий (P) срез и бипрогнозирующий (B) срез. Тип среза может указываться на основе информации типа среза. Для блоков в I-срезе, взаимное прогнозирование может не использоваться для прогнозирования, и только внутреннее прогнозирование может использоваться. Конечно, даже в этом случае, исходное выборочное значение может кодироваться и передаваться в служебных сигналах без прогнозирования. Внутреннее прогнозирование или взаимное прогнозирование может использоваться для блоков в P-срезе, и только унипрогнозирование может использоваться, когда используется взаимное прогнозирование. Между тем, внутреннее прогнозирование или взаимное прогнозирование может использоваться для блоков в B-срезе, и вплоть до бипрогнозирования может использоваться, когда используется взаимное прогнозирование.
[169] L0 и L1 могут включать в себя опорные кадры, которые ранее кодируются/декодируются до текущего кадра. Например, L0 может включать в себя опорные кадры перед и/или после текущего кадра в POC-порядке, и L1 может включать в себя опорные кадры после и/или перед текущим кадром в POC-порядке. В этом случае, L0 может назначаться меньший индекс опорного кадра относительно предыдущих опорных кадров в POC-порядке, чем относительно текущих опорных кадров, и L1 может назначаться меньший индекс опорного кадра относительно предыдущих опорных кадров в POC-порядке, чем относительно текущего кадра. В случае B-среза, бипрогнозирование может применяться, и в этом случае, однонаправленное бипрогнозирование может применяться, либо двунаправленное бипрогнозирование может применяться. Двунаправленное бипрогнозирование может называться "истинным бипрогнозированием".
[170] Как описано выше, остаточный блок (остаточные выборки) может извлекаться на основе прогнозированного блока (прогнозных выборок), извлекаемого через прогнозирование в каскаде кодирования, и остаточные выборки преобразуются/квантуются посредством остаточной информации, могут формироваться. Остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования. Остаточная информация может включаться в информацию видео/изображений, и информация видео/изображений может кодироваться и передаваться в оборудование декодирования в форме потока битов. Оборудование декодирования может получать остаточную информацию из потока битов и может извлекать остаточные выборки на основе остаточной информации. В частности, оборудование декодирования может извлекать квантованные коэффициенты преобразования на основе остаточной информации и может извлекать остаточные блоки (остаточные выборки) через процедуру деквантования/обратного преобразования.
[171] Между тем по меньшей мере одна процедура (обратного) преобразования и/или (де)-квантования может опускаться.
[172] В дальнейшем в этом документе описывается процедура внутриконтурной фильтрации, выполняемая для восстановленного кадра. Модифицированная восстановленная выборка, блок, кадр (или модифицированная фильтрованная выборка, блок, кадр) могут формироваться через процедуру внутриконтурной фильтрации, и модифицированный (модифицированный и фильтрованный) восстановленный кадр может выводиться в качестве декодированного кадра в оборудовании декодирования и также может сохраняться в буфере декодированных кадров или запоминающем устройстве оборудования кодирования/оборудования декодирования и использоваться в качестве опорного кадра в процедуре взаимного прогнозирования во время кодирования/декодирования кадра впоследствии. Процедура внутриконтурной фильтрации может включать в себя процедуру фильтрации для удаления блочности, процедуру фильтрации на основе дискретизированного адаптивного смещения (SAO) и/или процедуру адаптивной контурной фильтрации (ALF), как описано выше. В этом случае, одна или некоторые из процедуры фильтрации для удаления блочности, процедуры фильтрации на основе дискретизированного адаптивного смещения (SAO), процедуры адаптивной контурной фильтрации (ALF) и процедуры билатеральной фильтрации могут последовательно применяться, либо все могут последовательно применяться. Например, SAO-процедура может выполняться после того, как процедура фильтрации для удаления блочности применяется к восстановленному кадру. Альтернативно, например, ALF-процедура может выполняться после того, как процедура фильтрации для удаления блочности применяется к восстановленному кадру. Это также может выполняться в оборудовании кодирования.
[173] Фильтрация для удаления блочности представляет собой технологию фильтрации, которая удаляет искажение на границах между блоками в восстановленном кадре. Процедура фильтрации для удаления блочности, например, может извлекать целевую границу из восстановленного кадра, определять граничную интенсивность (bS) для целевой границы и выполнять фильтрацию для удаления блочности для целевой границы на основе bS; bS может определяться на основе режима прогнозирования, разности векторов движения, того, является или нет опорный кадр идентичным, того, существует или нет ненулевой значимый коэффициент и т.д., для двух блоков, смежных с целевой границей.
[174] SAO представляет собой способ для компенсации разности смещения между восстановленным кадром и исходным кадром на основе выборок. Например, SAO может применяться на основе типа, к примеру, как полосовое смещение, краевое смещение и т.п. Согласно SAO, выборки могут классифицироваться на различные категории согласно каждому SAO-типу, и значение смещения может суммироваться с каждой выборкой на основе категории. Информация фильтрации для SAO может включать в себя информацию относительно того, применяется или нет SAO, информацию SAO-типа и информацию значений SAO-смещения. SAO может применяться к восстановленному кадру после того, как фильтрация для удаления блочности применяется.
[175] Адаптивный контурный фильтр (ALF) представляет собой технологию для фильтрации восстановленного кадра на основе выборок на основе коэффициентов фильтра согласно форме фильтра. Оборудование кодирования может определять то, следует или нет применять ALF, ALF-форму и/или коэффициент ALF-фильтрации и т.д. посредством сравнения восстановленного кадра и исходного кадра и может передавать в служебных сигналах в оборудование декодирования. Таким образом, информация фильтрации для ALF может включать в себя информацию относительно того, применяется или нет ALF, информацию формы ALF-фильтра, информацию коэффициентов ALF-фильтрации и т.п. ALF может применяться к восстановленному кадру после того, как применяется фильтрация для удаления блочности.
[176] Фиг. 8 показывает пример формы ALF-фильтра.
[177] На фиг. 8, (a) показывает форму ромбовидного фильтра 7×7, (b) показывает форму ромбовидного фильтра 5×5. На фиг. 8, Cn в форме фильтра представляет коэффициент фильтра. Когда n в Cn является идентичным, это указывает то, что идентичные коэффициенты фильтра могут назначаться. В настоящем раскрытии, позиция и/или единица, которой назначаются коэффициенты фильтра согласно форме фильтра ALF, может называться "отводом фильтра". В этом случае, один коэффициент фильтра может назначаться каждому отводу фильтра, и компоновка отводов фильтра может соответствовать форме фильтра. Отвод фильтра, расположенный в центре формы фильтра, может называться "центральным отводом фильтра". Идентичные коэффициенты фильтра могут назначаться двум отводам фильтра, имеющим идентичное значение n, существующим в позициях, соответствующих друг другу относительно центрального отвода фильтра. Например, в случае ромбовидной формы фильтра 7×7, 25 отводов фильтра включаются, и поскольку коэффициенты C0-C11 фильтра назначаются в центрально симметричной форме, коэффициенты фильтра могут назначаться 25 отводам фильтра с использованием только 13 коэффициентов фильтра. Кроме того, например, в случае ромбовидной формы фильтра 5×5, 13 отводов фильтра включаются, и поскольку коэффициенты C0-C5 фильтра назначаются в централизованно симметричной форме, коэффициенты фильтра назначаются 13 отводам фильтра с использованием только 7 коэффициентов фильтра. Например, чтобы уменьшать объем данных информации относительно передаваемых в служебных сигналах коэффициентов фильтра, 12 из 13 коэффициентов фильтра для ромбовидной формы фильтра 7×7 могут передаваться в служебных сигналах (явно), и 1 коэффициент фильтра может (неявно) извлекаться. Кроме того, например, 6 из 7 коэффициентов фильтра для ромбовидной формы фильтра 5×5 могут передаваться в служебных сигналах (явно), и 1 коэффициент фильтра может извлекаться (неявно).
[178] Согласно варианту осуществления настоящего раскрытия, ALF-параметр, используемый для ALF-процедуры, может передаваться в служебных сигналах через набор параметров адаптации (APS). ALF-параметр может извлекаться из информации фильтра или ALF-данных для ALF.
[179] ALF представляет собой тип технологии внутриконтурной фильтрации, которая может применяться при кодировании видео/изображений, как описано выше. ALF может выполняться с использованием адаптивного фильтра Винера. Это может служить для того, чтобы минимизировать среднеквадратическую ошибку (MSE) между исходными выборками и декодированными выборками (или восстановленными выборками). Высокоуровневое проектирование для инструментального ALF-средства может включать синтаксические элементы, доступные в SPS и/или в заголовке среза (либо в заголовке группы плиток).
[180] В примере, перед фильтрацией для каждого блока сигналов яркости 4×4, геометрические преобразования, такие как вращение или диагональное и вертикальное переворачивание, могут применяться к коэффициентам f(k, l) фильтра в зависимости от значений градиентов, вычисленных для блока, и соответствующих значений c(k, l) отсечения в фильтре. Это является эквивалентным применению этих преобразований к выборкам в зоне носителя фильтра. Создание других блоков, к которым применяется ALF, может быть аналогичным размещению этих блоков согласно их направленности.
[181] Например, три преобразования, диагональное, вертикальное переворачивание и вращение, могут выполняться на основе следующих уравнений.
[182] уравнение 1
Диагональное: f_D(k, l)=f(l, k), c_D(k, l)=c(l, k)
[183] уравнение 2
Вертикальное переворачивание: f_V(k, l)=f(k, K-l-1), c_V(k, l)=c(k, K-l-1)
[184] уравнение 3
Вращение: f_R(k, l)=f(K-l-1, k), c_R(k, l)=c(K-l-1, k)
[185] В уравнениях 1-3, K может представлять собой размер фильтра. 0≤k и 1≤K-1 могут представлять собой координаты коэффициентов. Например, (0, 0) может представлять собой левую верхнюю угловую координату, и/или (K-1, K-1) может представлять собой правую нижнюю угловую координату. Взаимосвязь между преобразованиями и четырьмя градиентами в четырех направлениях может обобщаться в следующей таблице.
[186] Табл. 2
[187] Параметры ALF-фильтра могут передаваться в служебных сигналах в APS и заголовке среза. В одном APS, вплоть до 25 коэффициентов фильтра сигналов яркости и индексов значений отсечения могут передаваться в служебных сигналах. В одном APS, вплоть до 8 коэффициентов фильтра сигналов цветности и индексов значений отсечения могут передаваться в служебных сигналах. Чтобы уменьшать дополнительное число битов, коэффициенты фильтра различных классификаций для компонента сигналов яркости могут объединяться. В заголовке среза, могут передаваться в служебных сигналах индексы APS (указываемые по ссылке посредством текущего среза), используемых для текущего среза.
[188] Индексы значений отсечения, декодированные из APS, могут позволять определять значения отсечения с использованием таблицы сигналов яркости значений отсечения и таблицы сигналов цветности значений отсечения. Эти значения отсечения могут зависеть от внутренней битовой глубины. Более конкретно, таблица сигналов яркости значений отсечения и таблица сигналов цветности значений отсечения могут извлекаться на основе следующих уравнений.
[189] уравнение 4
AlfClipL={round(2^(B(N-n+1)/N)) для n∈[1...N]}
[190] уравнение 5
AlfClipC={round(2^((B-8)+8((N-n))/(N-1))) для n∈[1...N]}
[191] В вышеприведенных уравнениях, B может быть внутренней битовой глубиной, и N может быть числом разрешенных значений отсечения (предварительно определенным числом). Например, N может быть равным 4.
[192] В заголовке среза, вплоть до 7 APS-индексов могут передаваться в служебных сигналах, чтобы указывать наборы фильтров сигналов яркости, используемые для текущего среза. Процедура фильтрации дополнительно может управляться на CTB-уровне. Например, флаг, указывающий то, применяется или нет ALF к CTB сигналов яркости, может передаваться в служебных сигналах. CTB сигналов яркости может выбирать один из 16 наборов фиксированных фильтров и наборов фильтров из APS. Индекс набора фильтров может передаваться в служебных сигналах для CTB сигналов яркости, чтобы указывать то, какой набор фильтров применяется. 16 наборов фиксированных фильтров могут предварительно задаваться и жестко кодироваться в кодере и декодере.
[193] Для компонента сигналов цветности, APS-индекс может передаваться в служебных сигналах в заголовке среза, чтобы указывать наборы фильтров сигналов цветности, используемые для текущего среза. На CTB-уровне, когда имеется два или более наборов фильтров сигналов цветности в APS, индекс фильтра может передаваться в служебных сигналах для каждого CTB сигналов цветности.
[194] Коэффициенты фильтра могут квантоваться с 128 в качестве нормы. Чтобы ограничивать сложность умножения, соответствие потока битов может применяться таким образом, что значения коэффициентов нецентральной позиции могут варьироваться в диапазоне от 0 до 28, и/или значения коэффициентов оставшихся позиций могут составлять в диапазоне от -27 до 27-1. Коэффициент центральной позиции может не передаваться в служебных сигналах в потоке битов и может предварительно определяться (рассматриваться) равным 128.
[195] Когда ALF доступна для текущего блока, каждая выборка R(i, j) может фильтроваться, и фильтрованный результат R'(i, j) может выражаться посредством следующего уравнения.
[196] уравнение 6
[197] В вышеприведенном уравнении, f(k, l) может представлять собой декодированные коэффициенты фильтра, K (x, y) может представлять собой функцию отсечения, и c(k, l) может представлять собой декодированные параметры отсечения. Например, переменные k и/или l могут варьироваться от -L/2 до L/2. Здесь, L может представлять длину фильтра. Функция отсечения K(x, y)=min (y, max(-y, x)) может соответствовать функции Clip3(-y, y, x).
[198] В примере, чтобы уменьшать требование по линейному буферу ALF, классификация модифицированных блоков и фильтрация могут применяться для выборок, смежных с горизонтальными CTU-границами. С этой целью, виртуальные границы могут задаваться.
[199] Фиг. 9 является схемой, иллюстрирующей виртуальную границу, применяемую к процедуре фильтрации согласно варианту осуществления настоящего документа. Фиг. 10 иллюстрирует пример ALF-процедуры с использованием виртуальной границы согласно варианту осуществления настоящего раскрытия. В дальнейшем описывается фиг. 10 в сочетании с фиг. 9.
[200] Ссылаясь на фиг. 9, виртуальная граница может представлять собой линию, заданную посредством сдвига горизонтальной CTU-границы на N выборок. В примере, N может быть равным 4 для компонента сигнала яркости, и/или N может быть равным 2 для компонента сигналов цветности.
[201] На фиг. 9, классификация модифицированных блоков может применяться к компоненту сигналов яркости. Для одномерного лапласова градиентного вычисления блока 4×4 на виртуальной границе, могут использоваться только выборки выше виртуальной границы. Аналогично, для вычисления одномерного лапласова градиента блока 4×4 ниже виртуальной границы, могут использоваться только выборки ниже виртуальной границы. Квантование значения A активности может масштабироваться, соответственно, с учетом сокращенного числа выборок, используемых в одномерном лапласовом градиентном вычислении.
[202] Для процедуры фильтрации, операция симметричного дополнения на виртуальных границах может использоваться для компонентов сигналов яркости и сигналов цветности. Ссылаясь на фиг. 9, когда фильтрованная выборка расположена ниже виртуальной границы, соседние выборки, расположенные выше виртуальной границы, могут дополняться. Между тем, соответствующие выборки на другой стороне также могут симметрично дополняться.
[203] Процедура, описанная согласно фиг. 10, также может использоваться для границ срезов, кирпичей и/или плиток, когда фильтр не доступен на границах. Для классификации ALF-блоков, могут использоваться только выборки, содержащиеся в идентичном срезе, кирпиче и/или плитке, и значение активности может масштабироваться, соответственно. Для ALF-фильтрации, симметричное дополнение может применяться для каждого из горизонтальных и/или вертикальных направлений относительно горизонтальных и/или вертикальных границ.
[204] Фиг. 11 является схемой, иллюстрирующей процедуру кросскомпонентной адаптивной контурной фильтрации (CC-ALF) согласно варианту осуществления настоящего документа. CC-ALF-процедура может называться "процедурой кросскомпонентной фильтрации".
[205] В аспекте, ALF-процедура может включать в себя общую ALF-процедуру и CC-ALF-процедуру. Таким образом, CC-ALF-процедура может означать некоторые процедуры из ALF-процедуры. В другом аспекте, процедура фильтрации может включать в себя процедуру удаления блочности, SAO-процедуру, ALF-процедуру и/или CC-ALF-процедуру.
[206] CC-ALF может детализировать каждый компонент сигналов цветности с использованием выборочных значений сигналов яркости. CC-ALF управляется посредством информации (изображений) потока битов, которая включает в себя (a) информацию относительно коэффициентов фильтра для каждого компонента сигналов цветности и (b) информацию относительно маски, которая управляет применением фильтрации к блокам выборок. Коэффициенты фильтра могут передаваться в служебных сигналах в APS, и размер блока и маска может передаваться в служебных сигналах на уровне среза.
[207] Ссылаясь на фиг. 11, CC-ALF может работать посредством применения линейного ромбовидного фильтра ((b) по фиг. 11) к каналу сигналов яркости для каждого компонента сигналов цветности. Коэффициенты фильтра передаются в APS, масштабируются на коэффициент 210 и округляются в большую сторону для представления с фиксированной запятой. Применение фильтра может управляться при переменном размере блока и передаваться в служебных сигналах посредством флага контекстного кодирования, принимаемого для блоков каждой выборки. Размер блока наряду с флагом CC-ALF-активации может приниматься на уровне среза для каждого компонента сигналов цветности. Размер блока (для выборок сигналов цветности) может составлять 16×16, 32×32, 64×64 или 128×128.
[208] В нижеприведенных вариантах осуществления, предлагается способ повторной фильтрации или модификации восстановленных выборок сигналов цветности, фильтрованных посредством ALF на основе восстановленных выборок сигналов яркости.
[209] Вариант осуществления настоящего раскрытия относится к передаче включения-выключения фильтрации и передаче коэффициентов фильтрации в CC-ALF. Как описано выше, информация (синтаксический элемент) в синтаксической таблице, раскрытой в настоящем раскрытии, может включаться в информацию изображений/видео, может конфигурироваться/кодироваться в устройстве кодирования и передаваться в устройство декодирования в форме потока битов. Оборудование декодирования может синтаксически анализировать/декодировать информацию (синтаксический элемент) в соответствующей синтаксической таблице. Оборудование декодирования может выполнять процедуру декодирования кадров/изображений/видео (в частности, например, CC-ALF-процедуру) на основе декодированной информации. Это применимо далее в этом документе к другим вариантам осуществления.
[210] Следующая таблица показывает некоторый синтаксис информации заголовка среза согласно варианту осуществления настоящего раскрытия.
[211] Табл. 3
[212] Следующая таблица показывает примерную семантику для синтаксических элементов, включенных в вышеприведенную таблицу.
[213] Табл. 4
slice_cross_component_alf_cb_enabled_flag, равный 0, указывает то, что кросскомпонентный Cb-фильтр не применяется к цветовому Cb-компоненту; slice_cross_component_alf_cb_enabled_flag, равный 1, указывает то, что кросскомпонентный Cb-фильтр применяется к цветовому Cb-компоненту.
slice_cross_component_alf_cr_enabled_flag, равный 0, указывает то, что кросскомпонентный Cr-фильтр не применяется к цветовому Cr-компоненту; slice_cross_component_alf_cb_enabled_flag, равный 1, указывает то, что кросскомпонентный Cr-фильтр применяется к цветовому Cr-компоненту.
slice_cross_component_alf_cb_reuse_temporal_layer_filter, равный 1, указывает то, что коэффициенты кросскомпонентного Cb-фильтра, причем j=0...13, включительно, задаются равными AlfCCTemporalCoeffcb[TemporalId][j].
slice_cross_component_alf_cb_reuse_temporal_layer_filter, равный 0, и slice_cross_component_alf_cb_enabled_flag, равный 1, указывают то, что синтаксический элемент slice_cross_component_alf_cb_aps_id присутствует в заголовке среза.
Когда slice_cross_component_alf_cb_enabled_flag равен 1, и slice_cross_component_alf_cb_reuse_temporal_layer_filter равен 0, элементы AlfCCTemporalCoeffcb[TemporalId][j], причем j=0...13, извлекаются следующим образом:
AlfCCTemporalCoeffcb[TemporalId][j]=AlfCCCoeffcb[slice_cross_component_alf_cb_aps_id][j]
slice_cross_component_alf_cr_reuse_temporal_layer_filter, равный 1, указывает то, что коэффициенты кросскомпонентного Cr-фильтра, причем j=0...13, включительно, задаются равными AlfCCTemporalCoeffcr[TemporalId][j].
slice_cross_component_alf_cr_reuse_temporal_layer_filter, равный 0, и slice_cross_component_alf_cr_enabled_flag, равный 1, указывают то, что синтаксический элемент slice_cross_component_alf_cr_aps_id присутствует в заголовке среза.
Когда slice_cross_component_alf_cr_enabled_flag равен 1, и slice_cross_component_alf_cr_reuse_temporal_layer_filter равен 0, элементы AlfCCTemporalCoeffcr[TemporalId][j], причем j=0...13, извлекаются следующим образом:
AlfCCTemporalCoeffcr[TemporalId][j]=AlfCCCoeffcr[slice_cross_component_alf_cr_aps_id][j]
slice_cross_component_alf_cb_aps_id указывает adaptation_parameter_set_id, на который ссылается цветовой Cb-компонент среза для кросскомпонентного Cb-фильтра. Когда slice_cross_component_alf_cb_aps_id не присутствует, он логически выводится равным slice_alf_aps_id_luma[0]. TemporalId ALF APS NAL-единицы, имеющей adaptation_parameter_set_id, равный slice_cross_component_alf_cb_aps_id, должен быть меньше или равным TemporalId кодированной NAL-единицы среза.
slice_cross_component_alf_cr_aps_id указывает adaptation_parameter_set_id, на который ссылается цветовой Cr-компонент среза для кросскомпонентного Cr-фильтра. Когда slice_cross_component_alf_cr_aps_id не присутствует, он логически выводится равным slice_alf_aps_id_luma[0]. TemporalId ALF APS NAL-единицы, имеющей adaptation_parameter_set_id, равный slice_cross_component_alf_cr_aps_id, должен быть меньше или равным TemporalId кодированной NAL-единицы среза.
slice_cross_component_alf_cb_log2_control_size_minus4 указывает значение размеров квадратных блоков в числе выборок следующим образом:
AlfCCSamplesCbW=AlfCCSamplesCbH=2(slice_cross_component_alf_cb_log2_control_size_minus4 | 4)
slice_cross_component_alf_cb_log2_control_size_minus4 должен составлять в диапазоне 0-3, включительно.
slice_cross_component_alf_cr_log2_control_size_minus4 указывает значение размеров квадратных блоков в числе выборок следующим образом:
AlfCCSamplesCrW=AlfCCSamplesCrH=2(slice_cross_component_alf_cr_log2_control_size_minus4 | 4)
slice_cross_component_alf_cr_log2_control_size_minus4 должен составлять в диапазоне 0-3, включительно.
[214] Ссылаясь на вышеприведенные две таблицы, когда sps_cross_component_alf_enabled_flag равен 1 в заголовке среза, синтаксический анализ slice_cross_component_alf_cb_enabled_flag может выполняться, чтобы определять то, применяется или нет Cb CC-ALF в срезе. Когда slice_cross_component_alf_cb_enabled_flag равен 1, CC-ALF применяется к соответствующему Cb-срезу, и когда slice_cross_component_alf_cb_reuse_temporal_layer_filter равен 1, фильтр идентичного существующего временного слоя может многократно использоваться. Когда slice_cross_component_alf_cb_enabled_flag равен 0, CC-ALF может применяться с использованием фильтра в соответствующем идентификаторе набора параметров адаптации (APS) через синтаксический анализ slice_cross_component_alf_cb_aps_id. Slice_cross_component_alf_cb_log2_control_size_minus4 может означать то, что CC-ALF применяет единицу блока в Cb-срезе.
[215] Например, когда значение slice_cross_component_alf_cb_log2_control_size_minus4 равно 0, то, применяется или нет CC-ALF, определяется в единицах 16×16. Когда значение slice_cross_component_alf_cb_log2_control_size_minus4 равно 1, то, применяется или нет CC-ALF, определяется в единицах 32×32. Когда значение slice_cross_component_alf_cb_log2_control_size_minus4 равно 2, то, применяется или нет CC-ALF, определяется в единицах 64×64. Когда значение slice_cross_component_alf_cb_log2_control_size_minus4 равно 3, то, применяется или нет CC-ALF, определяется в единицах 128×128. Помимо этого, синтаксис структуры, идентичной структуре, описанной выше, используется для Cr CC-ALF.
[216] Следующая таблица показывает примерный синтаксис для ALF-данных.
[217] Табл. 5
[218] Следующая таблица показывает примерную семантику для синтаксических элементов, включенных в вышеприведенную таблицу.
[219] Табл. 6
alf_luma_filter_signal_flag, равный 1, указывает то, что набор фильтров сигналов яркости передается в служебных сигналах; alf_luma_filter_signal_flag, равный 0, указывает то, что набор фильтров сигналов яркости не передается в служебных сигналах. Когда alf_luma_filter_signal_flag не присутствует, он логически выводится равным 0.
alf_chroma_filter_signal_flag, равный 1, указывает то, что фильтр сигналов цветности передается в служебных сигналах; alf_chroma_filter_signal_flag, равный 0, указывает то, что фильтр сигналов цветности не передается в служебных сигналах. Когда alf_chroma_filter_signal_flag не присутствует, он логически выводится равным 0.
alf_cross_component_cb_filter_signal_flag, равный 1, указывает то, что набор кросскомпонентных Cb-фильтров передается в служебных сигналах; alf_cross_component_cb_filter_signal_flag, равный 0, указывает то, что набор кросскомпонентных Cb-фильтров не передается в служебных сигналах. Когда alf_cross_component_cb_filter_signal_flag не присутствует, он логически выводится равным 0.
alf_cross_component_cr_filter_signal_flag, равный 1, указывает то, что набор кросскомпонентных Cr-фильтров передается в служебных сигналах; alf_cross_component_cb_filter_signal_flag, равный 0, указывает то, что набор кросскомпонентных Cr-фильтров не передается в служебных сигналах. Когда alf_cross_component_cr_filter_signal_flag не присутствует, он логически выводится равным 0,
alf_cross_component_cb_min_eg_order_minusl плюс 1 указывает минимальный порядок экспоненциального кода Голомба для передачи в служебных сигналах коэффициентов кросскомпонентного Cb-фильтра. Значение alf_cross_component_cb_min_eg_order_minus1 должно составлять в диапазоне 0-9, включительно.
alf_cross_component_cr_min_eg_order_minus1 плюс 1 указывает минимальный порядок экспоненциального кода Голомба для передачи в служебных сигналах коэффициентов кросскомпонентного Cr-фильтра. Значение alf_cross_component_cb_min_eg_order_minus1 должно составлять в диапазоне 0-9, включительно.
alf_cross_component_cb_eg_order_increase_flag[i], равный 1, указывает то, что минимальный порядок экспоненциального кода Голомба для передачи в служебных сигналах коэффициентов кросскомпонентного Cb-фильтра постепенно увеличивается на 1; alf_cross_component_cb_eg_order_increase_flag[i], равный 0, указывает то, что минимальный порядок экспоненциального кода Голомба для передачи в служебных сигналах коэффициентов кросскомпонентного Cb-фильтра не увеличивается постепенно на 1.
Порядок expGoOrderCb[i] экспоненциального кода Голомба, используемого для того, чтобы декодировать значения alf_cross_component_cb_coeff_abs[j], извлекается следующим образом:
expGoOrdcrCb[i]=(i==0?alf_cross_component_cb_min_eg_order_minus1+1:expGoOrderCb [i-1])+alf_cross_component_cb_eg_order_increase_flag[i]
alf_cross_component_cr_eg_order_increase_flag[i], равный 1, указывает то, что минимальный порядок экспоненциального кода Голомба для передачи в служебных сигналах коэффициентов кросскомпонентного Cr-фильтра постепенно увеличивается на 1; alf_cross_component_cr_eg_order_increase_flag[i], равный 0, указывает то, что минимальный порядок экспоненциального кода Голомба для передачи в служебных сигналах коэффициентов кросскомпонентного Cr-фильтра не увеличивается постепенно на 1.
Порядок expGoOrderCr[i] экспоненциального кода Голомба, используемого для того, чтобы декодировать значения alf_cross_component_cb_coeff_abs[j], извлекается следующим образом:
expGoOrderCr[i]=(i==0?alf_cross_component_cr_min_eg_order_minus1+1:expGoOrderCr [i-1])+alf_cross_component_cr_eg_order_increase_flag[i]
alf_cross_component_cb_coeff_abs[j] указывает абсолютное значение j-ого коэффициента передаваемого в служебных сигналах кросскомпонентного Cb-фильтра. Когда alf_cross_component_cb_coeff_abs[j] не присутствует, он логически выводится равным 0.
Порядок k экспоненциального преобразования в двоичную форму Голомба uek(v) извлекается следующим образом:
golombOrderIdxCb[]={0,2,2,2,1,2,2,2,2,2,2,1,2,1} [это может представлять собой классификацию коэффициента на 3 категории, каждая категория использует идентичный экспоненциальный код Голомба порядка k]
k=expGoOrderCb [golombOrderIdxCb[j]]
[220]
alf_cross_component_cr_coeff_abs[j] указывает абсолютное значение j-ого коэффициента передаваемого в служебных сигналах кросскомпонентного Cr-фильтра. Когда alf_cross_component_cr_coeff_abs[j] не присутствует, он логически выводится равным 0.
Порядок k экспоненциального преобразования в двоичную форму Голомба uck(v) извлекается следующим образом:
golombOrderIdxCr[]={0,1,2,1,0,1,2,2,2,2,2,1,2,1} [это может представлять собой классификацию коэффициента на 3 категории, каждая категория использует идентичный экспоненциальный код Голомба порядка k]
k=expGoOrderCr [golombOrderIdxCr[j]]
alf_cross_component_cb_coeff_sign[j] указывает знак j-ого коэффициента кросскомпонентного Cb-фильтра следующим образом:
- Если alf_cross_component_cb_coeff_sign[j] равен 0, соответствующий коэффициент кросскомпонентного Cb-фильтра имеет положительное значение.
- Иначе (alf_cross_component_cb_coeff_sign[j] равен 1), соответствующий коэффициент кросскомпонентного Cb-фильтра имеет отрицательное значение.
Когда alf_cross_component_cb_coeff_sign[j] не присутствует, он логически выводится равным 0.
Коэффициенты AlfCCCoeffcb[adaptation_parameter_set_id] кросскомпонентного Cb-фильтра с элементами AlfCCCoeffcb[adaptation_parameter_set_id][j], причем j=0...13, извлекаются следующим образом:
AlfCCCoeffcb[adaptation_parameter_set_id][j]=alf_cross_component_cb_coeff_abs[j]*(l-2*alf_cross_component_cb_coeff_sign[j])
Требование соответствия потока битов заключается в том, что значения AlfCCCoeffcb[adaptation_parameter_set_id][j], причем j=0...13, должны составлять в диапазоне от -210-1 до 210-1, включительно.
alf_cross_component_cr_coeff_sign[j] указывает знак j-ого коэффициента кросскомпонентного Cr-фильтра следующим образом:
- Если alf_cross_component_cr_coeff_sign[j] равен 0, соответствующий коэффициент кросскомпонентного Cr-фильтра имеет положительное значение.
- Иначе (alf_cross_component_cr_coeff_sign[j] равен 1), соответствующий коэффициент кросскомпонентного Cr-фильтра имеет отрицательное значение.
Когда alf_cross_component_cr_coeff_sign[j] не присутствует, он логически выводится равным 0.
Коэффициенты AlfCCCoeffcr[adaptation_parameter_set_id] кросскомпонентного Cr-фильтра с элементами AlfCCCoeffcr[adaptation_parameter_set_id][j], причем j=0...13, извлекаются следующим образом:
AlfCCCoeffcr[adaptation_parameter_set_id][j]=alf_cross_component_cr_coeff_abs[j]*(l-2*alf_cross_component_cr_coeff_sign[j])
Требование соответствия потока битов заключается в том, что значения AlfCCCoeffcr[adaptation_parameter_set_id][j], причем j=0...13, должны составлять в диапазоне от -210-1 до 210-1, включительно.
TemporalId является временным идентификатором текущей NAL-единицы.
[221] Ссылаясь на вышеприведенные две таблицы, синтаксические CC-ALF-элементы не придерживаются существующей (общей) синтаксической ALF-структуры, а передаются независимо и выполнены с возможностью независимо применяться. Таким образом, CC-ALF может применяться, даже когда инструментальное ALF-средство в SPS выключено. Новое аппаратное проектное решение по конвейеру требуется, поскольку CC-ALF должна иметь возможность работать независимо от существующей ALF-структуры. Это приводит к увеличению затрат на аппаратную реализацию и к увеличению аппаратной задержки.
[222] Помимо этого, в ALF, то, применяются или нет изображения на основе сигналов яркости и сигналов цветности, определяется в единицах CTU, и результат определения передается в декодер посредством передачи служебных сигналов. Тем не менее, то, переменная или нет CC-ALF применяется, определяется в единицах 16×16-128×128, и это применение может вызывать коллизию между существующей ALF-структурой и CC-ALF. Это вызывает проблемы в аппаратной реализации и в то же время вызывает увеличение линейных буферов для различных переменных CC-ALF-вариантов применения.
[223] В настоящем раскрытии, вышеуказанные проблемы в аппаратной реализации CC-ALF разрешаются посредством интегрального применения синтаксической CC-ALF-структуры к синтаксической ALF-структуре.
[224] Согласно варианту осуществления настоящего раскрытия, чтобы определять то, используется (применяется)или нет CC-ALF, набор параметров последовательности (SPS) может включать в себя флаг CC-ALF-активации (sps_ccalf_enable_flag). Флаг CC-ALF-активации может передаваться независимо от флага ALF-активации (sps_alf_enabled_flag) для определения того, используется (применяется) или нет ALF.
[225] Следующая таблица показывает часть примерного синтаксиса SPS согласно настоящему варианту осуществления.
[226] Табл. 7
[227] Ссылаясь на вышеприведенную таблицу, CC-ALF может применяться только тогда, когда ALF всегда работает. Таким образом, только когда флаг ALF-активации (sps_alf_enabled_flag) равен 1, флаг CC-ALF-активации (sps_ccalf_enabled_flag) может синтаксически анализироваться. CC-ALF и ALF могут комбинироваться согласно вышеприведенной таблице. Флаг CC-ALF-активации может указывать (и может быть связан) то/с тем, доступна или нет CC-ALF.
[228] Следующая таблица показывает часть примерного синтаксиса для заголовков срезов.
[229] Табл. 8
[230] Ссылаясь на вышеприведенную таблицу, синтаксический анализ sps_ccalf_enabled_flag может выполняться только тогда, когда sps_alf_enabled_flag равен 1. Синтаксические элементы, включенные в таблицу, могут описываться на основе таблицы 4. В примере, информация изображений, кодированная посредством оборудования кодирования или полученная (принимаемая) посредством оборудования декодирования, может включать в себя информацию заголовка среза (slice_header). На основе определения того, что значение флага CC-ALF-активации (sps_ccalf_flag) равно 1, информация заголовка среза включает в себя первый флаг (slice_cross_component_alf_cb_enabeld_flag), связанный с тем, доступна или нет CC-ALF для цветового Cb-компонента фильтрованных восстановленных выборок сигналов цветности, и второй флаг (slice_cross_component_alf_cr_enabeld_flag), связанный с тем, доступна или нет CC-ALF для цветового Cr-компонента фильтрованных восстановленных выборок сигналов цветности.
[231] В примере, на основе определения того, что значение первого флага (slice_cross_component_alf_cb_enabeld_flag) равно 1, информация заголовка среза может включать в себя идентификационную информацию (slice_cross_component_alf_cb_aps_id) первого APS для извлечения коэффициентов кросскомпонентного фильтра для цветового Cb-компонента. На основе определения того, что значение второго флага (slice_cross_component_alf_cr_enabeld_flag) равно 1, информация заголовка среза может включать в себя идентификационную информацию (slice_cross_component_alf_cr_aps_id) второго APS для извлечения коэффициентов кросскомпонентного фильтра для цветового Cr-компонента.
[232] Следующая таблица показывает часть SPS-cинтаксиса согласно другому примеру настоящего варианта осуществления.
[233] Табл. 9
[234] Следующая таблица примерно показывает часть синтаксиса заголовков срезов.
[235] Табл. 10
[236] Ссылаясь на таблицу 9, когда ChromaArrayType не равен 0, и флаг ALF-активации (sps_alf_enabled_flag) равен 1, SPS может включать в себя флаг CC-ALF-активации (sps_ccalf_enabled_flag). Например, если ChromaArrayType не равен 0, формат сигналов цветности может не быть монохромным, и флаг CC-ALF-активации может передаваться через SPS на основе случая, в котором формат сигналов цветности не является монохромным.
[237] Ссылаясь на таблицу 9, на основе случая, в котором ChromaArrayType не равен 0, информация относительно CC-ALF (slice_cross_component_alf_cb_enabled_flag, slice_cross_component_alf_cb_aps_id, slice_cross_component_alf_cr_enabled_flag, slice_cross_component_alf_cr) может включаться в информацию заголовка среза.
[238] В примере, информация изображений, кодированная посредством оборудования кодирования или полученная посредством оборудования декодирования, может включать в себя SPS. SPS может включать в себя первый флаг ALF-активации (sps_alf_enabled_flag), связанный с тем, доступна или нет ALF. Например, на основе определения того, что значение первого флага ALF-активации равно 1, SPS может включать в себя флаг CC-ALF-активации, связанный с тем, доступна или нет кросскомпонентная фильтрация. В другом примере, если sps_ccalf_enabled_flag не используется, и sps_alf_enabled_flag равен 1, CC-ALF может всегда применяться (sps_ccalf_enabled_flag==1).
[239] Следующая таблица показывает часть синтаксиса заголовков срезов согласно другому примеру этого варианта осуществления.
[240] Табл. 11
[241] Ссылаясь на вышеприведенную таблицу, синтаксический анализ флага CC-ALF-активации (sps_ccalf_enabled_flag) может выполняться только тогда, когда флаг ALF-активации (sps_alf_enabled_flag) равен 1.
[242] Следующая таблица показывает примерную семантику для синтаксических элементов, включенных в вышеприведенную таблицу.
[243] Табл. 12
slice_ccalf_enabled_flag, равный 1, указывает то, что кросскомпонентный адаптивный контурный фильтр активируется и может применяться к цветовому Cb- или Cr-компоненту в срезе; slice_ccalf_enabled_flag, равный 0, указывает то, что кросскомпонентный адаптивный контурный фильтр деактивируется для всех цветовых компонентов в срезе.
slice_ccalf_chroma_idc, равный 0, указывает то, что кросскомпонентный адаптивный контурный фильтр не применяется к цветовым Cb- и Cr-компонентам, slice_ccalf_chroma_idc, равный 1, указывает то, что кросскомпонентный адаптивный контурный фильтр применяется к цветовому Cb-компоненту; slice_ccalf_chroma_idc, равный 2, указывает то, что кросскомпонентный адаптивный контурный фильтр применяется к цветовому Cr-компоненту, slice_ccalf_chroma_idc, равный 3, указывает то, что кросскомпонентный адаптивный контурный фильтр применяется к цветовым Cb- и Cr-компонентам. Когда slice_ccalf_chroma_idc не присутствует, он логически выводится равным 0.
slice_ccalf_aps_id_chroma указывает adaptation_parameter_set_id CCALF APS, на который ссылается компонент сигналов цветности среза. TemporalId NAL-единицы APS, имеющей aps_params_type, равный CC_ALF_APS, и adaptation_parameter_set_id, равный slice_ccalf_aps_id_chroma, должен быть меньше или равным TemporalId кодированной NAL-единицы среза.
Для внутренних срезов и срезов в IRAP-кадре, slice_ccalf_aps_id_chroma не должен ссылаться на CCALF APS, ассоциированный с другими кадрами, а не с кадром, содержащим внутренние срезы, или с IRAP-кадром.
[244] slice_ccalf_chroma_idc вышеприведенной таблицы может описываться посредством семантики нижеприведенной таблицы.
[245] Табл. 13
slice_ccalf_chroma_idc, равный 0, указывает то, что кросскомпонентный адаптивный контурный фильтр применяется к цветовому Cb-компоненту; slice_ccalf_chroma_idc, равный 1, указывает то, что кросскомпонентный адаптивный контурный фильтр применяется к цветовому Cr-компоненту; slice_ccalf_chroma_idc, равный 2, указывает то, что кросскомпонентный адаптивный контурный фильтр применяется к цветовым Cb- и Cr-компонентам. Когда slice_ccalf_chroma_idc не присутствует, он логически выводится равным 0.
[246] Следующая таблица показывает часть синтаксиса заголовков срезов согласно другому примеру этого варианта осуществления.
[247] Табл. 14
[248] Синтаксические элементы, включенные в таблицу, могут описываться согласно таблице 12 или таблице 13. Помимо этого, когда формат сигналов цветности не является монохромным, связанная с CCALF информация может включаться в заголовок среза.
[249] Следующая таблица показывает часть синтаксиса заголовков срезов согласно другому примеру этого варианта осуществления.
[250] Табл. 15
[251] Следующая таблица показывает примерную семантику для синтаксических элементов, включенных в вышеприведенную таблицу.
[252] Табл. 16
slice_ccalf_chroma_idc, равный 0, указывает то, что кросскомпонентный адаптивный контурный фильтр не применяется к цветовым Cb- и Cr-компонентам; slice_ccalf_chroma_idc, равный 1, указывает то, что кросскомпонентный адаптивный контурный фильтр применяется к цветовому Cb-компоненту; slice_ccalf_chroma_idc, равный 2, указывает то, что кросскомпонентный адаптивный контурный фильтр применяется к цветовому Cr-компоненту; slice_ccalf_chroma_idc, равный 3, указывает то, что кросскомпонентный адаптивный контурный фильтр применяется к цветовым Cb- и Cr-компонентам. Когда slicc_ccalf_chroma_idc не присутствует, он логически выводится равным 0.
slice_ccalf_aps_id_chroma указывает adaptation_parameter_sct_id CCALF APS, на который ссылается компонент сигналов цветности среза. TemporalId NAL-единицы APS, имеющей aps_params_type, равный CC_ALF_APS, и adaptation_parameter_set_id, равный slice_ccalf_aps_id_chroma, должен быть меньше или равным TemporalId кодированной NAL-единицы среза.
Для внутренних срезов и срезов в IRAP-кадре, slice_ccalf_aps_id_chroma не должен ссылаться на CCALF APS, ассоциированный с другими кадрами, а не с кадром, содержащим внутренние срезы, или с IRAP-кадром.
[253] Следующая таблица показывает часть синтаксиса заголовков срезов согласно другому примеру этого варианта осуществления. Синтаксические элементы, включенные в следующую таблицу, могут описываться согласно таблице 12 или таблице 13.
[254] Табл. 17
[255] Ссылаясь на вышеприведенную таблицу, то, применяются или нет ALF и CCALF на основе единиц срезов, может определяться сразу через slice_alf_enabled_flag. После синтаксического анализа slice_alf_chroma_idc, когда первый флаг ALF-активации (sps_alf_enabled_flag) равен 1, может синтаксически анализироваться slice_ccalf_chroma_idc.
[256] Ссылаясь на вышеприведенную таблицу, то, равен или нет sps_ccalf_enabeld_flag 1 в информации заголовка среза, может определяться только тогда, когда slice_alf_enabled_flag равен 1. Информация заголовка среза может включать в себя второй флаг ALF-активации (slice_alf_enabled_flag), связанный с тем, доступна или нет ALF. На основе определения того, что значение второго флага ALF-активации (slice_alf_enabled_flag) равно 1, CCALF может быть доступной для среза.
[257] Следующая таблица примерно показывает часть APS-синтаксиса. Синтаксический элемент adaptation_parameter_set_id может указывать информацию идентификатора (идентификационную информацию) APS.
[258] Табл. 18
[259] Следующая таблица показывает примерный синтаксис для ALF-данных.
[260] Табл. 19
[261] Ссылаясь на вышеприведенные две таблицы, APS может включать в себя ALF-данные (alf_data). APS, включающий в себя ALF-данные, может называться "ALF APS" ("APS ALF-типа"). Таким образом, тип APS, включающий в себя ALF-данные, может представлять собой ALF-тип. Тип APS может определяться в качестве информации относительно APS-типа или синтаксического элемента (aps_params_type). ALF-данные могут включать в себя флаг передачи в служебных сигналах Cb-фильтров (alf_cross_component_cb_filter_signal_flag или alf_cc_cb_filter_signal_flag), связанный с тем, передаются в служебных сигналах или нет кросскомпонентные фильтры для цветового Cb-компонента. ALF-данные могут включать в себя флаг передачи в служебных сигналах Cr-фильтров (alf_cross_component_cr_filter_signal_flag или alf_cc_cr_filter_signal_flag), связанный с тем, передаются в служебных сигналах или нет кросскомпонентные фильтры для цветового Cr-компонента.
[262] В примере, на основе флага передачи в служебных сигналах Cr-фильтров, ALF-данные могут включать в себя информацию (alf_cross_component_cr_coeff_abs) относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cr-компонента и информацию относительно знаков (alf_cross_component_cr_coeff_sign) относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cr-компонента. На основе информации относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cr-компонента и информации относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cr-компонента, могут извлекаться коэффициенты кросскомпонентного фильтра для цветового Cr-компонента.
[263] В примере, ALF-данные могут включать в себя информацию (alf_cross_component_cb_coeff_abs) относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cb-компонента и информацию (alf_cross_component_cb_coeff_sign) относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cb-компонента. На основе информации относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cb-компонента и информации относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cb-компонента, могут извлекаться коэффициенты кросскомпонентного фильтра для цветового Cb-компонента.
[264] Следующая таблица показывает синтаксис, связанный с ALF-данными согласно другому примеру.
[265] Табл. 20
[266] Ссылаясь на вышеприведенную таблицу, после передачи сначала alf_cross_component_filter_signal_flag, когда alf_cross_component_filter_signal_flag равен 1, флаг передачи в служебных сигналах Cb/Cr-фильтров может передаваться. Таким образом, alf_cross_component_filter_signal_flag интегрирует Cb/Cr, чтобы определять то, следует или нет передавать коэффициенты CCALF-фильтра.
[267] Следующая таблица показывает синтаксис, связанный с ALF-данными согласно другому примеру.
[268] Табл. 21
[269] Следующая таблица показывает примерную семантику для синтаксических элементов, включенных в вышеприведенную таблицу.
[270] Табл. 22
alf_cross_component_cb_filter_signal_flag, равный 1, указывает то, что набор кросскомпонентных Cb-фильтров передается в служебных сигналах; alf_cross_component_cb_filter_signal_flag, равный 0, указывает то, что набор кросскомпонентных Cb-фильтров не передается в служебных сигналах. Когда alf_cross_component_cb_filter_signal_flag не присутствует, он логически выводится равным 0.
alf_cross_component_cr_filter_signal_flag, равный 1, указывает то, что набор кросскомпонентных Cr-фильтров передается в служебных сигналах; alf_cross_component_cr_filler_signal_nag, равный 0, указывает то, что набор кросскомпонентных Cr-фильтров не передается в служебных сигналах. Когда alf_cross_component_cr_filter_signal_flag не присутствует, он логически выводится равным 0.
alf_cross_component_cb_coeff_abs[j] указывает абсолютное значение j-ого коэффициента передаваемого в служебных сигналах кросскомпонентного Cb-фильтра. Когда alf_cross_component_cb_coeff_abs[j] не присутствует, он логически выводится равным 0.
Порядок k экспоненциального преобразования uek(v) в двоичную форму Голомба задается равным 3.
alf_cross_component_cb_coeff_sign[j] указывает знак j-ого коэффициента кросскомпонентного Cb-фильтра следующим образом:
- Если alf_cross_component_cb_cocff_sign[j] равен 0, соответствующий коэффициент кросскомпонентного Cb-фильтра имеет положительное значение.
- Иначе (alf_cross_component_cb_coeff_sign[j] равен 1), соответствующий коэффициент кросскомпонентного Cb-фильтра имеет отрицательное значение.
Когда alf_cross_component_cb_coeff_sign[j] не присутствует, он логически выводится равным 0.
Коэффициенты AlfCCCoeffCb[adaptation_parameter_set_id] кросскомпонентного Cb-фильтра с элементами AlfCCCoeffCb[adaptation_parameter_set_id][j], причем j=0...13, извлекаются следующим образом:
AlfCCCoeffCb[adaplation_parameter_set_id][j]=alf_cross_component_cb_coeff_abs[j]*(l-2*alf_cross_component_cb_coeff_sign[j])
Требование соответствия потока битов заключается в том, что значения AlfCCCoeffCb[adaptation_parameter_set_id][j], причем j=0...13, должны составлять в диапазоне от -210-1 до 210-1, включительно.
alf_cross_component_cr_coeff_abs[j] указывает абсолютное значение j-ого коэффициента передаваемого в служебных сигналах кросскомпонентного Cr-фильтра. Когда alf_cross_component_cr_coeff_abs[j] не присутствует, он логически выводится равным 0.
Порядок k экспоненциального преобразования uek(v) в двоичную форму Голомба задается равным 3.
[271]
alf_cross_component_cr_coeff_sign[j] указывает знак j-ого коэффициента кросскомпонентного Cr-фильтра следующим образом:
- Если alf_cross_component_cr_coeff_sign[j] равен 0, соответствующий коэффициент кросскомпонентного Cr-фильтра имеет положительное значение.
- Иначе (alf_cross_component_cr_coeff_sign[j] равен 1), соответствующий коэффициент кросскомпонентного Cr-фильтра имеет отрицательное значение.
Когда alf_cross_component_cr_coeff_sign[j] не присутствует, он логически выводится равным 0.
Коэффициенты AlfCCCoeffCr[adaplalion_parameter_set_id] кросскомпонентного Cr-фильтра с элементами AlfCCCoeffcr[adaptation_parameter_set_id][j], причем j=0...13, извлекаются следующим образом:
AlfCCCoeffcr[adaptation_parameter_set_id][j]=alf_cross_component_cr_coeff_abs[j]*(l-2*alf_cross_component_cr_coeff_sign[j])
Требование соответствия потока битов заключается в том, что значения AlfCCCoeffCr[adaptation_parameter_set_id][j], причем j=0...13, должны составлять в диапазоне от -210-1 до 210-1, включительно.
[272] Следующая таблица показывает синтаксис, связанный с ALF-данными согласно другому примеру.
[273] Табл. 23
[274] Следующая таблица показывает примерную семантику для синтаксических элементов, включенных в вышеприведенную таблицу.
[275] Табл. 24
alf_cross_component_cb_filter_signal_flag, равный i, указывает то, что набор кросскомпонентных Cb-фильтров передается в служебных сигналах; alf_cross_componenl_cb_filter_signal_flag, равный 0, указывает то, что кросскомпонентный набор Cb-фильтров не передается в служебных сигналах. Когда alf_cross_component_cb_filter_signal_flag не присутствует, он логически выводится равным 0.
alf_cross_cotnponent_cr_filter_signal_flag, равный 1, указывает то, что набор кросскомпонентных Cr-фильтров передается в служебных сигналах, alf_cross_component_cr_filter_signal_flag, равный 0, указывает то, что набор кросскомпонентных Cr-фильтров не передается в служебных сигналах. Когда alf_cross_component_cr_filter_signal_flag не присутствует, он логически выводится равным 0.
alf_cb_num_alt_filters_minus1 плюс 1 указывает число альтернативных кросскомпонентных адаптивных контурных фильтров для Cb-компонентов.
alf_cross_component_cb_coeff_abs[j] указывает абсолютное значение j-ого коэффициента передаваемого в служебных сигналах кросскомпонентного Cb-фильтра. Когда alf_cross_component_cb_coeff_abs[j] не присутствует, он логически выводится равным 0.
Порядок k экспоненциального преобразования uek(v) в двоичную форму Голомба задается равным 3.
alf_cross_component_cb_coeff_sign[j] указывает знак j-ого коэффициента кросскомпонентного Cb-фильтра следующим образом:
- Если alf_cross_component_cb_cocff_sign[j] равен 0, соответствующий коэффициент кросскомпонентного Cb-фильтра имеет положительное значение.
- Иначе (alf_cross_component_cb_coeff_sign[j] равен 1), соответствующий коэффициент кросскомпонентного Cb-фильтра имеет отрицательное значение.
Когда alf_cross_component_cb_coeff_sign[j] не присутствует, он логически выводится равным 0.
Коэффициенты AlfCCCoeffCb[adaptation_parameter_set_id] кросскомпонентного Cb-фильтра с элементами AlfCCCoeffCb[adaptation_parameter_set_id][j], причем j=0...13, извлекаются следующим образом:
AlfCCCoeffCb[adaptation_parameter_set_id][j]=alf_cross_component_cb_coeff_abs[j]*(l-2*alf_cross_component_cb_coeff_sign[j])
Требование соответствия потока битов заключается в том, что значения AlfCCCoeffCb[adaptation_parameter_sel_id][j], причем j=0...13, должны составлять в диапазоне от -210-1 до 210-1, включительно.
alf_cr_num_alt_filters_minus1 плюс 1 указывает число альтернативных кросскомпонентных адаптивных контурных фильтров для Cr-компонентов.
alf_cross_component_cr_coeff_abs[j] указывает абсолютное значение j-ого коэффициента передаваемого в служебных сигналах кросскомпонентного Cr-фильтра. Когда alf_cross_component_cr_coeff_abs[j] не присутствует, он логически выводится равным 0.
Порядок k экспоненциального преобразования uek(v) в двоичную форму Голомба задается равным 3.
[276]
alf_cross_component_cr_coeff_sign[j] указывает знак j-ого коэффициента кросскомпонентного Cr-фильтра следующим образом:
- Если alf_cross_component_cr_coeff_sign[j] равен 0, соответствующий коэффициент кросскомпонентного Cr-фильтра имеет положительное значение.
- Иначе (alf_cross_component_cr_coeff_sign[j] равен 1), соответствующий коэффициент кросскомпонентного Cr-фильтра имеет отрицательное значение.
Когда alf_cross_component_cr_coeff_sign[j] не присутствует, он логически выводится равным 0.
Коэффициенты AlfCCCocffCr[adaptation_parameter_set_id] кросскомпонентного Cr-фильтра с элементами AlfCCCoeffCr[adaptation_parameter_set_id][j], причем j=0...13, извлекаются следующим образом:
AffCCCoeffCr[adaptation_parameter_set_id][j]=alf_cross_component_cr_coeff_abs[j]*(l-2*alf_cross_component_cr_coeff_sign[j])
Требование соответствия потока битов заключается в том, что значения AlfCCCoeffCr[adaptation_parameter_set_id][j], причем j=0...13, должны составлять в диапазоне от -210-1 до 210-1, включительно.
[277] В вышеприведенных двух таблицах, порядок экспоненциального код Голомба преобразования в двоичную форму для синтаксического анализа синтаксиса alf_cross_component_cb_coeff_abs[j] и alf_cross_component_cr_coeff_abs[j] может задаваться посредством одного из 0-9 значений.
[278] Ссылаясь на вышеприведенные две таблицы, ALF-данные могут включать в себя флаг передачи в служебных сигналах Cb-фильтров (alf_cross_component_cb_filter_signal_flag или alf_cc_cb_filter_signal_flag), связанный с тем, передаются в служебных сигналах или нет кросскомпонентные фильтры для цветового Cb-компонента. На основе флага передачи в служебных сигналах Cb-фильтров (alf_cross_component_cb_filter_signal_flag), ALF-данные могут включать в себя информацию (ccalf_cb_num_alt_filters_minus1), связанную с числом кросскомпонентных фильтров для цветового Cb-компонента. На основе информации, связанной с числом кросскомпонентных фильтров для цветового Cb-компонента, ALF-данные могут включать в себя информацию (alf_cross_component_cb_coeff_abs) относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cb-компонента и информацию (alf_cross_component_cr_coeff_sign) относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cb-компонента. На основе информации относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cb-компонента и информации относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cb-компонента, могут извлекаться коэффициенты кросскомпонентного фильтра для цветового Cb-компонента.
[279] В примере, ALF-данные могут включать в себя флаг передачи в служебных сигналах Cr-фильтров (alf_cross_component_cr_filter_signal_flag или alf_cc_cr_filter_signal_flag), связанный с тем, передаются в служебных сигналах или нет кросскомпонентные фильтры для цветового Cr-компонента. На основе флага передачи в служебных сигналах Cr-фильтров (alf_cross_component_cr_filter_signal_flag), ALF-данные могут включать в себя информацию (ccalf_cr_num_alt_filters_minus1), связанную с числом кросскомпонентных фильтров для цветового Cr-компонента. На основе информации, связанной с числом кросскомпонентных фильтров для цветового Cr-компонента, ALF-данные могут включать в себя информацию (alf_cross_component_cr_coeff_abs) относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cr-компонента и информацию (alf_cross_component_cr_coeff_sign) относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cr-компонента. На основе информации относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cr-компонента и информации относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cr-компонента, могут извлекаться коэффициенты кросскомпонентного фильтра для цветового Cr-компонента.
[280] Следующая таблица показывает синтаксис относительно единицы дерева кодирования согласно варианту осуществления настоящего раскрытия.
[281] Табл. 25
[282] Следующая таблица показывает примерную семантику для синтаксических элементов, включенных в вышеприведенную таблицу.
[283] Табл. 26
ccalf_ctb_flag[chromaIdx][xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY], равный 1, указывает то, что кросскомпонентный адаптивный контурный фильтр применяется к блоку дерева кодирования компонента сигналов цветности, указываемого посредством chromaIdx, равного 0 для Cb и равного 1 для Cr, для единицы дерева кодирования в местоположении (xCtb, yCtb) сигнала яркости; ccalf_ctb_flag[chromaIdx][xCtb>>CtbLog2SizeY][yCtb>>, CtbLog2SizeY], равный 0, указывает то, что адаптивный контурный фильтр не применяется к блоку дерева кодирования компонента сигналов цветности, указываемого посредством chromaIdx единицы дерева кодирования в местоположении (xCtb, yCtb) сигнала яркости.
Когда ccalf_ctb_flag[cIdx][xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY] не присутствует, он логически выводится равным 0.
[284] Следующая таблица показывает синтаксис единиц дерева кодирования согласно другому примеру этого варианта осуществления.
[285] Табл. 27
[286] Обращаясь к вышеприведенной таблице, CCALF может применяться в единицах CTU. В примере, информация изображений может включать в себя информацию (coding_tree_unit()) относительно единицы дерева кодирования. Информация относительно единицы дерева кодирования может включать в себя информацию (ccalf_ctb_flag[0) относительно того, применяется или нет кросскомпонентный фильтр к текущему блоку цветового Cb-компонента, и/или информацию (ccalf_ctb_flag[1]) относительно того, применяется или нет кросскомпонентный фильтр к текущему блоку цветового Cr-компонента. Помимо этого, информация относительно единицы дерева кодирования может включать в себя информацию (ccalf_ctb_filter_alt_idx[0) относительно индекса набора фильтров для кросскомпонентного фильтра, применяемого к текущему блоку цветового Cb-компонента, и/или информацию (ccalf_ctb_filter_alt_idx[1]) относительно индекса набора фильтров для кросскомпонентного фильтра, применяемого к текущему блоку цветового Cr-компонента. Синтаксис может адаптивно передаваться согласно синтаксису slice_ccalf_enabled_flag и slice_ccalf_chroma_idc.
[287] Следующая таблица показывает синтаксис единиц дерева кодирования согласно другому примеру этого варианта осуществления.
[288] Табл. 28
[289] Следующая таблица показывает примерную семантику для синтаксических элементов, включенных в вышеприведенную таблицу.
[290] Табл. 29
ccalf_ctb_flag[chromaIdx][xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY], равный 1, указывает то, что кросскомпонентный адаптивный контурный фильтр применяется к блоку дерева кодирования компонента сигналов цветности, указываемого посредством chromaIdx, равного 0 для Cb и равного 1 для Cr, для единицы дерева кодирования в местоположении (xCtb, yCtb) сигнала яркости; ccalf_ctb_flag[cIdx][xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY], равный 0, указывает то, что адаптивный контурный фильтр не применяется к блоку дерева кодирования компонента сигналов цветности, указываемого посредством chromaIdx единицы дерева кодирования в местоположении (xCtb, yCtb) сигнала яркости.
Когда ccalf_ctb_flag[cIdx][xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY] не присутствует, он логически выводится равным 0.
ccalf_ctb_filter_alt_idx[chromaIdx][xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY] указывает индекс альтернативного кросскомпонентного адаптивного контурного фильтра, применяемого к блоку дерева кодирования компонента сигналов цветности, при этом chromaIdx равен 0 для Cb, и chromaIdx равен 1 для Cr, для единицы дерева кодирования в местоположении (xCtb, yCtb) сигнала яркости. Когда ccalf_ctb_filter_alt_idx[chromaIdx][xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY] не присутствует, он логически выводится равным нулю.
[291] Следующая таблица показывает синтаксис единиц дерева кодирования согласно другому примеру этого варианта осуществления. Синтаксические элементы, включенные в нижеприведенную таблицу, могут описываться согласно таблице 29.
[292] Табл. 30
[293] В примере, информация изображений может включать в себя информацию относительно единицы дерева кодирования (coding_tree_unit()). Информация относительно единицы дерева кодирования может включать в себя информацию относительно того, применяется или нет кросскомпонентный фильтр к текущему блоку цветового Cb-компонента (ccalf_ctb_flag[0), и/или информацию (ccalf_ctb_flag[1]) относительно того, применяется или нет кросскомпонентный фильтр к текущему блоку цветового Cr-компонента. Помимо этого, информация относительно единицы дерева кодирования может включать в себя информацию (ccalf_ctb_filter_alt_idx[0) относительно индекса набора фильтров для кросскомпонентного фильтра, применяемого к текущему блоку цветового Cb-компонента, и/или информацию (ccalf_ctb_filter_alt_idx[1]) относительно индекса набора фильтров для кросскомпонентного фильтра, применяемого к текущему блоку цветового Cr-компонента.
[294] Фиг. 12 и 13 схематично показывают пример способа кодирования видео/изображений и связанных компонентов согласно варианту(ам) осуществления настоящего раскрытия. Способ, раскрытый на фиг. 12, может осуществляться посредством оборудования кодирования, раскрытого на фиг. 2 или фиг. 13. В частности, например, S1200 и S1210 по фиг. 12 могут выполняться посредством модуля 220 прогнозирования оборудования кодирования, и S1220-S1240 по фиг. 12 могут выполняться посредством остаточного процессора 230 оборудования кодирования. S1250 может выполняться посредством сумматора 250 оборудования кодирования, S1260 может выполняться посредством фильтра 260 оборудования кодирования, и S1270 может выполняться посредством энтропийного кодера 240 оборудования кодирования. Способ, раскрытый на фиг. 12, может включать в себя варианты осуществления, описанные выше в настоящем раскрытии.
[295] Ссылаясь на фиг. 12, оборудование кодирования может извлекать прогнозные выборки (S1200). Прогнозные выборки могут включать в себя прогнозные выборки сигналов яркости и прогнозные выборки сигналов цветности. Оборудование кодирования может извлекать прогнозные выборки текущего блока на основе режима прогнозирования. В этом случае, могут применяться различные способы прогнозирования, раскрытые в настоящем раскрытии, такие как взаимное прогнозирование или внутреннее прогнозирование.
[296] Оборудование кодирования может формировать связанную с прогнозированием информацию (S1210). Оборудование кодирования может формировать связанную с прогнозированием информацию на основе прогнозных выборок и/или режима, применяемого к ним. Связанная с прогнозированием информация может включать в себя информацию относительно различных режимов прогнозирования (например, режим объединения, MVP-режим и т.д.), MVD-информацию и т.п.
[297] Оборудование кодирования может формировать остаточные выборки (S1220). Остаточные выборки могут включать в себя остаточные выборки сигналов яркости и остаточные выборки сигналов цветности. Оборудование кодирования может извлекать остаточные выборки для текущего блока, и остаточные выборки для текущего блока могут извлекаться на основе исходных выборок текущего блока и прогнозных выборок.
[298] Оборудование кодирования может извлекать (квантованные) коэффициенты преобразования (S1230). Оборудование кодирования может извлекать коэффициенты преобразования на основе процедуры преобразования для остаточных выборок. Коэффициенты преобразования могут включать в себя коэффициенты преобразования сигнала яркости и коэффициенты преобразования сигнала цветности. Например, коэффициенты преобразования сигнала яркости могут извлекаться на основе остаточных выборок сигналов яркости, и коэффициенты преобразования сигнала цветности могут извлекаться на основе остаточных выборок сигналов цветности. Например, процедура преобразования может включать в себя по меньшей мере одно из DCT, DST, GBT или CNT. Оборудование кодирования может извлекать квантованные коэффициенты преобразования. Оборудование кодирования может извлекать квантованные коэффициенты преобразования на основе процедуры квантования для коэффициентов преобразования. Квантованные коэффициенты преобразования могут иметь одномерную векторную форму на основе порядка сканирования коэффициентов.
[299] Оборудование кодирования может формировать остаточную информацию (S1240). Оборудование кодирования может формировать остаточную информацию, указывающую квантованные коэффициенты преобразования. Остаточная информация может формироваться через различные способы кодирования, такие как экспоненциальный код Голомба, CAVLC, CABAC и т.п.
[300] Оборудование кодирования может формировать восстановленные выборки (S1250). Восстановленные выборки могут включать в себя восстановленные выборки сигналов яркости (компоненты сигналов яркости восстановленных выборок) и/или восстановленные выборки сигналов цветности (компоненты сигналов цветности восстановленных выборок). Оборудование кодирования может формировать восстановленные выборки на основе остаточной информации. Восстановленные выборки могут формироваться посредством суммирования остаточных выборок на основе остаточной информации с прогнозной выборкой.
[301] Оборудование кодирования может формировать связанную с ALF информацию и/или связанную с CCALF информацию (S1260). Оборудование кодирования может формировать связанную с ALF информацию и/или связанную с CCALF информацию для восстановленных выборок. Оборудование кодирования извлекает связанный с ALF параметр, который может применяться для фильтрации восстановленных выборок, и формирует связанную с ALF информацию. Например, связанная с ALF информация может включать в себя связанную с ALF информацию, описанную выше в настоящем раскрытии. Оборудование кодирования может формировать связанную с CCALF информацию для восстановленных выборок сигналов цветности из восстановленных выборок.
[302] Оборудование кодирования может кодировать информацию видео/изображений (S1270). Информация изображений может включать в себя остаточную информацию и/или связанную с ALF информацию. Кодированная информация видео/изображений может выводиться в форме потока битов. Поток битов может передаваться в оборудование декодирования через сеть или носитель хранения данных.
[303] В примере, связанная с CCALF информация может включать в себя флаг CCALF-активации, флаг, связанный с тем, доступна или нет CCALF для цветового Cb-(или Cr-)компонента, флаг передачи в служебных сигналах Cb-(или Cr-)фильтров, связанный с тем, передаются в служебных сигналах или нет кросскомпонентные фильтры для цветового Cb-(или Cr-)компонента, информацию, связанную с числом кросскомпонентных фильтров для цветового Cb-(или Cr-)компонента, информацию относительно значений коэффициентов кросскомпонентного фильтра для цветового Cb-(или Cr-)компонента, информацию относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cb-(или Cr-)компонента, информацию относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cb-(или Cr-)компонента и/или информацию относительно того, применяется или нет кросскомпонентный фильтр к текущему блоку цветового Cb-(или Cr-)компонента в информации (синтаксисе единиц дерева кодирования) относительно единицы дерева кодирования.
[304] Информация изображений/видео может включать в себя различные типы информации согласно варианту осуществления настоящего документа. Например, информация изображений/видео может включать в себя информацию, раскрытую по меньшей мере в одной из таблиц 1-30, описанных выше.
[305] В варианте осуществления, информация изображений может включать в себя набор параметров последовательности (SPS). SPS может включать в себя флаг CCALF-активации, связанный с тем, доступна или нет кросскомпонентная фильтрация. На основе флага CCALF-доступности, может извлекаться идентификационная информация (информация идентификатора) наборов параметров адаптации (APS), включающая в себя ALF-данные, используемые для извлечения коэффициентов кросскомпонентного фильтра для CCALF.
[306] В варианте осуществления, SPS может включать в себя флаг ALF-активации (sps_alf_enabled_flag), связанный с тем, доступна или нет ALF. На основе определения того, что значение флага ALF-активации (sps_alf_enabled_flag) равно 1, SPS может включать в себя флаг CCALF-активации, связанный с тем, доступна или нет кросскомпонентная фильтрация.
[307] В варианте осуществления, информация изображений может включать в себя информацию заголовка среза и набор параметров адаптации (APS). Информация заголовка может включать в себя информацию, связанную с идентификатором APS, включающую в себя ALF-данные. Например, коэффициенты кросскомпонентного фильтра могут извлекаться на основе ALF-данных.
[308] В варианте осуществления, информация заголовка среза может включать в себя флаг ALF-активации (slice_alf_enabled_flag), связанный с тем, доступна или нет ALF. Sps_alf_enabled_flag и slice_alf_enabled_flag могут называться "первым флагом ALF-активации" и "вторым флагом ALF-активации", соответственно. На основе определения того, что значение второго флага ALF-активации (slice_alf_enabled_flag) равно 1, может определяться то, равно или нет значение флага CCALF-активации 1. В примере, на основе определения того, что значение второго флага доступности ALF равно 1, CCALF может быть доступна для среза.
[309] В варианте осуществления, информация заголовка (информация заголовка среза) может включать в себя первый флаг, связанный с тем, доступна или нет CCALF для цветового Cb-компонента фильтрованных восстановленных выборок сигналов цветности, и второй флаг, связанный с тем, доступна или нет CCLF для цветового Cr-компонента фильтрованных восстановленных выборок сигналов цветности. В другом примере, на основе определения того, что значение флага ALF-активации (slice_alf_enabled_flag) равно 1, информация заголовка (информация заголовка среза) может включать в себя первый флаг, связанный с тем, доступна или нет CCALF для цветового Cb-компонента фильтрованных восстановленных выборок сигналов цветности, и второй флаг, связанный с тем, доступна или нет CCLF для цветового Cr-компонента фильтрованных восстановленных выборок сигналов цветности.
[310] В варианте осуществления, на основе определения того, что значение первого флага равно 1, информация заголовка среза может включать в себя идентификационную информацию (информацию, связанную с идентификатором второго APS) первого APS для извлечения коэффициентов кросскомпонентного фильтра для цветового Cb-компонента. На основе определения того, что значение второго флага равно 1, информация заголовка среза может включать в себя идентификационную информацию (информацию, связанную с идентификатором второго APS) второго APS для извлечения коэффициентов кросскомпонентного фильтра для цветового Cr-компонента.
[311] В варианте осуществления, первые ALF-данные, включенные в первый APS, могут включать в себя флаг передачи в служебных сигналах Cb-фильтров, связанный с тем, передаются в служебных сигналах или нет кросскомпонентные фильтры для цветового Cb-компонента. На основе флага передачи в служебных сигналах Cb-фильтров, первые ALF-данные могут включать в себя информацию, связанную с числом кросскомпонентных фильтров для цветового Cb-компонента. На основе информации, связанной с числом кросскомпонентных фильтров для цветового Cb-компонента, первые ALF-данные могут включать в себя информацию относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cb-компонента и информацию относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cb-компонента. На основе информации относительно информации относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cb-компонента и информации относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cb-компонента, могут извлекаться коэффициенты кросскомпонентного фильтра для цветового Cb-компонента.
[312] В варианте осуществления, информация, связанная с числом кросскомпонентных фильтров для цветового Cb-компонента, может кодироваться экспоненциальным кодом Голомба нулевого порядка (нулевым EG).
[313] В варианте осуществления, вторые ALF-данные, включенные во второй APS, могут включать в себя флаг передачи в служебных сигналах Cr-фильтров, связанный с тем, передаются в служебных сигналах или нет кросскомпонентные фильтры для цветового Cr-компонента. На основе флага передачи в служебных сигналах Cr-фильтров, вторые ALF-данные могут включать в себя информацию, связанную с числом кросскомпонентных фильтров для цветового Cr-компонента. На основе информации, связанной с числом кросскомпонентных фильтров для цветового Cr-компонента, вторые ALF-данные могут включать в себя информацию относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cr-компонента и информацию относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cr-компонента. На основе абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cr-компонента и информации относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cr-компонента, могут извлекаться коэффициенты кросскомпонентного фильтра для цветового Cr-компонента.
[314] В варианте осуществления, информация, связанная с числом кросскомпонентных фильтров для цветового Cr-компонента, может кодироваться экспоненциальным кодом Голомба нулевого порядка (нулевым EG).
[315] В варианте осуществления, информация изображений может включать в себя информацию относительно единицы дерева кодирования. Информация относительно единицы дерева кодирования может включать в себя информацию относительно того, применяется или нет кросскомпонентный фильтр к текущему блоку цветового Cb-компонента, и/или информацию относительно того, применяется или нет кросскомпонентный фильтр к текущему блоку цветового Cr-компонента.
[316] В варианте осуществления, информация относительно единицы дерева кодирования может включать в себя информацию относительно индекса набора фильтров для кросскомпонентного фильтра, применяемого к текущему блоку цветового Cb-компонента, и/или информацию относительно индекса набора фильтров для кросскомпонентного фильтра, применяемого к текущему блоку цветового Cr-компонента.
[317] Фиг. 14 и 15 схематично показывают пример способа декодирования видео/изображений и связанных компонентов согласно варианту(ам) осуществления настоящего раскрытия.
[318] Способ, раскрытый на фиг. 14, может осуществляться посредством оборудования декодирования, проиллюстрированного на фиг. 3 или 15. В частности, например, S1400 по фиг. 14 может выполняться посредством энтропийного декодера 310 оборудования декодирования, S1410 и S1420 могут выполняться посредством остаточного процессора 320 оборудования декодирования, S1430 может выполняться посредством модуля 330 прогнозирования оборудования декодирования, S1440 может выполняться посредством сумматора 340 оборудования декодирования, и S1450-S1480 могут выполняться посредством фильтра 350 оборудования декодирования. Способ, раскрытый на фиг. 14, может включать в себя варианты осуществления, описанные выше, в настоящем раскрытии.
[319] Ссылаясь на фиг. 14, оборудование декодирования может принимать/получать информацию видео/изображений (S1400). Информация видео/изображений может включать в себя связанную с прогнозированием информацию и/или остаточную информацию. Оборудование декодирования может принимать/получать информацию изображений/видео через поток битов. В примере, информация видео/изображений дополнительно может включать в себя CCAL-связанную информацию. Например, в примере, связанная с CCALF информация может включать в себя флаг CCALF-активации, флаг, связанный с тем, доступна или нет CCALF для цветового Cb-(или Cr-)компонента, флаг передачи в служебных сигналах Cb-(или Cr-)фильтров, связанный с тем, передаются в служебных сигналах или нет кросскомпонентные фильтры для цветового Cb-(или Cr-)компонента, информацию, связанную с числом кросскомпонентных фильтров для цветового Cb-(или Cr-)компонента, информацию относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cb-(или Cr-)компонента, информацию относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cb-(или Cr-)компонента и/или информацию относительно того, применяется или нет кросскомпонентный фильтр к текущему блоку цветового Cb-(или Cr-)компонента в информации (синтаксисе единиц дерева кодирования) относительно единицы дерева кодирования.
[320] Информация изображений/видео может включать в себя различные типы информации согласно варианту осуществления настоящего документа. Например, информация изображений/видео может включать в себя информацию, раскрытую по меньшей мере в одной из таблиц 1-30, описанных выше.
[321] Оборудование декодирования может извлекать коэффициенты преобразования (S1410). В частности, оборудование декодирования может извлекать квантованные коэффициенты преобразования на основе остаточной информации. Коэффициенты преобразования могут включать в себя коэффициенты преобразования сигнала яркости и коэффициенты преобразования сигнала цветности. Квантованные коэффициенты преобразования могут иметь одномерную векторную форму на основе порядка сканирования коэффициентов. Оборудование декодирования может извлекать коэффициенты преобразования на основе процедуры деквантования для квантованных коэффициентов преобразования.
[322] Оборудование декодирования может извлекать остаточные выборки (S1420). Оборудование декодирования может извлекать остаточные выборки на основе коэффициентов преобразования. Остаточные выборки могут включать в себя остаточные выборки сигналов яркости и остаточные выборки сигналов цветности. Например, остаточные выборки сигналов яркости могут извлекаться на основе коэффициентов преобразования сигнала яркости, и остаточные выборки сигналов цветности могут извлекаться на основе коэффициентов преобразования сигнала цветности. Помимо этого, остаточные выборки для текущего блока могут извлекаться на основе исходных выборок и прогнозных выборок текущего блока.
[323] Оборудование декодирования может выполнять прогнозирование на основе информации изображений/видео и извлекать прогнозные выборки текущего блока (S1430). Оборудование декодирования может извлекать прогнозные выборки текущего блока на основе связанной с прогнозированием информации. Связанная с прогнозированием информация может включать в себя информацию режима прогнозирования. Оборудование декодирования может определять то, применяется или нет взаимное прогнозирование или внутреннее прогнозирование к текущему блоку, на основе информации режима прогнозирования и может выполнять прогнозирование на основе этого. Прогнозные выборки могут включать в себя прогнозные выборки сигналов яркости и/или прогнозные выборки сигналов цветности.
[324] Оборудование декодирования может формировать/извлекать восстановленные выборки (S1440). Восстановленные выборки могут включать в себя восстановленные выборки сигналов яркости и/или восстановленные выборки сигналов цветности. Оборудование декодирования может формировать восстановленные выборки сигналов яркости (или сигналов цветности) на основе остаточных выборок. Компоненты сигналов яркости восстановленных выборок могут соответствовать восстановленным выборкам сигналов яркости, и компоненты сигналов цветности восстановленных выборок могут соответствовать восстановленным выборкам сигналов цветности.
[325] Оборудование декодирования может извлекать коэффициенты ALF-фильтра для ALF-процедуры восстановленных выборок сигналов цветности (S1450). Помимо этого, оборудование декодирования может извлекать коэффициенты ALF-фильтра для ALF-процедуры восстановленных выборок сигналов яркости. Коэффициенты ALF-фильтра могут извлекаться на основе ALF-параметров, включенных в ALF-данные в APS.
[326] Оборудование декодирования может формировать фильтрованные восстановленные выборки сигналов цветности (S1460). Оборудование декодирования может формировать фильтрованные восстановленные выборки на основе восстановленных выборок сигналов цветности и коэффициентов ALF-фильтра.
[327] Оборудование декодирования может извлекать коэффициенты кросскомпонентного фильтра для кросскомпонентной фильтрации (S1470). Коэффициенты кросскомпонентного фильтра могут извлекаться на основе связанной с CCALF информации в ALF-данных, включенных в вышеуказанный APS, и идентификационная информация соответствующего APS может включаться в заголовок среза (может передаваться в служебных сигналах через него).
[328] Оборудование декодирования может формировать модифицированные фильтрованные восстановленные выборки сигналов цветности (S1480). Оборудование декодирования может формировать модифицированные и фильтрованные восстановленные выборки сигналов цветности на основе восстановленных выборок сигналов яркости, фильтрованных восстановленных выборок сигналов цветности и коэффициентов кросскомпонентного фильтра. В примере, оборудование декодирования может извлекать разность между двумя выборками из восстановленных выборок сигналов яркости и умножать разность на один коэффициент фильтра из коэффициентов кросскомпонентного фильтра. На основе результата умножения и фильтрованных восстановленных выборок сигналов цветности, оборудование декодирования может формировать модифицированные фильтрованные восстановленные выборки сигналов цветности. Например, оборудование декодирования может формировать модифицированные фильтрованные восстановленные выборки сигналов цветности на основе суммы произведения и одной из фильтрованных восстановленных выборок сигналов цветности.
[329] В варианте осуществления, информация изображений может включать в себя набор параметров последовательности (SPS). SPS может включать в себя флаг CCALF-активации, связанный с тем, доступна или нет кросскомпонентная фильтрация. На основе флага CCALF-доступности, может извлекаться идентификационная информация (информация идентификатора) наборов параметров адаптации (APS), включающая в себя ALF-данные, используемые для извлечения коэффициентов кросскомпонентного фильтра для CCALF.
[330] В варианте осуществления, SPS может включать в себя флаг ALF-активации (sps_alf_enabled_flag), связанный с тем, доступна или нет ALF. На основе определения того, что значение флага ALF-активации (sps_alf_enabled_flag) равно 1, SPS может включать в себя флаг CCALF-активации, связанный с тем, доступна или нет кросскомпонентная фильтрация.
[331] В варианте осуществления, информация изображений может включать в себя информацию заголовка среза и набор параметров адаптации (APS). Информация заголовка может включать в себя информацию, связанную с идентификатором APS, включающую в себя ALF-данные. Например, коэффициенты кросскомпонентного фильтра могут извлекаться на основе ALF-данных.
[332] В варианте осуществления, информация заголовка среза может включать в себя флаг ALF-активации (slice_alf_enabled_flag), связанный с тем, доступна или нет ALF. Sps_alf_enabled_flag и slice_alf_enabled_flag могут называться "первым флагом ALF-активации" и "вторым флагом ALF-активации", соответственно. На основе определения того, что значение второго флага ALF-активации (slice_alf_enabled_flag) равно 1, может определяться то, равно или нет значение флага CCALF-активации 1. В примере, на основе определения того, что значение второго флага доступности ALF равно 1, CCALF может быть доступна для среза.
[333] В варианте осуществления, информация заголовка (информация заголовка среза) может включать в себя первый флаг, связанный с тем, доступна или нет CCALF для цветового Cb-компонента фильтрованных восстановленных выборок сигналов цветности, и второй флаг, связанный с тем, доступна или нет CCLF для цветового Cr-компонента фильтрованных восстановленных выборок сигналов цветности. В другом примере, на основе определения того, что значение флага ALF-активации (slice_alf_enabled_flag) равно 1, информация заголовка (информация заголовка среза) может включать в себя первый флаг, связанный с тем, доступна или нет CCALF для цветового Cb-компонента фильтрованных восстановленных выборок сигналов цветности, и второй флаг, связанный с тем, доступна или нет CCLF для цветового Cr-компонента фильтрованных восстановленных выборок сигналов цветности.
[334] В варианте осуществления, на основе определения того, что значение первого флага равно 1, информация заголовка среза может включать в себя идентификационную информацию (информацию, связанную с идентификатором второго APS) первого APS для извлечения коэффициентов кросскомпонентного фильтра для цветового Cb-компонента. На основе определения того, что значение второго флага равно 1, информация заголовка среза может включать в себя идентификационную информацию (информацию, связанную с идентификатором второго APS) второго APS для извлечения коэффициентов кросскомпонентного фильтра для цветового Cr-компонента.
[335] В варианте осуществления, первые ALF-данные, включенные в первый APS, могут включать в себя флаг передачи в служебных сигналах Cb-фильтров, связанный с тем, передаются в служебных сигналах или нет кросскомпонентные фильтры для цветового Cb-компонента. На основе флага передачи в служебных сигналах Cb-фильтров, первые ALF-данные могут включать в себя информацию, связанную с числом кросскомпонентных фильтров для цветового Cb-компонента. На основе информации, связанной с числом кросскомпонентных фильтров для цветового Cb-компонента, первые ALF-данные могут включать в себя информацию относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cb-компонента и информацию относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cb-компонента. На основе информации относительно информации относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cb-компонента и информации относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cb-компонента, могут извлекаться коэффициенты кросскомпонентного фильтра для цветового Cb-компонента.
[336] В варианте осуществления, информация, связанная с числом кросскомпонентных фильтров для цветового Cb-компонента, может кодироваться экспоненциальным кодом Голомба нулевого порядка (нулевым EG).
[337] В варианте осуществления, вторые ALF-данные, включенные во второй APS, могут включать в себя флаг передачи в служебных сигналах Cr-фильтров, связанный с тем, передаются в служебных сигналах или нет кросскомпонентные фильтры для цветового Cr-компонента. На основе флага передачи в служебных сигналах Cr-фильтров, вторые ALF-данные могут включать в себя информацию, связанную с числом кросскомпонентных фильтров для цветового Cr-компонента. На основе информации, связанной с числом кросскомпонентных фильтров для цветового Cr-компонента, вторые ALF-данные могут включать в себя информацию относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cr-компонента и информацию относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cr-компонента. На основе абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cr-компонента и информации относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cr-компонента, могут извлекаться коэффициенты кросскомпонентного фильтра для цветового Cr-компонента.
[338] В варианте осуществления, информация, связанная с числом кросскомпонентных фильтров для цветового Cr-компонента, может кодироваться экспоненциальным кодом Голомба нулевого порядка (нулевым EG).
[339] В варианте осуществления, информация изображений может включать в себя информацию относительно единицы дерева кодирования. Информация относительно единицы дерева кодирования может включать в себя информацию относительно того, применяется или нет кросскомпонентный фильтр к текущему блоку цветового Cb-компонента, и/или информацию относительно того, применяется или нет кросскомпонентный фильтр к текущему блоку цветового Cr-компонента.
[340] В варианте осуществления, информация относительно единицы дерева кодирования может включать в себя информацию относительно индекса набора фильтров для кросскомпонентного фильтра, применяемого к текущему блоку цветового Cb-компонента, и/или информацию относительно индекса набора фильтров для кросскомпонентного фильтра, применяемого к текущему блоку цветового Cr-компонента.
[341] Когда имеется остаточная выборка для текущего блока, оборудование декодирования может принимать информацию относительно остатка для текущего блока. Информация относительно остатка может включать в себя коэффициенты преобразования для остаточных выборок. Оборудование декодирования может извлекать остаточные выборки (или массив остаточных выборок) для текущего блока на основе остаточной информации. В частности, оборудование декодирования может извлекать квантованные коэффициенты преобразования на основе остаточной информации. Квантованные коэффициенты преобразования могут иметь одномерную векторную форму на основе порядка сканирования коэффициентов. Оборудование декодирования может извлекать коэффициенты преобразования на основе процедуры деквантования для квантованных коэффициентов преобразования. Оборудование декодирования может извлекать остаточные выборки на основе коэффициентов преобразования.
[342] Оборудование декодирования может формировать восстановленные выборки на основе (взаимных) прогнозных выборок и остаточных выборок и может извлекать восстановленный блок или восстановленный кадр на основе восстановленных выборок. Подробнее, оборудование декодирования может формировать восстановленные выборки на основе суммы (внутренних) прогнозных выборок и остаточных выборок. После этого, как описано выше, оборудование декодирования может применять процедуру внутриконтурной фильтрации, к примеру, процедуру фильтрации для удаления блочности и/или SAO, к восстановленному кадру, чтобы повышать субъективное/объективное качество кадров, при необходимости.
[343] Например, оборудование декодирования может получать информацию изображений, включающую в себя все или часть вышеуказанной информации (или синтаксических элементов), посредством декодирования потока битов или кодированной информации. Помимо этого, информация потока битов или кодированная информация может сохраняться на компьютерно-читаемом носителе хранения данных и может инструктировать осуществление вышеуказанного способа декодирования.
[344] В вышеуказанном варианте осуществления, способы описываются на основе блок-схемы последовательности операций способа, имеющей последовательность этапов или блоков. Настоящее раскрытие не ограничено порядком вышеуказанных этапов или блоков. Некоторые этапы или блоки могут возникать одновременно или в порядке, отличном от других этапов или блоков, как описано выше. Дополнительно, специалисты в данной области техники должны понимать, что этапы, показанные на вышеприведенной блок-схеме последовательности операций способа, не являются исчерпывающими, и другие этапы могут включаться, либо один или более этапов на блок-схеме последовательности операций способа могут удаляться без влияния на объем настоящего раскрытия.
[345] Способ согласно вышеуказанным вариантам осуществления настоящего раскрытия может реализовываться в программной форме, и оборудование кодирования и/или оборудование декодирования согласно настоящему раскрытию, например, может включаться в оборудование, которое выполняет обработку изображений, для телевизора, компьютера, смартфона, абонентской приставки, устройства отображения и т.д.
[346] Когда варианты осуществления в настоящем раскрытии реализуются в программном обеспечении, вышеуказанный способ может реализовываться как модуль (процесс, функция и т.д.), который выполняет вышеуказанную функцию. Модуль может сохраняться в запоминающем устройстве и выполняться посредством процессора. Запоминающее устройство может быть внутренним или внешним для процессора и может соединяться с процессором посредством различных известных средств. Процессор может включать в себя специализированную интегральную схему (ASIC), другие наборы микросхем, логические схемы и/или устройства обработки данных. Запоминающее устройство может включать в себя постоянное запоминающее устройство (ROM), оперативное запоминающее устройство (RAM), флэш-память, карты памяти, носители хранения данных и/или другие устройства хранения данных. Таким образом, варианты осуществления, описанные в настоящем раскрытии, могут выполняться посредством реализации на процессоре, микропроцессоре, контроллере или микросхеме. Например, функциональные модули, показанные на каждом чертеже, могут реализовываться и выполняться на компьютере, процессоре, микропроцессоре, контроллере или микросхеме. В этом случае, информация относительно инструкций или алгоритма для реализации может сохраняться в цифровом носителе хранения данных.
[347] Помимо этого, оборудование декодирования и оборудование кодирования, к которому применяется настоящее раскрытие, могут включаться в мультимедийное широковещательное приемо-передающее оборудование, терминал мобильной связи, видеооборудование системы домашнего кинотеатра, видеооборудование системы цифрового кинотеатра, камеру наблюдения, оборудование проведения видеочатов, оборудование связи в реальном времени, к примеру, видеосвязи, мобильное оборудование потоковой передачи, носитель хранения данных, записывающую видеокамеру, оборудование предоставления VoD-услуг, видеооборудование поверх сетей (OTT), оборудование предоставления услуг потоковой передачи по Интернету, трехмерное видеооборудование, видеооборудование телеконференц-связи, транспортировочное абонентское устройство (т.е. абонентское устройство в транспортном средстве, абонентское устройство в самолете, абонентское устройство в морском судне и т.д.) и медицинское видеооборудование, и могут использоваться для того, чтобы обрабатывать видеосигналы и сигналы данных. Например, видеоборудование поверх сетей (OTT) может включать в себя игровую приставку, Blu-Ray-проигрыватель, телевизор с доступом в Интернет, систему домашнего кинотеатра, смартфон, планшетный PC, цифровое записывающее видеоустройство (DVR) и т.п.
[348] Дополнительно, способ обработки, к которому применяется настоящее раскрытие, может создаваться в форме программы, которая должна выполняться посредством компьютера, и может сохраняться на компьютерно-читаемом носителе записи. Мультимедийные данные, имеющие структуру данных согласно настоящему раскрытию, также могут сохраняться на компьютерно-читаемых носителях записи. Компьютерно-читаемые носители записи включают в себя все типы устройств хранения данных, на которых сохраняются данные, считываемые посредством компьютерной системы. Компьютерно-читаемые носители записи, например, могут включать в себя BD, универсальную последовательную шину (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, магнитную ленту, гибкий диск и оптическое устройство хранения данных. Кроме того, компьютерно-читаемые носители записи включают в себя среды, реализованные в форме несущих волн (т.е. как передача через Интернет). Помимо этого, поток битов, сформированный посредством способа кодирования, может сохраняться на компьютерно-читаемом носителе записи или может передаваться по сетям проводной/беспроводной связи.
[349] Помимо этого, варианты осуществления настоящего раскрытия могут реализовываться с компьютерным программным продуктом согласно программным кодам, и программные коды могут выполняться в компьютере посредством вариантов осуществления настоящего раскрытия. Программные коды могут сохраняться на носителе, который может считываться посредством компьютера.
[350] Фиг. 17 показывает пример системы потоковой передачи контента, к которой могут применяться варианты осуществления, раскрытые в настоящем раскрытии.
[351] Ссылаясь на фиг. 17, система потоковой передачи контента, к которой применяется вариант(ы) осуществления настоящего раскрытия, может включать в себя, главным образом, сервер кодирования, потоковый сервер, веб-сервер, хранилище мультимедиа, пользовательское устройство и устройство ввода мультимедиа.
[352] Сервер кодирования сжимает контент, вводимый из устройств ввода мультимедиа, таких как смартфон, камера, записывающая видеокамера и т.д., в цифровые данные, чтобы формировать поток битов и передавать поток битов в потоковый сервер. В качестве другого примера, когда устройства ввода мультимедиа, к примеру, смартфоны, камеры, записывающие видеокамеры и т.д. Чтобы непосредственно формировать поток битов, сервер кодирования может опускаться.
[353] Поток битов может формироваться посредством способа кодирования или способа формирования потока битов, к которому применяется вариант(ы) осуществления настоящего раскрытия, и потоковый сервер может временно сохранять поток битов в процессе передачи или приема потока битов.
[354] Потоковый сервер передает мультимедийные данные в пользовательское устройство на основе запроса пользователя через веб-сервер, и веб-сервер служит в качестве среды для информирования пользователя в отношении услуги. Когда пользователь запрашивает требуемую услугу из веб-сервера, веб-сервер доставляет ее на потоковый сервер, и потоковый сервер передает мультимедийные данные пользователю. В этом случае, система потоковой передачи контента может включать в себя отдельный сервер управления. В этом случае, сервер управления служит для того, чтобы управлять командой/ответом между устройствами в системе потоковой передачи контента.
[355] Потоковый сервер может принимать контент из хранилища мультимедиа и/или сервера кодирования. Например, когда контент принимается из сервера кодирования, контент может приниматься в реальном времени. В этом случае, чтобы предоставлять плавную услугу потоковой передачи, потоковый сервер может сохранять поток битов в течение предварительно определенного времени.
[356] Примеры пользовательского устройства могут включать в себя мобильный телефон, смартфон, переносной компьютер, цифровой широковещательный терминал, персональное цифровое устройство (PDA), портативный мультимедийный проигрыватель (PMP), навигационное устройство, грифельный планшетный PC, планшетные PC, ультрабуки, носимые устройства (например, интеллектуальные часы, интеллектуальные очки, наголовные дисплеи), цифровые телевизоры, настольные компьютеры, систему цифровых информационных табло и т.п. Каждый сервер в системе потоковой передачи контента может работать в качестве распределенного сервера, причем в этом случае данные, принимаемые из каждого сервера, могут распределяться.
[357] Каждый сервер в системе потоковой передачи контента может работать в качестве распределенного сервера, причем в этом случае данные, принимаемые из каждого сервера, могут распределяться.
[358] Формула изобретения, описанная в данном документе, может комбинироваться различными способами. Например, технические признаки формулы изобретения на способ настоящего раскрытия могут комбинироваться и реализовываться в качестве оборудования, и технические признаки формулы изобретения на оборудование настоящего раскрытия могут комбинироваться и реализовываться в качестве способа. Помимо этого, технические признаки пункта формулы изобретения на способ настоящего раскрытия и технические признаки пункта формулы изобретения на оборудование могут комбинироваться для реализации в качестве оборудования, и технические признаки пункта формулы изобретения на способ настоящего раскрытия и технические признаки пункта формулы изобретения на оборудование могут комбинироваться и реализовываться в качестве способа.
Изобретение относится к оборудованию и к способу для кодирования изображения. Техническим результатом является повышение эффективности кодирования изображений/видео. Результат достигается тем, что процедура внутриконтурной фильтрации в процедуре кодирования изображений/видео может содержать процедуру кросскомпонентной адаптивной контурной фильтрации CCALF для повышения точности внутриконтурной фильтрации. При этом информация относительно того, доступна или нет CCALF, может передаваться в служебных сигналах в SPS, а информация относительно значений коэффициентов кросскомпонентного фильтра может извлекаться из ALF-данных (нормальных ALF-данных или CCALF-данных), причем идентификационная информация APS, включающая в себя ALF-данные для извлечения коэффициентов кросскомпонентного фильтра в срезе, может передаваться в служебных сигналах. 4 н.п. ф-лы, 16 ил., 30 табл.
1. Оборудование декодирования для декодирования
изображений, при этом оборудование декодирования содержит: запоминающее устройство; и
по меньшей мере один процессор, соединенный с запоминающим устройством, при этом по меньшей мере один процессор выполнен с возможностью:
получать информацию изображений, включающую в себя связанную с прогнозированием информацию и остаточную информацию, из потока битов;
извлекать коэффициенты преобразования на основе остаточной информации;
формировать остаточные выборки на основе коэффициентов преобразования;
формировать прогнозные выборки на основе связанной с прогнозированием информации; и
формировать восстановленные выборки на основе прогнозных выборок и остаточных выборок, причем восстановленные выборки включают в себя восстановленные выборки сигналов яркости и восстановленные выборки сигналов цветности;
извлекать коэффициенты адаптивного контурного фильтра (ALF) для ALF-процесса восстановленных выборок сигналов цветности;
формировать фильтрованные восстановленные выборки сигналов цветности на основе восстановленных выборок сигналов цветности и коэффициентов ALF-фильтра;
извлекать коэффициенты кросскомпонентного фильтра для кросскомпонентной фильтрации; и
формировать модифицированные фильтрованные восстановленные выборки сигналов цветности на основе восстановленных выборок сигналов яркости, фильтрованных восстановленных выборок сигналов цветности и коэффициентов кросскомпонентного фильтра,
при этом информация изображений включает в себя набор (SPS) параметров последовательности и информацию заголовка среза,
при этом SPS включает в себя флаг ALF-активации, связанный с тем, активируется или нет ALF-процесс,
при этом на основе значения флага ALF-активации, равного 1, SPS включает в себя флаг активации кросскомпонентного адаптивного контурного фильтра (CCALF), связанный с тем,
активирована или нет кросскомпонентная фильтрация,
при этом на основе определения того, что значение флага ALF-активации в SPS равно 1, информация заголовка среза включает в себя флаг ALF-активации, связанный с тем, активируется или нет ALF,
при этом на основе определения того, что значение флага ALF-активации, включенного в информацию заголовка среза, равно 1, и значение флага CCALF-активации, включенного в SPS, равно 1, информация заголовка среза включает в себя информацию относительно того, активируется или нет CCALF для фильтрованных восстановленных выборок сигналов цветности,
при этом на основе значения информации относительно того, активируется или нет CCALF для фильтрованных восстановленных выборок сигналов цветности, равного 1, информация заголовка среза включает в себя идентификационную информацию (ID) набора параметров адаптации (APS), связанного с CCALF для фильтрованных восстановленных выборок сигналов цветности,
при этом ALF-данные, включенные в APS, включают в себя информацию, связанную с числом кросскомпонентных фильтров для цветового Cb-компонента, и информацию, связанную с числом кросскомпонентных фильтров для цветового Сr-компонента,
при этом на основе информации, связанной с числом кросскомпонентных фильтров для цветового Cb-компонента, ALF-данные включают в себя информацию относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cb-компонента и информацию относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cb-компонента, и
при этом на основе информации, связанной с числом кросскомпонентных фильтров для цветового Сr-компонента, ALF-данные включают в себя информацию относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Сr-компонента и информацию относительно знаков коэффициентов кросскомпонентного фильтра для цветового Сr-компонента.
2. Оборудование кодирования для кодирования изображений, при этом оборудование кодирования содержит:
запоминающее устройство; и
по меньшей мере один процессор, соединенный с запоминающим устройством, при этом по меньшей мере один процессор выполнен с возможностью:
извлекать прогнозные выборки для текущего блока;
формировать связанную с прогнозированием информацию на основе прогнозных выборок;
формировать остаточные выборки для текущего блока;
извлекать коэффициенты преобразования на основе процесса преобразования для остаточных выборок;
формировать остаточную информацию на основе коэффициентов преобразования;
формировать восстановленные выборки на основе остаточных выборок и прогнозных выборок, причем восстановленные выборки включают в себя восстановленные выборки сигналов яркости и восстановленные выборки сигналов цветности;
формировать информацию, связанную с адаптивным контурным фильтром (ALF), и информацию, связанную с кросскомпонентным ALF (CCALF), для восстановленных выборок; и
кодировать информацию изображений, включающую в себя остаточную информацию, связанную с прогнозированием информацию, связанную с ALF информацию и связанную с CCALF информацию,
при этом информация изображений включает в себя набор (SPS) параметров последовательности и информацию заголовка среза,
при этом SPS включает в себя флаг ALF-активации, связанный с тем, активируется или нет ALF-процесс,
при этом на основе значения флага ALF-активации, равного 1, SPS включает в себя флаг CCALF-активации, связанный с тем, активируется или нет CCALF,
при этом на основе определения того, что значение флага ALF-активации в SPS равно 1, информация заголовка среза включает в себя флаг ALF-активации, связанный с тем, активируется или нет ALF,
при этом на основе определения того, что значение флага ALF-активации, включенного в информацию заголовка среза, равно 1, и значение флага CCALF-активации, включенного в SPS, равно 1, информация заголовка среза включает в себя информацию относительно того, активируется или нет CCALF для фильтрованных восстановленных выборок сигналов цветности,
при этом на основе значения информации относительно того, активируется или нет CCALF для фильтрованных восстановленных выборок сигналов цветности, равного 1, информация заголовка среза включает в себя идентификационную информацию (ID) набора параметров адаптации (APS), связанного с CCALF для фильтрованных восстановленных выборок сигналов цветности,
при этом ALF-данные, включенные в APS, включают в себя информацию, связанную с числом кросскомпонентных фильтров для цветового Cb-компонента, и информацию, связанную с числом кросскомпонентных фильтров для цветового Сr-компонента,
при этом на основе информации, связанной с числом кросскомпонентных фильтров для цветового Cb-компонента, ALF-данные включают в себя информацию относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cb-компонента и информацию относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cb-компонента, и
при этом на основе информации, связанной с числом кросскомпонентных фильтров для цветового Сr-компонента, ALF-данные включают в себя информацию относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Сr-компонента и информацию относительно знаков коэффициентов кросскомпонентного фильтра для цветового Сr-компонента.
3. Компьютерно-читаемый носитель хранения данных, хранящий инструкции, которые, при выполнении, вызывают осуществление способа кодирования изображения посредством оборудования кодирования для кодирования изображений по п. 2.
4. Оборудование для передачи данных для изображения, при этом оборудование содержит:
по меньшей мере один процессор, выполненный с возможностью получать поток битов для изображений, при этом поток битов формируется на основе извлечения прогнозных выборок для текущего блока, формирования связанной с прогнозированием информации на основе прогнозных выборок, формирования остаточных выборок для текущего блока, извлечения коэффициентов преобразования на основе процесса преобразования для остаточных выборок, формирования остаточной информации на основе коэффициентов преобразования, формирования восстановленных выборок на основе остаточных выборок и прогнозных выборок, причем восстановленные выборки включают в себя восстановленные выборки сигналов яркости и восстановленные выборки сигналов цветности, формирования информации, связанной с адаптивным контурным фильтром (ALF), и информации, связанной с кросскомпонентным ALF (CCALF), для восстановленных выборок, и кодирования информации изображений, включающей в себя остаточную информацию, связанную с прогнозированием информацию, связанную с ALF информацию и связанную с CCALF информацию; и
передатчик, выполненный с возможностью передавать данные, содержащие поток битов;
при этом информация изображений включает в себя набор параметров последовательности (SPS) и информацию заголовка среза,
при этом SPS включает в себя флаг ALF-активации, связанный с тем, активируется или нет ALF-процесс,
при этом на основе значения флага ALF-активации, равного 1, SPS включает в себя флаг CCALF-активации, связанный с тем, активируется или нет CCALF,
при этом на основе определения того, что значение флага ALF-активации в SPS равно 1, информация заголовка среза включает в себя флаг ALF-активации, связанный с тем, активируется или нет ALF,
при этом на основе определения того, что значение флага ALF-активации, включенного в информацию заголовка среза, равно 1, и значение флага CCALF-активации, включенного в SPS, равно 1, информация заголовка среза включает в себя информацию относительно того, активируется или нет CCALF для фильтрованных восстановленных выборок сигналов цветности,
при этом на основе значения информации относительно того, активируется или нет CCALF для фильтрованных восстановленных выборок сигналов цветности, равного 1, информация заголовка среза включает в себя идентификационную информацию (ID) набора параметров адаптации (APS), связанного с CCALF для фильтрованных восстановленных выборок сигналов цветности,
при этом ALF-данные, включенные в APS, включают в себя информацию, связанную с числом кросскомпонентных фильтров для цветового Cb-компонента, и информацию, связанную с числом кросскомпонентных фильтров для цветового Сr-компонента,
при этом на основе информации, связанной с числом кросскомпонентных фильтров для цветового Cb-компонента, ALF-данные включают в себя информацию относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cb-компонента и информацию относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cb-компонента, и
при этом на основе информации, связанной с числом кросскомпонентных фильтров для цветового Сr-компонента, ALF-данные включают в себя информацию относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Сr-компонента и информацию относительно знаков коэффициентов кросскомпонентного фильтра для цветового Сr-компонента.
US 2018063527 A1, 2018.03.01 | |||
US 10057574 B2, 2018.08.21 | |||
KR 20180039052 A, 2018.04.17 | |||
US 2019238850 A1, 2019.08.01 | |||
US 10045026 B2, 2018.08.07 | |||
US 2018160116 A1, 2018.06.07 | |||
KR 20190083948 A, 2019.07.15 | |||
WO 2012142966 A1, 2012.10.26 | |||
US 2016156938 A1, 2016.06.02 | |||
US 2018115787 A1, 2018.04.26 | |||
ВНУТРЕННЕЕ ПРЕДСКАЗАНИЕ БЛОЧНОГО КОПИРОВАНИЯ С АСИММЕТРИЧНЫМИ РАЗДЕЛАМИ И СХЕМАМИ ПОИСКА НА СТОРОНЕ КОДЕРА, ДИАПАЗОНЫ ПОИСКА И ПОДХОДЫ К РАЗДЕЛЕНИЮ | 2015 |
|
RU2683165C1 |
Авторы
Даты
2023-11-13—Публикация
2020-08-31—Подача