RU2802374C1 - Устройство и способ кодирования изображения для управления контурной фильтрацией - Google Patents
Устройство и способ кодирования изображения для управления контурной фильтрацией Download PDFInfo
- Publication number
- RU2802374C1 RU2802374C1 RU2022116234A RU2022116234A RU2802374C1 RU 2802374 C1 RU2802374 C1 RU 2802374C1 RU 2022116234 A RU2022116234 A RU 2022116234A RU 2022116234 A RU2022116234 A RU 2022116234A RU 2802374 C1 RU2802374 C1 RU 2802374C1
- Authority
- RU
- Russia
- Prior art keywords
- virtual
- boundaries
- sps
- information
- flag
- Prior art date
Links
Images
Abstract
Изобретение относится к устройству и способу кодирования изображения для управления контурной фильтрацией. Техническим результатом является повышение эффективности кодирования изображения. Результат достигается тем, что определение присутствия сигнализации информации, относящейся к виртуальным границам, в наборе параметров последовательности (SPS) или информации заголовка картинки может быть определено на основе флага включения виртуальных границ. 3 н. и 9 з.п. ф-лы, 13 ил., 32 табл.
Description
Область раскрытия
[1] Настоящий документ относится к устройству и способу кодирования изображения для управления контурной фильтрацией.
Связанная область техники
[2] В последнее время, потребность в изображениях/видео высокого разрешения, высокого качества, таких как изображения/видео сверхвысокой четкости (UHD) 4K или 8K или выше, возросла в различных областях. Так как данные изображения/видео имеют высокое разрешение и высокое качество, количество информации или битов, подлежащих передаче, увеличивается относительно существующих данных изображения/видео, и, таким образом, передача данных изображения с использованием носителя, такого как существующая проводная/беспроводная широкополосная линия или существующий носитель хранения, или хранение данных изображения/видео с использованием существующего носителя хранения повышают затраты на передачу и затраты на хранение.
[3] К тому же, интерес и потребность в иммерсивных медиа, таких как контент или голограммы виртуальной реальности (VR) и искусственной реальности (AR), в последнее время возросли, и возросла трансляция изображения/видео, имеющих характеристики, отличные от изображений реальности, таких как игровые изображения.
[4] Соответственно, требуется высокоэффективная технология сжатия изображения/видео, чтобы эффективно сжимать, передавать, хранить и воспроизводить информацию изображений/видео высокого разрешения, высокого качества, имеющих различные характеристики, как описано выше.
[5] В частности, контурная фильтрация может использоваться для сжатия изображения/видео. Обсуждается способ эффективной сигнализации информации для управления контурной фильтрацией.
Краткое описание сущности изобретения
[6] В соответствии с вариантом осуществления настоящего документа, предложены способ и устройство для повышения эффективности кодирования изображения.
[7] В соответствии с вариантом осуществления настоящего документа, предложены способ и устройство применения эффективной фильтрации.
[8] В соответствии с вариантом осуществления настоящего документа, предложены способ и устройство для эффективного применения устранения блочности, адаптивного смещения выборки (SAO) и адаптивной контурной фильтрации (ALF).
[9] В соответствии с вариантом осуществления настоящего документа, внутриконтурная фильтрация может выполняться на основе виртуальных границ.
[10] В соответствии с вариантом осуществления настоящего документа, набор параметров последовательности (SPS) может включать в себя флаг включения виртуальных границ SPS, указывающий, выполняется ли внутриконтурная фильтрация по виртуальным границам.
[11] В соответствии с вариантом осуществления настоящего документа, внутриконтурная фильтрация может выполняться по виртуальным границам на основе флага включения виртуальных границ SPS.
[12] В соответствии с вариантом осуществления настоящего документа, обеспечено устройство кодирования для выполнения кодирования видео/изображения.
[13] В соответствии с одним вариантом осуществления настоящего документа, обеспечен считываемый компьютером цифровой носитель хранения, в котором хранится закодированная информация видео/изображения, генерируемая в соответствии со способом кодирования видео/изображения, раскрытым по меньшей мере в одном из вариантов осуществления настоящего документа.
[14] В соответствии с вариантом осуществления настоящего документа, обеспечен считываемый компьютером цифровой носитель хранения, в котором хранится закодированная информация или закодированная информация видео/изображения, побуждающая выполнять способ декодирования видео/изображения, раскрытый по меньшей мере в одном из вариантов осуществления настоящего документа, посредством устройства декодирования.
[15] В соответствии с вариантом осуществления настоящего документа, общая эффективность сжатия изображения/видео может быть повышена.
[16] В соответствии с вариантом осуществления настоящего документа, субъективное/объективное визуальное качество может быть повышено за счет эффективной фильтрации.
[17] Процесс внутриконтурной фильтрации на основе виртуальных границ, в соответствии с вариантом осуществления настоящего документа, может сберегать аппаратные ресурсы.
[18] В соответствии с вариантом осуществления настоящего документа, процесс внутриконтурной фильтрации на основе виртуальных границ может быть выполнен эффективным образом, и производительность фильтрации может быть улучшена.
[19] В соответствии с вариантом осуществления настоящего документа, информация для внутриконтурной фильтрации на основе виртуальных границ может эффективно сигнализироваться.
Краткое описание чертежей
[20] Фиг. 1 иллюстрирует пример системы кодирования видео/изображения, в которой могут применяться варианты осуществления настоящего документа.
[21] Фиг. 2 является представлением, схематично иллюстрирующим конфигурацию устройства кодирования видео/изображения, в котором могут применяться варианты осуществления настоящего документа.
[22] Фиг. 3 является представлением, схематично иллюстрирующим конфигурацию устройства декодирования видео/изображения, в котором могут применяться варианты осуществления настоящего документа.
[23] Фиг. 4 показывает пример иерархической архитектуры для кодированного видео/изображения.
[24] Фиг. 5 иллюстрирует пример формы фильтра адаптивной контурной фильтрации (ALF).
[25] Фиг. 6 иллюстрирует пример процесса ALF с использованием виртуальной границы в соответствии с вариантом осуществления настоящего документа.
[26] Фиг. 7 является блок-схемой последовательности операций, иллюстрирующей способ кодирования на основе фильтрации в устройстве кодирования.
[27] Фиг. 8 является блок-схемой последовательности операций, иллюстрирующей способ декодирования на основе фильтрации в устройстве декодирования.
[28] Фиг. 9 и фиг. 10 схематично показывают пример способа кодирования видео/изображения и связанные компоненты в соответствии с вариантом(ами) осуществления настоящего документа.
[29] Фиг. 11 и фиг. 12 схематично показывают пример способа декодирования видео/изображения и связанные компоненты в соответствии с вариантом(ами) осуществления настоящего документа.
[30] Фиг. 13 показывает пример системы стриминга контента, в которой могут применяться варианты осуществления, раскрытые в настоящем документе.
Описание примерных вариантов осуществления
[31] Настоящее раскрытие может быть модифицировано в различных формах, и его конкретные варианты осуществления будут описаны и проиллюстрированы на чертежах. Однако варианты осуществления не предназначены для ограничения раскрытия. Термины, используемые в последующем описании, используются, чтобы только описывать конкретные варианты осуществления, но не предназначены ограничивать раскрытие. Выражение в единственном числе включает в себя выражение во множественном числе, если только оно не читается явно иначе. Термины, такие как “включать в себя” и “иметь”, предназначены указывать, что признаки, числа, этапы, операции, элементы, компоненты или их комбинации, используемые в следующем описании, существуют, и, таким образом, должно быть понятно, что возможность существования или добавления одного или более других признаков, чисел, этапов, операций, элементов, компонентов или их комбинаций не исключается.
[32] Кроме того, каждая конфигурация на чертежах, описанная в настоящем документе, является независимой иллюстрацией для объяснения функций как признаков, которые отличаются друг от друга, и не означает, что каждая конфигурация реализуется как отдельные аппаратные средства или отдельное программное обеспечение. Например, две или более конфигураций могут комбинироваться для образования одной конфигурации, или одна конфигурация может делиться на множество конфигураций. Без отклонения от сущности настоящего документа, варианты осуществления, в которых конфигурации объединены и/или разделены, также включены в объем формулы изобретения.
[33] Далее, примеры настоящего варианта осуществления будут описаны подробно со ссылкой на прилагаемые чертежи. К тому же, одинаковые ссылочные позиции используются, чтобы указывать одинаковые элементы на всех чертежах, и те же самые описания одинаковых элементов будут опущены.
[34] Настоящий документ относится к кодированию видео/изображения. Например, способы/варианты осуществления, раскрытые в настоящем документе, могут относиться к стандарту многоцелевого кодирования видео (VVC) (ITU-T Rec. H.266), стандарту кодирования видео/изображения следующего поколения после VVC или другим стандартам, относящимся к кодированию видео (например, стандарту высокоэффективного кодирования видео (HEVC) (ITU-T Rec. H.265), стандарту существенного кодирования видео (EVC), стандарту AVS2 и тому подобному).
[35] Настоящий документ предлагает различные варианты осуществления кодирования видео/изображения, и варианты осуществления выше могут также выполняться в комбинации друг с другом, если не специфицировано иное.
[36] В настоящем документе, видео может относиться к последовательности изображений по времени. Картинка обычно относится к единице, представляющей одно изображение в конкретном временном кадре, и вырезка/мозаичный элемент относится к единице, составляющей часть картинки в терминах кодирования. Вырезка/мозаичный элемент может включать в себя одну или более единиц дерева кодирования (CTU). Одна картинка может состоять из одной или более вырезок/мозаичных элементов. Одна картинка может состоять из одной или более групп мозаичных элементов. Одна группа мозаичных элементов может включать в себя один или более мозаичных элементов.
[37] Пиксел или пел может означать наименьшую единицу, составляющую одну картинку (или изображение). Также, ‘выборка’ может использоваться как термин, соответствующий пикселу. Выборка может, в общем, представлять пиксел или значение пиксела и может представлять только пиксел/значение пиксела компонента яркости или только пиксел/значение пиксела компонента цветности.
[38] Единица может представлять базовую единицу обработки изображения. Единица может включать в себя по меньшей мере одно из конкретной области картинки и информации, относящейся к области. Одна единица может включать в себя один блок яркости и два блока цветности (например, cb, cr). Единица может использоваться взаимозаменяемо с такими терминами, как блок или область, в некоторых случаях. В общем случае, блок M×N может включать в себя выборки (или массивы выборок) или набор (или массив) коэффициентов преобразования из M столбцов и N строк. Альтернативно, выборка может означать значение пиксела в пространственной области, и когда такое значение пиксела преобразуется в частотную область, оно может означать коэффициент преобразования в частотной области.
[39] В настоящем документе, термин “/” и “,” должны интерпретироваться, чтобы указывать “и/или”. Например, выражение “A/B” может означать “A и/или B”. Далее, “A, B” может означать “A и/или B”. Кроме того, “A/B/C” может означать “по меньшей мере одно из А, В и/или С”. Также, “A/B/C” может означать “по меньшей мере одно из А, В и/или С”.
[40] Кроме того, в этом документе, термин “или” должен интерпретироваться, чтобы указывать “и/или”. Например, выражение “A или B” может содержать 1) только A, 2) только B и/или 3) как A, так и B. Иными словами, в этом документе, термин “или” должен интерпретироваться, чтобы указывать “дополнительно или альтернативно”.
[41] В настоящем документе, “по меньшей мере одно из A и B” может означать “только A”, “только B” или “как A, так и B”. Также, в настоящей спецификации, выражение “по меньшей мере одно из A или B” или “по меньшей мере одно из A и/или B” может интерпретироваться так же, как “по меньшей мере одно из A и B”.
[42] Также, в настоящей спецификации, “по меньшей мере одно из A, B и C” может означать “только A, “только B”, “только C” или “любая комбинация A, B и C”. Также, “по меньшей мере одно из A, B или C” или “по меньшей мере одно из A, B и/или C” может означать “по меньшей мере одно из A, B и C”.
[43] Также, круглые скобки, используемые в настоящей спецификации, могут означать “например”. Конкретно, когда указано “предсказание (интра-предсказание)”, это может указывать, что “интра-предсказание” предлагается как пример “предсказания”. Другими словами, термин “предсказание” в настоящей спецификации не ограничен “интра-предсказанием”, и “интра-предсказание” может предлагаться в качестве примера “предсказания”. Также, даже когда указано “предсказание (т.е., интра-предсказание)”, это может указывать, что “интра-предсказание” предлагается как пример “предсказания”.
[44] В настоящей спецификации, технические признаки, отдельно поясненные на одном чертеже, могут быть реализованы по отдельности или могут быть реализованы одновременно.
[45] Фиг. 1 иллюстрирует пример системы кодирования видео/изображения, в которой может применяться раскрытие настоящего документа.
[46] Со ссылкой на фиг. 1, система кодирования видео/изображения может включать в себя устройство-источник и устройство приема. Устройство-источник может передавать закодированную информацию или данные видео/изображения на устройство приема через цифровой носитель хранения или сеть в форме файла или потока.
[47] Устройство-источник может включать в себя источник видео, устройство кодирования и передатчик. Устройство приема может включать в себя приемник, устройство декодирования и устройство рендеринга (визуализации). Устройство кодирования может называться устройством кодирования видео/изображения, и устройство декодирования может называться устройством декодирования видео/изображения. Передатчик может быть включен в устройство кодирования. Приемник может быть включен в устройство декодирования. Устройство визуализации может включать в себя дисплей, и дисплей может быть сконфигурирован как отдельное устройство или внешний компонент.
[48] Источник видео может получать видео/изображение через процесс захвата, синтеза или генерации видео/изображения. Источник видео может включать в себя устройство захвата видео/изображения и/или устройство генерации видео/изображения. Устройство захвата видео/изображения может включать в себя, например, одну или несколько камер, архивы видео/изображений, включающие в себя ранее захваченные видео/изображения и тому подобное. Устройство генерации видео/изображения может включать в себя, например, компьютеры, планшеты и смартфоны и может (электронным способом) генерировать видео/изображения. Например, виртуальное видео/изображение может генерироваться через компьютер или тому подобное. В этом случае, процесс захвата видео/изображения может быть заменен на процесс генерации связанных данных.
[49] Устройство кодирования может кодировать введенное видео/изображение. Устройство кодирования может выполнять последовательность процессов, таких как предсказание, преобразование и квантование для компактности и эффективности кодирования. Закодированные данные (закодированная информация видео/изображения) могут выводиться в форме битового потока.
[50] Передатчик может передавать закодированное изображение/информацию изображения или данные, выведенные в форме битового потока, на приемник устройства приема через цифровой носитель хранения или сеть в форме файла или потока. Цифровой носитель хранения может включать в себя различные носители хранения, такие как USB, SD, CD, DVD, Blu-ray, HDD, SSD и тому подобное. Передатчик может включать в себя элемент для генерации медиа-файла посредством предопределенного файлового формата и может включать в себя элемент для передачи через сеть вещания/связи. Приемник может принимать/извлекать битовый поток и передавать принятый битовый поток на устройство декодирования.
[51] Устройство декодирования может декодировать видео/изображение путем выполнения последовательности процессов, таких как деквантование, обратное преобразование и предсказание, соответствующих операции устройства кодирования.
[52] Устройство визуализации может визуализировать декодированное видео/изображение. Визуализированное видео/ изображение может отображаться посредством дисплея.
[53] Фиг. 2 является диаграммой, схематично иллюстрирующей конфигурацию устройства кодирования видео/изображения, в котором может применяться раскрытие настоящего документа. Далее, то, что называется устройством кодирования видео, может включать в себя устройство кодирования изображения.
[54] Со ссылкой на фиг. 2, устройство 200 кодирования может включать и быть сконфигурированным с модулем 210 разбиения изображения, предсказателем 220, процессором 230 остатка, энтропийным кодером 240, сумматором 250, фильтром 260 и памятью 270. Предсказатель 220 может включать в себя интер-предсказатель 221 и интра-предсказатель 222. Процессор 230 остатка может включать в себя преобразователь 232, квантователь 233, деквантователь 234 и обратный преобразователь 235. Процессор 230 остатка может дополнительно включать в себя вычитатель 231. Сумматор 250 может называться реконструктором или генератором восстановленного блока. Модуль 210 разбиения изображения, предсказатель 220, процессор 230 остатка, энтропийный кодер 240, сумматор 250 и фильтр 260, которые описаны выше, могут быть сконфигурированы одним или более аппаратными компонентами (например, чипсетом кодера или процессором) в соответствии с вариантом осуществления. К тому же, память 270 может включать в себя буфер декодированных картинок (DPB) или может быть сконфигурирована цифровым носителем хранения. Аппаратный компонент может дополнительно включать в себя память 270 как внутренний/внешний компонент.
[55] Модуль 210 разбиения изображения может разбивать входное изображение (или картинку, кадр), введенное в устройство 200 кодирования на одну или более единиц обработки. Например, единица обработки может называться единицей кодирования (CU). В этом случае, единица кодирования может рекурсивно разбиваться в соответствии со структурой квадродерева-двоичного дерева- троичного дерева (QTBTTT) из единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU). Например, одна единица кодирования может разбиваться на множество единиц кодирования более глубокой глубины на основе структуры квадродерева, структуры двоичного дерева и/или структуры троичного дерева. В этом случае, например, структура квадродерева применяется первой, а структура двоичного дерева и/или структура троичного дерева может применяться позже. Альтернативно, структура двоичного дерева может применяться первой. Процесс кодирования в соответствии с настоящим раскрытием может выполняться на основе конечной единицы кодирования, которая больше не разбивается. В этом случае, наибольшая единица кодирования может использоваться как конечная единица кодирования на основе эффективности кодирования в соответствии с характеристиками изображения, или по мере необходимости, единица кодирования может рекурсивно разбиваться на единицы кодирования более глубокой глубины, так что единица кодирования, имеющая оптимальный размер, может использоваться как конечная единица кодирования. Здесь, процесс кодирования может включать в себя процесс предсказания, преобразования и восстановления, которые будут описаны далее. В качестве другого примера, единица обработки может дополнительно включать в себя единицу предсказания (PU) или единицу преобразования (TU). В этом случае, единица предсказания и единица преобразования могут разделяться или разбиваться из вышеупомянутой конечной единицы кодирования. Единица предсказания может представлять собой единицу предсказания выборки, и единица преобразования может представлять собой единицу для выведения коэффициента преобразования и/или единицу для выведения остаточного сигнала из коэффициента преобразования.
[56] Единица может использоваться взаимозаменяемо с такими терминами, как блок или область в некоторых случаях. В общем случае, блок M×N может представлять выборки, состоящие из M столбцов и N строк или группу коэффициентов преобразования. Выборка может, в общем, представлять пиксел или значение пиксела, и может также представлять только пиксел/значение пиксела компонента яркости, а также представлять только пиксел/значение пиксела компонента цветности. Выборка может использоваться как термин, соответствующий пикселу или пелу, конфигурирующему одну картинку (или изображению).
[57] Вычитатель 231 может генерировать остаточный сигнал (остаточный блок, остаточные выборки или остаточный массив выборок) путем вычитания сигнала предсказания (предсказанного блока, выборок предсказания или массива выборок предсказания), выведенного из предсказателя 220, из входного сигнала изображения (исходного блока, исходных выборок или исходного массива выборок), и сгенерированный остаточный сигнал передается на преобразователь 232. Предсказатель 220 может выполнять предсказание для целевого блока обработки (далее называемого текущим блоком), и генерировать предсказанный блок, включающий в себя выборки предсказания для текущего блока. Предсказатель 220 может определять, применяется ли интра-предсказание или интер-предсказание на текущем блоке или единице CU. Как описано далее в описании каждого режима предсказания, предсказатель может генерировать различные виды информации, связанной с предсказанием, такой как информация режима предсказания, и передавать сгенерированную информацию на энтропийный кодер 240. Информация о предсказании может кодироваться в энтропийном кодере 240 и выводиться в форме битового потока.
[58] Интра-предсказатель 222 может предсказывать текущий блок путем обращения к выборкам в текущей картинке. Выборки, к которым обращаются, могут быть расположены по соседству с текущим блоком или могут быть разнесены от текущего блока в соответствии с режимом предсказания. В интра-предсказании, режимы предсказания могут включать в себя множество ненаправленных режимов и множество направленных режимов. Ненаправленный режим может включать в себя, например, режим DC и планарный режим. Направленный режим может включать в себя, например, 33 направленных режима предсказания или 65 направленных режимов предсказания в соответствии со степенью детализации направления предсказания. Однако это только пример, и больше или меньше направленных режимов предсказания могут использоваться в зависимости от настроек. Интра-предсказатель 222 может также определять режим предсказания, применяемый к текущему блоку, с использованием режима предсказания, применяемого к соседнему блоку.
[59] Интер-предсказатель 221 может выводить предсказанный блок текущего блока на основе опорного блока (опорного массива выборок), специфицированного вектором движения на опорной картинке. При этом, чтобы уменьшить количество информации движения, передаваемой в режиме интер-предсказания, информация движения может предсказываться в единицах блока, подблока или выборки на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорной картинки. Информация движения может дополнительно включать в себя информацию направления интер-предсказания (L0 предсказание, L1 предсказание, Bi-предсказание и т.п.). В случае интер-предсказания, соседний блок может включать в себя пространственный соседний блок, существующий в текущей картинке, и временной соседний блок, существующий в опорной картинке. Опорная картинка, включающая в себя опорный блок, и опорная картинка, включающая в себя временной соседний блок, могут быть одинаковыми или разными. Временной соседний блок может называться совместно расположенным опорным блоком, совместно расположенной CU (colCU) и т.п., и опорная картинка, включающая в себя временной соседний блок, может называться совместно расположенной картинкой (colPic). Например, интер-предсказатель 221 может конфигурировать список кандидатов информации движения на основе соседних блоков и генерировать информацию, указывающую, какой кандидат используется, чтобы вывести вектор движения и/или индекс опорной картинки текущего блока. Интер-предсказание может выполняться на основе различных режимов предсказания, и, например, в случае режима пропуска и режима объединения, интер-предсказатель 221 может использовать информацию движения соседнего блока как информацию движения текущего блока. В режиме пропуска, в отличие от режима объединения, остаточный сигнал может не передаваться. Режим предсказания вектора движения (MVP) может указывать вектор движения текущего блока с использованием вектора движения соседнего блока как предсказателя вектора движения и сигнализации разности векторов движения.
[60] Предсказатель 220 может генерировать сигнал предсказания на основе различных способов предсказания, описанных ниже. Например, предсказатель может не только применять интра-предсказание или интер-предсказание, чтобы предсказать один блок, но также одновременно применять как интра-предсказание, так и интер-предсказание. Это может называться комбинированным интер- и интра-предсказанием (CIIP). К тому же, предсказатель может выполнять внутри-блочное копирование (IBC) для предсказания блока. Внутри-блочное копирование может использоваться для кодирования изображения контента/движущегося изображения игры или тому подобного, например, кодирования экранного контента (SCC). IBC в основном выполняет предсказание в текущей картинке, но может выполняться аналогично интер-предсказанию тем, что опорный блок выводится в текущей картинке. То есть, IBC может использовать по меньшей мере один из методов интер-предсказания, описанных в настоящем документе.
[61] Сигнал предсказания, сгенерированный интер-предсказателем 221 и/или интра-предсказателем 222, может использоваться, чтобы генерировать восстановленный сигнал или генерировать остаточный сигнал. Преобразователь 232 может генерировать коэффициенты преобразования путем применения метода преобразования к остаточному сигналу. Например, метод преобразования может включать в себя по меньшей мере одно из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования на основе графа (GBT) или условно-нелинейного преобразования (CNT). Здесь, GBT означает преобразование, полученное из графа, когда информация отношения между пикселами представлена графом. CNT относится к преобразованию, полученному на основе сигнала предсказания, сгенерированного с использованием всех ранее восстановленных пикселов. К тому же, процесс преобразования может применяться к квадратным блокам пикселов, имеющим одинаковый размер, или может применяться к блокам, имеющим переменный размер, а не квадратным.
[62] Квантователь 233 может квантовать коэффициенты преобразования и передавать их на энтропийный кодер 240, и энтропийный кодер 240 может кодировать квантованный сигнал (информацию о квантованных коэффициентах преобразования) и выводить битовый поток. Информация о квантованных коэффициентах преобразования может называться информацией остатка. Квантователь 233 может переупорядочивать квантованные коэффициенты преобразования типа блока в форму одномерного вектора на основе порядка сканирования коэффициентов и генерировать информацию о квантованных коэффициентах преобразования на основе квантованных коэффициентов преобразования в форме одномерного вектора. Энтропийный кодер 240 может выполнять различные способы кодирования, такие как, например, экспоненциальное кодирование Голомба, контекстно-адаптивное кодирование с переменной длиной (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и тому подобное. Энтропийный кодер 240 может кодировать информацию, необходимую для восстановления видео/изображения, вместе или отдельно от квантованных коэффициентов преобразования (например, значения синтаксических элементов и т.п.). Закодированная информация (например, закодированная информация видео/изображения) может передаваться или сохраняться в единицах уровня сетевой абстракции (NAL) в форме битового потока. Информация видео/изображения может дополнительно включать в себя информацию о различных наборах параметров, таких как набор параметров адаптации (APS), набор параметров картинки (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). К тому же, информация видео/изображения может дополнительно включать в себя общую информацию ограничения. В настоящем документе, информация и/или синтаксические элементы, передаваемые/сигнализируемые, как описано ниже, может кодироваться посредством вышеописанного процесса кодирования и включаться в битовый поток. Битовый поток может передаваться по сети или может сохраняться в цифровом носителе хранения. Сеть может включать в себя сеть вещания и/или сеть связи, и цифровой носитель хранения может включать в себя различные носители хранения, такие как USB, SD, CD, DVD, Blu-ray, HDD, SSD и тому подобное. Передатчик (не показан), передающий сигнал, выведенный из энтропийного кодера 240, и/или модуль хранения (не показан), хранящий сигнал, могут быть сконфигурированы как внутренний/внешний элемент устройства 200 кодирования, и альтернативно, передатчик может быть включен в энтропийный кодер 240.
[63] Квантованные коэффициенты преобразования, выведенные из квантователя 233, могут использоваться, чтобы генерировать сигнал предсказания. Например, остаточный сигнал (остаточный блок или остаточные выборки) может восстанавливаться путем применения деквантования и обратного преобразования к квантованным коэффициентам преобразования деквантователем 234 и обратным преобразователем 235. Сумматор 250 добавляет восстановленный остаточный сигнал к сигналу предсказания, выведенному из предсказателя 220, чтобы сгенерировать восстановленный сигнал (восстановленную картинку, восстановленный блок, восстановленные выборки или восстановленный массив выборок). Если отсутствует остаток для целевого блока обработки, например, в случае, когда применяется режим пропуска, предсказанный блок может использоваться как восстановленный блок. Сгенерированный восстановленный сигнал может использоваться для интра-предсказания следующего целевого блока обработки в текущей картинке и может использоваться для интер-предсказания следующей картинки посредством фильтрации, как описано ниже.
[64] Между тем, отображение яркости с масштабированием цветности (LMCS) может применяться во время процесса кодирования и/или восстановления картинки.
[65] Фильтр 260 может улучшать субъективное/объективное качество изображения путем применения фильтрации к восстановленному сигналу. Например, фильтр 260 может генерировать модифицированную восстановленную картинку путем применения различных способов фильтрации к восстановленной картинке и сохранять модифицированную восстановленную картинку в памяти 270, конкретно, в DPB памяти 270. Различные способы фильтрации могут включать в себя, например, фильтрацию устранения блочности, адаптивное смещение выборки (SAO), адаптивный контурный фильтр, двунаправленный фильтр и тому подобное. Фильтр 260 может генерировать различную информацию, относящуюся к фильтрации, и передавать сгенерированную информацию на энтропийный кодер 290, как описано далее в описании каждого способа фильтрации. Информация, относящаяся к фильтрации, может кодироваться энтропийным кодером 290 и выводиться в форме битового потока.
[66] Модифицированная восстановленная картинка, передаваемая в память 270, может использоваться как опорная картинка в интер-предсказателе 221. Когда интер-предсказание применяется посредством устройства кодирования, можно избежать рассогласования предсказания между устройством 200 кодирования и устройством декодирования, и эффективность кодирования может улучшаться.
[67] DPB памяти 270 может хранить модифицированную восстановленную картинку для использования в качестве опорной картинки в интер-предсказателе 221. Память 270 может хранить информацию движения блока, из которой выводится (или кодируется) информация движения в текущей картинке, и/или информацию движения блоков в картинке, которые уже были восстановлены. Сохраненная информация движения может передаваться на интер-предсказатель 221, чтобы использоваться как информация движения пространственного соседнего блока или информация движения временного соседнего блока. Память 270 может хранить восстановленные выборки восстановленных блоков в текущей картинке и может переносить восстановленные выборки на интра-предсказатель 222.
[68] Фиг. 3 является схематичной диаграммой, поясняющей конфигурацию устройства декодирования видео/изображения, в котором может применяться раскрытие настоящего документа.
[69] Со ссылкой на фиг. 3, устройство 300 декодирования может включать в себя и конфигурироваться с энтропийным декодером 310, процессором 320 остатка, предсказателем 330, сумматором 340, фильтром 350 и памятью 360. Предсказатель 330 может включать в себя интер-предсказатель 331 и интра-предсказатель 332. Процессор 320 остатка может включать в себя деквантователь 321 и обратный преобразователь 321. Энтропийный декодер 310, процессор 320 остатка, предсказатель 330, сумматор 340 и фильтр 350, которые были описаны выше, могут быть сконфигурированы одним или более аппаратными компонентами (например, чипсетом декодера или процессором) в соответствии с вариантом осуществления. К тому же, память 360 может включать в себя буфер декодированных картинок (DPB) или может быть сконфигурирована цифровым носителем хранения. Аппаратный компонент может дополнительно включать в себя память 360 как внутренний/внешний компонент.
[70] Когда битовый поток, включающий в себя информацию видео/изображения, вводится, устройство 300 декодирования может восстанавливать изображение в ответ на процесс, в котором информация видео/изображения обрабатывается в устройстве кодирования, показанном на фиг. 2. Например, устройство 300 декодирования может выводить единицы/блоки на основе информации, относящейся к разбиению блока, полученной из битового потока. Устройство 300 декодирования может выполнять декодирование с использованием единицы обработки, применяемой в устройстве кодирования. Таким образом, единица обработки для декодирования может представлять собой, например, единицу кодирования, и единица кодирования может разбиваться в соответствии со структурой квадродерева, структурой двоичного дерева и/или структурой троичного дерева из единицы дерева кодирования или наибольшей единицы кодирования. Одна или более единиц преобразования могут выводиться из единицы кодирования. Дополнительно, восстановленный сигнал изображения, декодированный и выведенный посредством устройства 300 декодирования, может воспроизводиться посредством устройства воспроизведения.
[71] Устройство 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.
[72] Деквантователь 321 может деквантовать квантованные коэффициенты преобразования, чтобы выводить коэффициенты преобразования. Деквантователь 321 может переупорядочивать квантованные коэффициенты преобразования в форме двумерного блока. В этом случае, переупорядочивание может выполняться на основе порядка сканирования коэффициентов, выполняемого устройством кодирования. Деквантователь 321 может выполнять деквантование для квантованных коэффициентов преобразования с использованием параметра квантования (например, информации размера шага квантования) и получать коэффициенты преобразования.
[73] Обратный преобразователь 322 обратно преобразует коэффициенты преобразования, чтобы получить остаточный сигнал (остаточный блок, остаточный массив выборок).
[74] Предсказатель 330 может выполнять предсказание на текущем блоке и генерировать предсказанный блок, включающий в себя выборки предсказания текущего блока. Предсказатель может определять, применяется ли интра-предсказание или интер-предсказание к текущему блоку, на основе информации о предсказании, выведенной из энтропийного декодера 310, и может определять конкретный режим интра-/интер-предсказания.
[75] Предсказатель может генерировать сигнал предсказания на основе различных способов предсказания, описанных ниже. Например, предсказатель может не только применять интра-предсказание или интер-предсказание, чтобы предсказывать один блок, но также одновременно применять интра-предсказание и интер-предсказание. Это может называться комбинированным интер- и интра-предсказанием (CIIP). К тому же, предсказатель может выполнять внутри-блочное копирование (IBC) для предсказания блока. Внутри-блочное копирование может использоваться для кодирования изображения контента/движущегося изображения игры или тому подобного, например, кодирования экранного контента (SCC). IBC в основном выполняет предсказание в текущей картинке, но может выполняться аналогично интер-предсказанию тем, что опорный блок выводится в текущей картинке. То есть, IBC может использовать по меньшей мере один из методов интер-предсказания, описанных в настоящем документе.
[76] Интра-предсказатель 332 может предсказывать текущий блок путем ссылки на выборки в текущей картинке. Указанные выборки могут быть расположены по соседству с текущим блоком или могут быть разнесены от текущего блока в соответствии с режимом предсказания. В интра-предсказании, режимы предсказания могут включать в себя множество ненаправленных режимов и множество направленных режимов. Интра-предсказатель 332 может определять режим предсказания, применяемый к текущему блоку, с использованием режима предсказания, применяемого к соседнему блоку.
[77] Интер-предсказатель 331 может выводить предсказанный блок для текущего блока на основе опорного блока (опорного массива выборок), специфицированного вектором движения на опорной картинке. В этом случае, чтобы уменьшить количество информации движения, передаваемой в режиме интер-предсказания, информация движения может предсказываться в единицах блоков, подблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорной картинки. Информация движения может дополнительно включать в себя информацию о направлении интер-предсказания (L0 предсказание, L1 предсказание, Bi-предсказание и т.д.). В случае интер-предсказания, соседний блок может включать в себя пространственный соседний блок, существующий в текущей картинке, и временной соседний блок, существующий в опорной картинке. Например, интер-предсказатель 331 может конструировать список кандидатов информации движения на основе соседних блоков и выводить вектор движения текущего блока и/или индекс опорной картинки на основе принятой информации выбора кандидата. Интер-предсказание может выполняться на основе различных режимов предсказания, и информация о предсказании может включать в себя информацию, указывающую режим интер-предсказания для текущего блока.
[78] Сумматор 340 может генерировать восстановленный сигнал (восстановленную картинку, восстановленный блок или восстановленный массив выборок) путем добавления полученного остаточного сигнала к сигналу предсказания (предсказанному блоку или предсказанному массиву выборок), выведенному из предсказателя 330. Если отсутствует остаток для целевого блока обработки, например, когда применяется режим пропуска, предсказанный блок может использоваться как восстановленный блок.
[79] Сумматор 340 может называться реконструктором или генератором восстановленного блока. Сгенерированный восстановленный сигнал может использоваться для интра-предсказания следующего блока, подлежащего обработке в текущей картинке, и, как описано ниже, может также выводиться посредством фильтрации или может использоваться для интер-предсказания следующей картинки.
[80] Между тем, отображение яркости с масштабированием цветности (LMCS) может применяться в процессе декодирования картинки.
[81] Фильтр 350 может улучшать субъективное/объективное качество изображения путем применения фильтрации к восстановленному сигналу. Например, фильтр 350 может генерировать модифицированную восстановленную картинку путем применения различных способов фильтрации к восстановленной картинке и сохранять модифицированную восстановленную картинку в памяти 360, конкретно, в DPB памяти 360. Различные способы фильтрации могут включать в себя, например, фильтрацию устранения блочности, адаптивное смещение выборки, адаптивный контурный фильтр, двунаправленный фильтр и тому подобное.
[82] (Модифицированная) восстановленная картинка, хранящаяся в DPB памяти 360, может использоваться как опорная картинка в интер-предсказателе 331. Память 360 может хранить информацию движения блока, из которого выводится (или декодируется) информация движения в текущей картинке, и/или информацию движения блоков в картинке, которые уже были восстановлены. Сохраненная информация движения может передаваться на интер-предсказатель 331 для использования в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Память 360 может хранить восстановленные выборки восстановленных блоков в текущей картинке и переносить восстановленные выборки на интра-предсказатель 332.
[83] В настоящей спецификации, варианты осуществления, описанные в предсказателе 330, деквантователе 321, обратном преобразователе 322 и фильтре 350 устройства 300 декодирования, могут применяться аналогичным образом или соответствовать предсказателю 220, квантователю 234, обратному преобразователю 235 и фильтру 260 устройства 200 кодирования.
[84] Как описано выше, в выполнении кодирования видео, предсказание выполняется, чтобы повысить эффективность сжатия. Посредством этого, может генерироваться предсказанный блок, включающий в себя выборки предсказания для текущего блока, как блока, подлежащего кодированию (т.е. целевого блока кодирования). Здесь, предсказанный блок включает в себя выборки предсказания в пространственной области (или области пикселов). Предсказанный блок выводится одинаково в устройстве кодирования и устройстве декодирования, и устройство кодирования может сигнализировать информацию (остаточную информацию) об остатке между исходным блоком и предсказанным блоком, а не исходное значение выборки исходного блока, на устройство декодирования, тем самым повышая эффективность кодирования изображения. Устройство декодирования может выводить остаточный блок, включающий в себя остаточные выборки, на основе остаточной информации, суммировать остаточный блок и предсказанный блок, чтобы генерировать восстановленные блоки, включающие в себя восстановленные выборки, и генерировать восстановленную картинку, включающую в себя восстановленные блоки.
[85] Остаточная информация может генерироваться в процессе преобразования и квантования. Например, устройство кодирования может выводить остаточный блок между исходным блоком и предсказанным блоком и выполнять процесс преобразования на остаточных выборках (остаточном массиве выборок), включенных в остаточный блок, чтобы вывести коэффициенты преобразования, выполнять процесс квантования на коэффициентах преобразования, чтобы вывести квантованные коэффициенты преобразования, и сигнализировать связанную остаточную информацию на устройство декодирования (посредством битового потока). Здесь, остаточная информация может включать в себя информацию значения квантованных коэффициентов преобразования, информацию местоположения, метод преобразования, ядро преобразования, параметр квантования и т.п. Устройство декодирования может выполнять процесс деквантования/обратного преобразования на основе остаточной информации и выводить остаточные выборки (или остаточные блоки). Устройство декодирования может генерировать восстановленную картинку на основе предсказанного блока и остаточного блока. Устройство кодирования может также деквантовать/обратно преобразовывать квантованные коэффициенты преобразования, для ссылки для интер-предсказания более поздней картинки, чтобы вывести остаточный блок и сгенерировать на его основе восстановленную картинку.
[86] В настоящем документе, по меньшей мере одно из квантования/деквантования и/или преобразования/обратного преобразования может опускаться. Когда квантование/деквантование опускается, квантованный коэффициент преобразования может называться коэффициентом преобразования. Когда преобразование/ обратное преобразование опускается, коэффициент преобразования может называться коэффициентом или остаточным коэффициентом или может по-прежнему называться коэффициентом преобразования для единообразия выражения.
[87] В настоящем документе, квантованный коэффициент преобразования и коэффициент преобразования могут называться коэффициентом преобразования и масштабированным коэффициентом преобразования, соответственно. В этом случае, остаточная информация может включать в себя информацию о коэффициенте(ах) преобразования, и информация о коэффициенте(ах) преобразования может сигнализироваться через синтаксис кодирования остатка. Коэффициенты преобразования могут выводиться на основе остаточной информации (или информации о коэффициенте(ах) преобразования), и масштабированные коэффициенты преобразования могут выводиться через обратное преобразование (масштабирование) на коэффициентах преобразования. Остаточные выборки могут выводиться на основе обратного преобразования (преобразования) масштабированных коэффициентов преобразования. Это может быть применено/выражено также в других частях настоящего документа.
[88] Предсказатель устройства кодирования/устройства декодирования может выводить выборки предсказания путем выполнения интер-предсказания в единицах блоков. Интер-предсказание может быть предсказанием, выведенным способом, который зависит от элементов данных (например, значений выборок или информации движения и т.д.) картинки (картинок) иных, чем текущая картинка. Когда интер-предсказание применяется к текущему блоку, предсказанный блок (массивы выборок предсказания) для текущего блока может выводиться на основе опорного блока (опорного массива выборок), специфицированного вектором движения на опорной картинке, указанной индексом опорной картинки. В этом случае, чтобы уменьшить количество информации движения, передаваемой в режиме интер-предсказания, информация движения текущего блока может предсказываться в единицах блоков, подблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорной картинки. Информация движения может дополнительно включать в себя информацию типа интер-предсказания (L0 предсказание, L1 предсказание, Bi-предсказание и т.д.). Когда применяется интер-предсказание, соседние блоки могут включать в себя пространственный соседний блок, существующий в текущей картинке, и временной соседний блок, существующий в опорной картинке. Опорная картинка, включающая в себя опорный блок, и опорная картинка, включающая в себя временной соседний блок, могут быть одинаковыми или разными. Временной соседний блок может называться совместно расположенным опорным блоком, совместно расположенной CU (colCU) и т.п., и опорная картинка, включающая в себя временной соседний блок, может называться совместно расположенной картинкой (colPic). Например, список кандидатов информации движения может быть сконструирован на основе соседних блоков текущего блока, и может сигнализироваться информация флага или индекса, указывающая, какой кандидат выбран (используется), чтобы вывести вектор движения и/или индекс опорной картинки текущего блока. Интер-предсказание может выполняться на основе различных режимов предсказания. Например, в режиме пропуска и режиме объединения, информация движения текущего блока может быть той же самой, что и информация движения выбранного соседнего блока. В режиме пропуска, в отличие от режима объединения, остаточный сигнал может не передаваться. В случае режима предсказания вектора движения (MVP), вектор движения выбранного соседнего блока может использоваться как предсказатель вектора движения, и разность векторов движения может сигнализироваться. В этом случае, вектор движения текущего блока может выводиться с использованием суммы предсказателя вектора движения и разности векторов движения.
[89] Информация движения может включать в себя информацию движения L0 и/или информацию движения L1 в соответствии с типом интер-предсказания (L0 предсказание, L1 предсказание, Bi-предсказание и т.д.). Вектор движения в направлении L0 может называться вектором движения L0 или MVL0, и вектор движения в направлении L1 может называться вектором движения L1 или MVL1. Предсказание на основе вектора движения L0 может называться L0 предсказанием, предсказание на основе вектора движения L1 может называться L1 предсказанием, и предсказание на основе вектора движения L0 и вектора движения L1 может называться bi-предсказанием. Здесь, вектор движения L0 может указывать вектор движения, ассоциированный со списком L0 опорных картинок (L0), и вектор движения L1 может указывать вектор движения, ассоциированный со списком L1 опорных картинок (L1). Список L0 опорных картинок может включать в себя картинки, которые являются более ранними в порядке вывода, чем текущая картинка, как опорные картинки, и список L1 опорных картинок может включать в себя картинки, которые являются более поздними в порядке вывода, чем текущая картинка. Предыдущие картинки могут называться прямыми (опорными) картинками, и последующие картинки могут называться обратными (опорными) картинками. Список L0 опорных картинок может дополнительно включать в себя картинки, которые являются более поздними в порядке вывода, чем текущая картинка, как опорные картинки. В этом случае, предыдущие картинки могут индексироваться первыми в списке L0 опорных картинок, и последующие картинки могут индексироваться позже. Список L1 опорных картинок может дополнительно включать в себя картинки, предшествующие в порядке вывода текущей картинке, как опорные картинки. В этом случае, последующие картинки могут индексироваться первыми в списке 1 опорных картинок, и предыдущие картинки могут индексироваться позже. Порядок вывода может соответствовать порядку подсчета порядка картинок (POC).
[90] Фиг. 4 показывает пример иерархической структуры для кодированного изображения/видео.
[91] Со ссылкой на фиг. 4, кодированное изображение/видео делится на VCL (уровень кодирования видео), который имеет дело с процессом декодирования изображения/видео самим по себе, подсистему, которая передает и хранит кодируемую информацию, и уровень сетевой абстракции (NAL), который существует между VCL и подсистемами и отвечает за функции сетевой абстракции.
[92] VCL может генерировать данные VCL, включающие в себя сжатые данные изображения (данные вырезки), или генерировать наборы параметров, включая набор параметров картинки (Picture Parameter Set: PPS), набор параметров последовательности (Sequence Parameter Set: SPS), набор параметров видео (Video Parameter Set: VPS) и т.д. или сообщение вспомогательной информации расширения (SEI), дополнительно необходимое для процесса декодирования изображения.
[93] В NAL, единица NAL может генерироваться путем добавления информации заголовка (заголовка единицы NAL) к исходной полезной нагрузке байтовой последовательности (RBSP), генерируемой в VCL. В этом случае, RBSP ссылается на данные вырезки, наборы параметров, сообщения SEI и т.д., генерируемые в VCL. Заголовок единицы NAL может включать в себя информацию типа единицы NAL, специфицированную в соответствии с данными RBSP, включенными в соответствующую единицу NAL.
[94] Как показано на чертеже, единица NAL может быть разделена на единицу VCL NAL и единицу не-VCL NAL в соответствии с RBSP, генерируемым в VCL. Единица VCL NAL может означать единицу NAL, включающую в себя информацию (данные вырезки) об изображении, и единица не-VCL NAL может означать единицу NAL, содержащую информацию (набор параметров или сообщение SEI), необходимую для декодирования изображения.
[95] Вышеописанная единица VCL NAL и единица не-VCL NAL могут передаваться через сеть путем присоединения информации заголовка в соответствии со стандартом данных подсистемы. Например, единица NAL может быть преобразована в форму данных предопределенного стандарта, такого как файловый формат H.266/VVC, транспортный протокол реального времени (RTP), транспортный поток (TS) и т.д., и передаваться через различные сети.
[96] Как описано выше, в единице NAL, тип единицы NAL может быть специфицирован в соответствии со структурой данных RBSP, включенной в соответствующую единицу NAL, и информация об этом типе единицы NAL может сохраняться и сигнализироваться в заголовке единицы NAL.
[97] Например, единица NAL может быть грубо проклассифицирована на тип единицы VCL NAL и тип единицы не-VCL NAL в зависимости от того, включает ли единица NAL информацию об изображении (данные вырезки). Тип единицы VCL NAL может быть классифицирован в соответствии со свойством и типом картинки, включенной в единицу VCL NAL, и тип единицы не-VCL NAL может быть классифицирован в соответствии с типом набора параметров.
[98] Далее приведен пример типа единицы NAL, специфицированного в соответствии с типом набора параметров, включенного в тип единицы не-VCL NAL.
[99] - Единица APS (набор параметров адаптации) NAL: Тип для единицы NAL, включающей APS
[100] - Единица DPS (набор параметров декодирования) NAL: Тип для единицы NAL, включающей DPS
[101] - Единица VPS (набор параметров видео) NAL: Тип для единицы NAL, включающей VPS
[102] - Единица SPS (набор параметров последовательности) NAL: Тип для единицы NAL, включающей SPS
[103] - Единица PPS (набор параметров картинки) NAL: Тип для единицы NAL, включающей PPS
[104] - Единица PH (заголовок картинки) NAL: Тип для единицы NAL, включающей PH
[105] Вышеописанные типа единицы NAL имеют информацию синтаксиса для типа единицы NAL, и информация синтаксиса может сохраняться и сигнализироваться в заголовке единицы NAL. Например, информация синтаксиса может представлять собой nal_unit_type, и типы единицы NAL могут быть специфицированы значением nal_unit_type.
[106] Между тем, как описано выше, одна картинка может включать в себя множество вырезок, и одна вырезка может включать в себя заголовок вырезки и данные вырезки. В этом случае, один заголовок картинки может добавляться к множеству вырезок (заголовок вырезки и набор данных вырезки) в одной картинке. Заголовок картинки (синтаксис заголовка картинки) может включать в себя информацию/параметры, в общем применимые к картинке. В этом документе, вырезка может смешиваться или заменяться на группу мозаичных элементов. Также, в этом документе, заголовок вырезки может смешиваться или заменяться на заголовок группы мозаичных элементов.
[107] Заголовок вырезки (синтаксис заголовка вырезки или информация заголовка вырезки) может включать в себя информацию/параметры, в общем применимые к вырезке. APS (синтаксис APS) или PPS (синтаксис PPS) может включать в себя информацию/параметры, в общем применимые к одной или более вырезкам или картинкам. SPS (синтаксис SPS) может включать в себя информацию/параметры, в общем применимые к одной или более последовательностям. VPS (синтаксис VPS) может включать в себя информацию/параметры, в общем применимые к множеству уровней. DPS (синтаксис DPS) может включать в себя информацию/параметры, в общем применимые ко всему видео. DPS может включать в себя информацию/параметры, относящиеся к конкатенации кодированной последовательности видео (CVS). В этом документе, синтаксис высокого уровня (HLS) может включать в себя по меньшей мере одного из синтаксиса APS, синтаксиса PPS, синтаксиса SPS, синтаксиса VPS, синтаксиса DPS, синтаксиса заголовка картинки, и синтаксиса заголовка вырезки.
[108] В этом документе, информация изображения/видео, закодированная в устройстве кодирования и сигнализируемая в форме битового потока на устройство декодирования, может также включать в себя информацию, относящуюся к разбиению картинки, в картинке, информацию интра-/интер-предсказания, остаточную информацию, информацию внутриконтурной фильтрации и т.д., информацию, включенную в заголовок вырезки, информацию, включенную в заголовок картинки, информацию, включенную в APS, информацию, включенную в PPS, информацию, включенную в SPS, информацию, включенную в VPS, и/или информацию, включенную в DPS. Кроме того, информация изображения/видео может дополнительно включать в себя информацию заголовка единицы NAL.
[109] Между тем, чтобы компенсировать различие между исходным изображением и восстановленным изображением ввиду ошибки, возникающей в процессе кодирования со сжатием, таком как квантование, процесс внутриконтурной фильтрации может выполняться на восстановленных выборках или восстановленных картинках, как описано выше. Как описано выше, внутриконтурная фильтрация может выполняться фильтром устройства кодирования и фильтром устройства декодирования, и может применяться фильтр устранения блочности, SAO, и/или адаптивный контурный фильтр (ALF). Например, процесс ALF может выполняться после того, как выполнены процесс фильтрации устранения блочности и процесс SAO. Однако, даже в этом случае, процесс фильтрации устранения блочности и/или процесс SAO может быть опущен.
[110] Далее, восстановление и фильтрация картинки будут описаны подробно. При кодировании изображения/видео, восстановленный блок может генерироваться на основе интра-предсказания/интер-предсказания в каждой единице блока, и может генерироваться восстановленная картинка, включающая в себя восстановленные блоки. Когда текущая картинка/вырезка представляет собой I-картинку/вырезку, блоки, включенные в текущую картинку/вырезку, могут быть восстановлены на основе только интра-предсказания. Между тем, когда текущая картинка/вырезка представляет собой P- или B-картинку/вырезку, блоки, включенные в текущую картинку/вырезку, могут быть восстановлены на основе интра-предсказания или интер-предсказания. В этом случае, интра-предсказание может применяться к некоторым блокам в текущей картинке/вырезке, и интер-предсказание может применяться к остальным блокам.
[111] Интра-предсказание может представлять предсказание для генерации выборок предсказания для текущего блока на основе опорных выборок в картинке, которой принадлежит текущий блок (далее называемой текущей картинкой). Когда интра-предсказание применяется к текущему блоку, соседние опорные выборки, подлежащие использованию для интра-предсказания текущего блока, могут выводиться. Соседние опорные выборки текущего блока могут включать в себя выборку, смежную с левой границей текущего блока, имеющего размер nW×nH, всего 2×nH выборок, соседних снизу-слева, выборку, смежную с верхней границей текущего блока, всего 2×nW выборок, соседних сверху-справа, и одну выборку, соседнюю сверху-слева от текущего блока. Альтернативно, соседние опорные выборки текущего блока могут включать в себя верхнюю соседнюю выборку множества столбцов и левую соседнюю выборку множества строк. Альтернативно, соседние опорные выборки текущего блока могут включать в себя всего nH выборок, смежных с правой границей текущего блока, имеющего размер nW×nH, всего nH выборок, смежных с правой границей текущего блока, всего nW выборок, смежных с нижней границей текущего блока, и одну выборку, соседнюю снизу-справа от текущего блока.
[112] Однако, некоторые из соседних опорных выборок текущего блока могут еще не быть декодированными или могут быть недоступными. В этом случае, декодер может конфигурировать соседние опорные выборки, используемые для предсказания, путем замены недоступных выборок на доступные выборки. Альтернативно, соседние опорные выборки, подлежащие использованию для предсказания, могут быть сконфигурированы через интерполяцию доступных выборок.
[113] Когда соседние опорные выборки выводятся, имеется два случая, то есть, случай (i), когда выборка предсказания может выводиться на основе среднего или интерполяции соседних опорных выборок текущего блока, и случай (ii), когда выборка предсказания может выводиться на основе опорной выборки, присутствующей в конкретном направлении (предсказания), для выборки предсказания среди соседних опорных выборок текущего блока. Случай (i) может называться ненаправленным режимом или не-угловым режимом, и случай (ii) может называться направленным режимом или угловым режимом. Кроме того, выборка предсказания может также генерироваться посредством первой соседней выборки и второй соседней выборки, расположенных в направлении, противоположном направлению предсказания режима интра-предсказания текущего блока, на основе выборки предсказания текущего блока среди соседних опорных выборок. Случай выше может называться интра-предсказанием линейной интерполяции (LIP). К тому же, выборки предсказания цветности могут генерироваться на основе выборок яркости с использованием линейной модели. Этот случай может называться режимом LM. К тому же, временная выборка предсказания текущего блока может выводиться на основе отфильтрованных соседних опорных выборок. По меньшей мере одна опорная выборка, выведенная в соответствии с режимом интра-предсказания, среди существующих соседних опорных выборок, то есть, неотфильтрованных соседних опорных выборок, и временная выборка предсказания могут взвешенно суммироваться, чтобы вывести выборку предсказания текущего блока. Случай выше может называться зависимым от местоположения интра-предсказанием (PDPC). К тому же, линия опорной выборки, имеющая самую высокую точность предсказания среди соседних линий множества опорных выборок текущего блока, может выбираться, чтобы вывести выборку предсказания с использованием опорной выборки, расположенной в направлении предсказания на соответствующей линии, и линия опорной выборки, используемая здесь, может указываться (сигнализироваться) на устройство декодирования, тем самым выполняя кодирование интра-предсказания. Случай выше может называться интра-предсказанием с множеством опорных линий (MRL) или интра-предсказанием на основе MRL. К тому же, интра-предсказание может выполняться на основе одного и того же режима интра-предсказания путем деления текущего блока на вертикальные или горизонтальные подразбиения, и соседние опорные выборки могут выводиться и использоваться в единицах подразбиений. То есть, в этом случае, режим интра-предсказания для текущего блока равным образом применяется к подразбиениям, и выполнение интра-предсказания может быть улучшено в некоторых случаях путем выведения и использования соседних опорных выборок в единицах подразбиений. Такой способ предсказания может называться интра-подразбиениями (ISP) или интра-предсказанием на основе ISP. Вышеописанные способы интра-предсказания могут называться типом интра-предсказания отдельно от режима интра-предсказания в секциях 1.2. Тип интра-предсказания может называться различными терминами, такими как метод интра-предсказания или дополнительный режим интра-предсказания или т.п. Например, тип интра-предсказания (или дополнительный режим интра-предсказания или т.п.) может включать в себя по меньшей мере одно из вышеописанных LIP, PDPC, MRL и ISP. Общий способ интра-предсказания за исключением специального типа интра-предсказания, такого как LIP, PDPC, MRL или ISP, может называться нормальным типом интра-предсказания. Нормальный тип интра-предсказания может, в общем, применяться, когда специальный тип интра-предсказания не применяется, и предсказание может выполняться на основе режима интра-предсказания, описанного выше. Между тем, пост-фильтрация может выполняться на выведенной выборке предсказания.
[114] Конкретно, процесс интра-предсказания может включать в себя операцию определения режима/типа интра-предсказания, операцию вывода соседней опорной выборки и операцию вывода выборки предсказания на основе режима/типа интра-предсказания. К тому же, опционально, операция пост-фильтрации может выполняться на выведенной предсказанной выборке.
[115] Модифицированная восстановленная картинка может генерироваться с помощью процесса внутриконтурной фильтрации, и модифицированная восстановленная картинка может выводиться как декодированная картинка в устройстве декодирования и может также сохраняться в буфере декодированных картинок или памяти устройства кодирования/устройства декодирования и использоваться как опорная картинка в процессе интер-предсказания, когда картинка кодируется/декодируется позже. Процесс внутриконтурной фильтрации может включать в себя процесс фильтрации устранения блочности, процесс адаптивного смещения выборки (SAO) и/или процесс адаптивного контурного фильтра (ALF), как описано выше. В этом случае, один или несколько из процесса фильтрации устранения блочности, процесса SAO, процесса ALF и процесса двунаправленного фильтра могут применяться последовательно или все из процессов могут применяться последовательно. Например, процесс SAO может выполняться после того, как процесс фильтрации устранения блочности применен к восстановленной картинке. Альтернативно, например, процесс ALF может выполняться после того, как процесс фильтрации устранения блочности применен к восстановленной картинке. Это может равным образом выполняться в устройстве кодирования.
[116] Фильтр устранения блочности представляет собой метод фильтрации, который удаляет искажение, возникающее на границах между блоками в восстановленной картинке. Процесс фильтрации устранения блочности может, например, выводить целевую границу в восстановленной картинке, определять силу границы (bS) для целевой границы, и выполнять фильтрацию устранения блочности на целевой границе на основе bS. bS может определяться на основе режима предсказания, разности векторов движения, являются ли идентичными опорные картинки, существует ли ненулевой значимый коэффициент и т.д., для двух блоков, смежных с целевой границей.
[117] SAO является способом, в котором разность смещений между восстановленной картинкой и исходной картинкой компенсируется на основе выборки. Например, SAO может применяться на основе типа, такого как смещение полосы, смещение края и т.п. В соответствии с SAO, выборки могут классифицироваться на разные категории в соответствии с каждым типом SAO, и значение смещения может добавляться к каждой выборке на основе категории. Информация фильтрации для SAO может включать в себя информацию о том, применяется ли SAO, информацию типа SAO, информацию значения смещения SAO или т.п. SAO может применяться к восстановленной картинке после применения фильтрации устранения блочности.
[118] ALF представляет собой метод для фильтрации восстановленной картинки на основе выборки, на основе коэффициентов фильтра в соответствии с формой фильтра. Устройство кодирования может определять, применяется ли ALF, форму ALF и/или коэффициент фильтрации ALF или т.п. путем сравнения восстановленной картинки и исходной картинки и может сигнализировать результат определения на устройство декодирования. То есть, информация фильтрации для ALF может включать в себя информацию о том, применяется ли ALF, информацию формы фильтра ALF, информацию коэффициента фильтрации ALF или т.п. ALF может применяться к восстановленной картинке после применения фильтрации устранения блочности.
[119] Фиг. 5 иллюстрирует пример формы фильтра ALF.
[120] Фиг. 5(a) иллюстрирует ромбическую форму фильтра 7×7, и (b) иллюстрирует ромбическую форму фильтра 5×5. На фиг. 5, Cn в форме фильтра представляет коэффициент фильтра. Когда n идентично в Cn, это означает, что может назначаться тот же самый коэффициент фильтра. В настоящем документе, местоположение и/или единица, в которой коэффициент фильтра назначается в соответствии с формой фильтра ALF, может называться отводом фильтра. В этом случае, один коэффициент фильтра может назначаться каждому отводу фильтра, и форма, в которой располагается отвод фильтра, может соответствовать форме фильтра. Отвод фильтра, находящийся в центре формы фильтра, может называться центральным отводом фильтра. Тот же самый коэффициент фильтра может назначаться двум отводам фильтра, имеющим то же самое значение n и присутствующим в местоположениях, соответствующих друг другу относительно центрального отвода фильтра. Например, в случае ромбической формы фильтра 7×7, включены 25 отводов фильтра, и коэффициенты фильтра от C0 до C11 распределены в центрально-симметричной форме. Поэтому коэффициенты фильтра могут быть распределены 25 отводам фильтра с использованием только 13 коэффициентов фильтра. Кроме того, например, в случае ромбической формы фильтра 5×5, включены 13 отводов фильтра, и коэффициенты фильтра от C0 до C5 распределены в центрально-симметричной форме. Поэтому коэффициенты фильтра могут быть распределены 13 отводам фильтра с использованием только 7 коэффициентов фильтра. Например, чтобы уменьшить объем данных информации о коэффициентах фильтра, подлежащих сигнализации, 12 коэффициентов фильтра из 13 коэффициентов фильтра для ромбической формы фильтра 7×7 могут (явно) сигнализироваться, и один коэффициент фильтра может выводиться (неявно). Кроме того, например, 6 коэффициентов фильтра из 7 коэффициентов фильтра для ромбической формы фильтра 5×5 могут (явно) сигнализироваться, и один коэффициент фильтра может выводиться (неявно).
[121] Фиг. 6 иллюстрирует пример процесса ALF с использованием виртуальной границы в соответствии с вариантом осуществления настоящего документа.
[122] Виртуальная граница может быть линией, определенной сдвигом горизонтальной границы CTU на N выборок. В варианте осуществления, N может быть равно 4 для компонента яркости, и/или может быть равно 2 для компонента цветности.
[123] Классификация модифицированного блока может быть применена для компонента яркости. Для вычисления градиента 1D Лапласиана блока 4×4 выше виртуальной границы, могут быть использованы только выборки выше виртуальной границы. Аналогично, для вычисления градиента 1D Лапласиана блока 4×4 ниже виртуальной границы, могут быть использованы только выборки ниже виртуальной границы. Квантование значения активности A может быть соответственно масштабировано с учетом уменьшенного числа выборок, используемых в вычислении градиента 1D Лапласиана.
[124] Для процесса фильтрации, операция симметричного заполнения на виртуальных границах может быть использована для компонентов яркости и цветности. Со ссылкой на фиг. 6, когда отфильтрованная выборка расположена ниже виртуальной границы, соседние выборки, расположенные выше виртуальной границы, могут быть заполнены. При этом соответствующие выборки на другой стороне могут также быть заполнены симметрично.
[125] Если фильтр не включен по границам, процесс, описанный в соответствии с фиг. 6, может также быть использован для границ вырезки, кирпичика и/или мозаичного элемента. Для классификации блока ALF, могут использоваться только выборки, включенные в ту же самую вырезку, кирпичик и/или мозаичный элемент, и значение активности может быть соответственно масштабировано. Для фильтрации ALF, симметричное заполнение может применяться как в горизонтальном, так и в вертикальном направлениях, соответственно, для горизонтальной и/или вертикальной границ.
[126] Фиг. 7 является блок-схемой последовательности операций, иллюстрирующей способ кодирования на основе фильтрации в устройстве кодирования. Способ согласно фиг. 7 может включать в себя этапы от S700 до S730.
[127] На этапе S700, устройство кодирования может генерировать восстановленную картинку. Этап S700 может выполняться на основе вышеупомянутого процесса генерации восстановленной картинки (или восстановленных выборок).
[128] На этапе S710, устройство кодирования может определять, применяется ли внутриконтурная фильтрация (по виртуальной границе), на основе информации, относящейся к внутриконтурной фильтрации. Здесь, внутриконтурная фильтрация может включать в себя по меньшей мере одно из вышеупомянутых фильтрации устранения блочности, SAO и ALF.
[129] На этапе S720, устройство кодирования может генерировать модифицированную восстановленную картинку (модифицированные восстановленные выборки) на основе определения этапа S710. Здесь, модифицированная восстановленная картинка (модифицированные восстановленные выборки) может быть отфильтрованной восстановленной картинкой (отфильтрованными восстановленными выборками).
[130] На этапе S730, устройство кодирования может кодировать информацию изображения/видео, включающую в себя информацию, относящуюся к внутриконтурной фильтрации, на основе процесса внутриконтурной фильтрации.
[131] Фиг. 8 является блок-схемой последовательности операций, иллюстрирующей способ декодирования на основе фильтрации в устройстве декодирования. Способ согласно фиг. 8 может включать в себя этапы от S800 до S830.
[132] На этапе S800, устройство декодирования может получать информацию изображения/видео, включающую в себя информацию, относящуюся к внутриконтурной фильтрации, из битового потока. Здесь, битовый поток может быть основан на закодированной информации изображения/видео, передаваемой от устройства кодирования.
[133] На этапе S810, устройство декодирования может генерировать восстановленную картинку. Этап S810 может выполняться на основе вышеупомянутой восстановленной картинки (или восстановленных выборок).
[134] На этапе S820, устройство декодирования может определять, применяется ли внутриконтурная фильтрация (по виртуальной границе), на основе информации, относящейся к внутриконтурной фильтрации. Здесь, внутриконтурная фильтрация может включать в себя по меньшей мере одно из вышеупомянутых фильтрации устранения блочности, SAO и ALF.
[135] На этапе S830, устройство декодирования может генерировать модифицированную восстановленную картинку (модифицированные восстановленные выборки) на основе определения на этапе S820. Здесь, модифицированная восстановленная картинка (модифицированные восстановленные выборки) может быть отфильтрованной восстановленной картинкой (отфильтрованными восстановленными выборками).
[136] Как описано выше, процесс внутриконтурной фильтрации может применяться к восстановленной картинке. В этом случае, виртуальная граница может быть определена, чтобы дополнительно улучшить субъективное/объективное визуальное качество восстановленной картинки, и процесс внутриконтурной фильтрации может применяться по виртуальной границе. Виртуальная граница может включать в себя, например, прерывистый край, такой как 360-градусное изображение, изображение VR, границу, картинку в картинке (PIP) и т.п. Например, виртуальная граница может присутствовать в предопределенном местоположении, и ее наличие и/или местоположение может сигнализироваться. Например, виртуальная граница может находиться у четвертой сверху линии выборок строки CTU (в частности, например, над верхней четвертой выборкой строки CTU). В качестве другого примера, информация о наличии и/или местоположении виртуальной границы может сигнализироваться посредством HLS. HLS может включать в себя SPS, PPS, заголовок картинки, заголовок вырезки или т.п., как описано выше.
[137] Далее, сигнализация синтаксиса высокого уровня и семантика будут описаны в соответствии с вариантами осуществления настоящего раскрытия.
[138] Вариант осуществления настоящего документа может включать в себя способ управления контурными фильтрами. Настоящий способ для управления контурными фильтрами может применяться к восстановленной картинке. Внутриконтурные фильтры (контурные фильтры) могут использоваться для декодирования закодированных битовых потоков. Контурные фильтры могут включать в себя вышеупомянутое устранение блочности, SAO и ALF. SPS может включать в себя флаги, относящиеся к каждому из устранения блочности, SAO и ALF. Флаги могут указывать, доступно ли каждое из инструментальных средств для кодирования видеопоследовательности кодируемого уровня (CLVS) или кодируемой видеопоследовательности (CVS), ссылающейся на SPS.
[139] Когда контурные фильтры доступны для CVS, применением контурных фильтров можно управлять, чтобы не применяться по конкретным границам. Например, можно управлять тем, можно ли применять контурные фильтры по границам подкартинки. Кроме того, можно управлять тем, следует ли применять контурные фильтры по границам мозаичного элемента. Дополнительно к этому, можно управлять тем, следует ли применять контурные фильтры по виртуальным границам. Здесь, виртуальные границы могут быть определены на CTU на основе доступности линейного буфера.
[140] Относительно того, выполняется ли процесс внутриконтурной фильтрации по виртуальной границе, информация, относящаяся к внутриконтурной фильтрации, может включать в себя по меньшей мере одно из флага включения виртуальных границ SPS (флаг включения виртуальных границ в SPS), флага присутствия виртуальных границ SPS, флага присутствия виртуальных границ заголовка картинки, флага присутствия виртуальных границ заголовка картинки SPS и информации о положении виртуальных границ.
[141] В вариантах осуществления, включенных в настоящий документ, информация о положении виртуальных границ может включать в себя информацию о x-координате вертикальной виртуальной границы и/или информацию о y-координате горизонтальной виртуальной границы. Конкретно, информация о положении виртуальных границ может включать в себя информацию о x-координате вертикальной виртуальной границы и/или информацию о y-оси горизонтальной виртуальной границы в единицах выборок яркости. Кроме того, информация о положении виртуальных границ может включать в себя информацию о числе частей информации (синтаксических элементов) по x-координате вертикальной виртуальной границы, которая присутствует в SPS. Кроме того, информация о положении виртуальных границ может включать в себя информацию о числе частей информации (синтаксических элементов) по y-координате горизонтальной виртуальной границы, которая присутствует в SPS. Альтернативно, информация о положении виртуальных границ может включать в себя информацию о числе частей информации (синтаксических элементов) по x-координате вертикальной виртуальной границы, которая присутствует в заголовке картинки. Кроме того, информация о положении виртуальных границ может включать в себя информацию о числе частей информации (синтаксических элементов) по y-координате горизонтальной виртуальной границы, которая присутствует в заголовке картинки.
[142] Следующие таблицы показывают примерный синтаксис и семантику SPS в соответствии с настоящим вариантом осуществления.
[143] [Таблица 1]
[144] [Таблица 2]
subpics_present_flag, равный1, специфицирует, что параметры подкартинки присутствуют в синтаксисе SPS RBSP. subpics_present_flag, равный 0, специфицирует, что параметры подкартинки не присутствуют в синтаксисе SPS RBSP. sps_num_subpics_minus1 плюс 1 специфицирует число подкартинок. sps_num_subpics_minus1 должен быть в диапазоне от 0 до 254. Если не присутствует, значение sps_num_subpics_minus1 считается равным 0. subpic_ctu_top_left_x[i] специфицирует горизонтальное положение верхней левой CTU i-ой подкартинки в единице CtbSizeY. Длина синтаксического элемента равна Ceil(Log2(pic_width_max_in_luma_samples/ CtbSizeY)) бит. Если не присутствует, значение subpic_ctu_top_left_x[i] считается равным 0. subpic_ctu_top_left_y[i] специфицирует вертикальное положение верхней левой CTU i-ой подкартинки в единице CtbSizeY. Длина синтаксического элемента равна Ceil(Log2(pic_height_max_in_luma_samples/ CtbSizeY)) бит. Если не присутствует, значение subpic_ctu_top_left_y[i] считается равным 0. subpic_width_minus1[i] плюс 1 специфицирует ширину i-ой подкартинки в единицах CtbSizeY. Длина синтаксического элемента равна Ceil(Log2(pic_width_max_in_luma_samples/CtbSizeY)) бит. Если не присутствует, значение subpic_width_minus1[i] считается равным Ceil(pic_width_max_in_luma_samples/ CtbSizeY)-1. subpic_height_minus1[i] плюс 1 специфицирует высоту i-ой подкартинки в единицах CtbSizeY. Длина синтаксического элемента равна Ceil(Log2(pic_height_max_in_luma_samples/CtbSizeY)) бит. Если не присутствует, значение subpic_height_minus1[i] считается равным Ceil(pic_height_max_in_luma_samples/ CtbSizeY)-1. subpic_treated_as_pic_flag[i], равный 1, специфицирует, что i-ая подкартинка каждой кодируемой картинки в CL VS обрабатывается как картинка в процессе декодирования, исключая операции внутриконтурной фильтрации. subpic_treated_as_pic_flag[i], равный 0, специфицирует, что i-ая подкартинка каждой кодируемой картинки в CL VS не обрабатывается как картинка в процессе декодирования, исключая операции внутриконтурной фильтрации. Если не присутствует, значение subpic_treated_as_pic_flag[i] считается равным 0. loop_filter_across_subpic_enabled_flag[i], равный 1, специфицирует, что операции внутриконтурной фильтрации могут выполняться по границам i-ой подкартинки в каждой кодируемой картинке в CL VS. loop_filter_across_subpic_enabled_flag[i], равный 0, специфицирует, что операции внутриконтурной фильтрации не выполняются по границам i-ой подкартинки в каждой кодируемой картинке в CL VS. Если не присутствует, значение loop_filter_across_subpic_enabled_pic_flag[i] считается равным 0. sps_loop_filter_across_virtual_boundaries_disabled_present_flag, равный 1, специфицирует, что операции внутриконтурной фильтрации отключены по виртуальным границам в картинках, ссылающихся на SPS. sps_loop_filter_across_virtual_boundaries_disabled_present_flag, равный 0, специфицирует, что такое отключение операций внутриконтурной фильтрации не применяется в картинках, ссылающихся на SPS. Операции внутриконтурной фильтрации включают в себя операции фильтра устранения блочности, фильтра адаптивного смещения выборки и адаптивного контурного фильтра. sps_sao_enabled_flag, равный 1, специфицирует, что процесс адаптивного смещения выборки применяется к восстановленной картинке после процесса фильтра устранения блочности. sps_sao_enabled_flag, равный 0, специфицирует, что процесс адаптивного смещения выборки не применяется к восстановленной картинке после процесса фильтра устранения блочности. sps_alf_enabled_flag, равный 0, специфицирует, что адаптивный контурный фильтр отключен. sps_alf_enabled_flag, равный 1, специфицирует, что адаптивный контурный фильтр включен. sps_num_ver_virtual_boundaries специфицирует число синтаксических элементов sps_virtual_boundaries_pos_x[i], которые присутствуют в SPS. Если sps_num_ver_virtual_boundaries не присутствует, он считается равным 0. sps_virtual_boundaries_pos_x[i] используется для вычисления значения VirtualBoundariesPosX[i], которое специфицирует местоположение i-ой вертикальной виртуальной границы в единицах выборок яркости. Значение sps_virtual_boundaries_pos_x[i] должно быть в диапазоне от 0 до Ceil(pic_width_in_luma_samples ÷ 8)-1, включительно. sps_num_hor_virtual_boundaries специфицирует число синтаксических элементов sps_virtual_boundaries_pos_y[i], которые присутствуют в SPS. Если sps_num_hor_virtual_boundaries не присутствует, он считается равным 0. sps_virtual_boundaries_pos_y[i] используется для вычисления значения VirtualBoundariesPosY[i], которое специфицирует местоположение i-ой горизонтальной виртуальной границы в единицах выборок яркости. Значение sps_virtual_boundaries_pos_y[i] должно быть в диапазоне от 0 до Ceil(pic_height_in_luma_samples ÷ 8)-1, включительно. |
[145] Следующие таблицы показывают примерный синтаксис и семантику набора параметров картинки (PPS) в соответствии с настоящим вариантом осуществления.
[146] [Таблица 3]
[147] [Таблица 4]
no_pic_partition_flag, равный 1, специфицирует, что разбиение картинки не применяется к каждой картинке, ссылающейся на PPS. no_pic_partition_flag, равный 0, специфицирует, что каждая картинка, ссылающаяся на PPS, может разбиваться на более чем один мозаичный элемент или вырезку. loop_filter_across_tiles_enabled_flag, равный 1, специфицирует, что операции внутриконтурной фильтрации могут выполняться по границам мозаичных элементов в картинках, ссылающихся на PPS. loop_filter_across_tiles_enabled_flag, равный 0, специфицирует, что операции внутриконтурной фильтрации не выполняются по границам мозаичных элементов в картинках, ссылающихся на PPS. Операции внутриконтурной фильтрации включают в себя операции фильтра устранения блочности, фильтра адаптивного смещения выборки и адаптивного контурного фильтра. loop_filter_across_slices_enabled_flag, равный 1, специфицирует, что операции внутриконтурной фильтрации могут выполняться по границам вырезок в картинках, ссылающихся на PPS. loop_filter_across_slices_enabled_flag, равный 0, специфицирует, что операции внутриконтурной фильтрации не выполняются по границам вырезок в картинках, ссылающихся на PPS. Операции внутриконтурной фильтрации включают в себя операции фильтра устранения блочности, фильтра адаптивного смещения выборки и адаптивного контурного фильтра. deblocking_filter_control_present_flag, равный 1, специфицирует присутствие синтаксических элементов управления фильтром устранения блочности в PPS. deblocking_filter_control_present_flag, равный 0, специфицирует отсутствие синтаксических элементов управления фильтром устранения блочности в PPS. deblocking_filter_override_enabled_flag, равный 1, специфицирует присутствие pic_deblocking_filter_override_flag в PH, ссылающихся на PPS, или slice_deblocking_filter_override_flag в заголовках вырезок, ссылающихся на PPS. deblocking_filter_override_enabled_flag, равный 0, специфицирует отсутствие pic_deblocking_filter_override_flag в PH, ссылающихся на PPS, или slice_deblocking_filter_override_flag в заголовках вырезок, ссылающихся на PPS. Если не присутствует, значение deblocking_filter_override_enabled_flag считается равным 0. pps_deblocking_filter_disabled_flag, равный 1, специфицирует, что операция фильтра устранения блочности не применяется для вырезок, ссылающихся на PPS, в котором slice_deblocking_filter_disabled_flag не присутствует. pps_deblocking_filter_disabled_flag, равный 0, специфицирует, что операция фильтра устранения блочности применяется для вырезок, ссылающихся на PPS, в котором slice_deblocking_filter_disabled_flag не присутствует. Если не присутствует, значение pps_deblocking_filter_disabled_flag считается равным 0. pps_beta_offset_div2 и pps_tc_offset_div2 специфицируют смещения параметров устранения блочности по умолчанию для β и tC (деленные на 2), которые применяются для вырезок, ссылающихся на PPS, если только смещения параметров устранения блочности по умолчанию не перезаписываются смещениями параметров устранения блочности, присутствующими в заголовках вырезок для вырезок, ссылающихся на PPS. Значения pps_beta_offset_div2 и pps_tc_offset_div2 должны быть оба в диапазоне от -6 до 6, включительно. Если не присутствуют, значения pps_beta_offset_div2 и pps_tc_offset_div2 считаются равными 0. |
[148] Следующие таблицы показывают примерный синтаксис и семантику заголовка картинки в соответствии с настоящим вариантом осуществления.
[149] [Таблица 5]
[150]
[151] [Таблица 6]
ph_loop_filter_across_virtual_boundaries_disabled_present_flag, равный 1, специфицирует, что операции внутриконтурной фильтрации отключены по виртуальным границам в картинках, ассоциированных с РН. ph_loop_filter_across_virtual_boundaries_disabled_present_flag, равный 0, специфицирует, что такое отключение операций внутриконтурной фильтрации не применяется в картинках, ассоциированных с РН. Операции внутриконтурной фильтрации включают в себя операции фильтра устранения блочности, фильтра адаптивного смещения выборки и адаптивного контурного фильтра. ph_num_ver_virtual_boundaries специфицирует число синтаксических элементов ph_virtual_boundaries_pos_x[i], которые присутствуют в РН. ph_virtual_boundaries_pos_x[i] используется, чтобы вычислять значение VirtualBoundariesPosХ[i], которое специфицирует местоположение i-ой вертикальной виртуальной границы в единицах выборок яркости. Значение ph_virtual_boundaries_pos_x[i] должно быть в диапазоне от 1 до Ceil(pic_width_in_luma_samples ÷ 8)-1, включительно. ph_num_hor_virtual_boundaries специфицирует число синтаксических элементов ph_virtual_boundaries_pos_y[i], которые присутствуют в РН. ph_virtual_boundaries_pos_y[i] используется, чтобы вычислять значение VirtualBoundariesPosY[i], которое специфицирует местоположение i-ой горизонтальной виртуальной границы в единицах выборок яркости. Значение ph_virtual_boundaries_pos_y[i] должно быть в диапазоне от 1 до Ceil(pic_height_in_luma_samples ÷ 8)-1, включительно. pic_sao_enabled_present_flag, равный 1, специфицирует, что pic_sao_luma_flag и pic_sao_chroma_flag присутствуют в РН. pic_sao_enabled_present_flag, равный 0, специфицирует, что pic_sao_luma_flag и pic_sao_chroma_flag не присутствуют в РН. Если pic_sao_enabled_present_flag не присутствует, он считается равным 0. pic_sao_luma_enabled_flag, равный 1, специфицирует, что SAO включено для компонента яркости во всех вырезках, ассоциированных с РН; pic_sao_luma_enabled_flag, равный 0, специфицирует, что SAO для компонента яркости может быть отключено для одной или более или всех вырезок, ассоциированных с РН. pic_sao_chroma_enabled_flag, равный 1, специфицирует, что SAO включено для компонента цветности во всех вырезках, ассоциированных с РН; pic_sao_chroma_enabled_flag, равный 0, специфицирует, что SAO для компонента цветности может быть отключено для одной или более или всех вырезок, ассоциированных с РН. pic_alf_enabled_present_flag, равный 1, специфицирует, что pic_alf_enabled_flag, pic_num_alf_aps_ids_luma, pic_alf_aps_id_luma[i], pic_alf_chroma_idc и pic_alf_aps_id_chroma присутствуют в РН. pic_alf_enabled_present_flag, равный 0, специфицирует, что pic_alf_enabled_flag, pic_num_alf_aps_ids_luma, pic_alf_aps_id_luma[i], pic_alf_chroma_idc и pic_alf_aps_id_chroma не присутствуют в РН. Если pic_alf_enabled_present_flag не присутствует, он считается равным 0. pic_alf_enabled_flag, равный 1, специфицирует, что адаптивный контурный фильтр включен для всех вырезок, ассоциированных с РН, и может применяться к цветовому компоненту Y, Cb или Cr в вырезках. pic_alf_enabled_flag, равный 0, специфицирует, что адаптивный контурный фильтр может быть отключен для одной или более или всех вырезок, ассоциированных с РН. Если не присутствует, pic_alf_enabled_flag считается равным 0. pic_num_alf_aps_ids_luma специфицирует число ALF APS, на которые ссылаются вырезки, ассоциированные с РН. pic_alf_aps_id_luma[i] специфицирует adaptation_parameter_set_id i-го ALF APS, на который ссылается компонент яркости вырезок, ассоциированных с РН. Значение alf_luma_filter_signal_flag единицы APL NAL, имеющей aps_params_type, равный ALF_APS, и adaptation_parameter_set_id, равный pic_alf_aps_id_luma[i], должно быть равно 1. pic_alf_chroma_idc, равный 0, специфицирует, что адаптивный контурный фильтр не применяется к цветовым компонентам Cb и Cr. pic_alf_chroma_idc, равный 1, указывает, что адаптивный контурный фильтр применяется к цветовому компоненту Cb. pic_alf_chroma_idc, равный 2, указывает, что адаптивный контурный фильтр применяется к цветовому компоненту Cr. pic_alf_chroma_idc, равный 3, указывает, что адаптивный контурный фильтр применяется к цветовым компонентам Cb и Cr. Если pic_alf_chroma_idc не присутствует, то он считается равным 0. pic_alf_aps_id_chroma специфицирует adaptation_parameter_set_id ALF APS, на который ссылается компонент цветности вырезок, ассоциированных с РН. pic_deblocking_filter_override_present_flag, равный 1, специфицирует, что pic_deblocking_filter_override_flag присутствует в РН. pic_deblocking_filter_override_present_flag, равный 0, специфицирует, что pic_deblocking_filter_override_flag не присутствует в РН. Если pic_deblocking_filter_override_present_flag не присутствует, он считается равным 0. pic_deblocking_filter_override_flag, равный 1, специфицирует, что параметры устранения блочности присутствуют в РН. pic_deblocking_filter_override_flag, равный 0, специфицирует, что параметры устранения блочности не присутствуют в РН. Если не присутствует, значение pic_deblocking_filter_override_flag считается равным 0. |
[152]
pic_deblocking_filter_disabled_flag, равный 1, специфицирует, что операция фильтра устранения блочности не применяется для вырезок, ассоциированных с РН. pic_deblocking_filter_disabled_flag, равный 0, специфицирует, что операция фильтра устранения блочности применяется для вырезок, ассоциированных с РН. Если pic_deblocking_filter_disabled_flag не присутствует, он считается равным pps_deblocking_filter_disabled_flag. pic_beta_offset_div2 и pic_tc_offset_div2 специфицируют смещения параметров устранения блочности для β и tC (деленные на 2) для вырезок, ассоциированных с PH. Значения pic_beta_offset_div2 и pic_tc_offset_div2 должны быть оба в диапазоне от -6 до 6, включительно. Если не присутствуют, значения pic_beta_offset_div2 и pic_tc_offset_div2 считаются равными pps_beta_offset_div2 и pps_tc_offset_div2, соответственно. |
[153] Следующие таблицы показывают примерный синтаксис и семантику заголовка выборки в соответствии с настоящим вариантом осуществления.
[154] [Таблица 7]
[155] [Таблица 8]
cu_chroma_qp_offset_enabled_flag, равный 1, специфицирует, что cu_chroma_qp_offset_flag может присутствовать в синтаксисе кодирования единицы преобразования и палитры. cu_chroma_qp_offset_enabled_flag, равный 0, специфицирует, что cu_chroma_qp_offset_flag не присутствует в синтаксисе кодирования единицы преобразования и палитры. Если не присутствует, значение cu_chroma_qp_offset_enabled_flag считается равным 0. slice_sao_luma_flag, равный 1, специфицирует, что SAO включено для компонента яркости в текущей вырезке; slice_sao_luma_flag, равный 0, специфицирует, что SAO отключено для компонента яркости в текущей вырезке. Если slice_sao_luma_flag не присутствует, он считается равным pic_sao_luma_enabled_flag. slice_sao_chroma_flag, равный 1, специфицирует, что SAO включено для компонента цветности в текущей вырезке; slice_sao_chroma_flag, равный 0, специфицирует, что SAO отключено для компонента цветности в текущей вырезке. Если slice_sao_chroma_flag не присутствует, он считается равным pic_sao_chroma_enabled_flag. slice_alf_enabled_flag, равный 1, специфицирует, что адаптивный контурный фильтр включен и может применяться к цветовому компоненту Y, Cb и Cr в вырезке. slice_alf_enabled_flag, равный 0, специфицирует, что адаптивный контурный фильтр отключен для всех цветовых компонентов в вырезке. Если не присутствует, значение slice_alf_enabled_flag считается равным pic_alf_enabled_flag. slice_num_alf_aps_ids_luma специфицирует число ALF APS,на которые ссылается вырезка. Если slice_alf_enabled_flag равен 1 и slice_num_alf_aps_ids_luma не присутствует, значение slice_num_alf_aps_ids_luma считается равным значению pic_num_alf_aps_ids_luma. slice_alf_aps_id_luma[i] специфицирует adaptation_parameter_set i-го ALF APS, на который ссылается компонент яркости вырезки. TemporalId единицы APS NAL, имеющей aps_params_type, равный ALF_APS, и adaptation_parameter_set_id, равный slice_alf_aps_id_luma[i], должен быть меньше или равен TemporalId единицы NAL кодируемой вырезки. Если slice_alf_enabled_flag равен 1 и slice_alf_aps_id_luma[i] не присутствует, значение slice_alf_aps_id_luma[i] считается равным значению pic_alf_aps_id_luma[i]. Значение alf_luma_filter_signal_flag единицы APS NAL, имеющей aps_params_type, равный ALF_APS, и adaptation_parameter_set_id, равный slice_alf_aps_id_luma[i], должно быть равно 1. slice_alf_chroma_idc, равный 0, специфицирует, что адаптивный контурный фильтр не применяется к цветовым компонентам Cb и Cr. slice_alf_chroma_idc, равный 1, указывает, что адаптивный контурный фильтр применяется к цветовому компоненту Cb. slice_alf_chroma_idc, равный 2, указывает, что адаптивный контурный фильтр применяется к цветовому компоненту Cr. slice_alf_chroma_idc, равный 3, указывает, что адаптивный контурный фильтр применяется к цветовым компонентам Cb и Cr. Если slice_alf_chroma_idc не присутствует, он считается равным pic_alf_chroma_idc. slice_alf_aps_id_chroma специфицирует adaptation_parameter_set ALF APS, на который ссылается компонент цветности вырезки. TemporalId единицы APS NAL, имеющей aps_params_type, равный ALF_APS, и adaptation_parameter_set_id, равный slice_alf_aps_id_chroma, должен быть меньше или равен TemporalId единицы NAL кодируемой вырезки. Если slice_alf_enabled_flag равен 1 и slice_alf_aps_id_chroma не присутствует, то значение slice_alf_aps_id_chroma считается равным значению pic_alf_aps_id_chroma. Значение alf_chroma_filter_signal_flag единицы APS NAL, имеющей aps_params_type, равный ALF_APS, и adaptation_parameter_set_id, равный slice_alf_aps_id_chroma, должно быть равно 1. slice_deblocking_filter_override_flag, равный 1, специфицирует, что параметры устранения блочности присутствуют в заголовке вырезки. slice_deblocking_filter_override_flag, равный 0, специфицирует, что параметры устранения блочности не присутствуют в заголовке вырезки. Если не присутствует, значение slice_deblocking_filter_override_flag считается равным pic_deblocking_filter_override_flag. slice_deblocking_filter_disabled_flag, равный 1, специфицирует, что операция фильтра устранения блочности не применяется для текущей вырезки. slice_deblocking_filter_disabled_flag, равный 0, специфицирует, что операция фильтра устранения блочности применяется для текущей вырезки. Если slice_deblocking_filter_disabled_flag не присутствует, он считается равным pic_deblocking_filter_disabled_flag. slice_beta_offset_div2 и slice_tc_offset_div2 специфицируют смещения параметров устранения блочности для β и tC (деленные на 2) для текущей вырезки. Значения slice_beta_offset_div2 и slice_tc_offset_div2 должны быть оба в диапазоне от -6 до 6, включительно. Если не присутствуют, значения slice_beta_offset_div2 и slice_tc_offset_div2 считаются равными pic_beta_offset_div2 и pic_tc_offset_div2, соответственно. |
[156] Далее будет описана сигнализация информации о виртуальных границах, которые могут быть использованы во внутриконтурной фильтрации.
[157] В существующей схеме, чтобы отключить контурные фильтры по виртуальным границам, имеется две опции, то есть, опция i), в которой флаг присутствия виртуальных границ SPS (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) может быть установлен в 0, и для каждого заголовка картинки, флаг присутствия виртуальных границ PH (ph_loop_filter_across_virtual_boundaries_disabled_present_flag) может присутствовать и устанавливаться в 0, и опция ii), в которой флаг присутствия виртуальных границ SPS (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) может быть установлен в 1, и информация о числе вертикальных виртуальных границ SPS (sps_num_ver_vertical_boundaries) и информация о числе горизонтальных виртуальных границ SPS (sps_num_hor_vertical_boundaries) может быть установлена в 0.
[158] В существующей схеме, в соответствии с опцией ii), флаг присутствия виртуальных границ SPS (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) установлен в 1, и, таким образом, декодер ожидает сигнализацию о местоположениях виртуальных границ, что может вызвать проблему в процессе декодирования.
[159] Варианты осуществления, описанные далее, могут предложить решения вышеуказанной проблемы. Варианты осуществления могут применяться независимо. Альтернативно, по меньшей мере два варианта осуществления могут применяться в комбинации.
[160] В варианте осуществления настоящего документа, тем, включены ли синтаксические элементы для указания виртуальных границ в SPS, можно управлять посредством флага(ов). Например, число флагов может быть 2 (например, флаг включения виртуальных границ SPS, флаг присутствия виртуальных границ SPS).
[161] В примере в соответствии с настоящим вариантом осуществления, флаг включения виртуальных границ SPS может упоминаться как sps_loop_filter_across_virtual_boundaries_ disabled_flag (или sps_virtual_boundaries_enabled_flag). Флаг включения виртуальных границ SPS может указывать, включена ли функция для отключения контурного фильтра по виртуальным границам.
[162] В примере в соответствии с настоящим вариантом осуществления, флаг присутствия виртуальных границ SPS может упоминаться как sps_loop_filter_across_virtual_boundaries_ disabled_present_flag (или sps_virtual_boundaries_present_flag). Флаг присутствия виртуальных границ SPS может указывать, включена ли информация сигнализации для виртуальных границ в SPS или в заголовок картинки (PH).
[163] В примере в соответствии с настоящим вариантом осуществления, когда флаг включения виртуальных границ SPS (sps_loop_filter_across_virtual_boundaries_disabled_flag) равен 1 и флаг присутствия виртуальных границ SPS (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) равен 0, информация сигнализации для отключения контурного фильтра по виртуальным границам может быть включена в PH.
[164] В примере в соответствии с настоящим вариантом осуществления, когда информация о положениях виртуальных границ (например, вертикальных виртуальных границ, горизонтальных виртуальных границ) включена в SPS, это может быть ограничено тем, что сумма числа вертикальных виртуальных границ и числа горизонтальных виртуальных границ больше, чем 0.
[165] В примере в соответствии с настоящим вариантом осуществления, может быть выведена переменная(ые), указывающая, отключен ли фильтр на виртуальных границах для текущей картинки. Например, переменная(ые) может включать в себя VirtualBoundariesDisabledFlag.
[166] В качестве одного случая настоящего примера, когда флаг включения виртуальных границ SPS (sps_loop_filter_across_virtual_boundaries_disabled_flag) равен 1 и флаг присутствия виртуальных границ SPS (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) равен 1, VirtualBoundariesDisabledFlag может быть равен 1.
[167] В качестве другого случая настоящего примера, когда флаг включения виртуальных границ SPS (sps_loop_filter_across_virtual_boundaries_disabled_flag) равен 1, флаг присутствия виртуальных границ SPS (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) равен 0, и сумма информации о числе вертикальных виртуальных границ (например, ph_num_ver_virtual_boundaries) и информации о числе горизонтальных виртуальных границ (например, ph_num_hor_virtual_boundaries) больше, чем 0, VirtualBoundariesDisabledFlag может быть равен 1.
[168] В других случаях настоящего примера, VirtualBoundariesDisabledFlag может быть равен 0.
[169] Следующая таблица показывает примерный синтаксис SPS в соответствии с настоящим вариантом осуществления.
[170] [Таблица 9]
[171] Следующая таблица показывает примерную семантику синтаксических элементов, включенных в синтаксис.
[172] [Таблица 10]
sps_loop_filter_across_virtual_boundaries_disabled_flag, равный 1, специфицирует, что операции внутриконтурной фильтрации отключены по виртуальным границам в картинках, ссылающихся на SPS. sps_loop_filter_across_virtual_boundaries_disabled_present_flag, равный 0, специфицирует, что такие операции внутриконтурной фильтрации не применяются в картинках, ссылающихся на SPS. Операции внутриконтурной фильтрации включают в себя операции фильтра устранения блочности, фильтра адаптивного смещения выборки и адаптивного контурного фильтра . sps_loop_filter_across_virtual_boundaries_disabled_present_flag, равный 1, специфицирует, что синтаксические элементы для операций внутриконтурной фильтрации для виртуальных границ присутствуют в SPS. sps_loop_filter_across_virtual_boundaries_disabled_present_flag, равный 0, специфицирует, что синтаксические элементы для операций внутриконтурной фильтрации виртуальных границ не присутствуют в SPS. Операции внутриконтурной фильтрации включают в себя операции фильтра устранения блочности, фильтра адаптивного смещения выборки и адаптивного контурного фильтра . Если gdr_enabled_flag равен 1, sps_loop_filter_across_virtual_boundaries_disabled_flag ограничен значением 1, и sps_loop_filter_across_virtual_boundaries_disabled_present_flag ограничен значением 0. sps_num_ver_virtual_boundaries специфицирует число синтаксических элементов sps_virtual_boundaries_pos_x[i], которые присутствуют в SPS. Если sps_num_ver_virtual_boundaries не присутствует, он считается равным 0. sps_virtual_boundaries_pos_x[i] используется для вычисления значения VirtualBoundariesPosX[i], которое специфицирует местоположение i-ой вертикальной виртуальной границы в единицах выборок яркости. sps_virtual_boundaries_pos_x[i] должен быть в диапазоне от 1 до Ceil(pic_width_in_luma_samples ÷ 8) − 1, включительно. sps_num_hor_virtual_boundaries специфицирует число синтаксических элементов sps_virtual_boundaries_pos_y[i], которые присутствуют в SPS. Если sps_num_hor_virtual_boundaries не присутствует, он считается равным 0. Если sps_loop_filter_across_virtual_boundaries_disabled_flag равен 1 и sps_loop_filter_across_virtual_boundaries_disabled_present_flag равен 1, сумма sps_num_ver_virtual_boundaries и sps_num_hor_virtual_boundaries должна быть больше, чем 0. sps_virtual_boundaries_pos_y[i] используется для вычисления значения VirtualBoundariesPosY[i], которое специфицирует местоположение i-ой горизонтальной виртуальной границы в единицах выборок яркости. sps_virtual_boundaries_pos_y[i] должен быть в диапазоне от 1 до Ceil(pic_height_in_luma_samples÷8)−1, включительно. |
[173] Следующая таблица показывает примерный синтаксис информации заголовка (заголовка картинки) в соответствии с настоящим вариантом осуществления.
[174] [Таблица 11]
[175] Следующая таблица показывает примерную семантику синтаксических элементов, включенных в синтаксис.
[176] [Таблица 12]
ph_num_ver_virtual_boundaries специфицирует число синтаксических элементов ph_virtual_boundaries_pos_x[i], которые присутствуют в PH. Если ph_num_ver_virtual_boundaries не присутствует, он считается равным to 0. ph_num_hor_virtual_boundaries специфицирует число синтаксических элементов ph_virtual_boundaries_pos_y[i], которые присутствуют в PH. Если ph_num_hor_virtual_boundaries не присутствует, он считается равным 0. Параметр VirtualBoundariesDisabledFlag выводится следующим образом: VirtualBoundariesDisabledFlag=0 if(sps_loop_filter_across_virtual_boundaries_disabled_flag) if(sps_loop_filter_across_virtual_boundaries_disabled_present_flag || (ph_num_ver_virtual_boundaries+ph_num_ver_virtual_boundaries > 0)) VirtualBoundariesDisabledFlag=1 Параметр VirtualBoundariesNumVer выводится следующим образом: VirtualBoundariesNumVer=0 if(sps_loop_filter_across_virtual_boundaries_disabled_flag) VirtualBoundariesNumVer=sps_loop_filter_across_virtual_boundaries_disabled_present_flag ? sps_num_ver_virtual_boundaries : ph_num_ver_virtual_boundaries (7-43) ph_virtual_boundaries_pos_x[i] используется для вычисления значения VirtualBoundariesPosX[i], которое специфицирует местоположение i-ой вертикальной виртуальной границы в единицах выборок яркости. ph_virtual_boundaries_pos_x[i] должен быть в диапазоне от 1 до Ceil(pic_width_in_luma_samples ÷ 8) − 1, включительно. Местоположение вертикальной виртуальной границы VirtualBoundariesPosX[i] выводится следующим образом: VirtualBoundariesPosX[i]=0 if(sps_loop_filter_across_virtual_boundaries_disabled_flag) VirtualBoundariesPosX[i]=(sps_loop_filter_across_virtual_boundaries_disabled_present_flag ? sps_virtual_boundaries_pos_x[i] : ph_virtual_boundaries_pos_x[i]) *8 (7-44) Расстояние между любыми двумя вертикальными виртуальными границами должно быть больше или равно выборкам яркости CtbSizeY. ph_num_hor_virtual_boundaries специфицирует число синтаксических элементов ph_virtual_boundaries_pos_y[i], которые присутствуют в PH. Если ph_num_hor_virtual_boundaries не присутствует, он считается равным to 0. Параметр VirtualBoundariesNumHor выводится следующим образом: VirtualBoundariesNumHor=0 if(sps_loop_filter_across_virtual_boundaries_disabled_flag) VirtualBoundariesNumHor=sps_loop_filter_across_virtual_boundaries_disabled_present_flag ? sps_num_hor_virtual_boundaries : ph_num_hor_virtual_boundaries (7-45) ph_virtual_boundaries_pos_y[i] используется для вычисления значения VirtualBoundariesPosY[i], которое специфицирует местоположение i-ой горизонтальной виртуальной границы в единицах выборок яркости. ph_virtual_boundaries_pos_y[i] должен быть в диапазоне от 1 до Ceil(pic_height_in_luma_samples ÷ 8) − 1, включительно. Местоположение горизонтальной виртуальной границы VirtualBoundariesPosY[i] выводится следующим образом: VirtualBoundariesPosY[i] if(sps_loop_filter_across_virtual_boundaries_disabled_flag) VirtualBoundariesPosY[i]=(sps_loop_filter_across_virtual_boundaries_disabled_present_flag ? sps_virtual_boundaries_pos_y[i] : ph_virtual_boundaries_pos_y[i]) * 8 (7-46) Расстояние между любыми двумя горизонтальными виртуальными границами должно быть больше или равно выборкам яркости CtbSizeY. |
[177] В варианте осуществления, относящемся к Таблицам 9-12, информация изображения, полученная устройством кодирования, и/или информация изображения, полученная через битовый поток, принятый от устройства кодирования в устройстве декодирования, может включать в себя набор параметров последовательности (SPS) и заголовок картинки (PH). SPS может включать в себя флаг включения виртуальных границ (sps_loop_filter_across_virtual_boundaries_disabled_flag). SPS может включать в себя флаг присутствия виртуальных границ SPS (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) на основе флага включения виртуальных границ.
[178] Например, когда значение флага включения виртуальных границ равно 1, SPS может включать в себя флаг присутствия виртуальных границ SPS. На основе флага включения виртуальных границ и флага присутствия виртуальных границ SPS, SPS может включать в себя информацию о числе вертикальных виртуальных границ SPS (sps_num_ver_virtual_boundaries), информацию о положении вертикальных виртуальных границ SPS (sps_virtual_boundaries_pos_x[i]), информацию о числе горизонтальных виртуальных границ SPS (sps_num_hor_virtual_boundaries) и информацию о положении горизонтальных виртуальных границ SPS (sps_virtual_boundaries_pos_y[i]). Например, когда значение флага включения виртуальных границ равно 1 и значение флага присутствия виртуальных границ SPS равно 1, SPS может включать в себя информацию о числе вертикальных виртуальных границ SPS, информацию положении вертикальных виртуальных границ SPS, информацию о числе горизонтальных виртуальных границ SPS и информацию о положении горизонтальных виртуальных границ SPS.
[179] В примере, число частей информации о положении вертикальных виртуальных границ SPS может быть определено на основе информации о числе вертикальных виртуальных границ SPS, и число частей информации о положении горизонтальных виртуальных границ SPS может быть определено на основе информации о числе горизонтальных виртуальных границ SPS. На основе флага включения виртуальных границ и флага присутствия виртуальных границ SPS, заголовок картинки может включать в себя информацию о числе вертикальных виртуальных границ PH (ph_num_ver_virtual_boundaries), информацию о положении вертикальных виртуальных границ PH (ph_virtual_boundaries_pos_x[i]), информацию о числе горизонтальных виртуальных границ PH (ph_num_hor_virtual_boundaries) и информацию о положении горизонтальных виртуальных границ PH (ph_virtual_boundaries_pos_y[i]).
[180] Например, когда значение флага включения виртуальных границ равно 1 и значение флага присутствия виртуальных границ SPS равно 0, заголовок картинки может включать в себя информацию о числе вертикальных виртуальных границ PH, информацию о положении вертикальных виртуальных границ PH, информацию о числе горизонтальных виртуальных границ PH и информацию on положении горизонтальных виртуальных границ PH. В примере, число частей информации о положении вертикальных виртуальных границ PH может быть определено на основе информации о числе вертикальных виртуальных границ PH, и число частей информации о положении горизонтальных виртуальных границ PH может быть определено на основе информации о числе горизонтальных виртуальных границ PH.
[181] В другом варианте осуществления настоящего документа, каждая часть информации заголовка (заголовков картинок) картинок, ссылающихся на SPS, может включать в себя флаг присутствия виртуальных границ PH (ph_loop_filter_across_virtual_boundaries_disabled_present_flag или ph_virtual_boundaries_present_flag). Настоящий вариант осуществления может также быть описан вместе с флагом включения виртуальных границ SPS (sps_loop_filter_across_virtual_ boundaries_disabled_flag) и флагом присутствия виртуальных границ SPS (sps_loop_filter_across_virtual_boundaries_disabled_ present_flag).
[182] В примере в соответствии с настоящим вариантом осуществления, когда значение флага включения виртуальных границ SPS (sps_loop_filter_across_virtual_boundaries_disabled_flag) равно 1 и значение флага присутствия виртуальных границ SPS (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) равно 0, каждая часть информации (заголовков картинок) картинок, ссылающихся на SPS, может включать в себя флаг присутствия виртуальных границ PH (ph_loop_filter_across_virtual_boundaries_disabled_present_flag или ph_virtual_boundaries_present_flag).
[183] В примере в соответствии с настоящим вариантом осуществления, когда информация о положениях виртуальных границ (например, вертикальных виртуальных границ, горизонтальных виртуальных границ) включена в SPS, сумма числа вертикальных виртуальных границ и числа горизонтальных виртуальных границ может быть ограничена, чтобы быть больше, чем 0.
[184] В примере в соответствии с настоящим вариантом осуществления, переменная(ые), указывающая, отключен ли фильтр на виртуальных границах, может быть выведена для текущей картинки. Например, переменная(ые) может включать в себя VirtualBoundariesDisabledFlag.
[185] В качестве одного случая настоящего примера, когда флаг включения виртуальных границ SPS (sps_loop_filter_across_virtual_boundaries_disabled_flag) равен 1 и флаг присутствия виртуальных границ SPS (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) равен 1, VirtualBoundariesDisabledFlag может быть равен 1.
[186] В качестве другого случая настоящего примера, когда флаг включения виртуальных границ SPS (sps_loop_filter_across_virtual_boundaries_disabled_flag) равен 1 и флаг присутствия виртуальных границ PH (ph_loop_filter_across_virtual_boundaries_disabled_present_flag) равен 1, VirtualBoundariesDisabledFlag может быть равен 1.
[187] В других случаях настоящего примера, VirtualBoundariesDisabledFlag может быть равен 0.
[188] Следующая таблица показывает примерный синтаксис SPS в соответствии с настоящим вариантом осуществления.
[189] [Таблица 13]
[190] Следующая таблица показывает примерную семантику синтаксических элементов, включенных в синтаксис.
[191] [Таблица 14]
sps_loop_filter_across_virtual_boundaries_disabled_flag, равный 1, специфицирует, что операции внутриконтурной фильтрации отключены по виртуальным границам в картинках, ссылающихся на SPS. sps_loop_filter_across_virtual_boundaries_disabled_present_flag, равный 0, специфицирует, что такие операции внутриконтурной фильтрации не применяются в картинках, ссылающихся на SPS. Операции внутриконтурной фильтрации включают в себя операции фильтра устранения блочности, фильтра адаптивного смещения выборки и адаптивного контурного фильтра . sps_loop_filter_across_virtual_boundaries_disabled_present_flag, равный 1 специфицирует, что синтаксические элементы для операции внутриконтурной фильтрации для виртуальных границ присутствуют в SPS. sps_loop_filter_across_virtual_boundaries_disabled_present_flag, равный 0, специфицирует, что синтаксические элементы для операций внутриконтурной фильтрации виртуальных границ не присутствуют в SPS. Операции внутриконтурной фильтрации включают в себя операции фильтра устранения блочности, фильтра адаптивного смещения выборки и адаптивного контурного фильтра . Если gdr_enabled_flag равен 1, sps_loop_filter_across_virtual_boundaries_disabled_flag ограничен значением 1 и sps_loop_filter_across_virtual_boundaries_disabled_present_flag ограничен значением 0. sps_num_ver_virtual_boundaries специфицирует число синтаксических элементов sps_virtual_boundaries_pos_x[i], которые присутствуют в SPS. Если sps_num_ver_virtual_boundaries не присутствует, он считается равным 0. sps_virtual_boundaries_pos_x[i] используется для вычисления значения VirtualBoundariesPosX[i], которое специфицирует местоположение i-ой вертикальной виртуальной границы в единицах выборок яркости. sps_virtual_boundaries_pos_x[i] должен быть в диапазоне от 1 до Ceil(pic_width_in_luma_samples ÷ 8) − 1, включительно. sps_num_hor_virtual_boundaries специфицирует число синтаксических элементов sps_virtual_boundaries_pos_y[i], которые присутствуют в SPS. Если sps_num_hor_virtual_boundaries не присутствует, он считается равным 0. Если sps_loop_filter_across_virtual_boundaries_disabled_flag равен 1 и sps_loop_filter_across_virtual_boundaries_disabled_present_flag равен 1, сумма sps_num_ver_virtual_boundaries и sps_num_hor_virtual_boundaries должна быть больше, чем 0. sps_virtual_boundaries_pos_y[i] используется для вычисления значения VirtualBoundariesPosY[i], которое специфицирует местоположение i-ой горизонтальной виртуальной границы в единицах выборок яркости. sps_virtual_boundaries_pos_y[i] должен быть в диапазоне от 1 до Ceil(pic_height_in_luma_samples ÷ 8) − 1, включительно. |
[192] Следующая таблица показывает примерный синтаксис информации заголовка (заголовка картинки) в соответствии с настоящим вариантом осуществления.
[193] [Таблица 15]
[194] Следующая таблица показывает примерную семантику синтаксических элементов, включенных в синтаксис.
[195] [Таблица 16]
ph_loop_filter_across_virtual_boundaries_disabled_present_flag, равный 1, специфицирует, что операции внутриконтурной фильтрации отключены по виртуальным границам в картинках, ассоциированных с PH. ph_loop_filter_across_virtual_boundaries_disabled_present_flag , равный 0, специфицирует, что такие операции внутриконтурной фильтрации не применяются в картинках, ассоциированных с PH. Операции внутриконтурной фильтрации включают в себя операции фильтра устранения блочности, фильтра адаптивного смещения выборки и адаптивного контурного фильтра . Если не присутствует, значение ph_loop_filter_across_virtual_boundaries_disabled_present_flag считается равным 0. Параметр VirtualBoundariesDisabledFlag выводится следующим образом: VirtualBoundariesDisabledFlag=0 if(sps_loop_filter_across_virtual_boundaries_disabled_flag) VirtualBoundariesDisabledFlag=sps_loop_filter_across_virtual_boundaries_disabled_present_flag || ph_loop_filter_across_virtual_boundaries_disabled_present_flag Альтернативно, может быть специфицировано следующее ограничение: Если sps_loop_filter_across_virtual_boundaries_disabled_flag равен 1и sps_loop_filter_across_virtual_boundaries_disabled_present_flag равен 0, ph_loop_filter_across_virtual_boundaries_disabled_present_flag равен 1 ph_num_ver_virtual_boundaries специфицирует число синтаксических элементов ph_virtual_boundaries_pos_x[i], которые присутствуют в PH. Если ph_num_ver_virtual_boundaries не присутствует, он считается равным 0. Параметр VirtualBoundariesNumVer выводится следующим образом: VirtualBoundariesNumVer=0 if(sps_loop_filter_across_virtual_boundaries_disabled_flag) VirtualBoundariesNumVer=sps_loop_filter_across_virtual_boundaries_disabled_present_flag ? sps_num_ver_virtual_boundaries : ph_num_ver_virtual_boundaries (7-43) ph_num_hor_virtual_boundaries специфицирует число синтаксических элементов ph_virtual_boundaries_pos_y[i], которые присутствуют в PH. Если ph_num_hor_virtual_boundaries не присутствует, он считается равным 0. Расстояние между любыми двумя вертикальными виртуальными границами должно быть больше или равно выборкам яркости CtbSizeY. Местоположение вертикальной виртуальной границы VirtualBoundariesPosX[i] выводится следующим образом: VirtualBoundariesPosX[i]=0 if(sps_loop_filter_across_virtual_boundaries_disabled_flag) VirtualBoundariesPosX[i]=(sps_loop_filter_across_virtual_boundaries_disabled_present_flag ? sps_virtual_boundaries_pos_x[i] : ph_virtual_boundaries_pos_x[i]) * 8 |
[196]
ph_virtual_boundaries_pos_x[i] используется для вычисления значения VirtualBoundariesPosX[i], которое специфицирует местоположение i-ой вертикальной виртуальной границы в единицах выборок яркости. ph_virtual_boundaries_pos_x[i] должен быть в диапазоне от 1 до Ceil(pic_width_in_luma_samples ÷ 8) − 1, включительно. Местоположение вертикальной виртуальной границы VirtualBoundariesPosX[i] выводится следующим образом: VirtualBoundariesPosX[i]=0 if( sps_loop_filter_across_virtual_boundaries_disabled_flag ) VirtualBoundariesPosX[i]=(sps_loop_filter_across_virtual_boundaries_disabled_present_flag ? sps_virtual_boundaries_pos_x[i] : ph_virtual_boundaries_pos_x[i]) * 8 (7-44) Расстояние между любыми двумя вертикальными виртуальными границами должно быть больше или равно выборкам яркости CtbSizeY. ph_num_hor_virtual_boundaries специфицирует число синтаксических элементов ph_virtual_boundaries_pos_y[i], которые присутствуют в PH. Если ph_num_hor_virtual_boundaries не присутствует, он считается равным 0. Параметр VirtualBoundariesNumHor выводится следующим образом: VirtualBoundariesNumHor=0 if(sps_loop_filter_across_virtual_boundaries_disabled_flag) VirtualBoundariesNumHor=sps_loop_filter_across_virtual_boundaries_disabled_present_flag ? sps_num_hor_virtual_boundaries : ph_num_hor_virtual_boundaries (7-45) ph_virtual_boundaries_pos_y[i] используется для вычисления значения VirtualBoundariesPosY[i], которое специфицирует местоположение i-ой горизонтальной виртуальной границы в единицах выборок яркости. ph_virtual_boundaries_pos_y[i] должен быть в диапазоне от 1 до Ceil(pic_height_in_luma_samples ÷ 8) − 1, включительно. Местоположение горизонтальной виртуальной границы VirtualBoundariesPosY[i] выводится следующим образом: VirtualBoundariesPosY[i]=0 if(sps_loop_filter_across_virtual_boundaries_disabled_flag) VirtualBoundariesPosY[i]=(sps_loop_filter_across_virtual_boundaries_disabled_present_flag ? sps_virtual_boundaries_pos_y[i] : ph_virtual_boundaries_pos_y[i]) * 8 (7-46) Расстояние между любыми двумя горизонтальными виртуальными границами должно быть больше или равно выборкам яркости CtbSizeY Если sps_loop_filter_across_virtual_boundaries_disabled_flag равно 1 и ph_loop_filter_across_virtual_boundaries_disabled_present_flag равно 1, сумма ph_num_ver_virtual_boundaries и ph_num_hor_virtual_boundaries должна быть больше, чем 0. |
[197] В варианте осуществления, относящемся к Таблицам 13-16, информация изображения, полученная устройством кодирования, и/или информация изображения, полученная через битовый поток, принятый от устройства кодирования в устройстве декодирования, может включать в себя набор параметров последовательности (SPS) и заголовок картинки (PH). SPS может включать в себя флаг включения виртуальных границ (sps_loop_filter_across_virtual_boundaries_disabled_flag). SPS может включать в себя флаг присутствия виртуальных границ SPS (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) на основе флага включения виртуальных границ. Например, когда значение флага включения виртуальных границ равно 1, SPS может включать в себя флаг присутствия виртуальных границ SPS. На основе флага включения виртуальных границ и флага присутствия виртуальных границ SPS, SPS может включать в себя информацию о числе вертикальных виртуальных границ SPS (sps_num_ver_virtual_boundaries), информацию о положении вертикальных виртуальных границ SPS (sps_virtual_boundaries_pos_x[i]), информацию о числе горизонтальных виртуальных границ SPS (sps_num_hor_virtual_boundaries) и информацию о положении горизонтальных виртуальных границ SPS (sps_virtual_boundaries_pos_y[i]).
[198] Например, когда значение флага включения виртуальных границ равно 1 и значение флага присутствия виртуальных границ SPS равно 1, SPS может включать в себя информацию о числе вертикальных виртуальных границ SPS, информацию о положении вертикальных виртуальных границ SPS, информацию о числе горизонтальных виртуальных границ SPS и информацию о положении горизонтальных виртуальных границ SPS. В примере, число частей информации о положении вертикальных виртуальных границ SPS может быть определено на основе информации о числе вертикальных виртуальных границ SPS, и число частей информации о положении горизонтальных виртуальных границ SPS может быть определено на основе информации о числе горизонтальных виртуальных границ SPS. Заголовок картинки может включать в себя флаг присутствия виртуальных границ PH на основе флага включения виртуальных границ и флага присутствия виртуальных границ SPS.
[199] Например, когда значение флага включения виртуальных границ равно 1 и значение флага присутствия виртуальных границ SPS равно 0, заголовок картинки может включать в себя флаг присутствия виртуальных границ PH. На основе флага присутствия виртуальных границ PH, заголовок картинки может включать в себя информацию о числе вертикальных виртуальных границ PH (ph_num_ver_virtual_boundaries), информацию о положении вертикальных виртуальных границ PH (ph_virtual_boundaries_pos_x[i]), информацию о числе горизонтальных виртуальных границ PH (ph_num_hor_virtual_boundaries) и информацию о положении горизонтальных виртуальных границ PH (ph_virtual_boundaries_pos_y[i]).
[200] Например, когда значение флага присутствия виртуальных границ PH равно 1, заголовок картинки может включать в себя информацию о числе вертикальных виртуальных границ PH, информацию о положении вертикальных виртуальных границ PH, информацию о числе горизонтальных виртуальных границ PH и информацию о положении горизонтальных виртуальных границ PH. В примере, число частей информации о положении вертикальных виртуальных границ PH может быть определено на основе информации о числе вертикальных виртуальных границ PH, и число частей информации о положении горизонтальных виртуальных границ PH может быть определено на основе информации о числе горизонтальных виртуальных границ PH.
[201] В другом варианте осуществления настоящего документа, тем, включены ли синтаксические элементы для указания виртуальных границ в SPS, можно управлять посредством флага(ов). Например, число флагов может быть равно 2 (например, флаг присутствия виртуальных границ SPS, флаг присутствия виртуальных границ SPS PH).
[202] В примере в соответствии с настоящим вариантом осуществления, флаг присутствия виртуальных границ SPS может упоминаться как sps_loop_filter_across_virtual_boundaries_ disabled_present_flag (или sps_virtual_boundaries_present_flag). Флаг присутствия виртуальных границ SPS может указывать, включена ли информация виртуальных границ в SPS.
[203] В примере в соответствии с раскрытием, флаг присутствия виртуальных границ SPS PH может упоминаться как sps_ph_loop_filter_across_virtual_boundaries_disabled_present_
flag. Флаг присутствия виртуальных границ SPS PH может указывать, включена ли информация виртуальных границ в заголовок картинки (PH).
[204] В примере в соответствии с настоящим вариантом осуществления, дополнительно может быть ограничено, что когда флаг присутствия виртуальных границ SPS (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) равен 1, флаг присутствия виртуальных границ SPS PH (sps_ph_loop_filter_across_virtual_boundaries_disabled_present_
flag) не присутствует и считается равным 0.
[205] В примере в соответствии с настоящим вариантом осуществления, когда флаг присутствия виртуальных границ SPS PH (sps_ph_loop_filter_across_virtual_boundaries_disabled_present_ flag) равен 1, информация сигнализации для отключения контурного фильтра по виртуальным границам может быть включена в PH.
[206] Следующая таблица показывает примерный синтаксис SPS в соответствии с настоящим вариантом осуществления.
[207] [Таблица 17]
[208] Следующая таблица показывает примерную семантику синтаксических элементов, включенных в синтаксис.
[209] [Таблица 18]
sps_loop_filter_across_virtual_boundaries_disabled_present_flag, равный 1, специфицирует, что местоположения виртуальных границ для отключения операций внутриконтурного фильтра присутствуют в SPS. sps_loop_filter_across_virtual_boundaries_disabled_present_flag, равный 0, специфицирует, что местоположения виртуальных границ для отключения операций внутриконтурного фильтра не присутствуют в SPS. Операции внутриконтурной фильтрации включают в себя операции фильтра устранения блочности, фильтра адаптивного смещения выборки и адаптивного контурного фильтра . sps_num_ver_virtual_boundaries специфицирует число синтаксических элементов sps_virtual_boundaries_pos_x[i], которые присутствуют в SPS. Если sps_num_ver_virtual_boundaries не присутствует, он считается равным 0. sps_virtual_boundaries_pos_x[i] используется для вычисления значения VirtualBoundariesPosX[i], которое специфицирует местоположение i-ой вертикальной виртуальной границы в единицах выборок яркости. sps_virtual_boundaries_pos_x[i] должен быть в диапазоне от 1 до Ceil(pic_width_in_luma_samples ÷ 8) − 1, включительно. sps_num_hor_virtual_boundaries специфицирует число синтаксических элементов sps_virtual_boundaries_pos_y[i], которые присутствуют в SPS. Если sps_num_hor_virtual_boundaries не присутствует, он считается равным 0. Если sps_loop_filter_across_virtual_boundaries_disabled_present_flag равен 1, сумма sps_num_ver_virtual_boundaries и sps_num_hor_virtual_boundaries должна быть больше, чем 0. sps_virtual_boundaries_pos_y[i] используется для вычисления значения VirtualBoundariesPosY[i], которое специфицирует местоположение i-ой горизонтальной виртуальной границы в единицах выборок яркости. sps_virtual_boundaries_pos_y[i] должен быть в диапазоне от 1 до Ceil(pic_height_in_luma_samples ÷ 8) − 1, включительно. sps_ph_loop_filter_across_virtual_boundaries_disabled_present_flag, равный 1, специфицирует, что местоположения виртуальных границ для отключения операций внутриконтурного фильтра могут присутствовать в заголовке картинки для картинок, ссылающихся на SPS. sps_ph_loop_filter_across_virtual_boundaries_disabled_present_flag, равный 0, специфицирует, что местоположения виртуальных границ для отключения операций внутриконтурного фильтра не присутствуют в заголовке картинки для картинок, ссылающихся на SPS. Операции внутриконтурной фильтрации включают в себя операции фильтра устранения блочности, фильтра адаптивного смещения выборки и адаптивного контурного фильтра . Если не присутствует, sps_ph_loop_filter_across_virtual_boundaries_disabled_present_flag считается равным 0. Если gdr_enabled_flag равен 1, sps_loop_filter_across_virtual_boundaries_disabled_present_flag ограничен значением 0 и sps_ph_loop_filter_across_virtual_boundaries_disabled_present_flag ограничен значением 1. |
[210] Следующая таблица показывает примерный синтаксис информации заголовка (заголовка картинки) в соответствии с настоящим вариантом осуществления.
[211] [Таблица 19]
[212] Следующая таблица показывает примерную семантику синтаксических элементов, включенных в синтаксис.
[213] [Таблица 20]
ph_loop_filter_across_virtual_boundaries_disabled_present_flag, равный 1, специфицирует, что операции внутриконтурной фильтрации отключены по виртуальным границам в картинках, ассоциированных с PH. ph_loop_filter_across_virtual_boundaries_disabled_present_flag, равный 0, специфицирует, что такое отключение операций внутриконтурной фильтрации не применяется в картинках, ассоциированных с PH. Операции внутриконтурной фильтрации включают в себя операции фильтра устранения блочности, фильтра адаптивного смещения выборки и адаптивного контурного фильтра . Если не присутствует, значение ph_loop_filter_across_virtual_boundaries_disabled_present_flag считается равным 0. Параметр VirtualBoundariesDisabledFlag выводится следующим образом: VirtualBoundariesDisabledFlag=sps_loop_filter_across_virtual_boundaries_disabled_present_flag || sps_ph_loop_filter_across_virtual_boundaries_disabled_present_flag || ph_loop_filter_across_virtual_boundaries_disabled_present_flag (7-42) ph_num_ver_virtual_boundaries специфицирует число синтаксических элементов ph_virtual_boundaries_pos_x[i], которые присутствуют в PH. Если ph_num_ver_virtual_boundaries не присутствует, он считается равным 0. Если sps_loop_filter_across_virtual_boundaries_disabled_present_flag равен 1, ph_num_ver_virtual_boundaries ограничен значением, большим, чем 0. Параметр VirtualBoundariesNumVer выводится следующим образом: VirtualBoundariesNumVer=sps_loop_filter_across_virtual_boundaries_disabled_present_flag ? sps_num_ver_virtual_boundaries : (sps_ph_loop_filter_across_virtual_boundaries_disabled_present_flag ? ph_num_ver_virtual_boundaries : 0) (7-43) ph_virtual_boundaries_pos_x[i] используется для вычисления значения VirtualBoundariesPosX[i], которое специфицирует местоположение i-ой вертикальной виртуальной границы в единицах выборок яркости. ph_virtual_boundaries_pos_x[i] должен быть в диапазоне от 1 до Ceil(pic_width_in_luma_samples ÷ 8) − 1, включительно. Местоположение вертикальной виртуальной границы VirtualBoundariesPosX[i] выводится следующим образом: VirtualBoundariesPosX[i]=(sps_loop_filter_across_virtual_boundaries_disabled_present_flag ? sps_virtual_boundaries_pos_x[i] : (sps_ph_loop_filter_across_virtual_boundaries_disabled_present_flag ? ph_virtual_boundaries_pos_x[i]) * 8 : 0) (7-44) Расстояние между любыми двумя вертикальными виртуальными границами должно быть больше или равно выборкам яркости CtbSizeY. |
[214]
ph_num_hor_virtual_boundaries специфицирует число синтаксических элементов ph_virtual_boundaries_pos_y[i], которые присутствуют в PH. Если ph_num_hor_virtual_boundaries не присутствует, он считается равным 0. Если ph_loop_filter_across_virtual_boundaries_disabled_present_flag равен 1, сумма ph_num_ver_virtual_boundaries и ph_num_hor_virtual_boundaries должна быть больше, чем 0. Параметр VirtualBoundariesNumHor выводится следующим образом: VirtualBoundariesNumHor=sps_loop_filter_across_virtual_boundaries_disabled_present_flag ? sps_num_hor_virtual_boundaries : (sps_ph_loop_filter_across_virtual_boundaries_disabled_present_flag ? ph_num_hor_virtual_boundaries : 0) (7-45) ph_virtual_boundaries_pos_y[i] используется для вычисления значения VirtualBoundariesPosY[i], которое специфицирует местоположение i-ой горизонтальной виртуальной границы в единицах выборок яркости. ph_virtual_boundaries_pos_y[i] должен быть в диапазоне от 1 до Ceil(pic_height_in_luma_samples ÷ 8) − 1, включительно. Местоположение горизонтальной виртуальной границы VirtualBoundariesPosY[i] выводится следующим образом: VirtualBoundariesPosY[i]=(sps_loop_filter_across_virtual_boundaries_disabled_present_flag ? sps_virtual_boundaries_pos_y[i] : (sps_ph_loop_filter_across_virtual_boundaries_disabled_present_flag ? ph_virtual_boundaries_pos_y[i]) * 8) : 0) (7-46) Расстояние между любыми двумя горизонтальными виртуальными границами должно быть больше или равно выборкам яркости CtbSizeY. |
[215] В варианте осуществления, относящемся к Таблицам 17-20, информация изображения, полученная устройством кодирования, и/или информация изображения, полученная через битовый поток, принимаемый от устройства кодирования в устройстве декодирования, может включать в себя набор параметров последовательности (SPS) и заголовок картинки (PH). SPS может включать в себя флаг присутствия виртуальных границ SPS (sps_loop_filter_across_virtual_boundaries_disabled_present_flag). На основе флага присутствия виртуальных границ SPS, SPS может включать в себя информацию о числе вертикальных виртуальных границ SPS (sps_num_ver_virtual_boundaries), информацию о положении вертикальных виртуальных границ SPS (sps_virtual_boundaries_pos_x[i]), информацию о числе горизонтальных виртуальных границ SPS (sps_num_hor_virtual_boundaries) и информацию о положении горизонтальных виртуальных границ SPS (sps_virtual_boundaries_pos_y[i]).
[216] Например, когда значение флага присутствия виртуальных границ SPS равно 1, SPS может включать в себя информацию о числе вертикальных виртуальных границ SPS, информацию о положении вертикальных виртуальных границ SPS, информацию о числе горизонтальных виртуальных границ SPS и информацию о положении горизонтальных виртуальных границ SPS. В примере, число частей информации о положении вертикальных виртуальных границ SPS может быть определено на основе информации о вертикальных виртуальных границах SPS, и число частей информации о положении горизонтальных виртуальных границ SPS может быть определено на основе числа горизонтальных виртуальных границ SPS. SPS может включать в себя флаг присутствия виртуальных границ SPS PH на основе флага присутствия виртуальных границ SPS.
[217] Например, когда значение флага присутствия виртуальных границ SPS равно 0, SPS может включать в себя флаг присутствия виртуальных границ SPS PH. Заголовок картинки может включать в себя флаг присутствия виртуальных границ PH на основе флага присутствия виртуальных границ SPS PH. Например, когда значение флага присутствия виртуальных границ SPS PH равно 1, заголовок картинки может включать в себя флаг присутствия виртуальных границ PH. На основе флага присутствия виртуальных границ PH, заголовок картинки может включать в себя информацию о числе вертикальных виртуальных границ PH (ph_num_ver_virtual_boundaries), информацию о положении вертикальных виртуальных границ PH (ph_virtual_boundaries_pos_x[i]), информацию о числе горизонтальных виртуальных границ PH (ph_num_hor_virtual_boundaries) и информацию о положении горизонтальных виртуальных границ PH (ph_virtual_boundaries_pos_y[i]).
[218] Например, когда значение флага присутствия виртуальных границ PH равно 1, заголовок картинки может включать в себя информацию о числе вертикальных виртуальных границ PH, информацию о положении вертикальных виртуальных границ PH, информацию о числе горизонтальных виртуальных границ PH и информацию о положении горизонтальных виртуальных границ PH. В примере, число частей информации о положении вертикальных виртуальных границ PH может быть определено на основе информации о числе вертикальных виртуальных границ PH, и число частей информации о положении горизонтальных виртуальных границ PH может быть определено на основе информации о числе горизонтальных виртуальных границ PH.
[219] В другом варианте осуществления настоящего документа, когда доступно постепенное обновление декодирования (GDR) (т.е., значение gdr_enabled_flag равно 1), включается функция, в которой контурные фильтры отключаются на виртуальных границах, и информация виртуальных границ может сигнализироваться в заголовке картинки (может быть включена в заголовок картинки).
[220] В другом варианте осуществления настоящего документа, когда функция отключения контурных фильтров по виртуальным границам включена, информация о сигнализации положения виртуальных границ может быть включена в один или более наборов параметров. Например, когда функция отключения контурных фильтров по виртуальным границам включена, информация о положении виртуальных границ может быть включена в SPS и заголовок картинки.
[221] В настоящем варианте осуществления, если флаг включения виртуальных границ SPS (sps_loop_filter_across_virtual_boundaries_disabled_flag) равен 1 и информация сигнализации о положении виртуальных границ включена в один или более наборов параметров, может применяться следующее.
[222] a) Информация сигнализации о положении виртуальных границ может быть включена только в SPS или включена только в заголовок картинки или включена как в SPS, так и в заголовок картинки.
[223] b) VirtualBoundariesDisabledFlag для каждой картинки может быть выведен следующим образом.
[224] - Когда sps_loop_filter_across_virtual_boundaries_ disabled_flag равен 0, VirtualBoundariesDisabledFlag может быть установлен в 0.
[225] - В другом случае настоящего примера, когда информация о положении виртуальных границ не сигнализируется в SPS и заголовке картинки, ассоциированном с картинкой, VirtualBoundariesDisabledFlag может быть установлен в 0.
[226] - В других случаях настоящего примера (когда положение виртуальных границ сигнализируется только в SPS или только в заголовке картинки или как в SPS, так и заголовке картинки), VirtualBoundariesDisabledFlag может быть установлен в 1.
[227] c) Виртуальные границы, применимые к картинке, могут включать в себя совокупность виртуальных границ, сигнализируемых в наборе параметров, на который прямо или косвенно ссылается картинка. Например, виртуальные границы могут включать в себя виртуальные границы (если присутствуют), сигнализируемые в SPS. Например, виртуальные границы могут включать в себя виртуальные границы (если присутствуют), сигнализируемые в картинке, ассоциированные с картинкой.
[228] d) Может применяться ограничение, что максимальное число виртуальных границ, приходящееся на картинку, не превышает предопределенное значение. Например, предопределенное значение может быть равно 8.
[229] e) Дополнительно может быть ограничено, что информация (если присутствуют) о положении виртуальной границы, сигнализируемая в заголовке картинки, не должна совпадать с информацией о положениях виртуальных границ, включенных в другой набор параметров (например, SPS или PPS).
[230] - Альтернативно, для любого положения виртуальных границ, применимого к текущей картинке, положения виртуальных границ (например, те же самые положения виртуальных границ, сигнализируемые в SPS и заголовке картинки, ассоциированном с картинкой), могут быть включены в два разных набора параметров.
[231] f) Дополнительно может быть ограничено, что когда флаг присутствия виртуальных границ SPS (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) равен 1, флаг присутствия виртуальных границ SPS PH (sps_ph_loop_filter_across_virtual_boundaries_disabled_present_ flag) не присутствует и считается равным 0.
[232] Следующая таблица показывает примерный синтаксис SPS в соответствии с настоящим вариантом осуществления.
[233] [Таблица 21]
[234] Следующая таблица показывает примерную семантику синтаксических элементов, включенных в синтаксис.
[235] [Таблица 22]
sps_loop_filter_across_virtual_boundaries_disabled_flag, равный 1, специфицирует, что операции внутриконтурной фильтрации отключены по виртуальным границам в картинках, ссылающихся на SPS. sps_loop_filter_across_virtual_boundaries_disabled_present_flag, равный 0, специфицирует, что такое отключение операций внутриконтурной фильтрации не применяется в картинках, ссылающихся на SPS. Операции внутриконтурной фильтрации включают в себя операции фильтра устранения блочности, фильтра адаптивного смещения выборки и адаптивного контурного фильтра . sps_loop_filter_across_virtual_boundaries_disabled_present_flag, равный 1, специфицирует, что синтаксические элементы для операций внутриконтурной фильтрации для виртуальных границ присутствует в SPS. sps_loop_filter_across_virtual_boundaries_disabled_present_flag, равный 0, специфицирует, что синтаксические элементы для операций внутриконтурной фильтрации виртуальных границ не присутствует в SPS. Операции внутриконтурной фильтрации включают в себя операции фильтра устранения блочности, фильтра адаптивного смещения выборки и адаптивного контурного фильтра . Если gdr_enabled_flag равен 1, sps_loop_filter_across_virtual_boundaries_disabled_flag ограничен значением 1 и sps_loop_filter_across_virtual_boundaries_disabled_present_flag ограничен значением 0. sps_num_ver_virtual_boundaries специфицирует число синтаксических элементов sps_virtual_boundaries_pos_x[i], которые присутствуют в SPS. Если sps_num_ver_virtual_boundaries не присутствует, он считается равным 0. sps_virtual_boundaries_pos_x[i] используется для вычисления значения VirtualBoundariesPosX[i], которое специфицирует местоположение i-ой вертикальной виртуальной границы в единицах выборок яркости. sps_virtual_boundaries_pos_x[i] должен быть в диапазоне от 1 до Ceil(pic_width_in_luma_samples ÷ 8) − 1, включительно. sps_num_hor_virtual_boundaries специфицирует число синтаксических элементов sps_virtual_boundaries_pos_y[i], которые присутствуют в SPS. Если sps_num_hor_virtual_boundaries не присутствует, он считается равным 0. Если sps_loop_filter_across_virtual_boundaries_disabled_flag равен 1 и sps_loop_filter_across_virtual_boundaries_disabled_present_flag равен 1, сумма sps_num_ver_virtual_boundaries и sps_num_hor_virtual_boundaries должна быть больше, чем 0. sps_virtual_boundaries_pos_y[i] используется для вычисления значения VirtualBoundariesPosY[i], которое специфицирует местоположение i-ой горизонтальной виртуальной границы в единицах выборок яркости. sps_virtual_boundaries_pos_y[i] должен быть в диапазоне от 1 до Ceil(pic_height_in_luma_samples ÷ 8) − 1, включительно. |
[236] Следующая таблица показывает примерный синтаксис информации заголовка (заголовка картинки) в соответствии с настоящим вариантом осуществления.
[237] [Таблица 23]
[238] Следующая таблица показывает примерную семантику синтаксических элементов, включенных в синтаксис.
[239] [Таблица 24]
ph_loop_filter_across_virtual_boundaries_disabled_present_flag, равный 1, специфицирует, что операции внутриконтурной фильтрации отключены по виртуальным границам в картинках, ассоциированных с PH. ph_loop_filter_across_virtual_boundaries_disabled_present_flag , равный 0, специфицирует, что такое отключение операций внутриконтурной фильтрации не применяется в картинках, ассоциированных с PH. Операции внутриконтурной фильтрации включают в себя операции фильтра устранения блочности, фильтра адаптивного смещения выборки и адаптивного контурного фильтра . Если не присутствует, значение ph_loop_filter_across_virtual_boundaries_disabled_present_flag считается равным 0. Параметр VirtualBoundariesDisabledFlag выводится следующим образом: VirtualBoundariesDisabledFlag=0 if(sps_loop_filter_across_virtual_boundaries_disabled_flag) VirtualBoundariesDisabledFlag=sps_loop_filter_across_virtual_boundaries_disabled_present_flag || ph_loop_filter_across_virtual_boundaries_disabled_present_flag Альтернативно, может быть специфицировано следующее ограничение: Если sps_loop_filter_across_virtual_boundaries_disabled_flag равен 1 и sps_loop_filter_across_virtual_boundaries_disabled_present_flag равен 0, ph_loop_filter_across_virtual_boundaries_disabled_present_flag равен 1 ph_num_ver_virtual_boundaries специфицирует число синтаксических элементов ph_virtual_boundaries_pos_x[i], которые присутствуют в PH. Если ph_num_ver_virtual_boundaries не присутствует, он считается равным 0. Параметр VirtualBoundariesNumVer выводится следующим образом: VirtualBoundariesNumVer=sps_num_ver_virtual_boundaries + ph_num_ver_virtual_boundaries (7-43) ph_num_hor_virtual_boundaries специфицирует число синтаксических элементов ph_virtual_boundaries_pos_y[i], которые присутствуют в PH. Если ph_num_hor_virtual_boundaries не присутствует, он считается равным 0. Расстояние между любыми двумя вертикальными виртуальными границами должно быть больше или равно выборкам яркости CtbSizeY. ph_virtual_boundaries_pos_x[i] используется для вычисления значения VirtualBoundariesPosX[i], которое специфицирует местоположение i-ой вертикальной виртуальной границы в единицах выборок яркости. ph_virtual_boundaries_pos_x[i] должен быть в диапазоне от 1 до Ceil(pic_width_in_luma_samples ÷ 8) − 1, включительно. Список VirtualBoundariesPosX[i], для I в диапазоне от 0 до VirtualBoundariesNumVer - 1, включительно, выводится следующим образом: for( i=0; i < VirtualBoundariesNumVer; i++) { if(sps_loop_filter_across_virtual_boundaries_disabled_flag) { VirtualBoundariesPosX[i]=(i < sps_num_ver_virtual_boundaries) ? sps_virtual_boundaries_pos_x[i] : ph_virtual_boundaries_pos_x[i − sps_num_ver_virtual_boundaries] VirtualBoundariesPosX[i] *= 8 } else VirtualBoundariesPosX[i]=0 } |
[240]
Расстояние между любыми двумя вертикальными виртуальными границами должно быть больше или равно выборкам яркости CtbSizeY. ph_num_hor_virtual_boundaries специфицирует число синтаксических элементов ph_virtual_boundaries_pos_y[i], которые присутствуют в PH. Если ph_num_hor_virtual_boundaries не присутствует, он считается равным 0. Параметр VirtualBoundariesNumHor выводится следующим образом: VirtualBoundariesNumHor=sps_num_hor_virtual_boundaries + ph_num_hor_virtual_boundaries (7-45) ph_virtual_boundaries_pos_y[i] используется для вычисления значения VirtualBoundariesPosY[i], которое специфицирует местоположение i-ой горизонтальной виртуальной границы в единицах выборок яркости. ph_virtual_boundaries_pos_y[i] должен быть в диапазоне от 1 до Ceil(pic_height_in_luma_samples ÷ 8) − 1, включительно. Местоположение горизонтальной виртуальной границы VirtualBoundariesPosY[i] выводится следующим образом: Список VirtualBoundariesPosY[i], для i в диапазоне от 0 до VirtualBoundariesNumHor - 1, включительно, выводится следующим образом: for( i=0; i < VirtualBoundariesNumHor; i++) { if(sps_loop_filter_across_virtual_boundaries_disabled_flag { VirtualBoundariesPosY[i]=(i < sps_num_hor_virtual_boundaries) ? sps_virtual_boundaries_pos_y[i] : ph_virtual_boundaries_pos_y[i − sps_num_hor_virtual_boundaries] VirtualBoundariesPosY[i] *= 8 } else VirtualBoundariesPosY[i]=0 } Расстояние между любыми двумя горизонтальными виртуальными границами должно быть больше или равно выборкам яркости CtbSizeY Если sps_loop_filter_across_virtual_boundaries_disabled_flag равен 1 и ph_loop_filter_across_virtual_boundaries_disabled_present_flag равен 1, сумма ph_num_ver_virtual_boundaries и ph_num_hor_virtual_boundaries должна быть больше, чем 0. |
[241] В варианте осуществления, относящемся к Таблицам 21-24, информация изображения, полученная устройством кодирования, и/или информация изображения, полученная через битовый поток, принимаемый от устройства кодирования в устройстве декодирования, может включать в себя набор параметров последовательности (SPS) и заголовок картинки (PH). SPS может включать в себя флаг включения виртуальных границ (sps_loop_filter_across_virtual_boundaries_disabled_flag). SPS может включать в себя флаг присутствия виртуальных границ SPS (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) на основе флага включения виртуальных границ. Например, когда значение флага включения виртуальных границ равно 1, SPS может включать в себя флаг присутствия виртуальных границ SPS. На основе флага включения виртуальных границ и флага присутствия виртуальных границ SPS, SPS может включать в себя информацию о числе вертикальных виртуальных границ SPS (sps_num_ver_virtual_boundaries), информацию о положении вертикальных виртуальных границ SPS (sps_virtual_boundaries_pos_x[i]), информацию о числе горизонтальных виртуальных границ SPS (sps_num_hor_virtual_boundaries) и информацию о положении горизонтальных виртуальных границ SPS (sps_virtual_boundaries_pos_y[i]).
[242] Например, когда значение флага включения виртуальных границ равно 1 и значение флага присутствия виртуальных границ SPS равно 1, SPS может включать в себя информацию о числе вертикальных виртуальных границ SPS, информацию о положении вертикальных виртуальных границ SPS, информацию о числе горизонтальных виртуальных границ SPS и информацию о положении горизонтальных виртуальных границ SPS. В примере, число частей информации о положении вертикальных виртуальных границ SPS может быть определено на основе информации о числе вертикальных виртуальных границ SPS, и число частей информации о положении горизонтальных виртуальных границ SPS может быть определено на основе информации о числе горизонтальных виртуальных границ SPS. Заголовок картинки может включать в себя флаг присутствия виртуальных границ PH на основе флага включения виртуальных границ.
[243] Например, когда значение флага включения виртуальных границ равно 1, заголовок картинки может включать в себя флаг присутствия виртуальных границ PH. На основе флага присутствия виртуальных границ PH, заголовок картинки может включать в себя информацию о числе вертикальных виртуальных границ PH (ph_num_ver_virtual_boundaries), информацию о положении вертикальных виртуальных границ PH (ph_virtual_boundaries_pos_x[i]), информацию о числе горизонтальных виртуальных границ PH (ph_num_hor_virtual_boundaries) и информацию о положении горизонтальных виртуальных границ PH (ph_virtual_boundaries_pos_y[i]). Например, когда значение флага присутствия виртуальных границ PH равно 1, заголовок картинки может включать в себя информацию о числе вертикальных виртуальных границ PH, информацию о положении вертикальных виртуальных границ PH, информацию о числе горизонтальных виртуальных границ PH и информацию о положении горизонтальных виртуальных границ PH. В примере, число частей информации о положении вертикальных виртуальных границ PH может быть определено на основе информации о числе вертикальных виртуальных границ PH, и число частей информации о положении горизонтальных виртуальных границ PH может быть определено на основе информации о числе горизонтальных виртуальных границ PH.
[244] В другом варианте осуществления настоящего документа, контурная фильтрация может выполняться в соответствии с вышеупомянутыми вариантами осуществления без ограничения, что сумма числа вертикальных виртуальных границ и числа горизонтальных виртуальных границ больше, чем 0.
[245] В другом варианте осуществления настоящего документа, информация о виртуальной границе может сигнализироваться как в SPS, так и PH. В примере настоящего варианта осуществления, когда значение флага включения виртуальных границ SPS (sps_loop_filter_across_virtual_boundaries_disabled_flag) равно 1, информация о числе вертикальных виртуальных границ, информация о числе горизонтальных виртуальных границ и/или информация о положении виртуальных границ может быть включена в SPS. В дополнение к этому, когда значение флага включения виртуальных границ SPS (sps_loop_filter_across_virtual_ boundaries_disabled_flag) равно 1, информация о числе вертикальных виртуальных границ, информация о числе горизонтальных виртуальных границ и/или информация о дельта-значении положения виртуальных границ (дельта-значение положения виртуальных границ) может быть включена в заголовок картинки. Дельта-значение положения виртуальных границ может относиться к разности между положениями виртуальных границ. Информация о знаке положения виртуальных границ также может быть включена в заголовок картинки.
[246] В соответствии с примером настоящего варианта осуществления, чтобы вывести положения виртуальных границ для соответствующих картинок, если дельта-значение положения виртуальных границ не присутствует в заголовке картинки, информация о положении виртуальных границ, сигнализируемая в SPS, может использоваться для контурной фильтрации. Если дельта-значение положения виртуальных границ присутствует в заголовке картинки, положение виртуальных границ может выводиться на основе суммы информации о положении виртуальных границ, сигнализируемой в SPS, и дельта-значения, относящегося к нему.
[247] Следующая таблица показывает примерный синтаксис of SPS в соответствии с настоящим вариантом осуществления.
[248] [Таблица 25]
[249] Следующая таблица показывает примерную семантику синтаксических элементов, включенных в синтаксис.
[250] [Таблица 26]
sps_loop_filter_across_virtual_boundaries_disabled_flag, равный 1, специфицирует, что операции внутриконтурной фильтрации отключены по виртуальным границам в картинках, ссылающихся на SPS. sps_loop_filter_across_virtual_boundaries_disabled_present_flag , равный 0, специфицирует, что такое отключение операций внутриконтурной фильтрации не применяется в картинках, ссылающихся на SPS. Операции внутриконтурной фильтрации включают в себя операции фильтра устранения блочности, фильтра адаптивного смещения выборки и адаптивного контурного фильтра . sps_loop_filter_across_virtual_boundaries_disabled_present_flag, равный 1, специфицирует, что синтаксические элементы для операций внутриконтурной фильтрации для виртуальных границ присутствует в SPS. sps_loop_filter_across_virtual_boundaries_disabled_present_flag, равный 0, специфицирует, что синтаксические элементы для операций внутриконтурной фильтрации виртуальных границ не присутствует в SPS. Операции внутриконтурной фильтрации включают в себя операции фильтра устранения блочности, фильтра адаптивного смещения выборки и адаптивного контурного фильтра . Если gdr_enabled_flag равен 1, sps_loop_filter_across_virtual_boundaries_disabled_flag ограничен значением 1 и sps_loop_filter_across_virtual_boundaries_disabled_present_flag ограничен значением 0. sps_num_ver_virtual_boundaries специфицирует число синтаксических элементов sps_virtual_boundaries_pos_x[i], которые присутствуют в SPS. Если sps_num_ver_virtual_boundaries не присутствует, он считается равным 0. sps_virtual_boundaries_pos_x[i] используется для вычисления значения VirtualBoundariesPosX[i], которое специфицирует местоположение i-ой вертикальной виртуальной границы в единицах выборок яркости. sps_virtual_boundaries_pos_x[i] должен быть в диапазоне от 1 до Ceil(pic_width_in_luma_samples ÷ 8) − 1, включительно. sps_num_hor_virtual_boundaries специфицирует число синтаксических элементов sps_virtual_boundaries_pos_y[i], которые присутствуют в SPS. Если sps_num_hor_virtual_boundaries не присутствует, он считается равным 0. Если sps_loop_filter_across_virtual_boundaries_disabled_flag равен 1 и sps_loop_filter_across_virtual_boundaries_disabled_present_flag равен 1, сумма sps_num_ver_virtual_boundaries и sps_num_hor_virtual_boundaries должна быть больше, чем 0. sps_virtual_boundaries_pos_y[i] используется для вычисления значения VirtualBoundariesPosY[i], которое специфицирует местоположение i-ой горизонтальной виртуальной границы в единицах выборок яркости. sps_virtual_boundaries_pos_y[i] должен быть в диапазоне от 1 до Ceil(pic_height_in_luma_samples ÷ 8) − 1, включительно. |
[251] Следующая таблица показывает примерный синтаксис информации заголовка (заголовка картинки) в соответствии с настоящим вариантом осуществления.
[252] [Таблица 27]
[253] Следующая таблица показывает примерную семантику синтаксических элементов, включенных в синтаксис.
[254] [Таблица 28]
ph_loop_filter_across_virtual_boundaries_disabled_present_flag, равный 1, специфицирует, что операции внутриконтурной фильтрации отключены по виртуальным границам в картинках, ассоциированных с PH. ph_loop_filter_across_virtual_boundaries_disabled_present_flag, равный 0, специфицирует, что такое отключение операций внутриконтурной фильтрации не применяется в картинках, ассоциированных с PH. Операции внутриконтурной фильтрации включают в себя операции фильтра устранения блочности, фильтра адаптивного смещения выборки и адаптивного контурного фильтра. Если не присутствует, значение ph_loop_filter_across_virtual_boundaries_disabled_present_flag считается равным 0. Параметр VirtualBoundariesDisabledFlag выводится следующим образом: VirtualBoundariesDisabledFlag=(sps_num_ver_virtual_boundaries+sps_num_hor_virtual_boundaries > 0) ? 1 : 0 ph_virtual_boundaries_pos_x_delta[i] используется для вычисления значения VirtualBoundariesPosX[i], которое специфицирует местоположение i-ой вертикальной виртуальной границы в единицах выборок яркости. ph_virtual_boundaries_pos_x[i] должен быть в диапазоне от 1 до Ceil(pic_width_in_luma_samples ÷ 8) − 1, включительно. ph_virtual_boundaries_pos_x_sign[i] специфицирует знак i-ой виртуальной границы, который специфицирует местоположение i-ой вертикальной виртуальной границы в единицах выборок яркости. Если не присутствует, значение ph_virtual_boundaries_pos_x_sign[i] считается равным 0. Переменная phVirtualBoundariesPosX[i] для i в диапазоне от 0 до sps_num_ver_virtual_boundaries - 1, включительно, инициализируется следующим образом: phVirtualBoundariesPosX[i]=ph_virtual_boundaries_pos_x_delta[i] * (1-2 * ph_virtual_boundaries_pos_x_sign[i]) Местоположение вертикальной виртуальной границы VirtualBoundariesPosX[i] выводится следующим образом: VirtualBoundariesPosX[i]=0 if(sps_loop_filter_across_virtual_boundaries_disabled_flag) { if(ph_loop_filter_across_virtual_boundaries_disabled_present_flag) (7-44) VirtualBoundariesPosX[i]=(sps_virtual_boundaries_pos_x[i] + phVirtualBoundariesPosX[i]) * 8 else VirtualBoundariesPosX[i]=(sps_virtual_boundaries_pos_x[i]) * 8 } Расстояние между любыми двумя вертикальными виртуальными границами должно быть больше или равно выборкам яркости CtbSizeY. ph_num_hor_virtual_boundaries специфицирует число синтаксических элементов ph_virtual_boundaries_pos_y[i], которые присутствуют в PH. Если ph_num_hor_virtual_boundaries не присутствует, он считается равным 0. ph_virtual_boundaries_pos_y_delta[i] используется для вычисления значения VirtualBoundariesPosY[i], которое специфицирует местоположение i-ой горизонтальной виртуальной границы в единицах выборок яркости. ph_virtual_boundaries_pos_y[i] должен быть в диапазоне от 1 до Ceil(pic_height_in_luma_samples ÷ 8) − 1, включительно. Местоположение горизонтальной виртуальной границы VirtualBoundariesPosY[i] выводится следующим образом: |
[255]
ph_virtual_boundaries_pos_y_sign [i] специфицирует знак i-ой виртуальной границы, который специфицирует местоположение i-ой горизонтальной виртуальной границы в единицах выборок яркости. Если не присутствует, значение ph_virtual_boundaries_pos_y_sign[i] считается равным 0. Переменная phVirtualBoundariesPosY[i] для i в диапазоне от 0 до sps_num_hor_virtual_boundaries - 1, включительно, инициализируется следующим образом: phVirtualBoundariesPosY[i]=ph_virtual_boundaries_pos_y_delta[i] * (1-2 * ph_virtual_boundaries_pos_y_sign [i]) VirtualBoundariesPosY[i]=0 if( sps_loop_filter_across_virtual_boundaries_disabled_flag) { if(ph_loop_filter_across_virtual_boundaries_disabled_present_flag) (7-46) VirtualBoundariesPosY[i]=(sps_virtual_boundaries_pos_y[i] + phVirtualBoundariesPosY[i]) * 8 else VirtualBoundariesPosY[i]=(sps_virtual_boundaries_pos_y[i]) * 8 } Расстояние между любыми двумя горизонтальными виртуальными границами должно быть больше или равно выборкам яркости CtbSizeY Если sps_loop_filter_across_virtual_boundaries_disabled_flag равен 1 и ph_loop_filter_across_virtual_boundaries_disabled_present_flag равен 1, сумма ph_num_ver_virtual_boundaries и ph_num_hor_virtual_boundaries должна быть больше, чем 0. Если sps_loop_filter_across_virtual_boundaries_disabled_flag равен 1 и ph_loop_filter_across_virtual_boundaries_disabled_present_flag равен 1, сумма sps_num_ver_virtual_boundaries, sps_num_hor_virtual_boundaries, ph_num_ver_virtual_boundaries и ph_num_hor_virtual_boundaries должна быть не больше, чем 8. |
[256] В варианте осуществления, относящемся к Таблицам 25-28, информация изображения, полученная устройством кодирования, и/или информация изображения, полученная через битовый поток, принимаемый от устройства кодирования в устройстве декодирования, может включать в себя набор параметров последовательности (SPS) и заголовок картинки (PH). SPS может включать в себя флаг включения виртуальных границ (sps_loop_filter_across_virtual_boundaries_disabled_flag). На основе флага включения виртуальных границ, SPS может включать в себя информацию о числе вертикальных виртуальных границ SPS (sps_num_ver_virtual_boundaries), информацию о положении вертикальных виртуальных границ SPS (sps_virtual_boundaries_pos_x[i]), информацию о числе горизонтальных виртуальных границ SPS (sps_num_hor_virtual_boundaries) и информацию о положении горизонтальных виртуальных границ SPS (sps_virtual_boundaries_pos_y[i]). Например, когда значение флага включения виртуальных границ равно 1, SPS может включать в себя информацию о числе горизонтальных виртуальных границ SPS, информацию о положении горизонтальных виртуальных границ SPS, информацию о числе вертикальных виртуальных границ SPS и информацию о положении вертикальных виртуальных границ SPS.
[257] В примере, число частей информации о положении горизонтальных виртуальных границ SPS может быть определено на основе информации о числе горизонтальных виртуальных границ SPS, и число частей информации о положении вертикальных виртуальных границ SPS может быть определено на основе информации о числе вертикальных виртуальных границ SPS. Заголовок картинки может включать в себя флаг присутствия виртуальных границ PH на основе флага включения виртуальных границ. Например, когда значение флага включения виртуальных границ равно 1, заголовок картинки может включать в себя флаг присутствия виртуальных границ PH. На основе флага присутствия виртуальных границ PH, заголовок картинки может включать в себя информацию о дельта-значении положения горизонтальных виртуальных границ PH (ph_virtual_boundaries_pos_x_delta[i]), информацию о знаке положения горизонтальных виртуальных границ PH (ph_virtual_boundaries_pos_x_sign[i]), информацию о дельта-значении положения вертикальных виртуальных границ PH (ph_virtual_boundaries_pos_y_delta[i]) и информацию о знаке положения вертикальных виртуальных границ PH (ph_virtual_boundaries_pos_y_sign[i]).
[258] Например, когда значение флага присутствия виртуальных границ PH равно 1, заголовок картинки может включать в себя информацию о дельта-значении положения вертикальных виртуальных границ PH, информацию о знаке положения вертикальных виртуальных границ PH, информацию о дельта-значении положения горизонтальных виртуальных границ PH и информацию о знаке положения горизонтальных виртуальных границ PH. В примере, число частей информации о дельта-значении положения вертикальных виртуальных границ PH и информации о числе частей информации о знаке положения вертикальных виртуальных границ PH может быть определено на основе информации о числе вертикальных виртуальных границ SPS, и число частей информации о дельта-значении положения горизонтальных виртуальных границ PH и информации о числе частей информации о знаке положения горизонтальных виртуальных границ PH может быть определено на основе информация о числе горизонтальных виртуальных границ SPS.
[259] В другом варианте осуществления настоящего документа будет описана сигнализация информации о положении виртуальных границ для каждой картинки. В примере, если информация о положении виртуальных границ включена в SPS и информация о дельта-значении положения виртуальных границ не включена в заголовок картинки, информация о виртуальных границах, включенная в SPS, может быть использована для контурной фильтрации. Если информация о положении виртуальных границ не включена в SPS и информация о дельта-значении положения виртуальных границ включена в заголовок картинки, информация о виртуальных границах, включенная в заголовок картинки, может быть использована для контурной фильтрации. Если информация о положении виртуальных границ включена в SPS и информация о дельта-значении положения виртуальных границ включена в заголовок картинки, положение виртуальных границ может выводиться на основе суммы информации о положении виртуальных границ, сигнализируемой в SPS, и дельта-значения, относящегося к нему. Если информация о положении виртуальных границ не включена в SPS и информация о дельта-значении положения виртуальных границ не включена в заголовок картинки, виртуальная граница не может применяться в картинке.
[260] Следующая таблица показывает примерный синтаксис SPS в соответствии с настоящим вариантом осуществления.
[261] [Таблица 29]
[262] Следующая таблица показывает примерную семантику синтаксических элементов, включенных в синтаксис.
[263] [Таблица 30]
sps_loop_filter_across_virtual_boundaries_disabled_flag, равный 1, специфицирует, что операции внутриконтурной фильтрации отключены по виртуальным границам в картинках, ссылающихся на SPS. sps_loop_filter_across_virtual_boundaries_disabled_present_flag, равный 0, специфицирует, что такое отключение операций внутриконтурной фильтрации не применяется в картинках, ссылающихся на SPS. Операции внутриконтурной фильтрации включают в себя операции фильтра устранения блочности, фильтра адаптивного смещения выборки и адаптивного контурного фильтра . sps_loop_filter_across_virtual_boundaries_disabled_present_flag, равный 1, специфицирует, что синтаксические элементы для операций внутриконтурной фильтрации для виртуальных границ присутствуют в SPS. sps_loop_filter_across_virtual_boundaries_disabled_present_flag, равный 0, специфицирует, что синтаксические элементы для операции внутриконтурной фильтрации виртуальных границ не присутствует в SPS. Операции внутриконтурной фильтрации включают в себя операции фильтра устранения блочности, фильтра адаптивного смещения выборки и адаптивного контурного фильтра . Если gdr_enabled_flag равен 1, sps_loop_filter_across_virtual_boundaries_disabled_flag ограничен значением 1 и sps_loop_filter_across_virtual_boundaries_disabled_present_flag ограничен значением 0. sps_num_ver_virtual_boundaries специфицирует число синтаксических элементов sps_virtual_boundaries_pos_x[i], которые присутствуют в SPS. Если sps_num_ver_virtual_boundaries не присутствует, он считается равным 0. sps_virtual_boundaries_pos_x[i] используется для вычисления значения VirtualBoundariesPosX[i], которое специфицирует местоположение i-ой вертикальной виртуальной границы в единицах выборок яркости. sps_virtual_boundaries_pos_x[i] должен быть в диапазоне от 1 до Ceil(pic_width_in_luma_samples ÷ 8) − 1, включительно. sps_num_hor_virtual_boundaries специфицирует число синтаксических элементов sps_virtual_boundaries_pos_y[i], которые присутствуют в SPS. Если sps_num_hor_virtual_boundaries не присутствует, он считается равным 0. Если sps_loop_filter_across_virtual_boundaries_disabled_flag равен 1 и sps_loop_filter_across_virtual_boundaries_disabled_present_flag равен 1, сумма sps_num_ver_virtual_boundaries и sps_num_hor_virtual_boundaries должна быть больше, чем 0. sps_virtual_boundaries_pos_y[i] используется для вычисления значения VirtualBoundariesPosY[i], которое специфицирует местоположение i-ой горизонтальной виртуальной границы в единицах выборок яркости. sps_virtual_boundaries_pos_y[i] должен быть в диапазоне от 1 до Ceil(pic_height_in_luma_samples ÷ 8) − 1, включительно. |
[264] Следующая таблица показывает примерный синтаксис информации заголовка (заголовка картинки) в соответствии с настоящим вариантом осуществления.
[265] [Таблица 31]
[266] Следующая таблица показывает примерную семантику синтаксических элементов, включенных в синтаксис.
[267] [Таблица 32]
ph_loop_filter_across_virtual_boundaries_disabled_present_flag, равный 1, специфицирует, что операции внутриконтурной фильтрации отключены по виртуальным границам в картинках, ассоциированных с PH. ph_loop_filter_across_virtual_boundaries_disabled_present_flag , равный 0, специфицирует, что такое отключение операций внутриконтурной фильтрации не применяется в картинках, ассоциированных с PH. Операции внутриконтурной фильтрации включают в себя операции фильтра устранения блочности, фильтра адаптивного смещения выборки и адаптивного контурного фильтра . Если не присутствует, значение ph_loop_filter_across_virtual_boundaries_disabled_present_flag считается равным 0. Параметр VirtualBoundariesDisabledFlag выводится следующим образом: VirtualBoundariesDisabledFlag=0 if(sps_loop_filter_across_virtual_boundaries_disabled_flag) VirtualBoundariesDisabledFlag=sps_loop_filter_across_virtual_boundaries_disabled_present_flag || ph_loop_filter_across_virtual_boundaries_disabled_present_flag Альтернативно, может быть специфицировано следующее ограничение: Если sps_loop_filter_across_virtual_boundaries_disabled_flag равен 1 и sps_loop_filter_across_virtual_boundaries_disabled_present_flag равен 0, ph_loop_filter_across_virtual_boundaries_disabled_present_flag равен 1 ph_num_ver_virtual_boundaries специфицирует число синтаксических элементов ph_virtual_boundaries_pos_x_delta[i], которые присутствуют в PH. Если ph_num_ver_virtual_boundaries не присутствует, он считается равным sps_num_ver_virtual_boundaries. ph_num_hor_virtual_boundaries специфицирует число синтаксических элементов ph_virtual_boundaries_pos_y_delta[i], которые присутствуют в PH. Если ph_num_hor_virtual_boundaries не присутствует, он считается равным sps_num_hor_virtual_boundaries. ph_virtual_boundaries_pos_x_delta[i] используется для вычисления значения VirtualBoundariesPosX[i], которое специфицирует местоположение i-ой вертикальной виртуальной границы в единицах выборок яркости. ph_virtual_boundaries_pos_x[i] должен быть в диапазоне от 1 до Ceil(pic_width_in_luma_samples ÷ 8) − 1, включительно. ph_virtual_boundaries_pos_x_sign [i] специфицирует знак i-ой виртуальной границы, который специфицирует местоположение i-ой виртуальной границы в единицах выборок яркости. Если не присутствует, значение ph_virtual_boundaries_pos_x_sign[i] считается равным 0. Переменная phVirtualBoundariesPosX[i] для i в диапазоне от 0 до sps_num_ver_virtual_boundaries - 1, включительно, инициализируется следующим образом: phVirtualBoundariesPosX[i]=ph_virtual_boundaries_pos_x_delta[i] * (1-2 * ph_virtual_boundaries_pos_x_sign[i]) Местоположение вертикальной виртуальной границы VirtualBoundariesPosX[i] выводится следующим образом: VirtualBoundariesPosX[i]=0 if(sps_loop_filter_across_virtual_boundaries_disabled_flag) { if(sps_loop_filter_across_virtual_boundaries_disabled_present_flag) { if(ph_loop_filter_across_virtual_boundaries_disabled_present_flag) (7-44) VirtualBoundariesPosX[i]=(sps_virtual_boundaries_pos_x[i] + phVirtualBoundariesPosC[i]) * 8 else VirtualBoundariesPosX[i]=(sps_virtual_boundaries_pos_x[i]) * 8 } else if( ph_loop_filter_across_virtual_boundaries_disabled_present_flag) VirtualBoundariesPosX[i]=phVirtualBoundariesPosX[i] * 8 } |
[268]
Расстояние между любыми двумя вертикальными виртуальными границами должно быть больше или равно выборкам яркости CtbSizeY. ph_num_hor_virtual_boundaries специфицирует число синтаксических элементов ph_virtual_boundaries_pos_y[i], которые присутствуют в PH. Если ph_num_hor_virtual_boundaries не присутствует, он считается равным 0. ph_virtual_boundaries_pos_y_delta[i] используется для вычисления значения VirtualBoundariesPosY[i], которое специфицирует, местоположение i-ой горизонтальной виртуальной границы в единицах выборок яркости. ph_virtual_boundaries_pos_y[i] должен быть в диапазоне от 1 до Ceil(pic_height_in_luma_samples ÷ 8) − 1, включительно. Местоположение горизонтальной виртуальной границы VirtualBoundariesPosY[i] выводится следующим образом: ph_virtual_boundaries_pos_y_sign [i] специфицирует знак i-ой виртуальной границы, который специфицирует местоположение i-ой горизонтальной виртуальной границы в единицах выборок яркости. Если не присутствует, значение ph_virtual_boundaries_pos_y_sign[i] считается равным 0. Переменная phVirtualBoundariesPosY[i] для i в диапазоне от 0 до sps_num_hor_virtual_boundaries - 1, включительно, инициализируется следующим образом: phVirtualBoundariesPosY[i]=ph_virtual_boundaries_pos_y_delta[i] * (1-2 * ph_virtual_boundaries_pos_y_sign[i]) VirtualBoundariesPosY[i]=0 if(sps_loop_filter_across_virtual_boundaries_disabled_flag) if(sps_loop_filter_across_virtual_boundaries_disabled_present_flag) if(ph_loop_filter_across_virtual_boundaries_disabled_present_flag) (7-46) VirtualBoundariesPosY[i]=(sps_virtual_boundaries_pos_y[i] + phVirtualBoundariesPosY[i] ) * 8 else VirtualBoundariesPosY[i]=(sps_virtual_boundaries_pos_y[i]) * 8 else if(ph_loop_filter_across_virtual_boundaries_disabled_present_flag) VirtualBoundariesPosY[i]=phVirtualBoundariesPosY[i] ) * 8 } Расстояние между любыми двумя горизонтальными виртуальными границами должно быть больше или равно выборкам яркости CtbSizeY Если sps_loop_filter_across_virtual_boundaries_disabled_flag равен 1 и ph_loop_filter_across_virtual_boundaries_disabled_present_flag равен 1, сумма ph_num_ver_virtual_boundaries и ph_num_hor_virtual_boundaries должна быть больше, чем 0. Если sps_loop_filter_across_virtual_boundaries_disabled_flag равен 1 и ph_loop_filter_across_virtual_boundaries_disabled_present_flag равен 1, сумма sps_num_ver_virtual_boundaries, sps_num_hor_virtual_boundaries, ph_num_ver_virtual_boundaries и ph_num_hor_virtual_boundaries должна быть не больше, чем 8. |
[269] В варианте осуществления, относящемся к Таблицам 29-32, информация изображения, полученная устройством кодирования, и/или информация изображения, полученная через битовый поток, принимаемый от устройства кодирования в устройстве декодирования, может включать в себя набор параметров последовательности (SPS) и заголовок картинки (PH).
[270] SPS может включать в себя флаг включения виртуальных границ (sps_loop_filter_across_virtual_boundaries_disabled_ flag). SPS может включать в себя флаг присутствия виртуальных границ SPS (sps_loop_filter_across_virtual_boundaries_disabled_
present_flag) на основе флага включения виртуальных границ. Например, если значение флага включения виртуальных границ равно 1, SPS может включать в себя флаг присутствия виртуальных границ SPS. На основе флага включения виртуальных границ и флага присутствия виртуальных границ SPS, SPS может включать в себя информацию о числе вертикальных виртуальных границ SPS (sps_num_ver_virtual_boundaries), информацию о положении вертикальных виртуальных границ SPS (sps_virtual_boundaries_pos_x[i]), информацию о числе горизонтальных виртуальных границ SPS (sps_num_hor_virtual_boundaries) и информацию о положении горизонтальных виртуальных границ SPS (sps_virtual_boundaries_pos_y[i]).
[271] Например, если значение флага включения виртуальных границ равно 1 и значение флага присутствия виртуальных границ SPS равно 1, SPS может включать в себя информацию о числе горизонтальных виртуальных границ, информацию о положении горизонтальных виртуальных границ, информацию о числе вертикальных виртуальных границ и информацию о положении вертикальных виртуальных границ. В примере, число частей информации о положении горизонтальных виртуальных границ может быть определено на основе информации о числе горизонтальных виртуальных границ, и число частей информации о положении вертикальных виртуальных границ может быть определено на основе информации о числе вертикальных виртуальных границ. Заголовок картинки может включать в себя флаг присутствия виртуальных границ PH на основе флага включения виртуальных границ.
[272] Например, если значение флага включения виртуальных границ равно 1, заголовок картинки может включать в себя флаг присутствия виртуальных границ PH. Заголовок картинки может включать в себя информацию о числе вертикальных виртуальных границ PH (ph_num_ver_virtual_boundaries) на основе флага присутствия виртуальных границ PH и информации о числе вертикальных виртуальных границ SPS. Например, если значение флага присутствия виртуальных границ PH равно 1 и значение информации о числе вертикальных виртуальных границ SPS равно 0, заголовок картинки может включать в себя информацию о числе вертикальных виртуальных границ PH. В примере, на основе информации о числе вертикальных виртуальных границ PH, заголовок картинки может включать в себя информацию о дельта-значении положения вертикальных виртуальных границ PH (ph_virtual_boundaries_pos_x_delta[i]) и информацию о знаке положения вертикальных виртуальных границ PH (ph_virtual_boundaries_pos_x_sign[i]). В примере, на основе информации о числе вертикальных виртуальных границ PH, может быть определено число частей информации о дельта-значении положения вертикальных виртуальных границ PH и число частей информации о знаке положения вертикальных виртуальных границ PH. Заголовок картинки может включать в себя информацию о числе горизонтальных виртуальных границ PH (ph_num_hor_virtual_boundaries) на основе флага присутствия виртуальных границ PH и информации о числе горизонтальных виртуальных границ SPS.
[273] Например, если значение флага присутствия виртуальных границ PH равно 1 и значение информации о числе горизонтальных виртуальных границ SPS равно 0, заголовок картинки может включать в себя информацию о числе горизонтальных виртуальных границ PH. В примере, на основе информация о числе горизонтальных виртуальных границ PH, заголовок картинки может включать в себя информацию о дельта-значении положения горизонтальных виртуальных границ PH (ph_virtual_boundaries_pos_y_delta[i]) и информацию о знаке положения горизонтальных виртуальных границ PH (ph_virtual_boundaries_pos_y_sign[i]). В примере, на основе информации о числе горизонтальных виртуальных границ PH, может быть определено число частей информации о дельта-значении положения горизонтальных виртуальных границ PH и число частей информации о знаке положения горизонтальных виртуальных границ PH.
[274] В соответствии с вариантами осуществления настоящего документа вместе с таблицами, приведенными выше, информация, требуемая для управления внутриконтурной фильтрацией, выполняемой по виртуальным границам, может эффективно сигнализироваться устройством кодирования. В примере, может сигнализироваться информация, относящаяся к тому, доступна ли внутриконтурная фильтрация по виртуальным границам.
[275] Фиг. 9 и фиг. 10 схематично показывают пример способа кодирования видео/изображения и связанные компоненты в соответствии с вариантом(ами) настоящего документа.
[276] Способ, раскрытый на фиг. 9, может выполняться устройством кодирования, раскрытым на фиг. 2 или фиг. 10. Конкретно, например, S900 - S920 на фиг. 9 могут выполняться процессором 230 остатка устройства кодирования на фиг. 10, S930 и S940 на фиг. 9 могут выполняться предсказателем 230 устройства кодирования на фиг. 10, S950 на фиг. 9 может выполняться фильтром 260 устройства кодирования на фиг. 10, и S960 на фиг. 9 может выполняться энтропийным кодером 240 устройства кодирования на фиг. 10. Способ, раскрытый на фиг. 9, может включать в себя вышеупомянутые варианты осуществления, раскрытые в настоящем документе.
[277] Со ссылкой на фиг. 9, устройство кодирования может выводить остаточные выборки (S900). Устройство кодирования может выводить остаточные выборки для текущего блока, и остаточные выборки для текущего блока могут выводиться на основе исходных выборок и выборок предсказания текущего блока. Конкретно, устройство кодирования может выводить выборки предсказания текущих блоков на основе режима предсказания. В этом случае, могут применяться различные способы предсказания, раскрытые в настоящем документе, такие как интер-предсказание или интра-предсказание. Остаточные выборки могут выводиться на основе выборок предсказания и исходных выборок.
[278] Устройство кодирования может выводить коэффициенты преобразования (S910). Устройство кодирования может выводить коэффициенты преобразования на основе процесса преобразования для остаточных выборок. Например, процесс преобразования может включать в себя по меньшей мере одно из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования на основе графа (GBT) или условно-нелинейного преобразования (CNT).
[279] Устройство кодирования может выводить квантованные коэффициенты преобразования. Устройство кодирования может выводить квантованные коэффициенты преобразования на основе процесса квантования для коэффициентов преобразования. Квантованные коэффициенты преобразования могут иметь форму 1-мерного вектора на основе порядка сканирования коэффициентов.
[280] Устройство кодирования может генерировать остаточную информацию (S920). Устройство кодирования может генерировать остаточную информацию на основе коэффициентов преобразования. Устройство кодирования может генерировать остаточную информацию, указывающую квантованные коэффициенты преобразования. Остаточная информация может генерироваться с помощью различных способов кодирования, таких как экспоненциальное кодирование Голомба, CAVLC, CABAC или т.п.
[281] Устройство кодирования может выводить выборки предсказания (S930). Устройство кодирования может выводить выборки предсказания текущих блоков на основе режима предсказания. Устройство кодирования может выводить выборки предсказания текущих блоков на основе режима предсказания. В этом случае, могут применяться различные способы предсказания, раскрытые в настоящем документе, такие как интер-предсказание или интра-предсказание.
[282] Устройство кодирования может генерировать информацию, относящуюся к предсказанию (S940). Устройство кодирования может генерировать информацию, относящуюся к предсказанию, на основе выборок предсказания и/или режима, применяемого к ним. Информация, относящаяся к предсказанию, может включать в себя информацию о различных режимах предсказания (например, режиме объединения, режиме MVP и т.д.), информацию MVD или тому подобное.
[283] Устройство кодирования может генерировать восстановленные выборки. Устройство кодирования может генерировать восстановленные выборки на основе остаточной информации. Восстановленные выборки могут генерироваться путем суммирования выборки предсказания и остаточных выборок на основе остаточной информации. Конкретно, устройство кодирования может выполнять предсказание (интра- или интер-предсказание) на текущем блоке и может генерировать восстановленные выборки на основе исходных выборок и выборок предсказания, сгенерированных из предсказания.
[284] Восстановленные выборки могут включать в себя восстановленные выборки яркости и восстановленные выборки цветности. Конкретно, остаточные выборки могут включать в себя остаточные выборки яркости и остаточные выборки цветности. Остаточные выборки яркости могут генерироваться на основе исходных выборок яркости и выборок яркости предсказания. Остаточные выборки цветности могут генерироваться на основе исходных выборок цветности и выборок цветности предсказания. Устройство кодирования может выводить коэффициенты преобразования для остаточных выборок яркости (коэффициенты преобразования яркости) и/или коэффициенты преобразования для остаточных выборок цветности (коэффициенты преобразования цветности). Квантованные коэффициенты преобразования могут включать в себя квантованные коэффициенты преобразования яркости и/или квантованные коэффициенты преобразования цветности.
[285] Устройство кодирования может генерировать информацию, относящуюся к внутриконтурной фильтрации для восстановленных выборок (S950). Устройство кодирования может выполнять процесс внутриконтурной фильтрации на восстановленных выборках и может генерировать информацию, относящуюся к внутриконтурной фильтрации, на основе процесса внутриконтурной фильтрации. Например, информация, относящаяся к внутриконтурной фильтрации, может включать в себя вышеупомянутую информацию о виртуальных границах (флаг включения виртуальных границ SPS, флаг включения виртуальных границ заголовка картинки, флаг присутствия виртуальных границ SPS, флаг присутствия виртуальных границ заголовка картинки, информацию о положениях виртуальных границ и т.д.).
[286] Устройство кодирования может кодировать информацию видео/изображения (S960). Устройство кодирования может кодировать информацию видео/изображения, включающую в себя остаточную информацию, информацию, относящуюся к предсказанию, и информацию, относящуюся к внутриконтурной фильтрации. Закодированная информация видео/изображения может выводиться в форме битового потока. Битовый поток может передаваться на устройство декодирования через сеть или носитель хранения.
[287] Информация изображения/видео может включать в себя различную информацию в соответствии с вариантом осуществления настоящего документа. Например, изображение/видео может включать в себя информацию, раскрытую по меньшей мере в одной из приведенных выше Таблиц 1-32.
[288] В варианте осуществления, информация изображения может включать в себя SPS и информацию заголовка картинки, ссылающуюся на SPS. SPS может включать в себя флаг включения виртуальных границ (флаг включения виртуальных границ SPS), относящийся к тому, присутствует ли (или включена) сигнализация информации, относящейся к виртуальным границам, в SPS или информации заголовка картинки. Процесс внутриконтурной фильтрации может выполняться по виртуальным границам на основе флага включения виртуальных границ (или может не выполняться по виртуальным границам). Например, флаг включения виртуальных границ может указывать, возможно ли отключить процесс внутриконтурной фильтрации по виртуальным границам.
[289] В варианте осуществления, SPS может включать в себя флаг присутствия виртуальных границ SPS. Например, включены ли информация о положениях виртуальных границ и информация о числе виртуальных границ в SPS, может быть определено на основе флага присутствия виртуальных границ SPS.
[290] В варианте осуществления, SPS может включать в себя информацию о числе вертикальных виртуальных границ на основе того, что значение флага присутствия виртуальных границ SPS равно 1.
[291] В варианте осуществления, SPS может включать в себя информацию о положениях вертикальных виртуальных границ. Кроме того, число частей информации о положениях вертикальных виртуальных границ может быть определено на основе информации о числе вертикальных виртуальных границ.
[292] В варианте осуществления, SPS может включать в себя информацию о числе горизонтальных виртуальных границ на основе того, что значение флага присутствия виртуальных границ SPS равно 1.
[293] В варианте осуществления, SPS может включать в себя информацию о положениях горизонтальных виртуальных границ. Кроме того, число частей информации о положениях горизонтальных виртуальных границ может быть определено на основе информации о числе горизонтальных виртуальных границ.
[294] В варианте осуществления, информация заголовка картинки может включать в себя флаг присутствия виртуальных границ заголовка картинки на основе того, что значение флага включения виртуальных границ (флага включения виртуальных границ SPS) равно 1 и значение флага присутствия виртуальных границ равно 0.
[295] В варианте осуществления, информация заголовка картинки может включать в себя информацию о числе вертикальных виртуальных границ на основе того, что значение флага присутствия виртуальных границ заголовка картинки равно 1.
[296] В варианте осуществления, информация заголовка картинки может включать в себя информацию о положениях вертикальных виртуальных границ. Кроме того, число частей информации о положениях вертикальных виртуальных границ может быть определено на основе информации о числе вертикальных виртуальных границ.
[297] В варианте осуществления, информация заголовка картинки может включать в себя информацию о числе горизонтальных виртуальных границ на основе того, что значение флага присутствия виртуальных границ заголовка картинки равно 1.
[298] В варианте осуществления, информация заголовка картинки может включать в себя информацию о положениях горизонтальных виртуальных границ. Кроме того, число частей информации о положениях горизонтальных виртуальных границ может быть определено на основе информации о числе горизонтальных виртуальных границ.
[299] В варианте осуществления, сумма числа вертикальных виртуальных границ и числа горизонтальных виртуальных границ может быть больше, чем 0, на основе того, что SPS включает в себя информацию о положениях вертикальных виртуальных границ и информацию о положениях горизонтальных виртуальных границ.
[300] В варианте осуществления, информация изображения (и/или информация, относящаяся к внутриконтурной фильтрации, информация, относящаяся к виртуальным границам) может дополнительно включать в себя флаг присутствия виртуальных границ SPS, флаг присутствия виртуальных границ заголовка картинки и флаг включения постепенного обновления декодирования (GDR). Например, на основе того, что значение флага включения GDR равно 1, значение флага включения виртуальных границ (флага включения виртуальных границ SPS) может быть равно 1, значение флага присутствия виртуальных границ SPS может быть равно 0, и значение флага присутствия виртуальных границ заголовка картинки может быть равно 1 (сигнализация информации виртуальных границ может присутствовать в заголовке картинки).
[301] Фиг. 11 и фиг. 12 схематично показывают пример способа декодирования видео/изображения и связанные компоненты в соответствии с вариантом(ами) настоящего документа.
[302] Способ, раскрытый на фиг. 11, может выполняться устройством декодирования, раскрытым со ссылкой на фиг. 3 или фиг. 12. Конкретно, например, S1100 на фиг. 11 может выполняться энтропийным декодером 310 устройства декодирования, S1110 и S1120 могут выполняться процессором 320 остатка устройства декодирования, S1130 может выполняться предсказателем 330 устройства декодирования, S1140 может выполняться сумматором 340 устройства декодирования, и S1150 может выполняться фильтром 350 устройства декодирования 350. Способ, раскрытый на фиг. 11, может включать в себя вышеупомянутые варианты осуществления, раскрытые в настоящем документе.
[303] Со ссылкой на фиг. 11, устройство декодирования может принимать/получать информацию видео/изображения (S1100). Информация видео/изображения может включать в себя остаточную информацию, информацию, относящуюся к предсказанию, и/или информацию, относящуюся к внутриконтурной фильтрации (и/или информацию, относящуюся к виртуальным границам). Устройство декодирования может принимать/получать информацию изображения/видео посредством битового потока.
[304] Информация изображения/видео может включать в себя различную информацию в соответствии с вариантом осуществления настоящего документа. Например, изображение/видео может включать в себя информацию, раскрытую по меньшей мере в одной из приведенных выше Таблиц 1-32.
[305] Устройство декодирования может выводить квантованные коэффициенты преобразования. Устройство декодирования может выводить квантованные коэффициенты преобразования на основе остаточной информации. Квантованные коэффициенты преобразования могут иметь форму 1-мерного вектора на основе порядка сканирования коэффициентов. Квантованные коэффициенты преобразования могут включать в себя квантованные коэффициенты преобразования яркости и/или квантованные коэффициенты преобразования цветности.
[306] Устройство декодирования может выводить коэффициенты преобразования (S1110). Устройство декодирования может выводить коэффициенты преобразования на основе процесса деквантования для квантованных коэффициентов преобразования. Устройство декодирования может выводить коэффициенты преобразования яркости посредством деквантования на основе квантованных коэффициентов преобразования яркости. Устройство декодирования может выводить коэффициенты преобразования цветности посредством деквантования на основе квантованных коэффициентов преобразования цветности.
[307] Устройство декодирования может генерировать/выводить остаточные выборки (S1120). Устройство декодирования может выводить остаточные выборки на основе процесса обратного преобразования для коэффициентов преобразования. Устройство декодирования может выводить остаточные выборки яркости посредством процесса обратного преобразования на основе коэффициентов преобразования яркости. Устройство декодирования может выводить остаточные выборки цветности посредством обратного преобразования на основе коэффициентов преобразования цветности.
[308] Устройство декодирования может генерировать выборки предсказания (S1130). Устройство декодирования может генерировать выборки предсказания для текущего блока на основе информации, относящейся к предсказанию. Устройство декодирования может выполнять предсказание на основе информации изображения/видео и может выводить выборки предсказания текущего блока. Информация, относящаяся к предсказанию, может включать в себя информацию режима предсказания. Устройство декодирования может определять, применяется ли интер-предсказание к текущему блоку, на основе информации режима предсказания и может выполнять предсказание на основе этого. Выборки предсказания могут включать в себя выборки яркости предсказания и/или выборки цветности предсказания.
[309] Устройство декодирования может генерировать/выводить восстановленные выборки (S1140). Например, устройство декодирования может генерировать/выводить восстановленные выборки яркости и/или восстановленные выборки цветности. Устройство декодирования может генерировать восстановленные выборки яркости и/или восстановленные выборки цветности на основе остаточной информации. Устройство декодирования может генерировать восстановленные выборки на основе остаточной информации. Восстановленные выборки могут включать в себя восстановленные выборки яркости и/или восстановленные выборки цветности. Компонент яркости восстановленных выборок может соответствовать восстановленным выборкам яркости, и компонент цветности восстановленных выборок может соответствовать восстановленным выборкам цветности. Устройство декодирования может генерировать выборки яркости предсказания и/или выборки цветности предсказания посредством процесса предсказания. Устройство декодирования может генерировать восстановленные выборки яркости на основе выборок яркости предсказания и остаточных выборок яркости. Устройство декодирования может генерировать восстановленные выборки цветности на основе выборок цветности предсказания и остаточных выборок цветности.
[310] Устройство декодирования может генерировать модифицированные (отфильтрованные) восстановленные выборки (S1150). Устройство декодирования может генерировать модифицированные восстановленные выборки путем выполнения процесса внутриконтурной фильтрации для восстановленных выборок текущей картинки. Устройство декодирования может генерировать модифицированные восстановленные выборки на основе информации, относящейся к внутриконтурной фильтрации (и/или информации, относящейся к виртуальным границам). Устройство декодирования может использовать процесс устранения блочности, процесс SAO и/или процесс ALF, чтобы генерировать модифицированные восстановленные выборки.
[311] В варианте осуществления, этап S1150 может включать в себя определение, выполняется ли процесс внутриконтурной фильтрации по виртуальным границам. То есть, устройство декодирования может определять, выполняется ли процесс внутриконтурной фильтрации по виртуальным границам. Устройство декодирования может определять, выполняется ли процесс внутриконтурной фильтрации, на основе информации, относящейся к внутриконтурной фильтрации (и/или информации, относящейся к виртуальным границам).
[312] В варианте осуществления, информация изображения может включать в себя набор параметров последовательности (SPS) и информацию заголовка картинки, ссылающуюся на SPS. SPS может включать в себя флаг включения виртуальных границ (флаг присутствия виртуальных границ SPS). Присутствует ли сигнализация информации, относящейся к виртуальным границам, в SPS или информации заголовка картинки (или является ли она доступной), может быть определено на основе флага включения виртуальных границ. Этап S1150, на котором генерируются модифицированные восстановленные выборки, может включать в себя выполнение процесса внутриконтурной фильтрации по виртуальным границам на основе определения (или может включать в себя выполнение процесса внутриконтурной фильтрации не по виртуальным границам). Например, флаг включения виртуальных границ может указывать, возможно ли отключить процесс внутриконтурной фильтрации по виртуальным границам.
[313] В варианте осуществления, SPS может включать в себя флаг присутствия виртуальных границ SPS. Например, включены ли информация о положениях виртуальных границ и информация о числе виртуальных границ в SPS, может быть определено на основе флага присутствия виртуальных границ SPS.
[314] В варианте осуществления, SPS может включать в себя информацию о числе вертикальных виртуальных границ на основе того, что значение флага присутствия виртуальных границ SPS равно 1.
[315] В варианте осуществления, SPS может включать в себя информацию о положениях вертикальных виртуальных границ. Кроме того, число частей информации о положениях вертикальных виртуальных границ может быть определено на основе информации о числе вертикальных виртуальных границ.
[316] В варианте осуществления, SPS может включать в себя информацию о числе горизонтальных виртуальных границ на основе того, что значение флага присутствия виртуальных границ SPS равно 1.
[317] В варианте осуществления, SPS может включать в себя информацию о положениях горизонтальных виртуальных границ. Кроме того, число частей информации о положениях горизонтальных виртуальных границ может быть определено на основе информации о числе горизонтальных виртуальных границ.
[318] В варианте осуществления, информация изображения может включать в себя информацию заголовка картинки. Кроме того, информация заголовка картинки может включать в себя флаг присутствия виртуальных границ заголовка картинки на основе того, что значение флага включения виртуальных границ (флага включения виртуальных границ SPS) равно 1 и значение флага присутствия виртуальных границ равно 0.
[319] В варианте осуществления, информация заголовка картинки может включать в себя информацию о числе вертикальных виртуальных границ на основе того, что значение флага присутствия виртуальных границ заголовка картинки равно 1.
[320] В варианте осуществления, информация заголовка картинки может включать в себя информацию о положениях вертикальных виртуальных границ. Кроме того, число частей информации о положениях вертикальных виртуальных границ может быть определено на основе информации о числе вертикальных виртуальных границ.
[321] В варианте осуществления, информация заголовка картинки может включать в себя информацию о числе горизонтальных виртуальных границ на основе того, что значение флага присутствия виртуальных границ заголовка картинки равно 1.
[322] В варианте осуществления, информация заголовка картинки может включать в себя информацию о положениях горизонтальных виртуальных границ. Кроме того, число частей информации о положениях горизонтальных виртуальных границ может быть определено на основе информации о числе горизонтальных виртуальных границ.
[323] В варианте осуществления, сумма числа вертикальных виртуальных границ и числа горизонтальных виртуальных границ может быть больше, чем 0, на основе того, что SPS включает в себя информацию о положениях вертикальных виртуальных границ и информацию о положениях горизонтальных виртуальных границ.
[324] В варианте осуществления, информация изображения (и/или информация, относящаяся к внутриконтурной фильтрации, информация, относящаяся к виртуальным границам) может дополнительно включать в себя флаг присутствия виртуальных границ SPS, флаг присутствия виртуальных границ заголовка картинки и флаг включения постепенного обновления декодирования (GDR). Например, на основе того, что значение флага включения GDR равно 1, значение флага включения виртуальных границ (флага включения виртуальных границ SPS) может быть равно 1, значение флага присутствия виртуальных границ SPS может быть равно 0 и значение флага присутствия виртуальных границ заголовка картинки может быть равно 1 (сигнализация информации виртуальных границ может присутствовать в заголовке картинки).
[325] В присутствии остаточной выборки для текущего блока, устройство декодирования может получать остаточную информацию для текущего блока. Остаточная информация может включать в себя коэффициент преобразования для остаточных выборок. Устройство декодирования может выводить остаточные выборки (или массив остаточных выборок) для текущего блока на основе остаточной информации. Конкретно, устройство декодирования может выводить квантованные коэффициенты преобразования на основе остаточной информации. Квантованные коэффициенты преобразования могут иметь форму 1-мерного вектора на основе порядка сканирования коэффициентов. Устройство декодирования может выводить коэффициенты преобразования на основе процесса деквантования для квантованных коэффициентов преобразования. Устройство декодирования может выводить остаточные выборки на основе коэффициентов преобразования.
[326] Устройство декодирования может генерировать восстановленные выборки на основе выборок (интра-) предсказания и остаточных выборок и может выводить восстановленный блок или восстановленную картинку на основе восстановленных выборок. Конкретно, устройство декодирования может генерировать восстановленные выборки на основе суммы выборок (интра-) предсказания и остаточных выборок. Затем, как описано выше, устройство декодирования может опционально применять процесс внутриконтурной фильтрации, такой как фильтрация устранения блочности и/или процесс SAO, к восстановленной картинке, чтобы улучшить субъективное/объективное качество изображения.
[327] Например, устройство декодирования может получать информацию изображения, включающую в себя все или части из вышеописанных частей информации (или синтаксических элементов) путем декодирования битового потока или закодированной информации. Кроме того, битовый поток или закодированная информация могут быть сохранены на считываемом компьютером носителе хранения и могут вызывать выполнение вышеописанного способа декодирования.
[328] Хотя в вышеописанных вариантах осуществления способы описаны на основе блок-схемы последовательности операций, в которой этапы или блоки перечислены в последовательности, этапы в настоящем документе не ограничены определенным порядком, и некоторый этап может выполняться на другом этапе или в другом порядке или одновременно относительно того, что описано выше. Дополнительно, специалистам в данной области техники должно быть понятно, что этапы блок-схем последовательностей операций не являются исключительными, и может быть включен другой этап, или один или более этапов в блок-схеме последовательности операций могут быть удалены, не оказывая влияния на объем настоящего раскрытия.
[329] Вышеописанный способ в соответствии с настоящим раскрытием может быть реализован в форме программного обеспечения, и устройство кодирования и/или устройство декодирования в соответствии с настоящим раскрытием может быть включено в устройство для выполнения обработки изображения, например телевизор, компьютер, смартфон, телевизионную приставку, устройство отображения и т.п.
[330] Когда варианты осуществления настоящего раскрытия реализованы в программном обеспечении, вышеописанный способ может быть реализован с помощью модуля (процесса или функции), который выполняет вышеупомянутую функцию. Модуль может храниться в памяти и исполняться процессором. Память может быть внутренней или внешней по отношению к процессору и может быть соединена с процессором различными хорошо известными средствами. Процессор может включать в себя специализированную интегральную схему (ASIC), другие чипсеты, логическую схему и/или устройство обработки данных. Память может включать в себя постоянную память (ROM), память с произвольным доступом (RAM), флэш-память, карту памяти, носитель хранения и/или другое устройство хранения. Иными словами, варианты осуществления согласно настоящему раскрытию могут реализовываться и выполняться на процессоре, микропроцессоре, контроллере или чипе. Например, функциональные блоки, показанные на соответствующих чертежах, могут быть реализованы и выполняться на компьютере, процессоре, микропроцессоре, контроллере или чипе. В этом случае, информация о реализации (например, информация об инструкциях) или алгоритмы могут храниться в цифровом носителе хранения.
[331] Кроме того, устройство декодирования и устройство кодирования, в которых применяются варианты осуществления настоящего документа, могут быть включены в приемопередатчик мультимедийного вещания, мобильный терминал связи, устройство домашнего кинотеатра, устройство цифрового кинотеатра, камеру наблюдения, устройство для разговора по видео, устройство связи в реальном времени, такой как видеосвязь, мобильное устройство стриминга, носитель хранения, видеокамеру, провайдер услуги видео по требованию (VoD), устройство доставки видео непосредственно от провайдера контента (OTT), провайдер услуги Интернет-стриминга, устройство 3D видео, устройство виртуальной реальности (VR), устройство дополненной реальности (AR), устройство видео-телеконференции, терминал транспортного средства (например, автомобильный терминал (включая автономное наземное транспортное средство), самолетный терминал, судовой терминал и т.д.) и медицинское видео-устройство, и могут использоваться для обработки сигналов изображения или данных. Например, видеоустройство OTT может включать в себя игровую консоль, проигрыватель Bluray, телевизор с Интернет-доступом, систему домашнего кинотеатра, смартфон, планшетный PC и цифровой видеомагнитофон (DVR).
[332] Кроме того, способ обработки, в котором применяются варианты осуществления настоящего документа, может выполняться в форме программы, исполняемой компьютером, и может храниться в считываемом компьютером носителе записи. Мультимедийные данные, имеющие структуру данных в соответствии с вариантами осуществления настоящего документа, могут также храниться в считываемом компьютером носителе записи. Считываемый компьютером носитель записи включает в себя все типы устройств хранения и распределенных устройств хранения, в которых хранятся считываемые компьютером данные. Считываемый компьютером носитель записи может включать в себя, например, Bluray-диск (BD), универсальную последовательную шину (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, магнитную ленту, флоппи-диск и оптическое устройство хранения данных. Считываемый компьютером носитель записи также включают в себя носители, реализуемые в форме несущей волны (например, передача через Интернет). Кром того, битовый поток, сгенерированный способом кодирования, может храниться в считываемом компьютером носителе записи или может передаваться по сетям проводной/беспроводной связи.
[333] Кроме того, варианты осуществления настоящего документа могут быть реализованы как компьютерный программный продукт на основе программного кода, и программный код может исполняться в компьютере в соответствии с вариантами осуществления настоящего документа. Программный код может храниться на считываемом компьютером носителе.
[334] Фиг. 13 показывает пример системы стриминга контента, в которой может применяться вариант осуществления, раскрытый в настоящем документе.
[335] Со ссылкой на фиг. 13, система стриминга контента, в которой применяются варианты осуществления настоящего документа, может в широком смысле включать в себя сервер кодирования, стриминговый сервер, веб-сервер, медиа-хранилище, пользовательское устройство и устройство мультимедийного ввода.
[336] Сервер кодирования функционирует, чтобы сжимать контент, введенный из устройств мультимедийного ввода, таких как смартфон, камера, камера-регистратор и т.д., в цифровые данные, чтобы сгенерировать битовый поток и передать его на стриминговый сервер. В качестве другого примера, когда устройство мультимедийного ввода, такое как смартфон, камера, видеокамера и т.п., непосредственно генерирует битовый поток, сервер кодирования может опускаться.
[337] Битовый поток может генерироваться способом кодирования или способом генерации битового потока, в которых применяются варианты осуществления настоящего раскрытия, и стриминговый сервер может временно хранить битовый поток в процессе передачи или приема битового потока.
[338] Стриминговый сервер передает мультимедийные данные на пользовательское устройство на основе запроса пользователя через веб-сервер, который функционирует как инструмент для информирования пользователя об услуге. Когда пользователь запрашивает желаемую услугу, веб-сервер доставляет запрос на стриминговый сервер, и стриминговый сервер передает мультимедийные данные пользователю. В этом отношении, система стриминга контента может включать в себя отдельный сервер управления, и в этом случае сервер управления функционирует для управления командами/откликами между соответствующими устройствами в системе стриминга контента.
[339] Стриминговый сервер может принимать контент из медиа-хранилища и/или сервера кодирования. Например, когда контент принимается от сервера кодирования, контент может приниматься в реальном времени. В этом случае, чтобы обеспечить плавную стриминговую услугу, стриминговый сервер может хранить битовый поток в течение предопределенного периода времени.
[340] Например, пользовательское оборудование может включать в себя мобильный телефон, смартфон, ноутбук, терминал цифрового вещания, персональный цифровой помощник (PDA), портативный мультимедийный проигрыватель (PMP), навигатор, тонкий PC, планшетный PC, ультрабук, носимое устройство (например, терминал типа часов (умные часы), терминал типа очков (умные очки), наголовный дисплей (HMD)), цифровой телевизор, настольный компьютер, цифровой указатель и тому подобное.
[341] Каждый сервер в системе стриминга контента может работать как распределенный сервер, и в этом случае, данные, принимаемые каждым сервером, могут обрабатываться распределенным способом.
[342] Пункты формулы изобретения в настоящем описании могут комбинироваться различными способами. Например, технические признаки в пунктах формулы на способ в настоящем описании могут комбинироваться, чтобы реализовываться или выполняться в устройстве, и технические признаки в пунктах формулы на устройство могут комбинироваться, чтобы реализовываться или выполняться в способе. Также, технические признаки в пунктах формулы на способ и пунктах формулы на устройство могут комбинироваться, чтобы реализовываться или выполняться в устройстве. Далее, технические признаки в пунктах формулы на способ и пунктах формулы на устройство могут комбинироваться, чтобы реализовываться или выполняться в способе.
Claims (47)
1. Способ декодирования изображения, выполняемый устройством декодирования, содержащий:
получение информации изображения, включающей в себя остаточную информацию, информацию, относящуюся к предсказанию, и информацию, относящуюся к внутриконтурной фильтрации, посредством битового потока;
выведение коэффициентов преобразования на основе остаточной информации;
генерирование остаточных выборок на основе коэффициентов преобразования;
генерирование выборок предсказания на основе информации, относящейся к предсказанию;
генерирование восстановленных выборок на основе остаточных выборок и выборок предсказания; и
генерирование модифицированных восстановленных выборок на основе информации, относящейся к внутриконтурной фильтрации,
причем информация изображения включает в себя набор параметров последовательности (SPS) и информацию заголовка картинки, ссылающуюся на SPS,
причем SPS включает в себя флаг включения виртуальных границ,
причем генерирование модифицированных восстановленных выборок включает в себя:
выполнение процесса внутриконтурной фильтрации восстановленных выборок;
определение того, присутствует ли информация, относящаяся к виртуальным границам, в SPS или информации заголовка картинки, на основе флага включения виртуальных границ, и
причем процесс внутриконтурной фильтрации выполняется по виртуальным границам на основе определения.
2. Способ декодирования изображения по п. 1,
причем SPS дополнительно включает в себя флаг присутствия виртуальных границ SPS, и
причем то, включены ли информация о положениях виртуальных границ и информация о числе виртуальных границ в SPS, определяется на основе флага присутствия виртуальных границ SPS.
3. Способ декодирования изображения по п. 2, причем SPS включает в себя информацию о числе вертикальных виртуальных границ на основе того, что значение флага присутствия виртуальных границ SPS равно 1.
4. Способ декодирования изображения по п. 3,
причем SPS включает в себя информацию о положениях вертикальных виртуальных границ, и
причем число частей информации о положениях вертикальных виртуальных границ определяется на основе информации о числе вертикальных виртуальных границ.
5. Способ декодирования изображения по п. 2, причем SPS включает в себя информацию о числе горизонтальных виртуальных границ на основе того, что значение флага присутствия виртуальных границ SPS равно 1.
6. Способ декодирования изображения по п. 5,
причем SPS включает в себя информацию о положениях горизонтальных виртуальных границ, и
причем число частей информации о положениях горизонтальных виртуальных границ определяется на основе информации о числе горизонтальных виртуальных границ.
7. Способ декодирования изображения по п. 2, причем информация заголовка картинки включает в себя флаг присутствия виртуальных границ заголовка картинки на основе того, что значение флага включения виртуальных границ равно 1 и значение флага присутствия виртуальных границ SPS равно 0.
8. Способ декодирования изображения по п. 7, причем информация заголовка картинки включает в себя информацию о числе вертикальных виртуальных границ на основе того, что значение флага присутствия виртуальных границ заголовка картинки равно 1.
9. Способ декодирования изображения по п. 1, причем сумма числа вертикальных виртуальных границ и числа горизонтальных виртуальных границ больше чем 0, на основе того, что SPS включает в себя информацию о положениях вертикальных виртуальных границ и информацию о положениях горизонтальных виртуальных границ.
10. Способ декодирования изображения по п. 1,
причем информация изображения дополнительно включает в себя флаг присутствия виртуальных границ SPS, флаг присутствия виртуальных границ заголовка картинки и флаг включения постепенного обновления декодирования (GDR), и
причем значение флага включения виртуальных границ равно 1, значение флага присутствия виртуальных границ SPS равно 0, и значение флага присутствия виртуальных границ заголовка картинки равно 1 на основе того, что значение флага включения GDR равно 1.
11. Способ кодирования изображения, выполняемый устройством кодирования, содержащий:
выведение остаточных выборок для текущего блока;
выведение коэффициентов преобразования на основе остаточных выборок для текущего блока;
генерирование остаточной информации на основе коэффициентов преобразования;
генерирование выборок предсказания для текущего блока на основе остаточных выборок;
генерирование информации, относящейся к предсказанию, на основе выборок предсказания;
генерирование информации, относящейся к внутриконтурной фильтрации, для процесса внутриконтурной фильтрации восстановленных выборок; и
кодирование информации изображения, включающей в себя остаточную информацию, информацию, относящуюся к предсказанию, и информацию, относящуюся к внутриконтурной фильтрации,
причем информация изображения включает в себя набор параметров последовательности (SPS) и информацию заголовка картинки, ссылающуюся на SPS,
причем SPS включает в себя флаг включения виртуальных границ, относящийся к тому, присутствует ли информация, относящаяся к виртуальным границам, в SPS или информации заголовка картинки, и
причем процесс внутриконтурной фильтрации выполняется по виртуальным границам на основе флага включения виртуальных границ.
12. Способ передачи данных для изображения, причем способ содержит:
получение битового потока для изображения, причем битовый поток генерируется на основе выведения остаточных выборок для текущего блока, выведения коэффициентов преобразования на основе остаточных выборок для текущего блока, генерирования остаточной информации на основе коэффициентов преобразования, генерирования выборок предсказания для текущего блока на основе остаточных выборок, генерирования информации, относящейся к предсказанию, на основе выборок предсказания, генерирования информации, относящейся к внутриконтурной фильтрации, для процесса внутриконтурной фильтрации восстановленных выборок, и кодирования информации изображения, включающей в себя остаточную информацию, информацию, относящуюся к предсказанию, и информацию, относящуюся к внутриконтурной фильтрации; и
передачу данных, содержащих битовый поток,
причем информация изображения включает в себя набор параметров последовательности (SPS) и информацию заголовка картинки, ссылающуюся на SPS,
причем SPS включает в себя флаг включения виртуальных границ, относящийся к тому, присутствует ли информация, относящаяся к виртуальным границам, в SPS или информации заголовка картинки, и
причем процесс внутриконтурной фильтрации выполняется по виртуальным границам на основе флага включения виртуальных границ.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US62/937,245 | 2019-11-18 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2023121755A Division RU2809689C2 (ru) | 2019-11-18 | 2020-11-17 | Устройство и способ кодирования изображения для управления контурной фильтрацией |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2802374C1 true RU2802374C1 (ru) | 2023-08-28 |
Family
ID=
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140029436A (ko) * | 2011-05-10 | 2014-03-10 | 미디어텍 인크. | 루프내 필터 버퍼의 감소를 위한 방법 및 장치 |
WO2015151791A1 (ja) * | 2014-03-31 | 2015-10-08 | ソニー株式会社 | 画像復号装置および方法 |
KR20170141168A (ko) * | 2015-06-11 | 2017-12-22 | 인텔렉추얼디스커버리 주식회사 | 적응적인 디블록킹 필터링에 관한 부호화/복호화 방법 및 장치 |
RU2660612C2 (ru) * | 2009-07-31 | 2018-07-06 | Вилос Медиа Интернэшнл Лимитед | Устройство и способ обработки изображений |
KR20190083948A (ko) * | 2018-01-05 | 2019-07-15 | 에스케이텔레콤 주식회사 | 영상을 부호화 또는 복호화하는 방법 및 장치 |
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2660612C2 (ru) * | 2009-07-31 | 2018-07-06 | Вилос Медиа Интернэшнл Лимитед | Устройство и способ обработки изображений |
KR20140029436A (ko) * | 2011-05-10 | 2014-03-10 | 미디어텍 인크. | 루프내 필터 버퍼의 감소를 위한 방법 및 장치 |
WO2015151791A1 (ja) * | 2014-03-31 | 2015-10-08 | ソニー株式会社 | 画像復号装置および方法 |
KR20170141168A (ko) * | 2015-06-11 | 2017-12-22 | 인텔렉추얼디스커버리 주식회사 | 적응적인 디블록킹 필터링에 관한 부호화/복호화 방법 및 장치 |
KR20190083948A (ko) * | 2018-01-05 | 2019-07-15 | 에스케이텔레콤 주식회사 | 영상을 부호화 또는 복호화하는 방법 및 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11743468B2 (en) | Filtering-based image coding device and method | |
US20230055874A1 (en) | Image coding device and method | |
US11683532B2 (en) | Image coding device and method for controlling loop filtering | |
US20220400291A1 (en) | Image coding device and method, for controlling loop filtering | |
US20220417564A1 (en) | Image coding device and method for controlling loop filtering | |
US20230344986A1 (en) | Filtering-based image coding device and method | |
JP2024036651A (ja) | サブピクチャに基づく映像コーディング装置及び方法 | |
AU2024204315A1 (en) | Image coding apparatus and method based on signaling of information for filtering | |
US20230239512A1 (en) | Image coding device and method for controlling loop filtering | |
US20230007266A1 (en) | Apparatus and method for coding image on basis of signaling of information for filtering | |
RU2802374C1 (ru) | Устройство и способ кодирования изображения для управления контурной фильтрацией | |
RU2809689C2 (ru) | Устройство и способ кодирования изображения для управления контурной фильтрацией | |
RU2810653C2 (ru) | Способ и устройство кодирования изображения для управления контурной фильтрацией | |
RU2801594C1 (ru) | Способ и устройство кодирования изображения для управления контурной фильтрацией | |
RU2820304C1 (ru) | Способ и устройство кодирования изображения на основе подкартинки | |
RU2810200C2 (ru) | Способ и устройство кодирования изображения на основе подкартинки | |
RU2803187C1 (ru) | Способ и устройство кодирования изображения на основе подкартинки | |
US20230041024A1 (en) | Image coding device and method | |
US20230046583A1 (en) | Virtual boundary-based image coding device and method | |
US20230052204A1 (en) | Picture splitting-based image coding device and method | |
US20230046209A1 (en) | Filtering-based image coding device and method | |
US20230096855A1 (en) | In-loop filtering-based image coding device and method |