ОБОРУДОВАНИЕ И СПОСОБ ДЛЯ КОДИРОВАНИЯ ИЗОБРАЖЕНИЙ НА ОСНОВЕ ФИЛЬТРАЦИИ
EQUIPMENT AND METHOD FOR IMAGE CODING BASED ON FILTERING

Уровень техники
Область техники, к которой относится изобретение
[1] Настоящее раскрытие сущности относится к оборудованию и способу для кодирования изображений на основе фильтрации.
Описание предшествующего уровня техники
[2] В последнее время, спрос на высококачественное изображение/видео высокого разрешения, к примеру, изображение/видео сверхвысокой четкости (UHD) формата 4K или 8K либо выше, растет в различных областях техники. Поскольку данные изображений/видео имеют высокое разрешение и высокое качество, объем информации или битов, который должен передаваться, увеличивается относительно существующих данных изображений/видео, и в силу этого, передача данных изображений с использованием носителя, такого как существующая проводная/беспроводная широкополосная линия или существующий носитель хранения данных, либо сохранение данных изображений/видео с использованием существующего носителя хранения данных увеличивает затраты на передачу и затраты на хранение.
[3] Помимо этого, интерес и спрос на иммерсивное мультимедиа, такое как контент виртуальной реальности (VR) и искусственной реальности (AR) или голограммы, в последнее время растет, и широковещательная передача для изображения/видео, имеющего характеристики, отличающиеся от изображений реальности, таких как игровые изображения, увеличивается.
[4] Соответственно, требуется технология высокоэффективного сжатия изображений/видео, чтобы эффективно сжимать, передавать, сохранять и воспроизводить информацию высококачественного изображения/видео высокого разрешения, имеющего различные характеристики, как описано выше.
Сущность изобретения
[5] Настоящее раскрытие сущности предоставляет способ и оборудование для повышения эффективности кодирования изображений/видео.
[6] Настоящее раскрытие сущности также предоставляет способ и оборудование для эффективного применения фильтрации.
[7] Настоящее раскрытие сущности также предоставляет способ и оборудование для эффективного ALF-применения.
[8] Согласно варианту осуществления настоящего раскрытия сущности, процесс фильтрации может выполняться для восстановленных выборок сигналов цветности на основе восстановленных выборок сигналов яркости.
[9] Согласно варианту осуществления настоящего раскрытия сущности, фильтрованные восстановленные выборки сигналов цветности могут модифицироваться на основе восстановленных выборок сигналов яркости.
[10] Согласно варианту осуществления настоящего раскрытия сущности, информация относительно того, доступна или нет CCALF, может передаваться в служебных сигналах в SPS.
[11] Согласно варианту осуществления настоящего раскрытия сущности, информация относительно значений коэффициентов кросскомпонентного фильтра может извлекаться из ALF-данных (нормальных ALF-данных или CCALF-данных).
[12] Согласно варианту осуществления настоящего раскрытия сущности, идентификационная информация APS, включающая в себя ALF-данные для извлечения коэффициентов кросскомпонентного фильтра в срезе, может передаваться в служебных сигналах.
[13] Согласно варианту осуществления настоящего раскрытия сущности, информация относительно индекса набора фильтров для CCALF может передаваться в служебных сигналах в единицах CTU (блоков).
[14] Согласно варианту осуществления настоящего документа, предоставляется способ декодирования видео/изображений, осуществляемый посредством оборудования декодирования.
[15] Согласно варианту осуществления настоящего документа, предоставляется оборудование декодирования для выполнения декодирования видео/изображений.
[16] Согласно варианту осуществления настоящего документа, предоставляется способ кодирования видео/изображений, осуществляемый посредством оборудования кодирования.
[17] Согласно варианту осуществления настоящего документа, предоставляется оборудование кодирования для выполнения кодирования видео/изображений.
[18] Согласно одному варианту осуществления настоящего документа, предоставляется компьютерно-читаемый цифровой носитель хранения данных, на котором сохраняется кодированная информация видео/изображений, сформированная согласно способу кодирования видео/изображений, раскрытому, по меньшей мере, в одном из вариантов осуществления настоящего документа.
[19] Согласно варианту осуществления настоящего документа, предоставляется компьютерно-читаемый цифровой носитель хранения данных, на котором сохраняется кодированная информация или кодированная информация видео/изображений, инструктирующая оборудованию декодирования осуществлять способ декодирования видео/изображений, раскрытый, по меньшей мере, в одном из вариантов осуществления настоящего документа.
Преимущества изобретения
[20] Согласно варианту осуществления настоящего документа, может повышаться полная эффективность сжатия изображений/видео.
[21] Согласно варианту осуществления настоящего документа, субъективное/объективное визуальное качество может повышаться посредством эффективной фильтрации.
[22] Согласно варианту осуществления настоящего раскрытия сущности, ALF-процесс может эффективно выполняться, и может повышаться производительность фильтрации.
[23] Согласно варианту осуществления настоящего раскрытия сущности, восстановленные выборки сигналов цветности, фильтрованные на основе восстановленных выборок сигналов яркости, могут модифицироваться, чтобы повышать качество кадров и точность кодирования компонента сигналов цветности декодированного кадра.
[24] Согласно варианту осуществления настоящего раскрытия сущности, CCALF-процесс может эффективно выполняться.
[25] Согласно варианту осуществления настоящего раскрытия сущности, связанная с ALF информация может эффективно передаваться в служебных сигналах.
[26] Согласно варианту осуществления настоящего раскрытия сущности, связанная с CCALF информация может эффективно передаваться в служебных сигналах.
[27] Согласно варианту осуществления настоящего раскрытия сущности, ALF и/или CCALF могут адаптивно применяться в единицах кадров, срезов и/или блоков кодирования.
[28] Согласно варианту осуществления настоящего документа, когда CCALF используется в способе и оборудовании кодирования и декодирования для неподвижного изображения или видео, коэффициенты фильтра для CCALF и способ передачи включения-выключения в единице блоков или CTU могут улучшаться, в силу этого повышая эффективность кодирования.
Краткое описание чертежей
[29] Фиг. 1 схематично показывает пример системы кодирования видео/изображений, которая может применяться к вариантам осуществления настоящего раскрытия сущности.
[30] Фиг. 2 является схемой, принципиально иллюстрирующей конфигурацию оборудования кодирования видео/изображений, которое может применяться к вариантам осуществления настоящего документа.
[31] Фиг. 3 является схемой, принципиально иллюстрирующей конфигурацию оборудования декодирования видео/изображений, которое может применяться к вариантам осуществления настоящего документа.
[32] Фиг. 4 примерно показывает иерархическую структуру для кодированного изображения/видео.
[33] Фиг. 5 является блок-схемой последовательности операций, иллюстрирующей способ для восстановления блока на основе внутреннего прогнозирования в оборудовании кодирования.
[34] Фиг. 6 является блок-схемой последовательности операций, иллюстрирующей способ восстановления блоков на основе внутреннего прогнозирования в оборудовании декодирования.
[35] Фиг. 7 является блок-схемой последовательности операций, иллюстрирующей способ восстановления блоков на основе взаимного прогнозирования в оборудовании кодирования.
[36] Фиг. 8 является блок-схемой последовательности операций, иллюстрирующей способ восстановления блоков на основе взаимного прогнозирования в оборудовании декодирования.
[37] Фиг. 9 показывает пример формы ALF-фильтра.
[38] Фиг. 10 является схемой, иллюстрирующей виртуальную границу, применяемую к процессу фильтрации согласно варианту осуществления настоящего документа.
[39] Фиг. 11 иллюстрирует пример ALF-процесса с использованием виртуальной границы согласно варианту осуществления настоящего раскрытия сущности.
[40] Фиг. 12 является схемой, иллюстрирующей процесс кросскомпонентной адаптивной контурной фильтрации (CCALF) согласно варианту осуществления настоящего раскрытия сущности.
[41] Фиг. 13 и 14 схематично показывают пример способа кодирования видео/изображений и связанных компонентов согласно варианту(ам) осуществления настоящего раскрытия сущности.
[42] Фиг. 15 и 16 схематично показывают пример способа декодирования изображений/видео и связанных компонентов согласно варианту(ам) осуществления настоящего раскрытия сущности.
[43] Фиг. 17 показывает пример системы потоковой передачи контента, к которой могут применяться варианты осуществления, раскрытые в настоящем раскрытии сущности.
Подробное описание вариантов осуществления
[44] Настоящий документ может модифицироваться в различных формах, и его конкретные варианты осуществления описываются и показываются на чертежах. Тем не менее, варианты осуществления не имеют намерение для ограничения настоящего документа. Термины, используемые в нижеприведенном описании, используются для того, чтобы просто описывать конкретные варианты осуществления, но не имеют намерение ограничивать настоящий документ. Выражение единственного числа включает в себя выражение множественного числа до этих пор, до тех пор, пока они четко трактуются по-разному. Такие термины, как "включать в себя" и "иметь", предназначены для того, чтобы указывать то, что существуют признаки, числа, этапы, операции, элементы, компоненты либо комбинации вышеозначенного, используемые в нижеприведенном описании, и в силу этого следует понимать, что не исключается возможность наличия или добавления одного или более других признаков, чисел, этапов, операций, элементов, компонентов либо комбинаций вышеозначенного.
[45] Между тем, каждая конфигурация на чертежах, описанная в настоящем документе, показывается независимо для удобства описания относительно различных характеристических функций и не означает, что каждая конфигурация реализуется как отдельные аппаратные средства или отдельное программное обеспечение. Например, два или более компонентов для каждого компонента могут комбинироваться, чтобы формировать один компонент, либо один компонент может разделяться на множество компонентов. Варианты осуществления, в которых каждый компонент интегрируется и/или отделяется, также включаются в объем документа настоящего документа.
[46] В дальнейшем в этом документе подробно описываются примеры настоящего варианта осуществления со ссылкой на прилагаемые чертежи. Помимо этого, аналогичные ссылки с номерами используются для того, чтобы указывать аналогичные элементы на всех чертежах, и идентичные описания аналогичных элементов опускаются.
[47] Настоящий документ связан с кодированием видео/изображений. Например, способ/вариант осуществления, раскрытый в настоящем раскрытии сущности, представляет собой стандарт универсального кодирования видео (VVC) (ITU-T-рекомендация H.266), стандарт кодирования видео/изображений следующего поколения после VVC либо другие связанные с кодированием видео стандарты (например, он может относиться к стандарту высокоэффективного кодирования видео (HEVC) (ITU-T-рекомендация H.265), к стандарту фундаментального кодирования видео (EVC), к AVS2-стандарту и т.д.).
[48] Настоящее раскрытие сущности представляет различные варианты осуществления, связанные с кодированием видео/изображений, и если не указано иное, варианты осуществления могут комбинироваться между собой.
[49] В настоящем раскрытии сущности, видео может означать набор последовательности изображений согласно прохождению времени. Кадр, в общем, означает единицу, представляющую одно изображение в конкретный период времени, и срез/плитка представляет собой единицу, составляющую часть кадра при кодировании. Срез/плитка может включать в себя одну или более единиц дерева кодирования (CTU). Один кадр может состоять из одного или более срезов/плиток. Один кадр может включать в себя одну или несколько групп плиток. Одна группа плиток может включать в себя одну или более плиток.
[50] Пиксел или пел может означать наименьшую единицу, составляющую один кадр (или изображение). Кроме того, "выборка" может использоваться в качестве термина, соответствующего пикселу. Выборка, в общем, может представлять пиксел или значение пиксела и может представлять только пиксел/пиксельное значение компонента сигналов яркости либо только пиксел/пиксельное значение компонента сигналов цветности. Альтернативно, выборка может означать пиксельное значение в пространственной области, и когда такое пиксельное значение преобразуется в частотную область, это может означать коэффициент преобразования в частотной области.
[51] Единица может представлять базовую единицу обработки изображений. Единица может включать в себя, по меньшей мере, одно из конкретной области кадра и информации, связанной с областью. Одна единица может включать в себя один блок сигналов яркости и два блока сигналов цветности (например, Cb, Cr). Единица может использоваться взаимозаменяемо с такими терминами, как блок или зона в некоторых случаях. В общем случае, блок MxN может включать в себя выборки (или массивы выборок) либо набор (или массив) коэффициентов преобразования из M столбцов и N строк. Альтернативно, выборка может означать пиксельное значение в пространственной области и когда такое пиксельное значение преобразуется в частотную область, это может означать коэффициент преобразования в частотной области.
[52] В настоящем раскрытии сущности, термин "/" и "," должен интерпретироваться как указывающий "и/или". Например, выражение "A/B" может означать "A и/или B". Дополнительно, "A, B" может означать "A и/или B". Дополнительно, "A/B/C" может означать "по меньшей мере, одно из A, B и/или C". Кроме того, "A/B/C" может означать "по меньшей мере, одно из A, B и/или C".
[53] Дополнительно, в документе, термин "или" должен интерпретироваться как указывающий "и/или". Например, выражение "A или B" может содержать 1) только A, 2) только B и/или 3) как A, так и B. Другими словами, термин "или" в настоящем раскрытии сущности должен интерпретироваться как указывающий "дополнительно или альтернативно".
[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" может означать "по меньшей мере, одно из A, B и C".
[56] Помимо этого, круглые скобки, используемые в данном документе, могут означать "например". В частности, когда "прогнозирование (внутреннее прогнозирование)" указывается, "внутреннее прогнозирование" может предлагаться в качестве примера "прогнозирования". Другими словами, "прогнозирование" в настоящем описании изобретения не ограничено "внутренним прогнозированием", и "внутреннее прогнозирование" может предлагаться в качестве примера "прогнозирования". Кроме того, даже когда "прогнозирование (т.е. внутреннее прогнозирование)" указывается, "внутреннее прогнозирование" может предлагаться в качестве примера "прогнозирования".
[57] В этом описании изобретения, технические признаки, которые отдельно описываются в рамках одного чертежа, могут реализовываться отдельно или одновременно.
[58] Фиг. 1 иллюстрирует пример системы кодирования видео/изображений, к которой может применяться настоящий документ.
[59] Ссылаясь на фиг. 1, система кодирования видео/изображений может включать в себя исходное устройство и приемное устройство. Исходное устройство может передавать кодированную информацию или данные видео/изображений в приемное устройство через цифровой носитель хранения данных или сеть в форме файла или потоковой передачи.
[60] Исходное устройство может включать в себя видеоисточник, оборудование кодирования и передатчик. Приемное устройство может включать в себя приемник, оборудование декодирования и модуль рендеринга. Оборудование кодирования может называться "оборудованием кодирования видео/изображений", и оборудование декодирования может называться "оборудованием декодирования видео/изображений". Передатчик может включаться в оборудование кодирования. Приемник может включаться в оборудование декодирования. Модуль рендеринга может включать в себя дисплей, и дисплей может быть сконфигурирован как отдельное устройство или внешний компонент.
[61] Видеоисточник может получать видео/изображение посредством процесса захвата, синтезирования или формирования видео/изображения. Видеоисточник может включать в себя устройство захвата видео/изображений и/или устройство формирования видео/изображений. Устройство захвата видео/изображений может включать в себя, например, одну или более камер, архивы видео/изображений, включающие в себя ранее захваченные видео/изображения, и т.п. Устройство формирования видео/изображений может включать в себя, например, компьютеры, планшетные компьютеры и смартфоны и может (электронно) формировать видео/изображения. Например, виртуальное видео/изображение может формироваться через компьютер и т.п. В этом случае, процесс захвата видео/изображений может заменяться посредством процесса формирования связанных данных.
[62] Оборудование кодирования может кодировать входное видео/изображение. Оборудование кодирования может выполнять последовательность процедур, таких как прогнозирование, преобразование и квантование, для эффективности сжатия и кодирования. Кодированные данные (кодированная информация видео/изображений) могут выводиться в форме потока битов.
[63] Передатчик может передавать информацию или данные кодированных изображений/изображений, выводимую в форме потока битов, в приемник приемного устройства через цифровой носитель хранения данных или сеть в форме файла или потоковой передачи. Цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик может включать в себя элемент для формирования мультимедийного файла через предварительно определенный формат файлов и может включать в себя элемент для передачи через широковещательную передачу/сеть связи. Приемник может принимать/извлекать поток битов и передавать принимаемый поток битов в оборудование декодирования.
[64] Оборудование декодирования может декодировать видео/изображение посредством выполнения последовательности процедур, таких как деквантование, обратное преобразование и прогнозирование, соответствующих работе оборудования кодирования.
[65] Модуль рендеринга может подготавливать посредством рендеринга декодированное видео/изображение. Подготовленное посредством рендеринга видео/изображение может отображаться через дисплей.
[66] Фиг. 2 является схемой, принципиально иллюстрирующей конфигурацию оборудования кодирования видео/изображений, к которому может применяться настоящий документ. В дальнейшем в этом документе, то, что называется "оборудованием кодирования видео", может включать в себя оборудование кодирования изображений.
[67] Ссылаясь на фиг. 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 в качестве внутреннего/внешнего компонента.
[68] Модуль 210 сегментации изображений может сегментировать входное изображение (либо кадр или кинокадр), вводимое в оборудование 200 кодирования, на один или более блоков обработки. Например, блок обработки может называться "единицей кодирования (CU)". В этом случае, единица кодирования может рекурсивно сегментироваться согласно структуре в виде дерева квадрантов, двоичного дерева и троичного дерева (QTBTTT) из единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU). Например, одна единица кодирования может сегментироваться на множество единиц кодирования большей глубины на основе структуры в виде дерева квадрантов, структуры в виде двоичного дерева и/или троичной структуры. В этом случае, например, сначала может применяться структура в виде дерева квадрантов, и впоследствии может применяться структура в виде двоичного дерева и троичная структура. Альтернативно, сначала может применяться структура в виде двоичного дерева. Процедура кодирования согласно настоящему документу может выполняться на основе конечной единицы кодирования, которая более не сегментируется. В этом случае, наибольшая единица кодирования может использоваться в качестве конечной единицы кодирования на основе эффективности кодирования согласно характеристикам изображений, или при необходимости, единица кодирования может рекурсивно сегментироваться на единицы кодирования большей глубины, и единица кодирования, имеющая оптимальный размер, может использоваться в качестве конечной единицы кодирования. Здесь, процедура кодирования может включать в себя процедуру прогнозирования, преобразования и восстановления, которая описывается ниже. В качестве другого примера, блок обработки дополнительно может включать в себя единицу прогнозирования (PU) или единицу преобразования (TU). В этом случае, единица прогнозирования и единица преобразования могут разбиваться или сегментироваться из вышеуказанной конечной единицы кодирования. Единица прогнозирования может представлять собой единицу выборочного прогнозирования, и единица преобразования может представлять собой единицу для извлечения коэффициента преобразования и/или единицу для извлечения остаточного сигнала из коэффициента преобразования.
[69] Единица может использоваться взаимозаменяемо с такими терминами, как блок или зона в некоторых случаях. В общем случае, блок MxN может представлять набор выборок или коэффициентов преобразования, состоящих из M столбцов и N строк. Выборка, в общем, может представлять пиксел или значение пиксела, может представлять только пиксел/пиксельное значение компонента сигналов яркости либо представлять только пиксел/пиксельное значение компонента сигналов цветности. Выборка может использоваться в качестве термина, соответствующего одному кадру (или изображению) для пиксела или пела.
[70] Вычитатель 231 вычитает прогнозный сигнал (прогнозированный блок, прогнозные выборки или массив прогнозных выборок), выводимый из модуля 220 прогнозирования, из сигнала входного изображения (исходного блока, исходных выборок или массива исходных выборок), чтобы получать остаток. Сигнал (остаточный блок, остаточные выборки или массив остаточных выборок) может формироваться, и сформированный остаточный сигнал передается в преобразователь 232. Модуль 220 прогнозирования может выполнять прогнозирование относительно целевого блока обработки (в дальнейшем в этом документе, называемого "текущим блоком") и формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль 220 прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование, на основе текущего блока или CU. Как описано ниже в описании каждого режима прогнозирования, модуль прогнозирования может формировать различную информацию, связанную с прогнозированием, к примеру, информацию режима прогнозирования, и передавать сформированную информацию в энтропийный кодер 240. Информация относительно прогнозирования может кодироваться в энтропийном кодере 240 и выводиться в форме потока битов.
[71] Модуль 222 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки для ссылки могут быть расположены в окружении текущего блока или могут быть расположены с разнесением согласно режиму прогнозирования. При внутреннем прогнозировании, режимы прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Ненаправленный режим может включать в себя, например, DC-режим и планарный режим. Направленный режим может включать в себя, например, 33 режима направленного прогнозирования или 65 режимов направленного прогнозирования согласно степени детальности направления прогнозирования. Тем не менее, это представляет собой просто пример, большее или меньшее число режимов направленного прогнозирования может использоваться в зависимости от настройки. Модуль 222 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.
[72] Модуль 221 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. Здесь, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными или отличающимися. Временной соседний блок может называться "совместно размещенным опорным блоком", "совместно размещенной CU (colCU)" и т.п., и опорный кадр, включающий в себя временной соседний блок, может называться "совместно размещенным кадром (colPic)". Например, модуль 221 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и формировать информацию, указывающую то, какой возможный вариант используется для того, чтобы извлекать вектор движения и/или индекс опорного кадра текущего блока. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования. Например, в случае режима пропуска и режима объединения, модуль 221 взаимного прогнозирования может использовать информацию движения соседнего блока в качестве информации движения текущего блока. В режиме пропуска, в отличие от режима объединения, остаточный сигнал может не передаваться. В случае режима прогнозирования векторов движения (MVP), вектор движения соседнего блока может использоваться в качестве предиктора вектора движения, и вектор движения текущего блока может указываться посредством передачи в служебных сигналах разности векторов движения.
[73] Модуль 220 прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования, описанных ниже. Например, модуль прогнозирования может не только применять внутреннее прогнозирование или взаимное прогнозирование для того, чтобы прогнозировать один блок, но также и одновременно применять как внутренние прогнозирование, так и взаимное прогнозирование. Это может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может выполнять внутриблочное копирование (IBC) для прогнозирования блока. Режим IBC-прогнозирования может использоваться для кодирования изображений/видео контента игры и т.п., например, для кодирования экранного контента (SCC). IBC по существу выполняет прогнозирование в текущем кадре, но может выполняться аналогично взаимному прогнозированию, в котором опорный блок извлекается в текущем кадре. Таким образом, IBC может использовать, по меньшей мере, одну из технологий взаимного прогнозирования, описанных в настоящем документе.
[74] Прогнозный сигнал, сформированный посредством модуля 221 взаимного прогнозирования и/или модуля 222 внутреннего прогнозирования, может использоваться для того, чтобы формировать восстановленный сигнал или формировать остаточный сигнал. Преобразователь 232 может формировать коэффициенты преобразования посредством применения технологии преобразования к остаточному сигналу. Например, технология преобразования может включать в себя дискретное косинусное преобразование (DCT), дискретное синусное преобразование (DST), преобразование Карунена-Лоэва (KLT), преобразование на основе графа (GBT) или условно нелинейное преобразование (CNT). Здесь, GBT означает преобразование, полученное из графа, когда информация взаимосвязи между пикселами представляется посредством графа. CNT означает преобразование, сформированное на основе прогнозного сигнала, сформированного с использованием всех ранее восстановленных пикселов. Помимо этого, процесс преобразования может применяться к квадратным пиксельным блокам, имеющим идентичный размер, или может применяться к блокам, имеющим переменный размер, а не квадратный.
[75] Квантователь 233 может квантовать коэффициенты преобразования и передавать их в энтропийный кодер 240, и энтропийный кодер 240 может кодировать квантованный сигнал (информацию относительно квантованных коэффициентов преобразования) и выводить поток битов. Информация относительно квантованных коэффициентов преобразования может называться "остаточной информацией". Квантователь 233 может перекомпоновывать блочные квантованные коэффициенты преобразования в одномерную векторную форму на основе порядка сканирования коэффициентов и формировать информацию относительно квантованных коэффициентов преобразования на основе квантованных коэффициентов преобразования в одномерной векторной форме. Информация относительно коэффициентов преобразования может формироваться. Энтропийный кодер 240 может осуществлять различные способы кодирования, такие как, например, кодирование экспоненциальным кодом Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и т.п. Энтропийный кодер 240 может кодировать информацию, необходимую для восстановления видео/изображений, отличную от квантованных коэффициентов преобразования (например, значений синтаксических элементов и т.д.), вместе или отдельно. Кодированная информация (например, кодированная информация видео/изображений) может передаваться или сохраняться в единицах NAL (слоя абстрагирования от сети) в форме потока битов. Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. В настоящем документе, передача служебных сигналов/передаваемая информация и/или синтаксические элементы, описанные далее в настоящем раскрытии сущности, могут кодироваться через вышеуказанный процесс кодирования и включаться в поток битов. Поток битов может передаваться по сети или может сохраняться на цифровом носителе хранения данных. Сеть может включать в себя широковещательную сеть и/или сеть связи, и цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как, USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик (не показан), передающий сигнал, выводимый из энтропийного кодера 240, и/или модуль хранения (не показан), сохраняющий сигнал, могут включаться в качестве внутреннего/внешнего элемента оборудования 200 кодирования, и альтернативно, передатчик может включаться в энтропийный кодер 240.
[76] Квантованные коэффициенты преобразования, выводимые из квантователя 233, могут использоваться для того, чтобы формировать прогнозный сигнал. Например, остаточный сигнал (остаточный блок или остаточные выборки) может восстанавливаться посредством применения деквантования и обратного преобразования к квантованным коэффициентам преобразования через деквантователь 234 и обратный преобразователь 235. Сумматор 250 суммирует восстановленный остаточный сигнал с прогнозным сигналом, выводимым из модуля 220 прогнозирования, чтобы формировать восстановленный сигнал (восстановленный кадр, восстановленные выборки или массив восстановленных выборок). Если отсутствует остаток для блока, который должен обрабатываться, к примеру, в случае, в котором режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока. Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, и может использоваться для взаимного прогнозирования следующего кадра посредством фильтрации, как описано ниже.
[77] Между тем, преобразование сигнала яркости с масштабированием сигнала цветности (LMCS) может применяться во время кодирования и/или восстановления кадров.
[78] Фильтр 260 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 260 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 270, а именно, в DPB запоминающего устройства 270. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, фильтрацию на основе дискретизированного адаптивного смещения (SAO), адаптивный контурный фильтр, билатеральный фильтр и т.п. Фильтр 260 может формировать различную информацию, связанную с фильтрацией, и передавать сформированную информацию в энтропийный кодер 240, как описано ниже в описании каждого способа фильтрации. Информация, связанная с фильтрацией, может кодироваться посредством энтропийного кодера 240 и выводиться в форме потока битов.
[79] Модифицированный восстановленный кадр, передаваемый в запоминающее устройство 270, может использоваться в качестве опорного кадра в модуле 221 взаимного прогнозирования. Когда взаимное прогнозирование применяется посредством оборудования кодирования, рассогласование прогнозирования между оборудованием 200 кодирования и оборудованием 300 декодирования может исключаться, и эффективность кодирования может повышаться.
[80] DPB запоминающего устройства 270 может сохранять модифицированный восстановленный кадр для использования в качестве опорного кадра в модуле 221 взаимного прогнозирования. Запоминающее устройство 270 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или кодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 221 взаимного прогнозирования и использоваться в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 270 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и может передавать восстановленные выборки в модуль 222 внутреннего прогнозирования.
[81] Фиг. 3 является принципиальной схемой, иллюстрирующей конфигурацию оборудования декодирования видео/изображений, к которому может применяться настоящий документ.
[82] Ссылаясь на фиг. 3, оборудование 300 декодирования может включать в себя энтропийный декодер 310, остаточный процессор 320, модуль 330 прогнозирования, сумматор 340, фильтр 350, запоминающее устройство 360. Модуль 330 прогнозирования может включать в себя модуль 331 взаимного прогнозирования и модуль 332 внутреннего прогнозирования. Остаточный процессор 320 может включать в себя деквантователь 321 и обратный преобразователь 321. Энтропийный декодер 310, остаточный процессор 320, модуль 330 прогнозирования, сумматор 340 и фильтр 350 могут быть сконфигурированы посредством аппаратного компонента (например, набора микросхем или процессора декодера) согласно варианту осуществления. Помимо этого, запоминающее устройство 360 может включать в себя буфер декодированных кадров (DPB) или может быть сконфигурировано посредством цифрового носителя хранения данных. Аппаратный компонент дополнительно может включать в себя запоминающее устройство 360 в качестве внутреннего/внешнего компонента.
[83] Когда поток битов, включающий в себя информацию видео/изображений, вводится, оборудование 300 декодирования может восстанавливать изображение, соответствующее процессу, в котором информация видео/изображений обрабатывается в оборудовании кодирования по фиг. 2. Например, оборудование 300 декодирования может извлекать единицы/блоки на основе связанной с сегментацией на блоки информации, полученной из потока битов. Оборудование 300 декодирования может выполнять декодирование с использованием блока обработки, применяемого в оборудовании кодирования. Таким образом, блок обработки декодирования, например, может представлять собой единицу кодирования, и единица кодирования может сегментироваться согласно структуре в виде дерева квадрантов, структуре в виде двоичного дерева и/или структуре в виде троичного дерева из единицы дерева кодирования или наибольшей единицы кодирования. Одна или более единиц преобразования могут извлекаться из единицы кодирования. Восстановленный сигнал изображения, декодированный и выводимый посредством оборудования 300 декодирования, может воспроизводиться посредством оборудования воспроизведения.
[84] Оборудование 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.
[85] Деквантователь 321 может деквантовать квантованные коэффициенты преобразования и выводить коэффициенты преобразования. Деквантователь 321 может перекомпоновывать квантованные коэффициенты преобразования в форме двумерной блочной формы. В этом случае, перекомпоновка может выполняться на основе порядка сканирования коэффициентов, выполняемого в оборудовании кодирования. Деквантователь 321 может выполнять деквантование для квантованных коэффициентов преобразования посредством использования параметра квантования (например, информации размера шага квантования) и получать коэффициенты преобразования.
[86] Обратный преобразователь 322 обратно преобразует коэффициенты преобразования, чтобы получать остаточный сигнал (остаточный блок, массив остаточных выборок).
[87] Модуль 230 прогнозирования может выполнять прогнозирование для текущего блока и может формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование к текущему блоку, на основе информации относительно прогнозирования, выводимой из энтропийного декодера 310, и может определять конкретный режим внутреннего/взаимного прогнозирования.
[88] Модуль прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования, описанных ниже. Например, модуль прогнозирования может не только применять внутреннее прогнозирование или взаимное прогнозирование для того, чтобы прогнозировать один блок, но также и одновременно применять внутреннее прогнозирование и взаимное прогнозирование. Это может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может выполнять внутриблочное копирование (IBC). Внутриблочное копирование может использоваться для кодирования изображений/видео контента игры и т.п., например, для кодирования экранного контента (SCC). IBC по существу выполняет прогнозирование в текущем кадре, но может выполняться аналогично взаимному прогнозированию, в котором опорный блок извлекается в текущем кадре. Таким образом, IBC может использовать, по меньшей мере, одну из технологий взаимного прогнозирования, описанных в настоящем документе.
[89] Модуль 331 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки для ссылки могут быть расположены в окружении текущего блока или могут быть расположены с разнесением согласно режиму прогнозирования. При внутреннем прогнозировании, режимы прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Модуль 331 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.
[90] Модуль 332 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Например, модуль 332 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и извлекать вектор движения текущего блока и/или индекс опорного кадра на основе принимаемой информации выбора возможных вариантов. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования, и информация относительно прогнозирования может включать в себя информацию, указывающую режим взаимного прогнозирования для текущего блока.
[91] Сумматор 340 может формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок) посредством суммирования полученного остаточного сигнала с прогнозным сигналом (прогнозированным блоком, массивом прогнозированных выборок), выводимым из модуля 330 прогнозирования. Если отсутствует остаток для блока, который должен обрабатываться, к примеру, когда режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока.
[92] Сумматор 340 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, может выводиться посредством фильтрации, как описано ниже, или может использоваться для взаимного прогнозирования следующего кадра.
[93] Между тем, преобразование сигнала яркости с масштабированием сигнала цветности (LMCS) может применяться в процессе декодирования кадров.
[94] Фильтр 350 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 350 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 360, а именно, в DPB запоминающего устройства 360. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, фильтрацию на основе дискретизированного адаптивного смещения, адаптивный контурный фильтр, билатеральный фильтр и т.п.
[95] (Модифицированный) восстановленный кадр, сохраненный в DPB запоминающего устройства 360, может использоваться в качестве опорного кадра в модуле 332 взаимного прогнозирования. Запоминающее устройство 360 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или декодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 260 взаимного прогнозирования, так что она используется в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 360 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и передавать восстановленные выборки в модуль 331 внутреннего прогнозирования.
[96] В этом подробном описании, варианты осуществления, описанные в модуле 330 прогнозирования, деквантователе 321, обратном преобразователе 322 и фильтре 350 оборудования 300 декодирования, представляют собой модуль 220 прогнозирования, деквантователь 234, обратный преобразователь 235 и фильтр 260 и могут применяться идентичным или соответствующим способом.
[97] Как описано выше, при кодировании видео, прогнозирование выполняется для того, чтобы повышать эффективность сжатия. Через это, можно формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока, который представляет собой блок, который должен кодироваться. Здесь, прогнозированный блок включает в себя прогнозные выборки в пространственной области (или пиксельной области). Прогнозированный блок извлекается одинаково из устройства кодирования и устройства декодирования, и устройство кодирования декодирует информацию (остаточную информацию) относительно остатка между исходным блоком и прогнозированным блоком, а не исходное выборочное значение самого исходного блока. Посредством передачи служебных сигналов в устройство, может повышаться эффективность кодирования изображений. Оборудование декодирования может извлекать остаточный блок, включающий в себя остаточные выборки на основе остаточной информации, и формировать восстановленный блок, включающий в себя восстановленные выборки, посредством суммирования остаточного блока с прогнозированным блоком и формировать восстановленный кадр, включающий в себя восстановленные блоки.
[98] Остаточная информация может формироваться через процессы преобразования и квантования. Например, оборудование кодирования может извлекать остаточный блок между исходным блоком и прогнозированным блоком и выполнять процесс преобразования для остаточных выборок (массива остаточных выборок), включенных в остаточный блок, чтобы извлекать коэффициенты преобразования, и после этого, посредством выполнения процесса квантования для коэффициентов преобразования, извлекать квантованные коэффициенты преобразования, чтобы передавать в служебных сигналах остаточную связанную информацию в оборудование декодирования (через поток битов). Здесь, остаточная информация может включать в себя информацию местоположения, технологию преобразования, ядро преобразования и параметр квантования, информацию значений квантованных коэффициентов преобразования и т.д. Оборудование декодирования может выполнять процесс деквантования/обратного преобразования на основе остаточной информации и извлекать остаточные выборки (или остаточные блоки). Оборудование декодирования может формировать восстановленный кадр на основе прогнозированного блока и остаточного блока. Оборудование кодирования также может деквантовать/обратно преобразовывать квантованные коэффициенты преобразования для ссылки для взаимного прогнозирования более позднего кадра, чтобы извлекать остаточный блок и формировать восстановленный кадр на его основе.
[99] В настоящем документе, по меньшей мере, одно из квантования/деквантования и/или преобразования/обратного преобразования может опускаться. Когда квантование/деквантование опускается, квантованный коэффициент преобразования может называться "коэффициентом преобразования". Когда преобразование/обратное преобразование опускается, коэффициенты преобразования могут называться "коэффициентами" или "остаточными коэффициентами" либо по-прежнему могут называться "коэффициентами преобразования" для единообразности выражения.
[100] В настоящем документе, квантованный коэффициент преобразования и коэффициент преобразования могут называться "коэффициентом преобразования" и "масштабированным коэффициентом преобразования", соответственно. В этом случае, остаточная информация может включать в себя информацию относительно коэффициента(ов) преобразования, и информация относительно коэффициента(ов) преобразования может передаваться в служебных сигналах через синтаксис остаточного кодирования. Коэффициенты преобразования могут извлекаться на основе остаточной информации (или информации относительно коэффициента(ов) преобразования), и масштабированные коэффициенты преобразования могут извлекаться через обратное преобразование (масштабирование) для коэффициентов преобразования. Остаточные выборки могут извлекаться на основе обратного преобразования (преобразования) масштабированных коэффициентов преобразования. Это также может применяться/выражаться в других частях настоящего документа.
[101] Модуль прогнозирования оборудования кодирования/оборудования декодирования может извлекать прогнозную выборку посредством выполнения взаимного прогнозирования в единицах блоков. Взаимное прогнозирование может представлять собой прогнозирование, извлекаемое таким способом, который зависит от элементов данных (например, выборочных значений или информации движения и т.д.) кадра(ов), отличного от текущего кадра. Когда взаимное прогнозирование применяется к текущему блоку, прогнозированный блок (массив прогнозных выборок) для текущего блока может извлекаться на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения в опорном кадре, указываемом посредством индекса опорного кадра. Здесь, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения текущего блока может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию типа взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными или отличающимися. Временной соседний блок может называться "совместно размещенным опорным блоком", "совместно размещенной CU (colCU)" и т.п., и опорный кадр, включающий в себя временной соседний блок, может называться "совместно размещенным кадром (colPic)". Например, список возможных вариантов информации движения может быть сконфигурирован на основе соседних блоков текущего блока, и информация флага или индекса, указывающая то, какой возможный вариант выбирается (используется), может передаваться в служебных сигналах, чтобы извлекать вектор движения и/или индекс опорного кадра текущего блока. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования. Например, в случае режима пропуска и режима объединения, информация движения текущего блока может быть идентичной информации движения соседнего блока. В режиме пропуска, в отличие от режима объединения, остаточный сигнал может не передаваться. В случае режима прогнозирования векторов движения (MVP), вектор движения выбранного соседнего блока может использоваться в качестве предиктора вектора движения, и вектор движения текущего блока может передаваться в служебных сигналах. В этом случае, вектор движения текущего блока может извлекаться с использованием суммы предиктора вектора движения и разности векторов движения.
[102] Информация движения может включать в себя 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).
[103] Фиг. 4 примерно показывает иерархическую структуру для кодированного изображения/видео.
[104] Ссылаясь на фиг. 4, кодированное изображение/видео разделяется на слой кодирования видео (VCL), который обрабатывает процесс декодирования изображения/видео и себя, подсистему, которая передает и сохраняет кодированную информацию, и NAL (слой абстрагирования от сети), отвечающий за функцию и присутствующий между VCL и подсистемой.
[105] В VCL, формируются VCL-данные, включающие в себя сжатые данные изображений (данные срезов), либо может формироваться набор параметров, включающий в себя набор параметров кадра (PSP), набор параметров последовательности (SPS) и набор параметров видео (VPS), или сообщение с дополнительной улучшающей информацией (SEI), дополнительно требуемое для процесса декодирования изображений.
[106] В NAL, NAL-единица может формироваться посредством добавления информации заголовка (заголовка NAL-единицы) в первичную байтовую последовательность данных (RBSP), сформированную в VCL. В этом случае, RBSP означает данные срезов, набор параметров, SEI-сообщение и т.д., сформированные в VCL. Заголовок NAL-единицы может включать в себя информацию типа NAL-единиц, указываемую согласно RBSP-данным, включенным в соответствующую NAL-единицу.
[107] Как показано на чертеже, NAL-единица может классифицироваться на VCL NAL-единицу и не-VCL NAL-единицу согласно RBSP, сформированной в VCL. VCL NAL-единица может означать NAL-единицу, которая включает в себя информацию относительно изображения (данных срезов) в изображении, и не-VCL NAL-единица может означать NAL-единицу, которая включает в себя информацию (набор параметров или SEI-сообщение) требуемый для декодирования изображения.
[108] Вышеуказанные VCL NAL-единица и не-VCL NAL-единица могут передаваться через сеть посредством присоединения информации заголовка согласно стандарту данных подсистемы. Например, NAL-единица может преобразовываться в формат данных предварительно определенного стандарта, такого как формат файлов H.266/VVC, транспортный протокол реального времени (RTP), транспортный поток (TS) и т.д., и передаваться через различные сети.
[109] Как описано выше, NAL-единица может указываться с типом NAL-единицы согласно структуре RBSP-данных, включенной в соответствующую NAL-единицу, и информация относительно типа NAL-единицы может сохраняться и передаваться в служебных сигналах в заголовке NAL-единицы.
[110] Например, NAL-единица может классифицироваться на тип VCL NAL-единицы и тип не-VCL NAL-единицы согласно тому, включает или нет NAL-единица в себя информацию (данные срезов) относительно изображения. Тип VCL NAL-единицы может классифицироваться согласно природе и типу кадров, включенных в VCL NAL-единицу, и тип не-VCL NAL-единицы может классифицироваться согласно типам наборов параметров.
[111] Ниже приводится пример типа NAL-единицы, указываемого согласно типу набора параметров, включенного в тип не-VCL NAL-единицы.
[112] - NAL-единица APS (набора параметров адаптации): Тип для NAL-единицы, включающей в себя APS
[113] - NAL-единица DPS (набора параметров декодирования): Тип для NAL-единицы, включающей в себя DPS
[114] - NAL-единица VPS (набора параметров видео): Тип для NAL-единицы, включающей в себя VPS
[115] - NAL-единица SPS (набора параметров последовательности): Тип для NAL-единицы, включающей в себя SPS
[116] - NAL-единица PPS (набора параметров кадра): Тип для NAL-единицы, включающей в себя PPS
[117] - NAL-единица PH (заголовка кадра): Тип для NAL-единицы, включающей в себя PH
[118] Вышеуказанные типы NAL-единиц могут иметь синтаксическую информацию для типа NAL-единицы, и синтаксическая информация может сохраняться и передаваться в служебных сигналах в заголовке NAL-единицы. Например, синтаксическая информация может быть nal_unit_type, и типы NAL-единиц могут указываться посредством значения nal_unit_type.
[119] Между тем, как описано выше, один кадр может включать в себя множество срезов, и один срез может включать в себя заголовок среза и данные срезов. В этом случае, один заголовок кадра дополнительно может добавляться во множество срезов (заголовок среза и набор данных срезов) в одном кадре. Заголовок кадра (синтаксис заголовков кадра) может включать в себя информацию/параметры, обычно применимую к кадру. В настоящем документе, срез может смешиваться или заменяться группой плиток. Кроме того, в настоящем документе, заголовок среза может смешиваться или заменяться заголовком группы плиток.
[120] Заголовок среза (синтаксис заголовка среза, информация заголовка среза) может включать в себя информацию/параметры, которая может применяться обобщенно к срезу. APS (APS-синтаксис) или PPS (PPS-синтаксис) может включать в себя информацию/параметры, которая может применяться обобщенно к одному или более срезов или кадров. SPS (SPS-cинтаксис) может включать в себя информацию/параметры, которая может применяться обобщенно к одной или более последовательностей. VPS (VPS-синтаксис) может включать в себя информацию/параметры, которая может применяться обобщенно к нескольким слоям. DPS (DPS-синтаксис) может включать в себя информацию/параметры, которая может применяться обобщенно к полному видео. DPS может включать в себя информацию/параметры, связанную с конкатенацией кодированной видеопоследовательности (CVS). Высокоуровневый синтаксис (HLS) в настоящем документе может включать в себя, по меньшей мере, одно из APS-синтаксиса, PPS-синтаксиса, SPS-cинтаксиса, VPS-синтаксиса, DPS-синтаксиса и синтаксиса заголовков срезов.
[121] В настоящем документе, изображение/информация изображений, кодированная из оборудования кодирования и передаваемая в служебных сигналах в оборудование декодирования в форме потока битов, включает в себя не только связанную с сегментацией информацию в кадре, информацию внутреннего/взаимного прогнозирования, остаточную информацию, информацию внутриконтурной фильтрации и т.п., но также и информацию, включенную в заголовок среза, информацию, включенную в APS, информацию, включенную в PPS, информацию, включенную в SPS, и/или информацию, включенную в VPS.
[122] Между тем, чтобы компенсировать разность между исходным изображением и восстановленным изображением вследствие ошибки, возникающей в процессе кодирования со сжатием, таком как, квантование, процесс внутриконтурной фильтрации может выполняться для восстановленных выборок или восстановленных кадров, как описано выше. Как описано выше, внутриконтурная фильтрация может выполняться посредством фильтра оборудования кодирования и фильтра оборудования декодирования, и может применяться фильтр удаления блочности, SAO и/или адаптивный контурный фильтр (ALF). Например, ALF-процесс может выполняться после того, как процесс фильтрации для удаления блочности и/или SAO-процесс завершаются. Тем не менее, даже в этом случае, процесс фильтрации для удаления блочности и/или SAO-процесс могут опускаться.
[123] В дальнейшем в этом документе приводится подробное описание восстановления и фильтрации кадров. При кодировании изображений/видео, восстановленный блок может формироваться на основе внутреннего прогнозирования/взаимного прогнозирования для каждого блока, и может формироваться восстановленный кадр, включающий в себя восстановленные блоки. Когда текущий кадр/срез представляет собой I-кадр/срез, блоки, включенные в текущий кадр/срез, могут восстанавливаться только на основе внутреннего прогнозирования. Между тем, когда текущий кадр/срез представляет собой P- или B-кадр/срез, блоки, включенные в текущий кадр/срез, могут восстанавливаться на основе внутреннего прогнозирования или взаимного прогнозирования. В этом случае, внутреннее прогнозирование может применяться к некоторым блокам в текущем кадре/срезе, и взаимное прогнозирование может применяться к оставшимся блокам.
[124] Внутреннее прогнозирование может означать прогнозирование, которое формирует прогнозные выборки для текущего блока на основе опорных выборок в кадре, которому принадлежит текущий блок (далее называется "текущим кадром"). Когда внутреннее прогнозирование применяется к текущему блоку, соседние опорные выборки, которые должны использоваться для внутреннего прогнозирования текущего блока, могут извлекаться. Соседние опорные выборки текущего блока могут включать в себя выборки, смежные с левой границей относительно текущего блока, имеющего размер nWxnH, и в сумме 2xnH выборок, граничащих с левой нижней частью, выборки, смежные с верхней границей относительно текущего блока, и в сумме 2xnW выборок, граничащих с правой верхней частью, и одну выборку, граничащую с левой верхней частью относительно текущего блока. Альтернативно, соседние опорные выборки текущего блока могут включать в себя множество верхних соседних выборок и множество левых соседних выборок. Помимо этого, соседние опорные выборки текущего блока могут включать в сумме nH выборок, смежных с правой границей относительно текущего блока, имеющего размер nWxnH, в сумме nW выборок, смежных с нижней границей относительно текущего блока, и одну выборку, смежную с правой нижней частью относительно текущего блока.
[125] Тем не менее, некоторые соседние опорные выборки текущего блока могут еще не декодироваться или не быть доступными. В этом случае, декодер может конфигурировать соседние опорные выборки, которые следует использовать для прогнозирования, посредством подстановки вместо выборок, которые не доступны, доступных выборок. Альтернативно, соседние опорные выборки, которые должны использоваться для прогнозирования, могут быть сконфигурированы через интерполяцию доступных выборок.
[126] Когда соседние опорные выборки извлекаются, прогнозная выборка может извлекаться на основе среднего или интерполяции соседних опорных выборок текущего блока и (ii) прогнозирования из соседних опорных выборок текущего блока. Прогнозная выборка может извлекаться на основе опорной выборки, присутствующей в конкретном направлении (прогнозирования) относительно выборки. Случай (i) может называться "ненаправленным режимом" или "неугловым режимом", и случай (ii) может называться "направленным режимом" или "угловым режимом". Кроме того, на основе прогнозной выборки текущего блока из соседних опорных выборок, вторая соседняя выборка, расположенная в противоположном направлении относительно направления прогнозирования режима внутреннего прогнозирования текущего блока, и первая соседняя выборка интерполируются. Прогнозная выборка может формироваться. Вышеописанный случай может называться "внутренним прогнозированием с линейной интерполяцией (LIP)". Помимо этого, выборки прогнозирования сигналов цветности могут формироваться на основе выборок сигнала яркости с использованием линейной модели. Этот случай может называться "LM-режимом". Помимо этого, временная прогнозная выборка текущего блока может извлекаться на основе фильтрованных соседних опорных выборок и, по меньшей мере, одной опорной выборки, извлекаемой согласно режиму внутреннего прогнозирования из существующих соседних опорных выборок, т.е. нефильтрованные соседние опорные выборки и временная прогнозная выборка могут суммироваться со взвешиванием, чтобы извлекать прогнозную выборку текущего блока. Вышеописанный случай может называться "позиционно-зависимым внутренним прогнозированием (PDPC)". Помимо этого, линия опорных выборок, имеющая наибольшую точность прогнозирования из соседних множественных опорных примерных линий текущего блока, может выбираться, чтобы извлекать прогнозную выборку посредством использования опорной выборки, расположенной в направлении прогнозирования на соответствующей линии, и затем линия опорных выборок, используемая в данном документе, может указываться (передаваться в служебных сигналах) в оборудование декодирования, за счет этого выполняя внутреннее прогнозирующее кодирование. Вышеописанный случай может называться "внутренним прогнозированием на основе множественной опорной линии (MRL)" или "внутренним прогнозированием на основе MRL". Помимо этого, внутреннее прогнозирование может выполняться на основе идентичного режима внутреннего прогнозирования посредством разделения текущего блока на вертикальные или горизонтальные субсегменты, и соседние опорные выборки могут извлекаться и использоваться в единице субсегментов. Таким образом, в этом случае, режим внутреннего прогнозирования для текущего блока в равной степени применяется к субсегментам, и производительность внутреннего прогнозирования может повышаться в некоторых случаях посредством извлечения и использования соседних опорных выборок в единице субсегментов. Такой способ прогнозирования может называться "внутренним прогнозированием на основе внутренних субсегментов (ISP) или на основе ISP". Вышеуказанные способы внутреннего прогнозирования могут называться "типом внутреннего прогнозирования" отдельно от режима внутреннего прогнозирования. Тип внутреннего прогнозирования может называться с помощью различных терминов, таких как "технология внутреннего прогнозирования" или "дополнительный режим внутреннего прогнозирования". Например, тип внутреннего прогнозирования (или дополнительный режим внутреннего прогнозирования) может включать в себя, по меньшей мере, одно из вышеуказанных LIP, PDPC, MRL и ISP. Общий способ внутреннего прогнозирования, за исключением конкретного типа внутреннего прогнозирования, такого как LIP, PDPC, MRL или ISP, может называться "типом нормального внутреннего прогнозирования". Тип нормального внутреннего прогнозирования, в общем, может применяться, когда конкретный тип внутреннего прогнозирования не применяется, и прогнозирование может выполняться на основе режима внутреннего прогнозирования, описанного выше. Между тем, постфильтрация может выполняться для прогнозированной выборки, извлекаемой по мере необходимости.
[127] В частности, процедура внутреннего прогнозирования может включать в себя этап определения режима/типа внутреннего прогнозирования, этап извлечения соседних опорных выборок и этап извлечения прогнозных выборок на основе режима/типа внутреннего прогнозирования. Помимо этого, этап постфильтрации может выполняться для прогнозированной выборки, извлекаемой по мере необходимости.
[128] Фиг. 5 является блок-схемой последовательности операций, иллюстрирующей способ для восстановления блока на основе внутреннего прогнозирования в оборудовании кодирования. Способ по фиг. 5 может включать в себя этапы S500, S510, S520, S530 и S540.
[129] S500 может выполняться посредством модуля 222 внутреннего прогнозирования оборудования кодирования, и S510-S530 могут выполняться посредством остаточного процессора 230 оборудования кодирования. В частности, S510 может выполняться посредством вычитателя 231 оборудования кодирования, S520 может выполняться посредством преобразователя 232 и квантователя 233 оборудования кодирования, и S530 может выполняться посредством деквантователя 234 и обратного преобразователя 235 оборудования кодирования. На S500, информация прогнозирования может извлекаться посредством модуля 222 внутреннего прогнозирования и кодироваться посредством энтропийного кодера 240. Остаточная информация может извлекаться на S510 и S520 и кодироваться посредством энтропийного кодера 240. Остаточная информация представляет собой информацию относительно остаточных выборок. Остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования для остаточных выборок. Как описано выше, остаточные выборки могут извлекаться в качестве коэффициентов преобразования через преобразователь 232 оборудования кодирования, и коэффициенты преобразования могут извлекаться в качестве квантованных коэффициентов преобразования через квантователь 2330. Информация относительно квантованных коэффициентов преобразования может кодироваться посредством энтропийного кодера 240 через процедуру остаточного кодирования.
[130] Оборудование кодирования выполняет внутреннее прогнозирование для текущего блока (S500). Оборудование кодирования может извлекать режим внутреннего прогнозирования для текущего блока, извлекать соседние опорные выборки текущего блока и формировать прогнозные выборки в текущем блоке на основе режима внутреннего прогнозирования и соседних опорных выборок. Здесь, процедуры определения режима внутреннего прогнозирования, извлечения периферийных опорных выборок и формирования прогнозных выборок могут выполняться одновременно, или одна процедура может выполняться перед другой процедурой. Например, модуль 222 внутреннего прогнозирования устройства кодирования может включать в себя модуль определения режима/типа прогнозирования, модуль извлечения опорных выборок и модуль извлечения прогнозных выборок, и модуль определения режима/типа прогнозирования может определять режим/тип внутреннего прогнозирования для текущего блока, модуль извлечения опорных выборок может извлекать соседние опорные выборки текущего блока, и модуль извлечения прогнозных выборок может извлекать выборки движения текущего блока. Между тем, хотя не показано, когда вышеописанная процедура фильтрации прогнозных выборок выполняется, модуль 222 внутреннего прогнозирования дополнительно может включать в себя фильтр прогнозных выборок (не показан). Оборудование кодирования может определять режим, применяемый к текущему блоку, из множества режимов внутреннего прогнозирования. Оборудование кодирования может сравнивать RD-затраты для режимов внутреннего прогнозирования и определять оптимальный режим внутреннего прогнозирования для текущего блока.
[131] Между тем, оборудование кодирования может выполнять процедуру фильтрации прогнозных выборок. Фильтрация прогнозных выборок может называться "постфильтрацией". Некоторые или все прогнозные выборки могут фильтроваться посредством процедуры фильтрации прогнозных выборок. В некоторых случаях, процедура фильтрации прогнозных выборок может опускаться.
[132] Оборудование кодирования извлекает остаточные выборки для текущего блока на основе прогнозных выборок (S510). Оборудование кодирования может сравнивать прогнозные выборки в исходных выборках текущего блока на основе фазы и извлекать остаточные выборки.
[133] Оборудование кодирования может преобразовывать/квантовать остаточные выборки, чтобы извлекать квантованные коэффициенты преобразования (S520), и после этого деквантует/обратно преобразует квантованные коэффициенты преобразования снова, чтобы извлекать (модифицированные) остаточные выборки (S530). Причина выполнения деквантования/обратного преобразования снова после преобразования/квантования состоит в том, чтобы извлекать остаточные выборки, идентичные остаточным выборкам, извлекаемым из оборудования декодирования, как описано выше.
[134] Оборудование кодирования может формировать восстановленный блок, включающий в себя восстановленные выборки для текущего блока, на основе прогнозных выборок и (модифицированных) остаточных выборок (S540). Восстановленный кадр для текущего кадра может формироваться на основе восстановленного блока.
[135] Оборудование кодирования может кодировать информацию изображений, включающую в себя информацию прогнозирования относительно внутреннего прогнозирования (например, информацию режима прогнозирования, указывающую режим прогнозирования) и остаточную информацию относительно внутренних и остаточных выборок, и выводить кодированную информацию изображений в форме потока битов, как описано выше. Остаточная информация может включать в себя синтаксис остаточного кодирования. Оборудование кодирования может преобразовывать/квантовать остаточные выборки с тем, чтобы извлекать квантованные коэффициенты преобразования. Остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования.
[136] Фиг. 6 является блок-схемой последовательности операций, иллюстрирующей способ восстановления блоков на основе внутреннего прогнозирования в оборудовании декодирования. Способ по фиг. 6 может включать в себя этапы S600, S610, S620, S630 и S640. Оборудование декодирования может выполнять операцию, соответствующую операции, выполняемой в оборудовании кодирования.
[137] S600-S620 могут выполняться посредством модуля 331 внутреннего прогнозирования оборудования декодирования, и информация прогнозирования по S600 и остаточная информация по S630 могут получаться из потока битов посредством энтропийного декодера 310 оборудования декодирования. Остаточный процессор 320 оборудования декодирования может извлекать остаточные выборки для текущего блока на основе остаточной информации. В частности, деквантователь 321 остаточного процессора 320 извлекает коэффициенты преобразования посредством выполнения деквантования на основе квантованных коэффициентов преобразования, извлекаемых на основе остаточной информации, и обратный преобразователь 322 остаточного процессора может извлекать остаточные выборки для текущего блока посредством выполнения обратного преобразования для коэффициентов преобразования. S640 может выполняться посредством сумматора 340 или модуля восстановления оборудования декодирования.
[138] В частности, оборудование декодирования может извлекать режим внутреннего прогнозирования для текущего блока на основе принимаемой информации режима прогнозирования (S600). Оборудование декодирования может извлекать периферийные опорные выборки текущего блока (S610). Оборудование декодирования формирует прогнозные выборки в текущем блоке на основе режима внутреннего прогнозирования и соседних опорных выборок (S620). В этом случае, оборудование декодирования изображений может выполнять процедуру фильтрации прогнозных выборок. Фильтрация прогнозных выборок может называться "постфильтрацией". Некоторые или все прогнозные выборки могут фильтроваться посредством процедуры фильтрации прогнозных выборок. В некоторых случаях, процедура фильтрации прогнозных выборок может опускаться.
[139] Оборудование декодирования формирует остаточные выборки для текущего блока на основе принимаемой остаточной информации (S630). Оборудование декодирования может формировать восстановленные выборки для текущего блока на основе прогнозных выборок и остаточных выборок и извлекать восстановленный блок, включающий в себя восстановленные выборки (S640). Восстановленный кадр для текущего кадра может формироваться на основе восстановленного блока.
[140] Здесь, модуль 331 внутреннего прогнозирования оборудования декодирования может включать в себя модуль определения режима/типа прогнозирования, модуль извлечения опорных выборок и модуль извлечения прогнозных выборок, и модуль определения режима/типа прогнозирования может определять режим внутреннего прогнозирования для текущего блока на основе информации режима прогнозирования, полученной посредством энтропийного декодера 310 оборудования декодирования, модуль извлечения опорных выборок может извлекать периферийные опорные выборки текущего блока, и модуль извлечения прогнозных выборок может извлекать прогнозные выборки текущего блока. Между тем, хотя не показано, когда процедура фильтрации прогнозных выборок, описанная выше, выполняется, модуль 331 внутреннего прогнозирования дополнительно может включать в себя фильтр прогнозных выборок (не показан).
[141] Информация прогнозирования может включать в себя информацию режима внутреннего прогнозирования и/или информацию типа внутреннего прогнозирования. Информация режима внутреннего прогнозирования может включать в себя, например, информацию флага (например, Intra_luma_mpm_flag), указывающую то, применяется либо нет наиболее вероятный режим (MPM) к текущему блоку, либо оставшийся режим применяется, и когда MPM применяется к текущему блоку, информация режима прогнозирования дополнительно может включать в себя информацию индекса (например, intra_luma_mpm_idx), указывающую один из возможных вариантов режимов внутреннего прогнозирования (возможных MPM-вариантов). Возможные варианты режимов внутреннего прогнозирования (возможные MPM-варианты) могут включать в себя список возможных MPM-вариантов или MPM-список. Помимо этого, когда MPM не применяется к текущему блоку, информация режима внутреннего прогнозирования дополнительно может включать в себя информацию оставшихся режимов (например, Intra_luma_mpm_remainder), указывающую один из оставшихся режимов внутреннего прогнозирования, за исключением возможных вариантов режимов внутреннего прогнозирования (возможных MPM-вариантов). Оборудование декодирования может определять режим внутреннего прогнозирования текущего блока на основе информации режима внутреннего прогнозирования. Отдельный MPM-список может быть сконфигурирован для вышеуказанного MIP.
[142] Помимо этого, информация типа внутреннего прогнозирования может реализовываться в различных формах. Например, информация типа внутреннего прогнозирования может включать в себя информацию индекса типа внутреннего прогнозирования, указывающую один из типов внутреннего прогнозирования. В качестве другого примера, информация типа внутреннего прогнозирования может включать в себя, по меньшей мере, одно из информации опорной выборочной линии (например, Intra_luma_ref_idx), указывающей то, применяется или нет MRL к текущему блоку, и если применяется, то, какая опорная выборочная линия используется, информации ISP-флага (например, Intra_subpartitions_mode_flag), указывающей то, применяется или нет ISP к текущему блоку, информации ISP-типа (например, Intra_subpartitions_split_flag), указывающей тип разбиения субсегментов, когда ISP применяется, информации флага, указывающей то, применяется или нет PDCP, либо информации флага, указывающей то, применяется или нет LIP. Помимо этого, информация типа внутреннего прогнозирования может включать в себя MIP-флаг, указывающий то, применяется или нет MIP к текущему блоку.
[143] Информация режима внутреннего прогнозирования и/или информация типа внутреннего прогнозирования могут кодироваться/декодироваться через способ кодирования, описанный в настоящем раскрытии сущности. Например, информация режима внутреннего прогнозирования и/или информация типа внутреннего прогнозирования могут кодироваться/декодироваться посредством энтропийного кодирования (например, CABAC, CAVLC) на основе усеченного двоичного кода (Райса).
[144] Модуль прогнозирования оборудования кодирования/оборудования декодирования может извлекать прогнозные выборки посредством выполнения взаимного прогнозирования на поблочной основе. Взаимное прогнозирование может представлять собой прогнозирование, извлекаемое таким способом, который зависит от элементов данных (например, выборочных значений или информаций движения) кадра(ов), отличного от текущего кадра. Когда взаимное прогнозирование применяется к текущему блоку, прогнозированный блок (массив прогнозных выборок) для текущего блока может извлекаться на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения в опорном кадре, указываемом посредством индекса опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения текущего блока может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию типа взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). Когда взаимное прогнозирование применяется, соседний блок может включать в себя пространственный соседний блок, который присутствует в текущем кадре, и временной соседний блок, который присутствует в опорном кадре. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными друг другу или отличающимися друг от друга. Временной соседний блок может упоминаться под таким названием, как "совместно размещенный опорный блок", "совместно размещенная CU (colCU)", и т.д., и опорный кадр, включающий в себя временной соседний блок, может называться "совместно размещенным кадром (colPic)". Например, список возможных вариантов информации движения может быть сконфигурирован на основе соседних блоков текущего блока, и информация флага или индекса, указывающая то, какой возможный вариант выбирается (используется) для того, чтобы извлекать вектор движения и/или индекс опорного кадра текущего блока, может передаваться в служебных сигналах. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования и, например, в случае режима пропуска и режима объединения, информация движения текущего блока может быть идентичной информации движения соседнего блока. В случае режима пропуска, остаточный сигнал может не передаваться, в отличие от режима объединения. В случае режима прогнозирования векторов движения (MVP), вектор движения выбранного соседнего блока используется в качестве предиктора вектора движения, и разность векторов движения может передаваться в служебных сигналах. В этом случае, вектор движения текущего блока может извлекаться с использованием суммы предиктора вектора движения и разности векторов движения.
[145] Фиг. 7 является блок-схемой последовательности операций, иллюстрирующей способ восстановления блоков на основе взаимного прогнозирования в оборудовании кодирования. Способ по фиг. 7 может включать в себя этапы S700, S710, S720, S730 и S740.
[146] S700 может выполняться посредством модуля 221 взаимного прогнозирования оборудования кодирования, и S710-S730 могут выполняться посредством остаточного процессора 230 оборудования кодирования. В частности, S710 может выполняться посредством вычитателя 231 оборудования кодирования, S720 может выполняться посредством преобразователя 232 и квантователя 233 оборудования кодирования, и S730 может выполняться посредством деквантователя 234 и обратного преобразователя 235 оборудования кодирования. На S700, информация прогнозирования может извлекаться посредством модуля 221 взаимного прогнозирования и кодироваться посредством энтропийного кодера 240. Остаточная информация может извлекаться через S710 и S720 и кодироваться посредством энтропийного кодера 240. Остаточная информация представляет собой информацию относительно остаточных выборок. Остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования для остаточных выборок. Как описано выше, остаточные выборки могут извлекаться в качестве коэффициентов преобразования через преобразователь 232 оборудования кодирования, и коэффициенты преобразования могут извлекаться в качестве квантованных коэффициентов преобразования через квантователь 233. Информация относительно квантованных коэффициентов преобразования может кодироваться посредством энтропийного кодера 240 через процедуру остаточного кодирования.
[147] Оборудование кодирования выполняет взаимное прогнозирование для текущего блока (S700). Оборудование кодирования может извлекать режим взаимного прогнозирования и информацию движения текущего блока и формировать прогнозные выборки текущего блока. Здесь, процедуры для определения режима взаимного прогнозирования, извлечения информации движения и формирования прогнозных выборок могут выполняться одновременно, или одна процедура может выполняться перед другой процедурой. Например, модуль 221 взаимного прогнозирования оборудования кодирования может включать в себя модуль определения режима прогнозирования, модуль извлечения информации движения и модуль извлечения прогнозных выборок, и модуль определения режима прогнозирования может определять режим прогнозирования для текущего блока, модуль извлечения информации движения может извлекать информацию движения текущего блока, и модуль извлечения прогнозных выборок может извлекать выборки движения текущего блока. Например, модуль 221 взаимного прогнозирования оборудования кодирования может выполнять поиск блока, аналогичного текущему блоку, в предварительно определенной зоне (зоне поиска) опорных кадров через оценку движения, и может извлекать опорный блок, в котором разность относительно текущего блока является минимальной либо составляет предварительно определенное опорное значение или меньше. На основе этого, индекс опорного кадра, указывающий опорный кадр, в котором расположен опорный блок, может извлекаться, и вектор движения может извлекаться на основе разности позиций между опорным блоком и текущим блоком. Оборудование кодирования может определять режим, применяемый к текущему блоку, из числа различных режимов прогнозирования. Оборудование кодирования может сравнивать функции затрат на искажение в зависимости от скорости передачи (RD) для различных режимов прогнозирования и определять оптимальный режим прогнозирования для текущего блока.
[148] Например, когда режим пропуска или режим объединения применяется к текущему блоку, оборудование кодирования может конструировать список возможных вариантов объединения, который описывается ниже, и извлекать опорный блок, в котором разность относительно текущего блока является минимальной либо составляет предварительно определенное опорное значение или меньше, из опорных блоков, указываемых посредством возможных вариантов объединения, включенных в список возможных вариантов объединения. В этом случае, возможный вариант объединения, ассоциированный с извлеченным опорным блоком, может выбираться, и информация индекса объединения, указывающая выбранный возможный вариант объединения, может формироваться и передаваться в служебных сигналах в оборудование декодирования. Информация движения текущего блока может извлекаться с использованием информации движения выбранного возможного варианта объединения.
[149] В качестве другого примера, когда (A)MVP-режим применяется к текущему блоку, оборудование кодирования конструирует список возможных (A)MVP-вариантов, который описывается ниже, и использует вектор движения выбранного возможного MVP-варианта, из возможных вариантов предикторов векторов движения (MVP), включенных в список возможных (A)MVP-вариантов, в качестве MVP текущего блока. В этом случае, например, вектор движения, указывающий опорный блок, извлекаемый посредством оценки движения, описанной выше, может использоваться в качестве вектора движения текущего блока, и возможный MVP-вариант, имеющий вектор движения, имеющий наименьшую разность относительно вектора движения текущего блока, из возможных MVP-вариантов, может представлять собой выбранный возможный MVP-вариант. Разность векторов движения (MVD), которая представляет собой разность, полученную посредством вычитания MVP из вектора движения текущего блока, может извлекаться. В этом случае, информация относительно MVD может передаваться в служебных сигналах в оборудование декодирования. Помимо этого, когда (A)MVP-режим применяется, значение индекса опорного кадра может быть сконфигурировано как информация индекса опорного кадра и отдельно передаваться в служебных сигналах в оборудование декодирования.
[150] Оборудование кодирования может извлекать остаточные выборки на основе прогнозных выборок (S710). Оборудование кодирования может извлекать остаточные выборки посредством сравнения исходных выборок текущего блока с прогнозными выборками.
[151] Оборудование кодирования преобразует/квантует остаточные выборки, чтобы извлекать квантованные коэффициенты преобразования (S720), и затем деквантует/обратно преобразует квантованные коэффициенты преобразования снова, чтобы извлекать (модифицированные) остаточные выборки (S730). Причина выполнения деквантования/обратного преобразования снова после преобразования/квантования состоит в том, чтобы извлекать остаточные выборки, идентичные остаточным выборкам, извлекаемым из оборудования декодирования, как описано выше.
[152] Оборудование кодирования может формировать восстановленный блок, включающий в себя восстановленные выборки для текущего блока, на основе прогнозных выборок и (модифицированных) остаточных выборок (S740). Восстановленный кадр для текущего кадра может формироваться на основе восстановленного блока.
[153] Хотя не показано, как описано выше, оборудование 100 кодирования может кодировать видеоинформацию, включающую в себя информацию прогнозирования и остаточную информацию. Оборудование 100 кодирования может выводить кодированную информацию изображений в форме потока битов. Информация прогнозирования может представлять собой информацию, связанную с процедурой прогнозирования, и может включать в себя информацию режима прогнозирования (например, флаг пропуска, флаг объединения или индекс режима) и информацию движения. Информация движения может включать в себя информацию выбора возможных вариантов (например, индекс объединения, MVP-флаг или MVP-индекс), которая представляет собой информацию для извлечения вектора движения. Помимо этого, информация относительно информации движения может включать в себя вышеуказанную MVD-информацию и/или информацию индекса опорного кадра. Помимо этого, информация относительно информации движения может включать в себя информацию, указывающую то, применяется либо нет L0-прогнозирование, L1-прогнозирование или бипрогнозирование. Остаточная информация представляет собой информацию относительно остаточных выборок. Остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования для остаточных выборок.
[154] Выходной поток битов может сохраняться на (цифровом) носителе хранения данных и передаваться в оборудование декодирования либо может передаваться в оборудование декодирования через сеть.
[155] Фиг. 8 является блок-схемой последовательности операций, иллюстрирующей способ восстановления блоков на основе взаимного прогнозирования в оборудовании декодирования. Способ по фиг. 8 может включать в себя этапы S800, S810, S820, S830 и S840. Оборудование декодирования может выполнять операцию, соответствующую операции, выполняемой посредством оборудования кодирования.
[156] S800-S820 могут выполняться посредством модуля 332 взаимного прогнозирования оборудования декодирования, и информация прогнозирования по S800 и остаточная информация по S830 могут получаться из потока битов посредством энтропийного декодера 310 оборудования декодирования. Остаточный процессор 320 оборудования декодирования может извлекать остаточные выборки для текущего блока на основе остаточной информации. В частности, деквантователь 321 остаточного процессора 320 может извлекать коэффициенты преобразования посредством выполнения деквантования на основе квантованных коэффициентов преобразования, извлекаемых на основе остаточной информации, и обратный преобразователь 322 остаточного процессора может извлекать остаточные выборки для текущего блока посредством выполнения обратного преобразования для коэффициентов преобразования. S840 может выполняться посредством сумматора 340 или модуля восстановления оборудования декодирования.
[157] В частности, оборудование декодирования может определять режим прогнозирования для текущего блока на основе принимаемой информации прогнозирования (S800). Оборудование декодирования может определять то, какой режим взаимного прогнозирования должен применяться к текущему блоку, на основе информации режима прогнозирования в информации прогнозирования.
[158] Например, может определяться то, применяется или нет режим объединения к текущему блоку, или то, определяется или нет (A)MVP-режим, на основе флага объединения. Альтернативно, один из различных возможных вариантов режимов взаимного прогнозирования может выбираться на основе индекса режима. Возможные варианты режима взаимного прогнозирования могут включать в себя режим пропуска, режим объединения и/или (A)MVP-режим либо могут включать в себя различные режимы взаимного прогнозирования, которые описываются ниже.
[159] Оборудование декодирования извлекает информацию движения текущего блока на основе определенного режима взаимного прогнозирования. Например, когда режим пропуска или режим объединения применяется к текущему блоку, оборудование декодирования может конфигурировать список возможных вариантов объединения, который описывается ниже, и выбирать один возможный вариант объединения из числа возможных вариантов объединения, включенных в список возможных вариантов объединения. Выбор может выполняться на основе вышеуказанной информации выбора (индекса объединения). Информация движения текущего блока может извлекаться с использованием информации движения выбранного возможного варианта объединения. Информация движения выбранного возможного варианта объединения может использоваться как информация движения текущего блока.
[160] В качестве другого примера, когда (A)MVP-режим применяется к текущему блоку, оборудование декодирования может конструировать список возможных (A)MVP-вариантов, который описывается ниже, и использовать вектор движения выбранного возможного MVP-варианта из числа возможных вариантов предикторов векторов движения (MVP), включенных в список возможных (A)MVP-вариантов, в качестве MVP текущего блока. Выбор может выполняться на основе вышеописанной информации выбора (MVP-флага или MVP-индекса), описанной выше. В этом случае, MVD текущего блока может извлекаться на основе информации относительно MVD, и вектор движения текущего блока может извлекаться на основе MVP текущего блока и MVD. Кроме того, индекс опорного кадра текущего блока может извлекаться на основе информации индекса опорного кадра. Кадр, указываемый посредством индекса опорного кадра в списке опорных кадров для текущего блока, может извлекаться в качестве опорного кадра, на который ссылаются для взаимного прогнозирования текущего блока.
[161] Между тем, как описано ниже, информация движения текущего блока может извлекаться без конфигурирования списка возможных вариантов. В этом случае, информация движения текущего блока может извлекаться согласно процедуре, раскрытой в режиме прогнозирования, который описывается ниже. В этом случае, конфигурирование списка возможных вариантов, как описано выше, может опускаться.
[162] Оборудование декодирования может формировать прогнозные выборки для текущего блока на основе информации движения текущего блока (S820). В этом случае, опорный кадр может извлекаться на основе индекса опорного кадра текущего блока, и прогнозные выборки текущего блока могут извлекаться с использованием выборок опорного блока, указываемого посредством вектора движения текущего блока в опорном кадре. В этом случае, как описано ниже, процедура фильтрации прогнозных выборок дополнительно может выполняться для всех или некоторых прогнозных выборок текущего блока в некоторых случаях.
[163] Например, модуль 332 взаимного прогнозирования оборудования декодирования может включать в себя модуль определения режима прогнозирования, модуль извлечения информации движения и модуль извлечения прогнозных выборок, и модуль определения режима прогнозирования может определять режим прогнозирования для текущего блока на основе принимаемой информации режима прогнозирования, модуль извлечения информации движения может извлекать информацию движения (вектор движения и/или индекс опорного кадра и т.д.) текущего блока на основе принимаемой информации относительно информации движения, и модуль извлечения прогнозных выборок может извлекать прогнозные выборки текущего блока.
[164] Оборудование декодирования формирует остаточные выборки для текущего блока на основе принимаемой остаточной информации (S830). Оборудование декодирования может формировать восстановленные выборки для текущего блока на основе прогнозных выборок и остаточных выборок и может извлекать восстановленный блок, включающий в себя восстановленные выборки (S840). Восстановленный кадр для текущего кадра может формироваться на основе восстановленного блока.
[165] Различные режимы взаимного прогнозирования могут использоваться для прогнозирования текущего блока в кадре. Например, могут использоваться различные режимы, такие как режим объединения, режим пропуска, режим прогнозирования векторов движения (MVP), аффинный режим, режим объединения на основе субблоков и режим объединения с MVD (MMVD) и т.п. Режим детализации векторов движения на стороне декодера (DMVR), режим адаптивного разрешения векторов движения (AMVR), бипрогнозирование с помощью весовых коэффициентов уровня CU (BCW), двунаправленный оптический поток (BDOF) и т.п. также могут использоваться в качестве дополнительных режимов дополнительно или вместо этого. Аффинный режим может называться "режимом аффинного прогнозирования движения". MVP-режим может называться "режимом усовершенствованного прогнозирования векторов движения (AMVP)". В этом документе, некоторые режимы и/или возможные варианты информации движения, извлекаемые посредством некоторых режимов, могут включаться в качестве одного из возможных вариантов информации движения других режимов. Например, возможный HMVP-вариант может добавляться в качестве возможного варианта объединения в режиме объединения/пропуска или может добавляться в качестве возможного MVP-варианта в MVP-режиме.
[166] Информация режима прогнозирования, указывающая режим взаимного прогнозирования текущего блока, может передаваться в служебных сигналах из оборудования кодирования в оборудование декодирования. Информация режима прогнозирования может включаться в поток битов и приниматься посредством оборудования декодирования. Информация режима прогнозирования может включать в себя информацию индекса, указывающую один из множества возможных вариантов режимов. Альтернативно, режим взаимного прогнозирования может указываться через иерархическую передачу в служебных сигналах информации флага. В этом случае, информация режима прогнозирования может включать в себя один или более флагов. Например, флаг пропуска может передаваться в служебных сигналах, чтобы указывать то, применяется или нет режим пропуска, и если режим пропуска не применяется, флаг объединения может передаваться в служебных сигналах, чтобы указывать то, применяется или нет режим объединения, и если режим объединения не применяется, указывается необходимость применять MVP-режим, или флаг для дополнительной классификации дополнительно может передаваться в служебных сигналах. Аффинный режим может передаваться в служебных сигналах в независимом режиме или может передаваться в служебных сигналах в режиме, зависимом от режима объединения или MVP-режима. Например, аффинный режим может включать в себя аффинный режим объединения и аффинный MVP-режим.
[167] Между тем, информация, указывающая то, используется либо нет прогнозирование на основе списка 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.
[168]
Name of - Название
n.a. - Н/д
[169] Как описано выше, один кадр может включать в себя один или более срезов. Срез может иметь одни из типов срезов, включающих в себя внутренний (I) срез, прогнозирующий (P) срез и бипрогнозирующий (B) срез. Тип среза может указываться на основе информации типа среза. Для блоков в I-срезе, взаимное прогнозирование может не использоваться для прогнозирования, и только внутреннее прогнозирование может использоваться. Конечно, даже в этом случае, исходное выборочное значение может кодироваться и передаваться в служебных сигналах без прогнозирования. Внутреннее прогнозирование или взаимное прогнозирование может использоваться для блоков в P-срезе, и только унипрогнозирование может использоваться, когда используется взаимное прогнозирование. Между тем, внутреннее прогнозирование или взаимное прогнозирование может использоваться для блоков в B-срезе, и вплоть до бипрогнозирования может использоваться, когда используется взаимное прогнозирование.
[170] L0 и L1 могут включать в себя опорные кадры, которые ранее кодируются/декодируются до текущего кадра. Например, L0 может включать в себя опорные кадры перед и/или после текущего кадра в POC-порядке, и L1 может включать в себя опорные кадры после и/или перед текущим кадром в POC-порядке. В этом случае, L0 может назначаться меньший индекс опорного кадра относительно предыдущих опорных кадров в POC-порядке, чем относительно текущих опорных кадров, и L1 может назначаться меньший индекс опорного кадра относительно предыдущих опорных кадров в POC-порядке, чем относительно текущего кадра. В случае B-среза, бипрогнозирование может применяться, и в этом случае, однонаправленное бипрогнозирование может применяться, либо двунаправленное бипрогнозирование может применяться. Двунаправленное бипрогнозирование может называться "истинным бипрогнозированием".
[171] Как описано выше, остаточный блок (остаточные выборки) может извлекаться на основе прогнозированного блока (прогнозных выборок), извлекаемого через прогнозирование в каскаде кодирования, и остаточные выборки преобразуются/квантуются посредством остаточной информации, могут формироваться. Остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования. Остаточная информация может включаться в информацию видео/изображений, и информация видео/изображений может кодироваться и передаваться в оборудование декодирования в форме потока битов. Оборудование декодирования может получать остаточную информацию из потока битов и может извлекать остаточные выборки на основе остаточной информации. В частности, оборудование декодирования может извлекать квантованные коэффициенты преобразования на основе остаточной информации и может извлекать остаточные блоки (остаточные выборки) через процесс деквантования/обратного преобразования.
[172] Между тем, по меньшей мере, один процесс из (обратного) преобразования и/или (де)-квантования может опускаться.
[173] В дальнейшем в этом документе описывается процесс внутриконтурной фильтрации, выполняемый для восстановленного кадра. Модифицированная восстановленная выборка, блок, кадр (или модифицированная фильтрованная выборка, блок, кадр) могут формироваться через процесс внутриконтурной фильтрации, и модифицированный (модифицированный и фильтрованный) восстановленный кадр может выводиться в качестве декодированного кадра в оборудовании декодирования и также может сохраняться в буфере декодированных кадров или запоминающем устройстве оборудования кодирования/оборудования декодирования и использоваться в качестве опорного кадра в процессе взаимного прогнозирования во время кодирования/декодирования кадра впоследствии. Процесс внутриконтурной фильтрации может включать в себя процесс фильтрации для удаления блочности, процесс фильтрации на основе дискретизированного адаптивного смещения (SAO) и/или процесс адаптивной контурной фильтрации (ALF), как описано выше. В этом случае, один или некоторые из процесса фильтрации для удаления блочности, процесса фильтрации на основе дискретизированного адаптивного смещения (SAO), процесса адаптивной контурной фильтрации (ALF) и процесса билатеральной фильтрации могут последовательно применяться, либо все могут последовательно применяться. Например, SAO-процесс может выполняться после того, как процесс фильтрации для удаления блочности применяется к восстановленному кадру. Альтернативно, например, ALF-процесс может выполняться после того, как процесс фильтрации для удаления блочности применяется к восстановленному кадру. Это также может выполняться в оборудовании кодирования.
[174] Фильтрация для удаления блочности представляет собой технологию фильтрации, которая удаляет искажение на границах между блоками в восстановленном кадре. Процесс фильтрации для удаления блочности, например, может извлекать целевую границу из восстановленного кадра, определять граничную интенсивность (bS) для целевой границы и выполнять фильтрацию для удаления блочности для целевой границы на основе bS; bS может определяться на основе режима прогнозирования, разности векторов движения, того, является или нет опорный кадр идентичным, того, существует или нет ненулевой значимый коэффициент и т.д., для двух блоков, смежных с целевой границей.
[175] SAO представляет собой способ для компенсации разности смещения между восстановленным кадром и исходным кадром на основе выборок. Например, SAO может применяться на основе типа, к примеру, как полосовое смещение, краевое смещение и т.п. Согласно SAO, выборки могут классифицироваться на различные категории согласно каждому SAO-типу, и значение смещения может суммироваться с каждой выборкой на основе категории. Информация фильтрации для SAO может включать в себя информацию относительно того, применяется или нет SAO, информацию SAO-типа и информацию значений SAO-смещения. SAO может применяться к восстановленному кадру после того, как фильтрация для удаления блочности применяется.
[176] Адаптивный контурный фильтр (ALF) представляет собой технологию для фильтрации восстановленного кадра на основе выборок на основе коэффициентов фильтра согласно форме фильтра. Оборудование кодирования может определять то, следует или нет применять ALF, ALF-форму и/или коэффициент ALF-фильтра и т.д., посредством сравнения восстановленного кадра и исходного кадра и может передавать в служебных сигналах в оборудование декодирования. Таким образом, информация фильтрации для ALF может включать в себя информацию относительно того, применяется или нет ALF, информацию формы ALF-фильтра, информацию коэффициентов ALF-фильтра и т.п. ALF может применяться к восстановленному кадру после того, как применяется фильтрация для удаления блочности.
[177] Фиг. 9 показывает пример формы ALF-фильтра.
[178] На фиг. 9, (a) показывает форму ромбовидного фильтра 7×7, (b) показывает форму ромбовидного фильтра 5×5. На фиг. 9, 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 коэффициент фильтра может извлекаться (неявно).
[179] Согласно варианту осуществления настоящего раскрытия сущности, ALF-параметр, используемый для ALF-процесса, может передаваться в служебных сигналах через набор параметров адаптации (APS). ALF-параметр может извлекаться из информации фильтра или ALF-данных для ALF.
[180] ALF представляет собой тип технологии внутриконтурной фильтрации, которая может применяться при кодировании видео/изображений, как описано выше. ALF может выполняться с использованием адаптивного фильтра Винера. Это может служить для того, чтобы минимизировать среднеквадратическую ошибку (MSE) между исходными выборками и декодированными выборками (или восстановленными выборками). Высокоуровневое проектирование для инструментального ALF-средства может включать синтаксические элементы, доступные в SPS и/или в заголовке среза (либо в заголовке группы плиток).
[181] В примере, перед фильтрацией для каждого блока сигналов яркости 4×4, геометрические преобразования, такие как вращение или диагональное и вертикальное переворачивание, могут применяться к коэффициентам f(k, l) фильтра в зависимости от значений градиентов, вычисленных для блока, и соответствующих значений c(k, l) отсечения в фильтре. Это является эквивалентным применению этих преобразований к выборкам в зоне носителя фильтра. Создание других блоков, к которым применяется ALF, может быть аналогичным размещению этих блоков согласно их направленности.
[182] Например, три преобразования, диагональное, вертикальное переворачивание и вращение, могут выполняться на основе следующих уравнений.
[183] уравнение 1
Диагональное: f_D(k, l)=f(l, k), c_D(k, l)=c(l, k)
[184] уравнение 2
Вертикальное переворачивание: f_V(k, l)=f(k, K-l-1), c_V(k, l)=c(k, K-l-1)
[185] уравнение 3
Вращение: f_R(k, l)=f(K-l-1, k), c_R(k, l)=c(K-l-1, k)
[186] В уравнениях 1-3, K может представлять собой размер фильтра. 0≤k и 1≤K-1 могут представлять собой координаты коэффициентов. Например, (0, 0) может представлять собой левую верхнюю угловую координату, и/или (K-1, K-1) может представлять собой правую нижнюю угловую координату. Взаимосвязь между преобразованиями и четырьмя градиентами в четырех направлениях может обобщаться в следующей таблице.
[187]
Табл. 2
Значения градиентов
Преобразование
g<sub>d2</sub><g<sub>d1</sub> и g<sub>h</sub><g<sub>v</sub>
Отсутствие преобразования
g<sub>d2</sub><g<sub>d1</sub> и g<sub>v</sub><g<sub>h</sub>
Диагональное
g<sub>d1</sub><g<sub>d2</sub> и g<sub>h</sub><g<sub>v</sub>
Вертикальное переворачивание
g<sub>d1</sub><g<sub>d2</sub> и g<sub>v</sub><g<sub>h</sub>
Вращение
[188] Параметры ALF-фильтра могут передаваться в служебных сигналах в APS и заголовке среза. В одном APS, вплоть до 25 коэффициентов фильтра сигналов яркости и индексов значений отсечения могут передаваться в служебных сигналах. В одном APS, вплоть до 8 коэффициентов фильтра сигналов цветности и индексов значений отсечения могут передаваться в служебных сигналах. Чтобы уменьшать дополнительное число битов, коэффициенты фильтра различных классификаций для компонента сигналов яркости могут объединяться. В заголовке среза, могут передаваться в служебных сигналах индексы APS (указываемые по ссылке посредством текущего среза), используемых для текущего среза.
[189] Индексы значений отсечения, декодированные из APS, могут позволять определять значения отсечения с использованием таблицы сигналов яркости значений отсечения и таблицы сигналов цветности значений отсечения. Эти значения отсечения могут зависеть от внутренней битовой глубины. Более конкретно, таблица сигналов яркости значений отсечения и таблица сигналов цветности значений отсечения могут извлекаться на основе следующих уравнений.
[190] уравнение 4
AlfClipL={round(2^(B(N-n+1)/N)) для n [1...N]}
[191] уравнение 5
AlfClipC={round(2^((B-8)+8((N-n))/(N-1))) для n [1...N]}
[192] В вышеприведенных уравнениях, B может быть внутренней битовой глубиной, и N может быть числом разрешенных значений отсечения (предварительно определенным числом). Например, N может быть равным 4.
[193] В заголовке среза, вплоть до 7 APS-индексов могут передаваться в служебных сигналах, чтобы указывать наборы фильтров сигналов яркости, используемые для текущего среза. Процесс фильтрации дополнительно может управляться на CTB-уровне. Например, флаг, указывающий то, применяется или нет ALF к CTB сигналов яркости, может передаваться в служебных сигналах. CTB сигналов яркости может выбирать один из 16 наборов фиксированных фильтров и наборов фильтров из APS. Индекс набора фильтров может передаваться в служебных сигналах для CTB сигналов яркости, чтобы указывать то, какой набор фильтров применяется. 16 наборов фиксированных фильтров могут предварительно задаваться и жестко кодироваться в кодере и декодере.
[194] Для компонента сигналов цветности, APS-индекс может передаваться в служебных сигналах в заголовке среза, чтобы указывать наборы фильтров сигналов цветности, используемые для текущего среза. На CTB-уровне, когда имеется два или более наборов фильтров сигналов цветности в APS, индекс фильтра может передаваться в служебных сигналах для каждого CTB сигналов цветности.
[195] Коэффициенты фильтра могут квантоваться с 128 в качестве нормы. Чтобы ограничивать сложность умножения, соответствие потока битов может применяться таким образом, что значения коэффициентов нецентральной позиции могут варьироваться в диапазоне от 0 до 28, и/или значения коэффициентов оставшихся позиций могут составлять в диапазоне от -27 до 27-1. Коэффициент центральной позиции может не передаваться в служебных сигналах в потоке битов и может предварительно определяться (рассматриваться) равным 128.
[196] Когда ALF доступна для текущего блока, каждая выборка R(i, j) может фильтроваться, и фильтрованный результат R'(i, j) может выражаться посредством следующего уравнения.
[197] уравнение 6
[198] В вышеприведенном уравнении, 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).
[199] В примере, чтобы уменьшать требование по линейному буферу ALF, классификация модифицированных блоков и фильтрация могут применяться для выборок, смежных с горизонтальными CTU-границами. С этой целью, виртуальные границы могут задаваться.
[200] Фиг. 10 является схемой, иллюстрирующей виртуальную границу, применяемую к процессу фильтрации согласно варианту осуществления настоящего документа. Фиг. 11 иллюстрирует пример ALF-процесса с использованием виртуальной границы согласно варианту осуществления настоящего раскрытия сущности. В дальнейшем описывается фиг. 11 в сочетании с фиг. 10.
[201] Ссылаясь на фиг. 10, виртуальная граница может представлять собой линию, заданную посредством сдвига горизонтальной CTU-границы на N выборок. В примере, N может быть равным 4 для компонента сигнала яркости, и/или N может быть равным 2 для компонента сигналов цветности.
[202] На фиг. 10, классификация модифицированных блоков может применяться к компоненту сигналов яркости. Для одномерного лапласова градиентного вычисления блока 4×4 на виртуальной границе, могут использоваться только выборки выше виртуальной границы. Аналогично, для вычисления одномерного лапласова градиента блока 4×4 ниже виртуальной границы, могут использоваться только выборки ниже виртуальной границы. Квантование значения A активности может масштабироваться, соответственно, с учетом сокращенного числа выборок, используемых в одномерном лапласовом градиентном вычислении.
[203] Для процесса фильтрации, операция симметричного дополнения на виртуальных границах может использоваться для компонентов сигналов яркости и сигналов цветности. Ссылаясь на фиг. 10, когда фильтрованная выборка расположена ниже виртуальной границы, соседние выборки, расположенные выше виртуальной границы, могут дополняться. Между тем, соответствующие выборки на другой стороне также могут симметрично дополняться.
[204] Процесс, описанный согласно фиг. 11, также может использоваться для границ срезов, кирпичей и/или плиток, когда фильтр не доступен на границах. Для классификации ALF-блоков, могут использоваться только выборки, содержащиеся в идентичном срезе, кирпиче и/или плитке, и значение активности может масштабироваться, соответственно. Для ALF-фильтрации, симметричное дополнение может применяться для каждого из горизонтальных и/или вертикальных направлений относительно горизонтальных и/или вертикальных границ.
[205] Фиг. 12 является схемой, иллюстрирующей процесс кросскомпонентной адаптивной контурной фильтрации (CCALF) согласно варианту осуществления настоящего документа. CCALF-процесс может называться "процессом кросскомпонентной фильтрации".
[206] В аспекте, ALF-процесс может включать в себя общий ALF-процесс и CCALF-процесс. Таким образом, CCALF-процесс может означать некоторые процессы ALF-процесса. В другом аспекте, процесс фильтрации может включать в себя процесс удаления блочности, SAO-процесс, ALF-процесс и/или CCALF-процесс.
[207] CCALF может детализировать каждый компонент сигналов цветности с использованием выборочных значений сигналов яркости. CCALF управляется посредством информации (изображений) потока битов, которая включает в себя (a) информацию относительно коэффициентов фильтра для каждого компонента сигналов цветности и (b) информацию относительно маски, которая управляет применением фильтрации к блокам выборок. Коэффициенты фильтра могут передаваться в служебных сигналах в APS, и размер блока и маска может передаваться в служебных сигналах на уровне среза.
[208] Ссылаясь на фиг. 12, CCALF может работать посредством применения линейного ромбовидного фильтра ((b) по фиг. 12) к каналу сигналов яркости для каждого компонента сигналов цветности. Коэффициенты фильтра передаются в APS, масштабируются на коэффициент 210 и округляются в большую сторону для представления с фиксированной запятой. Применение фильтра может управляться при переменном размере блока и передаваться в служебных сигналах посредством флага контекстного кодирования, принимаемого для блоков каждой выборки. Размер блока наряду с флагом CCALF-активации может приниматься на уровне среза для каждого компонента сигналов цветности. Размер блока (для выборок сигналов цветности) может составлять 16×16, 32×32, 64×64 или 128×128.
[209] В нижеприведенных вариантах осуществления, предлагается способ повторной фильтрации или модификации восстановленных выборок сигналов цветности, фильтрованных посредством ALF на основе восстановленных выборок сигналов яркости.
[210] Вариант осуществления настоящего раскрытия сущности относится к передаче включения-выключения фильтрации и передаче коэффициентов фильтра в CCALF. Как описано выше, информация (синтаксический элемент) в синтаксической таблице, раскрытой в настоящем раскрытии сущности, может включаться в информацию изображений/видео, может конфигурироваться/кодироваться в устройстве кодирования и передаваться в устройство декодирования в форме потока битов. Оборудование декодирования может синтаксически анализировать/декодировать информацию (синтаксический элемент) в соответствующей синтаксической таблице. Оборудование декодирования может выполнять процесс декодирования кадров/изображений/видео (в частности, например, CCALF-процесс) на основе декодированной информации. Это применимо далее в этом документе к другим вариантам осуществления.
[211] Следующая таблица показывает некоторый синтаксис информации заголовка среза согласно варианту осуществления настоящего раскрытия сущности.
[212]
[213] Следующая таблица показывает примерную семантику для синтаксических элементов, включенных в вышеприведенную таблицу.
[214] Табл. 4
[215] Ссылаясь на вышеприведенные две таблицы, когда sps_cross_component_alf_enabled_flag равен 1 в заголовке среза, синтаксический анализ slice_cross_component_alf_cb_enabled_flag может выполняться для того, чтобы определять то, применяется или нет Cb CCALF в срезе. Когда slice_cross_component_alf_cb_enabled_flag равен 1, CCALF применяется к соответствующему Cb-срезу, и когда slice_cross_component_alf_cb_reuse_temporal_layer_filter равен 1, фильтр идентичного существующего временного слоя может многократно использоваться. Когда slice_cross_component_alf_cb_enabled_flag равен 0, CCALF может применяться с использованием фильтра в соответствующем идентификаторе набора параметров адаптации (APS) через синтаксический анализ slice_cross_component_alf_cb_aps_id. Slice_cross_component_alf_cb_log2_control_size_minus4 может означать то, что CCALF применяет единицу блока в Cb-срезе.
[216] Например, когда значение slice_cross_component_alf_cb_log2_control_size_minus4 равно 0, то, применяется или нет CCALF, определяется в единицах 16×16. Когда значение slice_cross_component_alf_cb_log2_control_size_minus4 равно 1, то, применяется или нет CCALF, определяется в единицах 32×32. Когда значение slice_cross_component_alf_cb_log2_control_size_minus4 равно 2, то, применяется или нет CCALF, определяется в единицах 64×64. Когда значение slice_cross_component_alf_cb_log2_control_size_minus4 равно 3, то, применяется или нет CCALF, определяется в единицах 128×128. Помимо этого, синтаксис структуры, идентичной структуре, описанной выше, используется для Cr CCALF.
[217] Следующая таблица показывает примерный синтаксис для ALF-данных.
[218] Табл. 5
[219] Следующая таблица показывает примерную семантику для синтаксических элементов, включенных в вышеприведенную таблицу.
[220] Табл. 6
[222] Ссылаясь на вышеприведенные две таблицы, синтаксические CCALF-элементы не придерживаются существующей (общей) синтаксической ALF-структуры, а передаются независимо и выполнены с возможностью независимо применяться. Таким образом, CCALF может применяться, даже когда инструментальное ALF-средство в SPS выключено. Новое аппаратное проектное решение по конвейеру требуется, поскольку CCALF должна иметь возможность работать независимо от существующей ALF-структуры. Это приводит к увеличению затрат на аппаратную реализацию и к увеличению аппаратной задержки.
[223] Помимо этого, в ALF, то, применяются или нет изображения на основе сигналов яркости и сигналов цветности, определяется в единицах CTU, и результат определения передается в декодер посредством передачи служебных сигналов. Тем не менее, то, переменная или нет CCALF применяется, определяется в единицах 16×16-128×128, и это применение может вызывать коллизию между существующей ALF-структурой и CCALF. Это вызывает проблемы в аппаратной реализации и в то же время вызывает увеличение линейных буферов для различных переменных CCALF-вариантов применения.
[224] В настоящем раскрытии сущности, вышеуказанные проблемы в аппаратной реализации CCALF разрешаются посредством интегрального применения синтаксической CCALF-структуры к синтаксической ALF-структуре.
[225] Согласно варианту осуществления настоящего раскрытия сущности, чтобы определять то, используется (применяется) или нет CCALF, набор параметров последовательности (SPS) может включать в себя флаг CCALF-активации (sps_ccalf_enable_flag). Флаг CCALF-активации может передаваться независимо от флага ALF-активации (sps_alf_enabled_flag) для определения того, используется (применяется) или нет ALF.
[226] Следующая таблица показывает часть примерного синтаксиса SPS согласно настоящему варианту осуществления.
[227] Табл. 7
[228] Ссылаясь на вышеприведенную таблицу, CCALF может применяться только тогда, когда ALF всегда работает. Таким образом, только когда флаг ALF-активации (sps_alf_enabled_flag) равен 1, флаг CCALF-активации (sps_ccalf_enabled_flag) может синтаксически анализироваться. CCALF и ALF могут комбинироваться согласно вышеприведенной таблице. Флаг CCALF-активации может указывать (и может быть связан) то/с тем, доступна или нет CCALF.
[229] Следующая таблица показывает часть примерного синтаксиса для заголовков срезов.
[230] Табл. 8
[231] Ссылаясь на вышеприведенную таблицу, синтаксический анализ sps_ccalf_enabled_flag может выполняться только тогда, когда sps_alf_enabled_flag равен 1. Синтаксические элементы, включенные в таблицу, могут описываться на основе таблицы 4. В примере, информация изображений, кодированная посредством устройства кодирования или полученная (принимаемая) посредством устройства декодирования, может включать в себя информацию заголовка среза (slice_header()). На основе определения того, что значение флага CCALF-активации (sps_ccalf_flag) равно 1, информация заголовка среза включает в себя первый флаг (slice_cross_component_alf_cb_enabeld_flag), связанный с тем, доступна или нет CCALF для цветового Cb-компонента фильтрованных восстановленных выборок сигналов цветности, и второй флаг (slice_cross_component_alf_cr_enabeld_flag), связанный с тем, доступна или нет CCALF для цветового Cr-компонента фильтрованных восстановленных выборок сигналов цветности.
[232] В примере, на основе определения того, что значение первого флага (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-компонента.
[233] Следующая таблица показывает часть SPS-cинтаксиса согласно другому примеру настоящего варианта осуществления.
[234] Табл. 9
[235] Следующая таблица примерно показывает часть синтаксиса заголовков срезов.
[236] Табл. 10
[237] Ссылаясь на таблицу 9, когда ChromaArrayType не равен 0, и флаг ALF-активации (sps_alf_enabled_flag) равен 1, SPS может включать в себя флаг CCALF-активации (sps_ccalf_enabled_flag). Например, если ChromaArrayType не равен 0, формат сигналов цветности может не быть монохромным, и флаг CCALF-активации может передаваться через SPS на основе случая, в котором формат сигналов цветности не является монохромным.
[238] Ссылаясь на таблицу 9, на основе случая, в котором ChromaArrayType не равен 0, информация относительно CCALF (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) может включаться в информацию заголовка среза.
[239] В примере, информация изображений, кодированная посредством устройства кодирования или полученная посредством устройства декодирования, может включать в себя SPS. SPS может включать в себя первый флаг ALF-активации (sps_alf_enabled_flag), связанный с тем, доступна или нет ALF. Например, на основе определения того, что значение первого флага ALF-активации равно 1, SPS может включать в себя флаг CCALF-активации, связанный с тем, доступна или нет кросскомпонентная фильтрация. В другом примере, если sps_ccalf_enabled_flag не используется, и sps_alf_enabled_flag равен 1, CCALF может всегда применяться (sps_ccalf_enabled_flag==1).
[240] Следующая таблица показывает часть синтаксиса заголовков срезов согласно другому примеру этого варианта осуществления.
[241] Табл. 11
[242] Ссылаясь на вышеприведенную таблицу, синтаксический анализ флага CCALF-активации (sps_ccalf_enabled_flag) может выполняться только тогда, когда флаг ALF-активации (sps_alf_enabled_flag) равен 1.
[243] Следующая таблица показывает примерную семантику для синтаксических элементов, включенных в вышеприведенную таблицу.
[244] Табл. 12
[245] slice_ccalf_chroma_idc вышеприведенной таблицы может описываться посредством семантики нижеприведенной таблицы.
[246] Табл. 13
[247] Следующая таблица показывает часть синтаксиса заголовков срезов согласно другому примеру этого варианта осуществления.
[248] Табл. 14
[249] Синтаксические элементы, включенные в таблицу, могут описываться согласно таблице 12 или таблице 13. Помимо этого, когда формат сигналов цветности не является монохромным, связанная с CCALF информация может включаться в заголовок среза.
[250] Следующая таблица показывает часть синтаксиса заголовков срезов согласно другому примеру этого варианта осуществления.
[251] Табл. 15
[252] Следующая таблица показывает примерную семантику для синтаксических элементов, включенных в вышеприведенную таблицу.
[253] Табл. 16
[254] Следующая таблица показывает часть синтаксиса заголовков срезов согласно другому примеру этого варианта осуществления. Синтаксические элементы, включенные в следующую таблицу, могут описываться согласно таблице 12 или таблице 13.
[255] Табл. 17
[256] Ссылаясь на вышеприведенную таблицу, то, применяются или нет ALF и CCALF на основе единиц срезов, может определяться сразу через slice_alf_enabled_flag. После синтаксического анализа slice_alf_chroma_idc, когда первый флаг ALF-активации (sps_alf_enabled_flag) равен 1, может синтаксически анализироваться slice_ccalf_chroma_idc.
[257] Ссылаясь на вышеприведенную таблицу, то, равен или нет sps_ccalf_enabeld_flag 1 в информации заголовка среза, может определяться только тогда, когда slice_alf_enabled_flag равен 1. Информация заголовка среза может включать в себя второй флаг ALF-активации (slice_alf_enabled_flag), связанный с тем, доступна или нет ALF. На основе определения того, что значение второго флага ALF-активации (slice_alf_enabled_flag) равно 1, CCALF может быть доступной для среза.
[258] Следующая таблица примерно показывает часть APS-синтаксиса. Синтаксический элемент adaptation_parameter_set_id может указывать информацию идентификатора (идентификационную информацию) APS.
[259] Табл. 18
[260] Следующая таблица показывает примерный синтаксис для ALF-данных.
[261] Табл. 19
[262] Ссылаясь на вышеприведенные две таблицы, 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-компонента.
[263] В примере, на основе флага передачи в служебных сигналах Cr-фильтров, ALF-данные могут включать в себя информацию (alf_cross_component_cr_coeff_abs) относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cr-компонента и информацию относительно знаков (alf_cross_component_cr_coeff_sign) относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cr-компонента. На основе информации относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cr-компонента и информации относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cr-компонента, могут извлекаться коэффициенты кросскомпонентного фильтра для цветового Cr-компонента.
[264] В примере, ALF-данные могут включать в себя информацию (alf_cross_component_cb_coeff_abs) относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cb-компонента и информацию (alf_cross_component_cb_coeff_sign) относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cb-компонента. На основе информации относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cb-компонента и информации относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cb-компонента, могут извлекаться коэффициенты кросскомпонентного фильтра для цветового Cb-компонента.
[265] Следующая таблица показывает синтаксис, связанный с ALF-данными согласно другому примеру.
[266] Табл. 20
[267] Ссылаясь на вышеприведенную таблицу, после передачи сначала alf_cross_component_filter_signal_flag, когда alf_cross_component_filter_signal_flag равен 1, флаг передачи в служебных сигналах Cb/Cr-фильтров может передаваться. Таким образом, alf_cross_component_filter_signal_flag интегрирует Cb/Cr, чтобы определять то, следует или нет передавать коэффициенты CCALF-фильтра.
[268] Следующая таблица показывает синтаксис, связанный с ALF-данными согласно другому примеру.
[269] Табл. 21
[270] Следующая таблица показывает примерную семантику для синтаксических элементов, включенных в вышеприведенную таблицу.
[271] Табл. 22
[273] Следующая таблица показывает синтаксис, связанный с ALF-данными согласно другому примеру.
[274] Табл. 23
[275] Следующая таблица показывает примерную семантику для синтаксических элементов, включенных в вышеприведенную таблицу.
[276] Табл. 24
[278] В вышеприведенных двух таблицах, порядок экспоненциального код Голомба преобразования в двоичную форму для синтаксического анализа синтаксиса alf_cross_component_cb_coeff_abs[j] и alf_cross_component_cr_coeff_abs[j] может задаваться посредством одного из значений 0-9.
[279] Ссылаясь на вышеприведенные две таблицы, 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-компонента.
[280] В примере, 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-компонента.
[281] Следующая таблица показывает синтаксис относительно единицы дерева кодирования согласно варианту осуществления настоящего раскрытия сущности.
[282] Табл. 25
[283] Следующая таблица показывает примерную семантику для синтаксических элементов, включенных в вышеприведенную таблицу.
[284] Табл. 26
[285] Следующая таблица показывает синтаксис единиц дерева кодирования согласно другому примеру этого варианта осуществления.
[286] Табл. 27
[287] Обращаясь к вышеприведенной таблице, 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.
[288] Следующая таблица показывает синтаксис единиц дерева кодирования согласно другому примеру этого варианта осуществления.
[289] Табл. 28
[290] Следующая таблица показывает примерную семантику для синтаксических элементов, включенных в вышеприведенную таблицу.
[291] Табл. 29
[292] Следующая таблица показывает синтаксис единиц дерева кодирования согласно другому примеру этого варианта осуществления. Синтаксические элементы, включенные в нижеприведенную таблицу, могут описываться согласно таблице 29.
[293] Табл. 30
[294] В примере, информация изображений может включать в себя информацию относительно единицы дерева кодирования (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-компонента.
[295] Фиг. 13 и 14 схематично показывают пример способа кодирования видео/изображений и связанных компонентов согласно варианту(ам) осуществления настоящего раскрытия сущности.
[296] Способ, раскрытый на фиг. 13, может осуществляться посредством оборудования кодирования, раскрытого на фиг. 2 или фиг. 14. В частности, например, S1300-S1330 по фиг. 13 могут выполняться посредством остаточного процессора 230 оборудования кодирования по фиг. 14, S1340 по фиг. 13 может выполняться посредством сумматора 250 оборудования кодирования по фиг. 14, S1350 по фиг. 13 может выполняться посредством фильтра 260 оборудования кодирования по фиг. 14, и S1360 по фиг. 13 может выполняться посредством энтропийного кодера 240 оборудования кодирования по фиг. 14. Помимо этого, хотя не показано на фиг. 13, прогнозные выборки или связанная с прогнозированием информация могут извлекаться посредством модуля 220 прогнозирования оборудования кодирования на фиг. 13, и поток битов может формироваться из остаточной информации или связанной с прогнозированием информации посредством энтропийного кодера 240 оборудования кодирования. Способ, раскрытый на фиг. 13, может включать в себя варианты осуществления, описанные выше, в настоящем раскрытии сущности.
[297] Ссылаясь на фиг. 13, оборудование кодирования может извлекать остаточные выборки (S1300). Оборудование кодирования может извлекать остаточные выборки для текущего блока, и остаточные выборки для текущего блока могут извлекаться на основе исходных выборок и прогнозных выборок текущего блока. В частности, оборудование кодирования может извлекать прогнозные выборки текущего блока на основе режима прогнозирования. В этом случае, могут применяться различные способы прогнозирования, раскрытые в настоящем раскрытии сущности, такие как взаимное прогнозирование или внутреннее прогнозирование. Остаточные выборки могут извлекаться на основе прогнозных выборок и исходных выборок.
[298] Оборудование кодирования может извлекать коэффициенты преобразования (S1310). Оборудование кодирования может извлекать коэффициенты преобразования на основе процесса преобразования для остаточных выборок. Например, процесс преобразования может включать в себя, по меньшей мере, одно из DCT, DST, GBT или CNT.
[299] Оборудование кодирования может извлекать квантованные коэффициенты преобразования (S1320). Оборудование кодирования может извлекать квантованные коэффициенты преобразования на основе процесса квантования для коэффициентов преобразования. Квантованные коэффициенты преобразования могут иметь одномерную векторную форму на основе порядка сканирования коэффициентов.
[300] Оборудование кодирования может формировать остаточную информацию (S1330). Оборудование кодирования может формировать остаточную информацию, указывающую квантованные коэффициенты преобразования. Остаточная информация может формироваться через различные способы кодирования, такие как экспоненциальный код Голомба, CAVLC, CABAC и т.п.
[301] Оборудование кодирования может формировать восстановленные выборки (S1340). Оборудование кодирования может формировать восстановленные выборки на основе остаточной информации. Восстановленные выборки могут формироваться посредством суммирования остаточных выборок на основе остаточной информации с прогнозной выборкой. В частности, оборудование кодирования может выполнять прогнозирование (внутреннее или взаимное прогнозирование) для текущего блока и может формировать восстановленные выборки на основе исходных выборок и прогнозных выборок, сформированных из прогнозирования.
[302] Восстановленные выборки могут включать в себя восстановленные выборки сигналов яркости и восстановленные выборки сигналов цветности. В частности, остаточные выборки могут включать в себя остаточные выборки сигналов яркости и остаточные выборки сигналов цветности. Остаточные выборки сигналов яркости могут формироваться на основе исходных выборок сигналов яркости и прогнозированных выборок сигналов яркости. Остаточные выборки сигналов цветности могут формироваться на основе исходных выборок сигналов цветности и прогнозированных выборок сигналов цветности. Оборудование кодирования может извлекать коэффициенты преобразования (коэффициенты преобразования сигналов яркости) для остаточных выборок сигналов яркости и/или коэффициенты преобразования (коэффициенты преобразования сигналов цветности) для остаточных выборок сигналов цветности. Квантованные коэффициенты преобразования могут включать в себя квантованные коэффициенты преобразования сигналов яркости и/или квантованные коэффициенты преобразования сигналов цветности.
[303] Оборудование кодирования может формировать связанную с ALF информацию и/или связанную с CCALF (CC-ALF) информацию для восстановленных выборок (S1350). Оборудование кодирования может формировать связанную с ALF информацию для восстановленных выборок. Оборудование кодирования извлекает связанный с ALF параметр, который может применяться для фильтрации восстановленных выборок, и формирует связанную с ALF информацию. Например, связанная с ALF информация может включать в себя связанную с ALF информацию, описанную выше в настоящем раскрытии сущности.
[304] Устройство кодирования может кодировать информацию видео/изображений (S1360). Информация изображений может включать в себя остаточную информацию, связанную с ALF информацию и/или связанную с CCALF информацию. Кодированная информация видео/изображений может выводиться в форме потока битов. Поток битов может передаваться в устройство декодирования через сеть или носитель хранения данных.
[305] В примере, связанная с CCALF информация может включать в себя флаг CCALF-активации, флаг, связанный с тем, доступна или нет CCALF для цветового Cb-(или Cr-)компонента, флаг передачи в служебных сигналах Cb-(или Cr-)фильтров, связанный с тем, передаются в служебных сигналах или нет кросскомпонентные фильтры для цветового Cb-(или Cr-)компонента, информацию, связанную с числом кросскомпонентных фильтров для цветового Cb-(или Cr-)компонента, информацию относительно значений коэффициентов кросскомпонентного фильтра для цветового Cb-(или Cr-)компонента, информацию относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cb-(или Cr-)компонента, информацию относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cb-(или Cr-)компонента и/или информацию относительно того, применяется или нет кросскомпонентный фильтр к текущему блоку цветового Cb-(или Cr-)компонента в информации (синтаксисе единиц дерева кодирования) относительно единицы дерева кодирования.
[306] Информация изображений/видео может включать в себя различные типы информации согласно варианту осуществления настоящего документа. Например, информация изображений/видео может включать в себя информацию, раскрытую, по меньшей мере, в одной из таблиц 1-30, описанных выше.
[307] В варианте осуществления, информация изображений может включать в себя информацию заголовка и набор параметров адаптации (APS). Информация заголовка может включать в себя информацию, связанную с идентификатором APS, включающую в себя ALF-данные. Например, коэффициенты кросскомпонентного фильтра могут извлекаться на основе ALF-данных.
[308] В варианте осуществления, информация изображений может включать в себя набор параметров последовательности (SPS). SPS может включать в себя флаг CCALF-активации, связанный с тем, доступна или нет кросскомпонентная фильтрация.
[309] В варианте осуществления, SPS может включать в себя флаг ALF-активации (sps_alf_enabled_flag), связанный с тем, доступна или нет ALF. На основе определения того, что значение флага ALF-активации равно 1, SPS может включать в себя флаг CCALF-активации, связанный с тем, доступна или нет кросскомпонентная фильтрация.
[310] В варианте осуществления, информация изображений может включать в себя информацию заголовка среза. Информация заголовка среза может включать в себя флаг ALF-активации (slice_alf_enabled_flag), связанный с тем, доступна или нет ALF. На основе определения того, что значение флага ALF-активации равно 1, может определяться то, равно или нет значение флага активации флага, связанное с тем, доступна или нет CCALF, 1. В примере, CCALF может быть доступна для среза на основе определения того, что значение флага ALF-активации равно 1.
[311] В варианте осуществления, информация заголовка (информация заголовка среза) может включать в себя первый флаг, связанный с тем, доступна или нет CCALF для цветового Cb-компонента фильтрованных восстановленных выборок сигналов цветности, и второй флаг, связанный с тем, доступна или нет CCLF для цветового Cr-компонента фильтрованных восстановленных выборок сигналов цветности. В другом примере, на основе определения того, что значение флага ALF-активации (slice_alf_enabled_flag) равно 1, информация заголовка (информация заголовка среза) может включать в себя первый флаг, связанный с тем, доступна или нет CCALF для цветового Cb-компонента фильтрованных восстановленных выборок сигналов цветности, и второй флаг, связанный с тем, доступна или нет CCLF для цветового Cr-компонента фильтрованных восстановленных выборок сигналов цветности.
[312] В варианте осуществления, информация изображений может включать в себя наборы параметров адаптации (APS). В примере, информация заголовка среза может включать в себя идентификационную информацию первого APS (информацию, связанную с идентификатором второго APS) для извлечения коэффициентов кросскомпонентного фильтра для цветового Cb-компонента фильтрованных восстановленных выборок сигналов цветности. Информация заголовка среза может включать в себя идентификационную информацию (информацию, связанную с идентификатором второго APS) второго APS для извлечения коэффициентов кросскомпонентного фильтра для цветового Cr-компонента фильтрованных восстановленных выборок сигналов цветности. В другом примере, на основе определения того, что значение первого флага равно 1, информация заголовка среза может включать в себя идентификационную информацию первого APS (информацию относительно идентификатора второго APS) для извлечения коэффициентов кросскомпонентного фильтра для цветового Cb-компонента. На основе определения того, что значение второго флага равно 1, информация заголовка среза может включать в себя идентификационную информацию второго APS (информацию, связанную с идентификатором второго APS) для извлечения коэффициентов кросскомпонентного фильтра для цветового Cr-компонента.
[313] В варианте осуществления, первые ALF-данные, включенные в первый APS, могут включать в себя флаг передачи в служебных сигналах Cb-фильтров, связанный с тем, передаются в служебных сигналах или нет кросскомпонентные фильтры для цветового Cb-компонента. На основе флага передачи в служебных сигналах Cb-фильтров, первые ALF-данные могут включать в себя информацию, связанную с числом кросскомпонентных фильтров для цветового Cb-компонента. На основе информации, связанной с числом кросскомпонентных фильтров для цветового Cb-компонента, первые ALF-данные могут включать в себя информацию относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cb-компонента и информацию относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cb-компонента. На основе информации относительно информации относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cb-компонента и информации относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cb-компонента, могут извлекаться коэффициенты кросскомпонентного фильтра для цветового Cb-компонента.
[314] В варианте осуществления, информация, связанная с числом кросскомпонентных фильтров для цветового Cb-компонента, может кодироваться экспоненциальным кодом Голомба нулевого порядка (нулевым EG).
[315] В варианте осуществления, вторые ALF-данные, включенные во второй APS, могут включать в себя флаг передачи в служебных сигналах Cr-фильтров, связанный с тем, передаются в служебных сигналах или нет кросскомпонентные фильтры для цветового Cr-компонента. На основе флага передачи в служебных сигналах Cr-фильтров, вторые ALF-данные могут включать в себя информацию, связанную с числом кросскомпонентных фильтров для цветового Cr-компонента. На основе информации, связанной с числом кросскомпонентных фильтров для цветового Cr-компонента, вторые ALF-данные могут включать в себя информацию относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cr-компонента и информацию относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cr-компонента. На основе абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cr-компонента и информации относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cr-компонента, могут извлекаться коэффициенты кросскомпонентного фильтра для цветового Cr-компонента.
[316] В варианте осуществления, информация, связанная с числом кросскомпонентных фильтров для цветового Cr-компонента, может кодироваться экспоненциальным кодом Голомба нулевого порядка (нулевым EG).
[317] В варианте осуществления, информация изображений может включать в себя информацию относительно единицы дерева кодирования. Информация относительно единицы дерева кодирования может включать в себя информацию относительно того, применяется или нет кросскомпонентный фильтр к текущему блоку цветового Cb-компонента, и/или информацию относительно того, применяется или нет кросскомпонентный фильтр к текущему блоку цветового Cr-компонента.
[318] В варианте осуществления, информация относительно единицы дерева кодирования может включать в себя информацию относительно индекса набора фильтров для кросскомпонентного фильтра, применяемого к текущему блоку цветового Cb-компонента, и/или информацию относительно индекса набора фильтров для кросскомпонентного фильтра, применяемого к текущему блоку цветового Cr-компонента.
[319] Фиг. 15 и 16 схематично показывают пример способа декодирования видео/изображений и связанных компонентов согласно варианту(ам) осуществления настоящего раскрытия сущности.
[320] Способ, раскрытый на фиг. 15, может осуществляться посредством оборудования декодирования, проиллюстрированного на фиг. 3 или 16. В частности, например, S1500 по фиг. 15 может выполняться посредством энтропийного декодера 310 оборудования декодирования, S1510 может выполняться посредством сумматора 340 оборудования декодирования, и S1520-S1550 могут выполняться посредством фильтра 350 оборудования декодирования. Способ, раскрытый на фиг. 15, может включать в себя варианты осуществления, описанные выше, в настоящем раскрытии сущности.
[321] Ссылаясь на фиг. 15, оборудование декодирования может принимать/получать информацию видео/изображений (S1500). Информация видео/изображений может включать в себя остаточную информацию. Оборудование декодирования может принимать/получать информацию изображений/видео через поток битов. В примере, информация видео/изображений дополнительно может включать в себя CCAL-связанную информацию. Например, в примере, связанная с CCALF информация может включать в себя флаг CCALF-активации, флаг, связанный с тем, доступна или нет CCALF для цветового Cb-(или Cr-)компонента, флаг передачи в служебных сигналах Cb-(или Cr-)фильтров, связанный с тем, передаются в служебных сигналах или нет кросскомпонентные фильтры для цветового Cb-(или Cr-)компонента, информацию, связанную с числом кросскомпонентных фильтров для цветового Cb-(или Cr-)компонента, информацию относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cb-(или Cr-)компонента, информацию относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cb-(или Cr-)компонента и/или информацию относительно того, применяется или нет кросскомпонентный фильтр к текущему блоку цветового Cb-(или Cr-)компонента в информации (синтаксисе единиц дерева кодирования) относительно единицы дерева кодирования.
[322] Информация изображений/видео может включать в себя различные типы информации согласно варианту осуществления настоящего документа. Например, информация изображений/видео может включать в себя информацию, раскрытую, по меньшей мере, в одной из таблиц 1-30, описанных выше.
[323] Оборудование декодирования может извлекать квантованные коэффициенты преобразования. Оборудование декодирования может извлекать квантованные коэффициенты преобразования на основе остаточной информации. Квантованные коэффициенты преобразования могут иметь одномерную векторную форму на основе порядка сканирования коэффициентов. Квантованные коэффициенты преобразования могут включать в себя квантованные коэффициенты преобразования сигналов яркости и/или квантованные коэффициенты преобразования сигналов цветности.
[324] Оборудование декодирования может извлекать коэффициенты преобразования. Оборудование декодирования может извлекать коэффициенты преобразования на основе процесса деквантования для квантованных коэффициентов преобразования. Оборудование декодирования может извлекать коэффициенты преобразования сигналов яркости через деквантование на основе квантованных коэффициентов преобразования сигналов яркости. Оборудование декодирования может извлекать коэффициенты преобразования сигналов цветности через деквантование на основе квантованных коэффициентов преобразования сигналов цветности.
[325] Оборудование декодирования может формировать/извлекать остаточные выборки. Оборудование декодирования может извлекать остаточные выборки на основе процесса обратного преобразования для коэффициентов преобразования. Оборудование декодирования может извлекать остаточные выборки сигналов яркости через процесс обратного преобразования на основе коэффициентов преобразования сигналов яркости. Оборудование декодирования может извлекать остаточные выборки сигналов цветности через процесс обратного преобразования на основе коэффициентов преобразования сигналов цветности.
[326] Оборудование декодирования может формировать/извлекать восстановленные выборки сигналов яркости и/или восстановленные выборки сигналов цветности (S1510). Оборудование декодирования может формировать восстановленные выборки сигналов яркости и/или восстановленные выборки сигналов цветности на основе остаточной информации. Оборудование декодирования может формировать восстановленные выборки на основе остаточной информации. Восстановленные выборки могут включать в себя восстановленные выборки сигналов яркости и/или восстановленные выборки сигналов цветности. Компонент сигналов яркости восстановленных выборок может соответствовать восстановленным выборкам сигналов яркости, и компонент сигналов цветности восстановленных выборок может соответствовать восстановленным выборкам сигналов цветности. Оборудование декодирования может формировать прогнозированные выборки сигналов яркости и/или прогнозированные выборки сигналов цветности через процесс прогнозирования. Оборудование декодирования может формировать восстановленные выборки сигналов яркости на основе прогнозированных выборок сигналов яркости и остаточных выборок сигналов яркости. Оборудование декодирования может формировать восстановленные выборки сигналов цветности на основе прогнозированных выборок сигналов цветности и остаточных выборок сигналов цветности.
[327] Оборудование декодирования может извлекать коэффициенты ALF-фильтра для ALF-процесса восстановленных выборок сигналов цветности (S1520). Помимо этого, оборудование декодирования может извлекать коэффициенты ALF-фильтра для ALF-процесса восстановленных выборок сигналов яркости. Коэффициенты ALF-фильтра могут извлекаться на основе ALF-параметров, включенных в ALF-данные в APS.
[328] Оборудование декодирования может формировать фильтрованные восстановленные выборки сигналов цветности (S1530). Оборудование декодирования может формировать фильтрованные восстановленные выборки на основе восстановленных выборок сигналов цветности и коэффициентов ALF-фильтра.
[329] Оборудование декодирования может извлекать коэффициенты кросскомпонентного фильтра для кросскомпонентной фильтрации (S1540). Коэффициенты кросскомпонентного фильтра могут извлекаться на основе связанной с CCALF информации в ALF-данных, включенных в вышеуказанный APS, и идентификационная информация соответствующего APS может включаться в заголовок среза (может передаваться в служебных сигналах через него).
[330] Оборудование декодирования может формировать модифицированные фильтрованные восстановленные выборки сигналов цветности (S1550). Оборудование декодирования может формировать модифицированные и фильтрованные восстановленные выборки сигналов цветности на основе восстановленных выборок сигналов яркости, фильтрованных восстановленных выборок сигналов цветности и коэффициентов кросскомпонентного фильтра. В примере, оборудование декодирования может извлекать разность между двумя выборками из восстановленных выборок сигналов яркости и умножать разность на один коэффициент фильтра из коэффициентов кросскомпонентного фильтра. На основе результата умножения и фильтрованных восстановленных выборок сигналов цветности, оборудование декодирования может формировать модифицированные фильтрованные восстановленные выборки сигналов цветности. Например, оборудование декодирования может формировать модифицированные фильтрованные восстановленные выборки сигналов цветности на основе суммы произведения и одной из фильтрованных восстановленных выборок сигналов цветности.
[331] В варианте осуществления, информация изображений может включать в себя информацию заголовка и набор параметров адаптации (APS). Информация заголовка может включать в себя информацию, связанную с идентификатором APS, включающую в себя ALF-данные. Например, коэффициенты кросскомпонентного фильтра могут извлекаться на основе ALF-данных.
[332] В варианте осуществления, информация изображений может включать в себя набор параметров последовательности (SPS). SPS может включать в себя флаг CCALF-активации, связанный с тем, доступна или нет кросскомпонентная фильтрация.
[333] В варианте осуществления, SPS может включать в себя флаг ALF-активации (sps_alf_enabled_flag), связанный с тем, доступна или нет ALF. На основе определения того, что значение флага ALF-активации равно 1, SPS может включать в себя флаг CCALF-активации, связанный с тем, доступна или нет кросскомпонентная фильтрация.
[334] В варианте осуществления, информация изображений может включать в себя информацию заголовка среза. Информация заголовка среза может включать в себя флаг ALF-активации (slice_alf_enabled_flag), связанный с тем, доступна или нет ALF. На основе определения того, что значение флага ALF-активации равно 1, может определяться то, равно или нет значение флага CCALF-активации 1. В примере, CCALF может быть доступна для среза на основе определения того, что значение флага ALF-активации равно 1.
[335] В варианте осуществления, информация заголовка (информация заголовка среза) может включать в себя первый флаг, связанный с тем, доступна или нет CCALF для цветового Cb-компонента фильтрованных восстановленных выборок сигналов цветности, и второй флаг, связанный с тем, доступна или нет CCLF для цветового Cr-компонента фильтрованных восстановленных выборок сигналов цветности. В другом примере, на основе определения того, что значение флага ALF-активации (slice_alf_enabled_flag) равно 1, информация заголовка (информация заголовка среза) может включать в себя первый флаг, связанный с тем, доступна или нет CCALF для цветового Cb-компонента фильтрованных восстановленных выборок сигналов цветности, и второй флаг, связанный с тем, доступна или нет CCLF для цветового Cr-компонента фильтрованных восстановленных выборок сигналов цветности.
[336] В варианте осуществления, информация изображений может включать в себя наборы параметров адаптации (APS). В примере, информация заголовка среза может включать в себя идентификационную информацию первого APS (информацию, связанную с идентификатором второго APS) для извлечения коэффициентов кросскомпонентного фильтра для цветового Cb-компонента фильтрованных восстановленных выборок сигналов цветности. Информация заголовка среза может включать в себя идентификационную информацию (информацию, связанную с идентификатором второго APS) второго APS для извлечения коэффициентов кросскомпонентного фильтра для цветового Cr-компонента фильтрованных восстановленных выборок сигналов цветности. В другом примере, на основе определения того, что значение первого флага равно 1, информация заголовка среза может включать в себя идентификационную информацию первого APS (информацию относительно идентификатора второго APS) для извлечения коэффициентов кросскомпонентного фильтра для цветового Cb-компонента. На основе определения того, что значение второго флага равно 1, информация заголовка среза может включать в себя идентификационную информацию второго APS (информацию, связанную с идентификатором второго APS) для извлечения коэффициентов кросскомпонентного фильтра для цветового Cr-компонента.
[337] В варианте осуществления, первые ALF-данные, включенные в первый APS, могут включать в себя флаг передачи в служебных сигналах Cb-фильтров, связанный с тем, передаются в служебных сигналах или нет кросскомпонентные фильтры для цветового Cb-компонента. На основе флага передачи в служебных сигналах Cb-фильтров, первые ALF-данные могут включать в себя информацию, связанную с числом кросскомпонентных фильтров для цветового Cb-компонента. На основе информации, связанной с числом кросскомпонентных фильтров для цветового Cb-компонента, первые ALF-данные могут включать в себя информацию относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cb-компонента и информацию относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cb-компонента. На основе информации относительно информации относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cb-компонента и информации относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cb-компонента, могут извлекаться коэффициенты кросскомпонентного фильтра для цветового Cb-компонента.
[338] В варианте осуществления, информация, связанная с числом кросскомпонентных фильтров для цветового Cb-компонента, может кодироваться экспоненциальным кодом Голомба нулевого порядка (нулевым EG).
[339] В варианте осуществления, вторые ALF-данные, включенные во второй APS, могут включать в себя флаг передачи в служебных сигналах Cr-фильтров, связанный с тем, передаются в служебных сигналах или нет кросскомпонентные фильтры для цветового Cr-компонента. На основе флага передачи в служебных сигналах Cr-фильтров, вторые ALF-данные могут включать в себя информацию, связанную с числом кросскомпонентных фильтров для цветового Cr-компонента. На основе информации, связанной с числом кросскомпонентных фильтров для цветового Cr-компонента, вторые ALF-данные могут включать в себя информацию относительно абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cr-компонента и информацию относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cr-компонента. На основе абсолютных значений коэффициентов кросскомпонентного фильтра для цветового Cr-компонента и информации относительно знаков коэффициентов кросскомпонентного фильтра для цветового Cr-компонента, могут извлекаться коэффициенты кросскомпонентного фильтра для цветового Cr-компонента.
[340] В варианте осуществления, информация, связанная с числом кросскомпонентных фильтров для цветового Cr-компонента, может кодироваться экспоненциальным кодом Голомба нулевого порядка (нулевым EG).
[341] В варианте осуществления, информация изображений может включать в себя информацию относительно единицы дерева кодирования. Информация относительно единицы дерева кодирования может включать в себя информацию относительно того, применяется или нет кросскомпонентный фильтр к текущему блоку цветового Cb-компонента, и/или информацию относительно того, применяется или нет кросскомпонентный фильтр к текущему блоку цветового Cr-компонента.
[342] В варианте осуществления, информация относительно единицы дерева кодирования может включать в себя информацию относительно индекса набора фильтров для кросскомпонентного фильтра, применяемого к текущему блоку цветового Cb-компонента, и/или информацию относительно индекса набора фильтров для кросскомпонентного фильтра, применяемого к текущему блоку цветового Cr-компонента.
[343] Когда имеется остаточная выборка для текущего блока, оборудование декодирования может принимать информацию относительно остатка для текущего блока. Информация относительно остатка может включать в себя коэффициенты преобразования для остаточных выборок. Оборудование декодирования может извлекать остаточные выборки (или массив остаточных выборок) для текущего блока на основе остаточной информации. В частности, оборудование декодирования может извлекать квантованные коэффициенты преобразования на основе остаточной информации. Квантованные коэффициенты преобразования могут иметь одномерную векторную форму на основе порядка сканирования коэффициентов. Оборудование декодирования может извлекать коэффициенты преобразования на основе процесса деквантования для квантованных коэффициентов преобразования. Оборудование декодирования может извлекать остаточные выборки на основе коэффициентов преобразования.
[344] Оборудование декодирования может формировать восстановленные выборки на основе (взаимных) прогнозных выборок и остаточных выборок и может извлекать восстановленный блок или восстановленный кадр на основе восстановленных выборок. Подробнее, оборудование декодирования может формировать восстановленные выборки на основе суммы (внутренних) прогнозных выборок и остаточных выборок. После этого, как описано выше, оборудование декодирования может применять процесс внутриконтурной фильтрации, к примеру, процесс фильтрации для удаления блочности и/или SAO-процесс, к восстановленному кадру, с тем чтобы повышать субъективное/объективное качество кадров, при необходимости.
[345] Например, оборудование декодирования может получать информацию изображений, включающую в себя все или часть вышеуказанной информации (или синтаксических элементов), посредством декодирования потока битов или кодированной информации. Помимо этого, информация потока битов или кодированная информация может сохраняться на компьютерно-читаемом носителе хранения данных и может инструктировать осуществление вышеуказанного способа декодирования.
[346] В вышеуказанном варианте осуществления, способы описываются на основе блок-схемы последовательности операций способа, имеющей последовательность этапов или блоков. Настоящее раскрытие сущности не ограничено порядком вышеуказанных этапов или блоков. Некоторые этапы или блоки могут возникать одновременно или в порядке, отличном от других этапов или блоков, как описано выше. Дополнительно, специалисты в данной области техники должны понимать, что этапы, показанные на вышеприведенной блок-схеме последовательности операций способа, не являются исчерпывающими, и другие этапы могут включаться, либо один или более этапов на блок-схеме последовательности операций способа могут удаляться без влияния на объем настоящего раскрытия сущности.
[347] Способ согласно вышеуказанным вариантам осуществления настоящего документа может реализовываться в программной форме, и оборудование кодирования и/или оборудование декодирования согласно настоящему документу, например, может включаться в оборудование, которое выполняет обработку изображений, для телевизора, компьютера, смартфона, абонентской приставки, устройства отображения и т.д.
[348] Когда варианты осуществления в настоящем документе реализуются в программном обеспечении, вышеуказанный способ может реализовываться как модуль (процесс, функция и т.д.), который выполняет вышеуказанную функцию. Модуль может сохраняться в запоминающем устройстве и выполняться посредством процессора. Запоминающее устройство может быть внутренним или внешним для процессора и может соединяться с процессором посредством различных известных средств. Процессор может включать в себя специализированную интегральную схему (ASIC), другие наборы микросхем, логические схемы и/или устройства обработки данных. Запоминающее устройство может включать в себя постоянное запоминающее устройство (ROM), оперативное запоминающее устройство (RAM), флэш-память, карты памяти, носители хранения данных и/или другие устройства хранения данных. Таким образом, варианты осуществления, описанные в настоящем документе, могут выполняться посредством реализации на процессоре, микропроцессоре, контроллере или микросхеме. Например, функциональные модули, показанные на каждом чертеже, могут реализовываться и выполняться на компьютере, процессоре, микропроцессоре, контроллере или микросхеме. В этом случае, информация относительно инструкций или алгоритма для реализации может сохраняться в цифровом носителе хранения данных.
[349] Помимо этого, оборудование декодирования и оборудование кодирования, к которому применяется настоящее раскрытие сущности, могут включаться в мультимедийное широковещательное приемо-передающее оборудование, терминал мобильной связи, видеооборудование системы домашнего кинотеатра, видеооборудование системы цифрового кинотеатра, камеру наблюдения, оборудование проведения видеочатов, оборудование связи в реальном времени, к примеру, видеосвязи, мобильное оборудование потоковой передачи, носитель хранения данных, записывающую видеокамеру, оборудование предоставления VoD-услуг, видеооборудование поверх сетей (OTT), оборудование предоставления услуг потоковой передачи по Интернету, трехмерное видеооборудование, видеооборудование телеконференц-связи, транспортировочное абонентское устройство (т.е. абонентское устройство в транспортном средстве, абонентское устройство в самолете, абонентское устройство в морском судне и т.д.) и медицинское видеооборудование, и могут использоваться для того, чтобы обрабатывать видеосигналы и сигналы данных. Например, видеоборудование поверх сетей (OTT) может включать в себя игровую приставку, Blu-Ray-проигрыватель, телевизор с доступом в Интернет, систему домашнего кинотеатра, смартфон, планшетный PC, цифровое записывающее видеоустройство (DVR) и т.п.
[350] Дополнительно, способ обработки, к которому применяется настоящий документ, может формироваться в форме программы, которая должна выполняться посредством компьютера, и может сохраняться на компьютерно-читаемом носителе записи. Мультимедийные данные, имеющие структуру данных согласно настоящему раскрытию сущности, также могут сохраняться на компьютерно-читаемых носителях записи. Компьютерно-читаемые носители записи включают в себя все типы устройств хранения данных, на которых сохраняются данные, считываемые посредством компьютерной системы. Компьютерно-читаемые носители записи, например, могут включать в себя BD, универсальную последовательную шину (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, магнитную ленту, гибкий диск и оптическое устройство хранения данных. Кроме того, компьютерно-читаемые носители записи включают в себя среды, реализованные в форме несущих волн (т.е. как передача через Интернет). Помимо этого, поток битов, сформированный посредством способа кодирования, может сохраняться на компьютерно-читаемом носителе записи или может передаваться по сетям проводной/беспроводной связи.
[351] Помимо этого, варианты осуществления настоящего документа могут реализовываться с компьютерным программным продуктом согласно программным кодам, и программные коды могут выполняться в компьютере посредством вариантов осуществления настоящего документа. Программные коды могут сохраняться на носителе, который может считываться посредством компьютера.
[352] Фиг. 17 показывает пример системы потоковой передачи контента, к которой могут применяться варианты осуществления, раскрытые в настоящем документе.
[353] Ссылаясь на фиг. 17, система потоковой передачи контента, к которой применяется вариант(ы) осуществления настоящего документа, может включать в себя, главным образом, сервер кодирования, потоковый сервер, веб-сервер, хранилище мультимедиа, пользовательское устройство и устройство ввода мультимедиа.
[354] Сервер кодирования сжимает контент, вводимый из устройств ввода мультимедиа, таких как смартфон, камера, записывающая видеокамера и т.д., в цифровые данные, чтобы формировать поток битов и передавать поток битов в потоковый сервер. В качестве другого примера, когда устройства ввода мультимедиа, к примеру, смартфоны, камеры, записывающие видеокамеры и т.д. Чтобы непосредственно формировать поток битов, сервер кодирования может опускаться.
[355] Поток битов может формироваться посредством способа кодирования или способа формирования потока битов, к которому применяется вариант(ы) осуществления настоящего раскрытия сущности, и потоковый сервер может временно сохранять поток битов в процессе передачи или приема потока битов.
[356] Потоковый сервер передает мультимедийные данные в пользовательское устройство на основе запроса пользователя через веб-сервер, и веб-сервер служит в качестве среды для информирования пользователя в отношении услуги. Когда пользователь запрашивает требуемую услугу из веб-сервера, веб-сервер доставляет ее на потоковый сервер, и потоковый сервер передает мультимедийные данные пользователю. В этом случае, система потоковой передачи контента может включать в себя отдельный сервер управления. В этом случае, сервер управления служит для того, чтобы управлять командой/ответом между устройствами в системе потоковой передачи контента.
[357] Потоковый сервер может принимать контент из хранилища мультимедиа и/или сервера кодирования. Например, когда контент принимается из сервера кодирования, контент может приниматься в реальном времени. В этом случае, чтобы предоставлять плавную услугу потоковой передачи, потоковый сервер может сохранять поток битов в течение предварительно определенного времени.
[358] Примеры пользовательского устройства могут включать в себя мобильный телефон, смартфон, переносной компьютер, цифровой широковещательный терминал, персональное цифровое устройство (PDA), портативный мультимедийный проигрыватель (PMP), навигационное устройство, грифельный планшетный PC, планшетные PC, ультрабуки, носимые устройства (например, интеллектуальные часы, интеллектуальные очки, наголовные дисплеи), цифровые телевизоры, настольные компьютеры, систему цифровых информационных табло и т.п. Каждый сервер в системе потоковой передачи контента может работать в качестве распределенного сервера, причем в этом случае данные, принимаемые из каждого сервера, могут распределяться.
[359] Каждый сервер в системе потоковой передачи контента может работать в качестве распределенного сервера, причем в этом случае данные, принимаемые из каждого сервера, могут распределяться.
[360] Формула изобретения, описанная в данном документе, может комбинироваться различными способами. Например, технические признаки формулы изобретения на способ настоящего документа могут комбинироваться и реализовываться в качестве оборудования, и технические признаки формулы изобретения на оборудование настоящего документа могут комбинироваться и реализовываться в качестве способа. Помимо этого, технические признаки пункта формулы изобретения на способ настоящего документа и технические признаки пункта формулы изобретения на оборудование могут комбинироваться для реализации в качестве оборудования, и технические признаки пункта формулы изобретения на способ настоящего документа и технические признаки пункта формулы изобретения на оборудование могут комбинироваться и реализовываться в качестве способа.