RU2803187C1 - Способ и устройство кодирования изображения на основе подкартинки - Google Patents

Способ и устройство кодирования изображения на основе подкартинки Download PDF

Info

Publication number
RU2803187C1
RU2803187C1 RU2022120088A RU2022120088A RU2803187C1 RU 2803187 C1 RU2803187 C1 RU 2803187C1 RU 2022120088 A RU2022120088 A RU 2022120088A RU 2022120088 A RU2022120088 A RU 2022120088A RU 2803187 C1 RU2803187 C1 RU 2803187C1
Authority
RU
Russia
Prior art keywords
information
picture
image
prediction
sps
Prior art date
Application number
RU2022120088A
Other languages
English (en)
Inventor
Хендри ХЕНДРИ
Original Assignee
ЭлДжи ЭЛЕКТРОНИКС ИНК.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ЭлДжи ЭЛЕКТРОНИКС ИНК. filed Critical ЭлДжи ЭЛЕКТРОНИКС ИНК.
Application granted granted Critical
Publication of RU2803187C1 publication Critical patent/RU2803187C1/ru

Links

Images

Abstract

Изобретение относится к средствам для кодирования и декодирования изображений. Технический результат заключается в повышении эффективности кодирования. Генерируют остаточные выборки для текущего блока. Генерируют остаточную информацию на основе остаточных выборок для текущего блока. Генерируют информацию, относящуюся к внутриконтурной фильтрации, для восстановленных выборок текущей картинки. Выполняют кодирование информации изображения, включающей в себя остаточную информацию и информацию, относящуюся к внутриконтурной фильтрации. Причем информация изображения включает в себя набор параметров последовательности (SPS) и заголовок картинки. Причем, когда SPS включает информацию, относящуюся к подкартинке, информация о числе виртуальных границ и информация о положениях виртуальных границ не включены в заголовок картинки, а включены в SPS. 4 н. и 5 з.п. ф-лы, 14 ил.

Description

Область раскрытия
[1] Настоящий документ относится к устройству и способу кодирования изображения на основе подкартинки.
Связанная область техники
[2] В последнее время, потребность в изображениях/видео высокого разрешения, высокого качества, таких как изображения/видео сверхвысокой четкости (UHD) 4K или 8K или выше, возросла в различных областях. Так как данные изображения/видео имеют высокое разрешение и высокое качество, количество информации или битов, подлежащих передаче, увеличивается относительно существующих данных изображения/ видео, и, таким образом, передача данных изображения с использованием носителя, такого как существующая проводная/ беспроводная широкополосная линия или существующий носитель хранения, или хранение данных изображения/видео с использованием существующего носителя хранения повышают затраты на передачу и затраты на хранение.
[3] К тому же, интерес и потребность в иммерсивных медиа, таких как контент или голограммы виртуальной реальности (VR) и искусственной реальности (AR), в последнее время возросли, и возросла трансляция изображения/видео, имеющих характеристики, отличные от изображений реальности, таких как игровые изображения.
[4] Соответственно, требуется высокоэффективная технология сжатия изображения/видео, чтобы эффективно сжимать, передавать, хранить и воспроизводить информацию изображений/видео высокого разрешения, высокого качества, имеющих различные характеристики, как описано выше.
[5] В частности, чтобы повысить субъективное/объективное визуальное качество, картинка составляется из подкартинок, и обсуждаются схемы для повышения эффективности сигнализации информации, относящейся к подкартинке.
Краткое описание сущности изобретения
[6] В соответствии с вариантом осуществления настоящего документа, обеспечены способ и устройство для повышения эффективности кодирования изображения.
[7] В соответствии с вариантом осуществления настоящего документа, обеспечены способ и устройство применения эффективной фильтрации.
[8] В соответствии с вариантом осуществления настоящего документа, обеспечены способ и устройство для эффективного применения устранения блочности, адаптивного смещения выборки (SAO) и адаптивной контурной фильтрации (ALF).
[9] В соответствии с вариантом осуществления настоящего документа, внутриконтурная фильтрация может выполняться на основе виртуальных границ.
[10] В соответствии с вариантом осуществления настоящего документа, сигнализация информации, относящейся к виртуальной границе, может выполняться на основе информации, относящейся к подкартинке.
[11] В соответствии с вариантом осуществления настоящего документа, обеспечено устройство кодирования для выполнения кодирования видео/изображения.
[12] В соответствии с одним вариантом осуществления настоящего документа, обеспечен считываемый компьютером цифровой носитель хранения, в котором хранится закодированная информация видео/изображения, генерируемая в соответствии со способом кодирования видео/изображения, раскрытым по меньшей мере в одном из вариантов осуществления настоящего документа.
[13] В соответствии с вариантом осуществления настоящего документа, обеспечен считываемый компьютером цифровой носитель хранения, в котором хранится закодированная информация или закодированная информация видео/изображения, побуждающая выполнять способ декодирования видео/изображения, раскрытый по меньшей мере в одном из вариантов осуществления настоящего документа, посредством устройства декодирования.
[14] В соответствии с вариантом осуществления настоящего документа, общая эффективность сжатия изображения/видео может быть повышена.
[15] В соответствии с вариантом осуществления настоящего документа, субъективное/объективное визуальное качество может быть повышено за счет эффективной фильтрации.
[16] В соответствии с вариантом осуществления настоящего документа, эффективное кодирование может быть реализовано за счет опускания процесса перезаписи битового посредством сигнализации, основанной на сигнализации виртуальных границ подкартинок.
Краткое описание чертежей
[17] Фиг. 1 схематично показывает пример системы кодирования видео/изображения, в которой могут применяться варианты осуществления настоящего документа.
[18] Фиг. 2 является представлением, схематично иллюстрирующим конфигурацию устройства кодирования видео/изображения, в котором могут применяться варианты осуществления настоящего документа.
[19] Фиг. 3 является представлением, схематично иллюстрирующим конфигурацию устройства декодирования видео/изображения, в котором могут применяться варианты осуществления настоящего документа.
[20] Фиг. 4 показывает пример иерархической архитектуры для кодированного видео/изображения.
[21] Фиг. 5 иллюстрирует картинку в соответствии с вариантом осуществления настоящего документа.
[22] Фиг. 6 иллюстрирует способ кодирования на основе подкартинки/вырезки/мозаичного элемента в соответствии с вариантом осуществления настоящего документа.
[23] Фиг. 7 иллюстрирует способ декодирования на основе подкартинки/вырезки/мозаичного элемента в соответствии с вариантом осуществления настоящего документа.
[24] Фиг. 8 является блок-схемой последовательности операций, поясняющей способ кодирования на основе фильтрации в устройстве кодирования.
[25] Фиг. 9 является блок-схемой последовательности операций, поясняющей способ декодирования на основе фильтрации в устройстве декодирования.
[26] Фиг. 10 и фиг. 11 схематично показывают пример способа кодирования видео/изображения и связанные компоненты в соответствии с вариантом(ами) осуществления настоящего документа.
[27] Фиг. 12 и фиг. 13 схематично показывают пример способа декодирования видео/изображения и связанные компоненты в соответствии с вариантом(ами) осуществления настоящего документа.
[28] Фиг. 14 показывает пример системы стриминга контента, в которой могут применяться варианты осуществления, раскрытые в настоящем документе.
Описание примерных вариантов осуществления
[29] Каждая конфигурация на чертежах, описанная в настоящем документе, является независимой иллюстрацией для объяснения функций как признаков, которые отличаются друг от друга, и не означает, что каждая конфигурация реализуется как взаимно различные аппаратные средства или различное программное обеспечение. Например, две или более из конфигураций могут быть объединены для образования одной конфигурации, или одна конфигурация может быть разделена на множество конфигураций. Без отклонения от сущности настоящего документа, варианты осуществления, в которых конфигурации объединены и/или разделены, также включены в объем формулы изобретения.
[30] Между тем, настоящий документ может быть модифицирован в различных формах, и его конкретные варианты осуществления будут описаны и проиллюстрированы на чертежах. Однако варианты осуществления не предназначены для ограничения настоящего документа. Термины, используемые в последующем описании, используются, чтобы только описывать конкретные варианты осуществления, но не предназначены ограничивать раскрытие. Выражение в единственном числе включает в себя выражение во множественном числе, если только оно явным образом не читается иначе. Термины, такие как “включать в себя” и “иметь”, предназначены указывать, что признаки, числа, этапы, операции, элементы, компоненты или их комбинации, используемые в следующем описании, существуют, и, таким образом, должно быть понятно, что возможность существования или добавления одного или более других признаков, чисел, этапов, операций, элементов, компонентов или их комбинаций не исключается.
[31] Далее, примеры настоящего варианта осуществления будут описаны подробно со ссылкой на прилагаемые чертежи. К тому же, одинаковые ссылочные позиции используются, чтобы указывать одинаковые элементы на всех чертежах, и те же самые описания одинаковых элементов будут опущены.
[32] Настоящий документ относится к кодированию видео/изображения. Например, способы/варианты осуществления, раскрытые в настоящем документе, могут относиться к стандарту многоцелевого кодирования видео (VVC) (ITU-T Rec. H.266), стандарту кодирования видео/изображения следующего поколения после VVC или другим стандартам, относящимся к кодированию видео (например, стандарту высокоэффективного кодирования видео (HEVC) (ITU-T Rec. H.265), стандарту существенного кодирования видео (EVC), стандарту AVS2 и тому подобному).
[33] Настоящий документ предлагает различные варианты осуществления кодирования видео/изображения, и варианты осуществления выше могут также выполняться в комбинации друг с другом, если не определено иначе.
[34] В настоящем документе, видео может относиться к последовательности изображений по времени. Картинка обычно относится к единице, представляющей одно изображение в конкретном временном кадре, и вырезка/мозаичный элемент относится к единице, составляющей часть картинки в терминах кодирования. Вырезка/мозаичный элемент может включать в себя одну или более единиц дерева кодирования (CTU). Одна картинка может состоять из одной или более вырезок/мозаичных элементов. Одна картинка может состоять из одной или более групп мозаичных элементов. Одна группа мозаичных элементов может включать в себя один или более мозаичных элементов.
[35] Пиксел или пел может означать наименьшую единицу, составляющую одну картинку (или изображение). Также, ‘выборка’ может использоваться как термин, соответствующий пикселу. Выборка может, в общем, представлять пиксел или значение пиксела и может представлять только пиксел/значение пиксела компонента яркости или только пиксел/значение пиксела компонента цветности.
[36] Единица может представлять базовую единицу обработки изображения. Единица может включать в себя по меньшей мере одно из конкретной области картинки и информации, относящейся к области. Одна единица может включать в себя один блок яркости и два блока цветности (например, cb, cr). Единица может использоваться взаимозаменяемо с такими терминами, как блок или область, в некоторых случаях. В общем случае, блок M×N может включать в себя выборки (или массивы выборок) или набор (или массив) коэффициентов преобразования из M столбцов и N строк. Альтернативно, выборка может означать значение пиксела в пространственной области, и когда такое значение пиксела преобразуется в частотную область, оно может означать коэффициент преобразования в частотной области.
[37] В настоящем документе, обозначения “/” и “,” должны интерпретироваться, чтобы указывать “и/или”. Например, выражение “A/B” может означать “A и/или B”. Далее, “A, B” может означать “A и/или B”. Кроме того, “A/B/C” может означать “по меньшей мере одно из А, В и/или С”. Также, “A/B/C” может означать “по меньшей мере одно из А, В и/или С”.
[38] Кроме того, в этом документе, термин “или” должен интерпретироваться, чтобы указывать “и/или”. Например, выражение “A или B” может содержать 1) только A, 2) только B и/или 3) как A, так и B. Иными словами, в этом документе, термин “или” должен интерпретироваться, чтобы указывать “дополнительно или альтернативно”.
[39] В настоящем документе, “по меньшей мере одно из A и B” может означать “только A”, “только B” или “как A, так и B”. Также, в настоящем описании, выражение “по меньшей мере одно из A или B” или “по меньшей мере одно из A и/или B” может интерпретироваться так же, как “по меньшей мере одно из A и B”.
[40] Также, в настоящем описании, “по меньшей мере одно из A, B и C” может означать “только A, “только B”, “только C” или “любая комбинация A, B и C”. Также, “по меньшей мере одно из A, B или C” или “по меньшей мере одно из A, B и/или C” может означать “по меньшей мере одно из A, B и C”.
[41] Также, круглые скобки, используемые в настоящем описании, могут означать “например”. Конкретно, когда указано “предсказание (интра-предсказание)”, это может указывать, что “интра-предсказание” предлагается как пример “предсказания”. Другими словами, термин “предсказание” в настоящем описании не ограничен “интра-предсказанием”, и “интра-предсказание” может предлагаться в качестве примера “предсказания”. Также, даже когда указано “предсказание (т.е., интра-предсказание)”, это может указывать, что “интра-предсказание” предлагается как пример “предсказания”.
[42] В настоящем описании, технические признаки, отдельно поясненные на одном чертеже, могут быть реализованы по отдельности или могут быть реализованы одновременно.
[43] Фиг. 1 иллюстрирует пример системы кодирования видео/изображения, в которой может применяться раскрытие настоящего документа.
[44] Со ссылкой на фиг. 1, система кодирования видео/изображения может включать в себя устройство-источник и устройство приема. Устройство-источник может передавать закодированную информацию или данные видео/изображения на устройство приема через цифровой носитель хранения или сеть в форме файла или потока.
[45] Устройство-источник может включать в себя источник видео, устройство кодирования и передатчик. Устройство приема может включать в себя приемник, устройство декодирования и устройство рендеринга (визуализации). Устройство кодирования может называться устройством кодирования видео/изображения, и устройство декодирования может называться устройством декодирования видео/изображения. Передатчик может быть включен в устройство кодирования. Приемник может быть включен в устройство декодирования. Устройство визуализации может включать в себя дисплей, и дисплей может быть сконфигурирован как отдельное устройство или внешний компонент.
[46] Источник видео может получать видео/изображение через процесс захвата, синтезирования или генерирования видео/изображения. Источник видео может включать в себя устройство захвата видео/изображения и/или устройство генерирования видео/изображения. Устройство захвата видео/изображения может включать в себя, например, одну или более камер, архивы видео/изображений, включающие в себя ранее захваченные видео/изображения и тому подобное. Устройство генерирования видео/изображения может включать в себя, например, компьютеры, планшеты и смартфоны и может (электронным способом) генерировать видео/изображения. Например, виртуальное видео/изображение может генерироваться через компьютер или тому подобное. В этом случае, процесс захвата видео/изображения может быть заменен на процесс генерирования связанных данных.
[47] Устройство кодирования может кодировать введенное видео/изображение. Устройство кодирования может выполнять последовательность процессов, таких как предсказание, преобразование и квантование для компактности и эффективности кодирования. Закодированные данные (закодированная информация видео/изображения) могут выводиться в форме битового потока.
[48] Передатчик может передавать закодированное изображение/информацию изображения или данные, выведенные в форме битового потока, на приемник устройства приема через цифровой носитель хранения или сеть в форме файла или потоковой передачи (стриминга). Цифровой носитель хранения может включать в себя различные носители хранения, такие как USB, SD, CD, DVD, Blu-ray, HDD, SSD и тому подобное. Передатчик может включать в себя элемент для генерирования медиа-файла посредством предопределенного файлового формата и может включать в себя элемент для передачи через сеть вещания/связи. Приемник может принимать/извлекать битовый поток и передавать принятый битовый поток на устройство декодирования.
[49] Устройство декодирования может декодировать видео/изображение путем выполнения последовательности процессов, таких как деквантование, обратное преобразование и предсказание, соответствующих операции устройства кодирования.
[50] Устройство визуализации может визуализировать декодированное видео/изображение. Визуализированное видео/ изображение может отображаться посредством дисплея.
[51] Фиг. 2 является диаграммой, схематично иллюстрирующей конфигурацию устройства кодирования видео/изображения, в котором может применяться раскрытие настоящего документа. Далее, то, что называется устройством кодирования видео, может включать в себя устройство кодирования изображения.
[52] Со ссылкой на фиг. 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 как внутренний/внешний компонент.
[53] Модуль 210 разбиения изображения может разбивать входное изображение (или картинку, кадр), введенное в устройство 200 кодирования, на одну или более единиц обработки. Например, единица обработки может называться единицей кодирования (CU). В этом случае, единица кодирования может рекурсивно разбиваться в соответствии со структурой квадродерева-двоичного дерева- троичного дерева (QTBTTT) из единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU). Например, одна единица кодирования может разбиваться на множество единиц кодирования более глубокой глубины на основе структуры квадродерева, структуры двоичного дерева и/или структуры троичного дерева. В этом случае, например, структура квадродерева применяется первой, а структура двоичного дерева и/или структура троичного дерева может применяться позже. Альтернативно, структура двоичного дерева также может применяться первой. Процесс кодирования в соответствии с настоящим документом может выполняться на основе конечной единицы кодирования, которая больше не разбивается. В этом случае, наибольшая единица кодирования может непосредственно использоваться как конечная единица кодирования на основе эффективности кодирования в соответствии с характеристиками изображения, или, по мере необходимости, единица кодирования может рекурсивно разбиваться на единицы кодирования более глубокой глубины, так что единица кодирования, имеющая оптимальный размер, может использоваться как конечная единица кодирования. Здесь, процесс кодирования может включать в себя процесс предсказания, преобразования и восстановления, которые будут описаны далее. В качестве другого примера, единица обработки может дополнительно включать в себя единицу предсказания (PU) или единицу преобразования (TU). В этом случае, единица предсказания и единица преобразования могут разделяться или разбиваться из вышеупомянутой конечной единицы кодирования. Единица предсказания может представлять собой единицу предсказания выборки, и единица преобразования может представлять собой единицу для выведения коэффициента преобразования и/или единицу для выведения остаточного сигнала из коэффициента преобразования.
[54] Единица может использоваться взаимозаменяемо с такими терминами, как блок или область в некоторых случаях. В общем случае, блок M×N может представлять выборки, состоящие из M столбцов и N строк или группу коэффициентов преобразования. Выборка может, в общем, представлять пиксел или значение пиксела, и может также представлять только пиксел/значение пиксела компонента яркости или представлять только пиксел/значение пиксела компонента цветности. Выборка может использоваться как термин, соответствующий пикселу или пелу, конфигурирующему одну картинку (или изображению).
[55] Вычитатель 231 может генерировать остаточный сигнал (остаточный блок, остаточные выборки или остаточный массив выборок) путем вычитания сигнала предсказания (предсказанного блока, выборок предсказания или массива выборок предсказания), выведенного из предсказателя 220, из входного сигнала изображения (исходного блока, исходных выборок или исходного массива выборок), и сгенерированный остаточный сигнал передается на преобразователь 232. Предсказатель 220 может выполнять предсказание для целевого блока обработки (далее называемого текущим блоком) и генерировать предсказанный блок, включающий в себя выборки предсказания для текущего блока. Предсказатель 220 может определять, применяется ли интра-предсказание или интер-предсказание на текущем блоке или в единице CU. Как описано далее в описании каждого режима предсказания, предсказатель может генерировать различные виды информации, связанной с предсказанием, такой как информация режима предсказания, и передавать сгенерированную информацию на энтропийный кодер 240. Информация о предсказании может кодироваться в энтропийном кодере 240 и выводиться в форме битового потока.
[56] Интра-предсказатель 222 может предсказывать текущий блок путем обращения к выборкам в текущей картинке. Выборки, к которым обращаются, могут быть расположены по соседству с текущим блоком или могут быть разнесены от текущего блока в соответствии с режимом предсказания. В интра-предсказании, режимы предсказания могут включать в себя множество ненаправленных режимов и множество направленных режимов. Ненаправленный режим может включать в себя, например, режим DC или планарный режим. Направленный режим может включать в себя, например, 33 направленных режима предсказания или 65 направленных режимов предсказания в соответствии со степенью детализации направления предсказания. Однако это только пример, и больше или меньше направленных режимов предсказания могут использоваться в соответствии с настройкой. Интра-предсказатель 222 может также определять режим предсказания, применяемый к текущему блоку, с использованием режима предсказания, применяемого к соседнему блоку.
[57] Интер-предсказатель 221 может выводить предсказанный блок текущего блока на основе опорного блока (опорного массива выборок), определенного вектором движения на опорной картинке. При этом, чтобы уменьшить количество информации движения, передаваемой в режиме интер-предсказания, информация движения может предсказываться в единицах блока, подблока или выборки на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорной картинки. Информация движения может дополнительно включать в себя информацию направления интер-предсказания (L0 предсказание, L1 предсказание, Bi-предсказание и т.п.). В случае интер-предсказания, соседний блок может включать в себя пространственный соседний блок, существующий в текущей картинке, и временной соседний блок, существующий в опорной картинке. Опорная картинка, включающая в себя опорный блок, и опорная картинка, включающая в себя временной соседний блок, могут быть одинаковыми или разными. Временной соседний блок может называться совместно расположенным опорным блоком, совместно расположенной CU (colCU) и т.п., и опорная картинка, включающая в себя временной соседний блок, может называться совместно расположенной картинкой (colPic). Например, интер-предсказатель 221 может конфигурировать список кандидатов информации движения на основе соседних блоков и генерировать информацию, указывающую, какой кандидат используется, чтобы вывести вектор движения и/или индекс опорной картинки текущего блока. Интер-предсказание может выполняться на основе различных режимов предсказания, и, например, в случае режима пропуска и режима объединения, интер-предсказатель 221 может использовать информацию движения соседнего блока как информацию движения текущего блока. В режиме пропуска, в отличие от режима объединения, остаточный сигнал может не передаваться. Режим предсказания вектора движения (MVP) может указывать вектор движения текущего блока с использованием вектора движения соседнего блока как предсказателя вектора движения и сигнализации разности векторов движения.
[58] Предсказатель 220 может генерировать сигнал предсказания на основе различных способов предсказания, описанных ниже. Например, предсказатель может не только применять интра-предсказание или интер-предсказание, чтобы предсказать один блок, но также одновременно применять как интра-предсказание, так и интер-предсказание. Это может называться комбинированным интер- и интра-предсказанием (CIIP). К тому же, предсказатель может выполнять внутри-блочное копирование (IBC) для предсказания блока. Внутри-блочное копирование может использоваться для кодирования изображения контента/движущегося изображения игры или тому подобного, например, кодирования экранного контента (SCC). IBC в основном выполняет предсказание в текущей картинке, но может выполняться аналогично интер-предсказанию тем, что опорный блок выводится в текущей картинке. То есть, IBC может использовать по меньшей мере один из методов интер-предсказания, описанных в настоящем документе.
[59] Сигнал предсказания, сгенерированный интер-предсказателем 221 и/или интра-предсказателем 222, может использоваться, чтобы генерировать восстановленный сигнал или генерировать остаточный сигнал. Преобразователь 232 может генерировать коэффициенты преобразования путем применения метода преобразования к остаточному сигналу. Например, метод преобразования может включать в себя по меньшей мере одно из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования на основе графа (GBT) или условно-нелинейного преобразования (CNT). Здесь, GBT означает преобразование, полученное из графа, когда информация отношения между пикселами представлена графом. CNT относится к преобразованию, полученному на основе сигнала предсказания, сгенерированного с использованием всех ранее восстановленных пикселов. К тому же, процесс преобразования может применяться к квадратным блокам пикселов, имеющим одинаковый размер, или может применяться к блокам, имеющим переменный размер, а не квадратным.
[60] Квантователь 233 может квантовать коэффициенты преобразования и передавать их на энтропийный кодер 240, и энтропийный кодер 240 может кодировать квантованный сигнал (информацию о квантованных коэффициентах преобразования) и выводить битовый поток. Информация о квантованных коэффициентах преобразования может называться информацией остатка. Квантователь 233 может переупорядочивать квантованные коэффициенты преобразования типа блока в форму одномерного вектора на основе порядка сканирования коэффициентов и генерировать информацию о квантованных коэффициентах преобразования на основе квантованных коэффициентов преобразования в форме одномерного вектора. Энтропийный кодер 240 может выполнять различные способы кодирования, такие как, например, экспоненциальное кодирование Голомба, контекстно-адаптивное кодирование с переменной длиной (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и тому подобное. Энтропийный кодер 240 может кодировать информацию, необходимую для восстановления видео/изображения, вместе или отдельно от квантованных коэффициентов преобразования (например, значения синтаксических элементов и т.п.). Закодированная информация (например, закодированная информация видео/изображения) может передаваться или сохраняться в единицах уровня сетевой абстракции (NAL) в форме битового потока. Информация видео/изображения может дополнительно включать в себя информацию о различных наборах параметров, таких как набор параметров адаптации (APS), набор параметров картинки (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). К тому же, информация видео/изображения может дополнительно включать в себя общую информацию ограничения. В настоящем документе, информация и/или синтаксические элементы, передаваемые/сигнализируемые, как описано ниже, могут кодироваться посредством вышеописанного процесса кодирования и включаться в битовый поток. Битовый поток может передаваться по сети или может сохраняться в цифровом носителе хранения. Сеть может включать в себя сеть вещания и/или сеть связи, и цифровой носитель хранения может включать в себя различные носители хранения, такие как USB, SD, CD, DVD, Blu-ray, HDD, SSD и тому подобное. Передатчик (не показан), передающий сигнал, выведенный из энтропийного кодера 240, и/или модуль хранения (не показан), хранящий сигнал, могут быть сконфигурированы как внутренний/внешний элемент устройства 200 кодирования, и альтернативно, передатчик может быть включен в энтропийный кодер 240.
[61] Квантованные коэффициенты преобразования, выведенные из квантователя 233, могут использоваться, чтобы генерировать сигнал предсказания. Например, остаточный сигнал (остаточный блок или остаточные выборки) может восстанавливаться путем применения деквантования и обратного преобразования к квантованным коэффициентам преобразования деквантователем 234 и обратным преобразователем 235. Сумматор 250 добавляет восстановленный остаточный сигнал к сигналу предсказания, выведенному из предсказателя 220, чтобы сгенерировать восстановленный сигнал (восстановленную картинку, восстановленный блок, восстановленные выборки или восстановленный массив выборок). Если отсутствует остаток для целевого блока обработки, как в случае, когда применяется режим пропуска, предсказанный блок может использоваться как восстановленный блок. Сгенерированный восстановленный сигнал может использоваться для интра-предсказания следующего целевого блока обработки в текущей картинке и может использоваться для интер-предсказания следующей картинки посредством фильтрации, как описано ниже.
[62] Между тем, отображение яркости с масштабированием цветности (LMCS) может применяться во время процесса кодирования и/или восстановления картинки.
[63] Фильтр 260 может улучшать субъективное/объективное качество изображения путем применения фильтрации к восстановленному сигналу. Например, фильтр 260 может генерировать модифицированную восстановленную картинку путем применения различных способов фильтрации к восстановленной картинке и сохранять модифицированную восстановленную картинку в памяти 270, конкретно, в DPB памяти 270. Различные способы фильтрации могут включать в себя, например, фильтрацию устранения блочности, адаптивное смещение выборки (SAO), адаптивный контурный фильтр, двунаправленный фильтр и тому подобное. Фильтр 260 может генерировать различную информацию, относящуюся к фильтрации, и передавать сгенерированную информацию на энтропийный кодер 290, как описано далее в описании каждого способа фильтрации. Информация, относящаяся к фильтрации, может кодироваться энтропийным кодером 290 и выводиться в форме битового потока.
[64] Модифицированная восстановленная картинка, передаваемая в память 270, может использоваться как опорная картинка в интер-предсказателе 221. Когда интер-предсказание применяется посредством устройства кодирования, можно избежать рассогласования предсказания между устройством 200 кодирования и устройством 300 декодирования, и эффективность кодирования может улучшаться.
[65] DPB памяти 270 DPB может хранить модифицированную восстановленную картинку для использования в качестве опорной картинки в интер-предсказателе 221. Память 270 может хранить информацию движения блока, из которой выводится (или кодируется) информация движения в текущей картинке, и/или информацию движения блоков в картинке, которые уже были восстановлены. Сохраненная информация движения может передаваться на интер-предсказатель 221, чтобы использоваться как информация движения пространственного соседнего блока или информация движения временного соседнего блока. Память 270 может хранить восстановленные выборки восстановленных блоков в текущей картинке и может переносить восстановленные выборки на интра-предсказатель 222.
[66] Фиг. 3 является диаграммой, схематично иллюстрирующей конфигурацию устройства декодирования видео/изображения, в котором может применяться раскрытие настоящего документа.
[67] Со ссылкой на фиг. 3, устройство 300 декодирования может включать в себя и быть сконфигурировано с энтропийным декодером 310, процессором 320 остатка, предсказателем 330, сумматором 340, фильтром 350 и памятью 360. Предсказатель 330 может включать в себя интер-предсказатель 331 и интра-предсказатель 332. Процессор 320 остатка может включать в себя деквантователь 321 и обратный преобразователь 322. Энтропийный декодер 310, процессор 320 остатка, предсказатель 330, сумматор 340 и фильтр 350, которые были описаны выше, могут быть сконфигурированы одним или более аппаратными компонентами (например, чипсетами декодера или процессорами) в соответствии с вариантом осуществления. К тому же, память 360 может включать в себя буфер декодированных картинок (DPB) или может быть сконфигурирована цифровым носителем хранения. Аппаратный компонент может дополнительно включать в себя память 360 как внутренний/внешний компонент.
[68] Когда битовый поток, включающий в себя информацию видео/изображения, вводится, устройство 300 декодирования может восстанавливать изображение в ответ на процесс, в котором информация видео/изображения обрабатывается в устройстве кодирования, показанном на фиг. 2. Например, устройство 300 декодирования может выводить единицы/блоки на основе информации, относящейся к разбиению блока, полученной из битового потока. Устройство 300 декодирования может выполнять декодирование с использованием единицы обработки, применяемой в устройстве кодирования. Таким образом, единица обработки для декодирования может представлять собой, например, единицу кодирования, и единица кодирования может разбиваться в соответствии со структурой квадродерева, структурой двоичного дерева и/или структурой троичного дерева из единицы дерева кодирования или наибольшей единицы кодирования. Одна или более единиц преобразования могут выводиться из единицы кодирования. Дополнительно, восстановленный сигнал изображения, декодированный и выведенный устройством 300 декодирования, может воспроизводиться посредством устройства воспроизведения.
[69] Устройство 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.
[70] Деквантователь 321 может деквантовать квантованные коэффициенты преобразования, чтобы выводить коэффициенты преобразования. Деквантователь 321 может переупорядочивать квантованные коэффициенты преобразования в форме двумерного блока. В этом случае, переупорядочивание может выполняться на основе порядка сканирования коэффициентов, выполняемого устройством кодирования. Деквантователь 321 может выполнять деквантование для квантованных коэффициентов преобразования с использованием параметра квантования (например, информации размера шага квантования) и получать коэффициенты преобразования.
[71] Обратный преобразователь 322 обратно преобразует коэффициенты преобразования, чтобы получить остаточный сигнал (остаточный блок, остаточный массив выборок).
[72] Предсказатель 330 может выполнять предсказание на текущем блоке и генерировать предсказанный блок, включающий в себя выборки предсказания текущего блока. Предсказатель может определять, применяется ли интра-предсказание или интер-предсказание к текущему блоку, на основе информации о предсказании, выведенной из энтропийного декодера 310, и может определять конкретный режим интра-/интер-предсказания.
[73] Предсказатель 320 может генерировать сигнал предсказания на основе различных способов предсказания, описанных ниже. Например, предсказатель может не только применять интра-предсказание или интер-предсказание, чтобы предсказывать один блок, но также одновременно применять интра-предсказание и интер-предсказание. Это может называться комбинированным интер- и интра-предсказанием (CIIP). К тому же, предсказатель может выполнять внутри-блочное копирование (IBC) для предсказания блока. Внутри-блочное копирование может использоваться для кодирования изображения контента/движущегося изображения игры или тому подобного, например, кодирования экранного контента (SCC). IBC в основном выполняет предсказание в текущей картинке, но может выполняться аналогично интер-предсказанию тем, что опорный блок выводится в текущей картинке. То есть, IBC может использовать по меньшей мере один из методов интер-предсказания, описанных в настоящем документе.
[74] Интра-предсказатель 332 может предсказывать текущий блок путем ссылки на выборки в текущей картинке. Указанные выборки могут быть расположены по соседству с текущим блоком или могут быть разнесены от текущего блока в соответствии с режимом предсказания. В интра-предсказании, режимы предсказания могут включать в себя множество ненаправленных режимов и множество направленных режимов. Интра-предсказатель 332 может определять режим предсказания, применяемый к текущему блоку, с использованием режима предсказания, применяемого к соседнему блоку.
[75] Интер-предсказатель 331 может выводить предсказанный блок для текущего блока на основе опорного блока (опорного массива выборок), определенного вектором движения на опорной картинке. В этом случае, чтобы уменьшить количество информации движения, передаваемой в режиме интер-предсказания, информация движения может предсказываться в единицах блоков, подблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорной картинки. Информация движения может дополнительно включать в себя информацию о направлении интер-предсказания (L0 предсказание, L1 предсказание, Bi-предсказание и т.п.). В случае интер-предсказания, соседний блок может включать в себя пространственный соседний блок, существующий в текущей картинке, и временной соседний блок, существующий в опорной картинке. Например, интер-предсказатель 331 может конструировать список кандидатов информации движения на основе соседних блоков и выводить вектор движения текущего блока и/или индекс опорной картинки на основе принятой информации выбора кандидата. Интер-предсказание может выполняться на основе различных режимов предсказания, и информация о предсказании может включать в себя информацию, указывающую режим интер-предсказания для текущего блока.
[76] Сумматор 340 может генерировать восстановленный сигнал (восстановленную картинку, восстановленный блок или восстановленный массив выборок) путем добавления полученного остаточного сигнала к сигналу предсказания (предсказанному блоку или предсказанному массиву выборок), выведенному из предсказателя 330. Если отсутствует остаток для целевого блока обработки, как в случае, когда применяется режим пропуска, предсказанный блок может использоваться как восстановленный блок.
[77] Сумматор 340 может называться реконструктором или генератором восстановленного блока. Сгенерированный восстановленный сигнал может использоваться для интра-предсказания следующего блока, подлежащего обработке в текущей картинке, и, как описано ниже, может также выводиться посредством фильтрации или может использоваться для интер-предсказания следующей картинки.
[78] Между тем, отображение яркости с масштабированием цветности (LMCS) может применяться в процессе декодирования картинки.
[79] Фильтр 350 может улучшать субъективное/объективное качество изображения путем применения фильтрации к восстановленному сигналу. Например, фильтр 350 может генерировать модифицированную восстановленную картинку путем применения различных способов фильтрации к восстановленной картинке и сохранять модифицированную восстановленную картинку в памяти 360, конкретно, в DPB памяти 360. Различные способы фильтрации могут включать в себя, например, фильтрацию устранения блочности, адаптивное смещение выборки, адаптивный контурный фильтр, двунаправленный фильтр и тому подобное.
[80] (Модифицированная) восстановленная картинка, хранящаяся в DPB памяти 360, может использоваться как опорная картинка в интер-предсказателе 331. Память 360 может хранить информацию движения блока, из которого выводится (или декодируется) информация движения в текущей картинке, и/или информацию движения блоков в картинке, которые уже были восстановлены. Сохраненная информация движения может передаваться на интер-предсказатель 331 для использования в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Память 360 может хранить восстановленные выборки восстановленных блоков в текущей картинке и переносить восстановленные выборки на интра-предсказатель 332.
[81] В настоящем описании, варианты осуществления, описанные в предсказателе 330, деквантователе 321, обратном преобразователе 322 и фильтре 350 устройства 300 декодирования, могут применяться аналогичным образом или соответствовать предсказателю 220, квантователю 234, обратному преобразователю 235 и фильтру 260 устройства 200 кодирования.
[82] Как описано выше, в выполнении кодирования видео, предсказание выполняется, чтобы повысить эффективность сжатия. Посредством этого, может генерироваться предсказанный блок, включающий в себя выборки предсказания для текущего блока, как блока, подлежащего кодированию (т.е. целевого блока кодирования). Здесь, предсказанный блок включает в себя выборки предсказания в пространственной области (или области пикселов). Предсказанный блок выводится одинаково в устройстве кодирования и устройстве декодирования, и устройство кодирования может сигнализировать информацию (остаточную информацию) об остатке между исходным блоком и предсказанным блоком, а не исходное значение выборки исходного блока, на устройство декодирования, тем самым повышая эффективность кодирования изображения. Устройство декодирования может выводить остаточный блок, включающий в себя остаточные выборки, на основе остаточной информации, суммировать остаточный блок и предсказанный блок, чтобы генерировать восстановленные блоки, включающие в себя восстановленные выборки, и генерировать восстановленную картинку, включающую в себя восстановленные блоки.
[83] Остаточная информация может генерироваться в процессе преобразования и квантования. Например, устройство кодирования может выводить остаточный блок между исходным блоком и предсказанным блоком и выполнять процесс преобразования на остаточных выборках (остаточном массиве выборок), включенных в остаточный блок, чтобы вывести коэффициенты преобразования, выполнять процесс квантования на коэффициентах преобразования, чтобы вывести квантованные коэффициенты преобразования, и сигнализировать связанную остаточную информацию на устройство декодирования (посредством битового потока). Здесь, остаточная информация может включать в себя информацию значения квантованных коэффициентов преобразования, информацию местоположения, метод преобразования, ядро преобразования, параметр квантования и т.п. Устройство декодирования может выполнять процесс деквантования/обратного преобразования на основе остаточной информации и выводить остаточные выборки (или остаточные блоки). Устройство декодирования может генерировать восстановленную картинку на основе предсказанного блока и остаточного блока. Устройство кодирования может также деквантовать/обратно преобразовывать квантованные коэффициенты преобразования, для ссылки для интер-предсказания более поздней картинки, чтобы вывести остаточный блок и сгенерировать на его основе восстановленную картинку.
[84] В настоящем документе, по меньшей мере одно из квантования/деквантования и/или преобразования/обратного преобразования может опускаться. Когда квантование/деквантование опускается, квантованный коэффициент преобразования может называться коэффициентом преобразования. Когда преобразование/ обратное преобразование опускается, коэффициент преобразования может называться коэффициентом или остаточным коэффициентом или может по-прежнему называться коэффициентом преобразования для единообразия выражения.
[85] В настоящем документе, квантованный коэффициент преобразования и коэффициент преобразования могут называться коэффициентом преобразования и масштабированным коэффициентом преобразования, соответственно. В этом случае, остаточная информация может включать в себя информацию о коэффициенте(ах) преобразования, и информация о коэффициенте(ах) преобразования может сигнализироваться через синтаксис кодирования остатка. Коэффициенты преобразования могут выводиться на основе остаточной информации (или информации о коэффициенте(ах) преобразования), и масштабированные коэффициенты преобразования могут выводиться через обратное преобразование (масштабирование) на коэффициентах преобразования. Остаточные выборки могут выводиться на основе обратного преобразования (преобразования) масштабированных коэффициентов преобразования. Это может быть применено/выражено также в других частях настоящего документа.
[86] Предсказатель устройства кодирования/устройства декодирования может выводить выборки предсказания путем выполнения интер-предсказания в единицах блоков. Интер-предсказание может быть предсказанием, выведенным способом, который зависит от элементов данных (например, значений выборок или информации движения) картинки (картинок) иных, чем текущая картинка. Когда интер-предсказание применяется к текущему блоку, предсказанный блок (массивы выборок предсказания) для текущего блока может выводиться на основе опорного блока (опорного массива выборок), определенного вектором движения на опорной картинке, указанной индексом опорной картинки. В этом случае, чтобы уменьшить количество информации движения, передаваемой в режиме интер-предсказания, информация движения текущего блока может предсказываться в единицах блоков, подблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорной картинки. Информация движения может дополнительно включать в себя информацию типа интер-предсказания (L0 предсказание, L1 предсказание, Bi-предсказание и т.д.). Когда применяется интер-предсказание, соседние блоки могут включать в себя пространственный соседний блок, существующий в текущей картинке, и временной соседний блок, существующий в опорной картинке. Опорная картинка, включающая в себя опорный блок, и опорная картинка, включающая в себя временной соседний блок, могут быть одинаковыми или разными. Временной соседний блок может называться совместно расположенным опорным блоком, совместно расположенной CU (colCU) и т.п., и опорная картинка, включающая в себя временной соседний блок, может называться совместно расположенной картинкой (colPic). Например, список кандидатов информации движения может быть сконструирован на основе соседних блоков текущего блока, и может сигнализироваться информация флага или индекса, указывающая, какой кандидат выбран (используется), чтобы вывести вектор движения и/или индекс опорной картинки текущего блока. Интер-предсказание может выполняться на основе различных режимов предсказания. Например, в режиме пропуска и режиме объединения, информация движения текущего блока может быть той же самой, что и информация движения выбранного соседнего блока. В режиме пропуска, в отличие от режима объединения, остаточный сигнал может не передаваться. В случае режима предсказания вектора движения (MVP), вектор движения выбранного соседнего блока может использоваться как предсказатель вектора движения, и разность векторов движения может сигнализироваться. В этом случае, вектор движения текущего блока может выводиться с использованием суммы предсказателя вектора движения и разности векторов движения.
[87] Информация движения может включать в себя информацию движения 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).
[88] Фиг. 4 показывает пример иерархической структуры для кодированного изображения/видео.
[89] Со ссылкой на фиг. 4, кодированное изображение/видео делится на VCL (уровень кодирования видео), который имеет дело с процессом декодирования изображения/видео самим по себе, подсистему, которая передает и хранит кодируемую информацию, и уровень сетевой абстракции (NAL), который существует между VCL и подсистемами и отвечает за функции сетевой абстракции.
[90] VCL может генерировать данные VCL, включающие в себя сжатые данные изображения (данные вырезки), или генерировать наборы параметров, включая набор параметров картинки (Picture Parameter Set: PPS), набор параметров последовательности (Sequence Parameter Set: SPS), набор параметров видео (Video Parameter Set: VPS) и т.д. или сообщение вспомогательной информации расширения (SEI), дополнительно необходимое для процесса декодирования изображения.
[91] В NAL, единица NAL может генерироваться путем добавления информации заголовка (заголовка единицы NAL) к исходной полезной нагрузке байтовой последовательности (RBSP), генерируемой в VCL. В этом случае, RBSP ссылается на данные вырезки, наборы параметров, сообщения SEI и т.д., генерируемые в VCL. Заголовок единицы NAL может включать в себя информацию типа единицы NAL, определенную в соответствии с данными RBSP, включенными в соответствующую единицу NAL.
[92] Как показано на чертеже, единица NAL может быть разделена на единицу VCL NAL и единицу не-VCL NAL в соответствии с RBSP, генерируемой в VCL. Единица VCL NAL может означать единицу NAL, включающую в себя информацию (данные вырезки) об изображении, и единица не-VCL NAL может означать единицу NAL, содержащую информацию (набор параметров или сообщение SEI), необходимую для декодирования изображения.
[93] Вышеописанная единица VCL NAL и единица не-VCL NAL могут передаваться через сеть путем присоединения информации заголовка в соответствии со стандартом данных подсистемы. Например, единица NAL может быть преобразована в форму данных предопределенного стандарта, такого как файловый формат H.266/VVC, транспортный протокол реального времени (RTP), транспортный поток (TS) и т.д., и передаваться через различные сети.
[94] Как описано выше, в единице NAL, тип единицы NAL может быть определен в соответствии со структурой данных RBSP, включенной в соответствующую единицу NAL, и информация об этом типе единицы NAL может сохраняться и сигнализироваться в заголовке единицы NAL.
[95] Например, единица NAL может быть грубо проклассифицирована на тип единицы VCL NAL и тип единицы не-VCL NAL в зависимости от того, включает ли единица NAL информацию об изображении (данные вырезки). Тип единицы VCL NAL может быть классифицирован в соответствии со свойством и типом картинки, включенной в единицу VCL NAL, и тип единицы не-VCL NAL может быть классифицирован в соответствии с типом набора параметров.
[96] Далее приведен пример типа единицы NAL, определенного в соответствии с типом набора параметров, включенного в тип единицы не-VCL NAL.
[97] - единица APS (набор параметров адаптации) NAL: Тип для единицы NAL, включающей APS
[98] - единица DPS (набор параметров декодирования) NAL: Тип для единицы NAL, включающей DPS
[99] - единица VPS (набор параметров видео) NAL: Тип для единицы NAL, включающей VPS
[100] - единица SPS (набор параметров последовательности) NAL: Тип для единицы NAL, включающей SPS
[101] - единица PPS (набор параметров картинки) NAL: Тип для единицы NAL, включающей PPS
[102] - единица PH (заголовок картинки) NAL: Тип для единицы NAL, включающей PH
[103] Вышеописанные типы единицы NAL имеют информацию синтаксиса для типа единицы NAL, и информация синтаксиса может сохраняться и сигнализироваться в заголовке единицы NAL. Например, информация синтаксиса может представлять собой nal_unit_type, и типы единицы NAL могут быть определены значением nal_unit_type.
[104] Между тем, как описано выше, одна картинка может включать в себя множество вырезок, и одна вырезка может включать в себя заголовок вырезки и данные вырезки. В этом случае, один заголовок картинки может добавляться к множеству вырезок (заголовок вырезки и набор данных вырезки) в одной картинке. Заголовок картинки (синтаксис заголовка картинки) может включать в себя информацию/параметры, в общем применимые к картинке. В этом документе, вырезка может смешиваться или заменяться на группу мозаичных элементов. Также, в этом документе, заголовок вырезки может смешиваться или заменяться на заголовок группы мозаичных элементов.
[105] Заголовок вырезки (синтаксис заголовка вырезки или информация заголовка вырезки) может включать в себя информацию/параметры, в общем применимые к вырезке. APS (синтаксис APS) или PPS (синтаксис PPS) может включать в себя информацию/параметры, в общем применимые к одной или более вырезкам или картинкам. SPS (синтаксис SPS) может включать в себя информацию/параметры, в общем применимые к одной или более последовательностям. VPS (синтаксис VPS) может включать в себя информацию/параметры, в общем применимые к множеству уровней. DPS (синтаксис DPS) может включать в себя информацию/параметры, в общем применимые ко всему видео. DPS может включать в себя информацию/параметры, относящиеся к конкатенации кодированной последовательности видео (CVS). В этом документе, синтаксис высокого уровня (HLS) может включать в себя по меньшей мере одно из синтаксиса APS, синтаксиса PPS, синтаксиса SPS, синтаксиса VPS, синтаксиса DPS, синтаксиса заголовка картинки и синтаксиса заголовка вырезки.
[106] В этом документе, информация изображения/видео, закодированная в устройстве кодирования и сигнализируемая в форме битового потока на устройство декодирования, может включать в себя, как и связанную с разбиением картинки информацию в картинке, информацию интра-/интер-предсказания, остаточную информацию, информацию внутриконтурной фильтрации и т.д., информацию, включенную в заголовок вырезки, информацию, включенную в заголовок картинки, информацию, включенную в APS, информацию, включенную в PPS, информацию, включенную в SPS, информацию, включенную в VPS, и/или информацию, включенную в DPS. Кроме того, информация изображения/видео может дополнительно включать в себя информацию заголовка единицы NAL.
[107] Между тем, чтобы компенсировать различие между исходным изображением и восстановленным изображением ввиду ошибки, возникающей в процессе кодирования со сжатием, таком как квантование, процесс внутриконтурной фильтрации может выполняться на восстановленных выборках или восстановленных картинках, как описано выше. Как описано выше, внутриконтурная фильтрация может выполняться фильтром устройства кодирования и фильтром устройства декодирования, и может применяться фильтр устранения блочности, SAO, и/или адаптивный контурный фильтр (ALF). Например, процесс ALF может выполняться после того, как выполнены процесс фильтрации устранения блочности и процесс SAO. Однако, даже в этом случае, процесс фильтрации устранения блочности и/или процесс SAO может быть опущен.
[108] Далее, восстановление и фильтрация картинки будут описаны подробно. При кодировании изображения/видео, восстановленный блок может генерироваться на основе интра-предсказания/интер-предсказания в единице блока, и может генерироваться восстановленная картинка, включающая в себя восстановленные блоки. Если текущая картинка/вырезка представляет собой I-картинку/вырезку, блоки, включенные в текущую картинку/вырезку, могут быть восстановлены на основе только интра-предсказания. Между тем, если текущая картинка/вырезка представляет собой P- или B-картинку/вырезку, блоки, включенные в текущую картинку/вырезку, могут быть восстановлены на основе интра-предсказания или интер-предсказания. В этом случае, интра-предсказание может применяться к некоторым блокам в текущей картинке/вырезке, и интер-предсказание может применяться к остальным блокам.
[109] Интра-предсказание может представлять предсказание для генерации выборок предсказания для текущего блока на основе опорных выборок в картинке, которой принадлежит текущий блок (далее называемой текущей картинкой). В случае, когда интра-предсказание применяется к текущему блоку, могут выводиться соседние опорные выборки, подлежащие использованию для интра-предсказания текущего блока. Соседние опорные выборки текущего блока могут включать в себя выборку, смежную с левой границей текущего блока, имеющего размер nW×nH, всего 2×nH выборок, соседних снизу-слева, выборку, смежную с верхней границей текущего блока, всего 2×nW выборок, соседних сверху-справа, и одну выборку, соседнюю сверху-слева от текущего блока. Альтернативно, соседние опорные выборки текущего блока могут включать в себя верхнюю соседнюю выборку множества столбцов и левую соседнюю выборку множества строк. Альтернативно, соседние опорные выборки текущего блока могут включать в себя всего nH выборок, смежных с правой границей текущего блока, имеющего размер nW×nH, всего nH выборок, смежных с правой границей текущего блока, всего nW выборок, смежных с нижней границей текущего блока, и одну выборку, соседнюю снизу-справа от текущего блока.
[110] Однако, некоторые из соседних опорных выборок текущего блока могут еще не быть декодированными или могут быть недоступными. В этом случае, декодер может конфигурировать соседние опорные выборки, используемые для предсказания, путем замены выборок, которые недоступны, на доступные выборки. Альтернативно, соседние опорные выборки, подлежащие использованию для предсказания, могут быть сконфигурированы через интерполяцию доступных выборок.
[111] В случае, когда выводятся соседние опорные выборки, (i) выборка предсказания может выводиться на основе среднего или интерполяции соседних опорных выборок текущего блока, и (ii) выборка предсказания может выводиться на основе опорной выборки, присутствующей в конкретном направлении (предсказания), для выборки предсказания среди соседних опорных выборок текущего блока. Случай (i) может называться ненаправленным режимом или не-угловым режимом, и случай (ii) может называться направленным режимом или угловым режимом. Кроме того, выборка предсказания может генерироваться посредством интерполяции первой соседней выборки с второй соседней выборкой, расположенной в направлении, противоположном направлению предсказания режима интра-предсказания текущего блока, на основе выборки предсказания текущего блока среди соседних опорных выборок. Вышеописанный случай может называться интра-предсказанием линейной интерполяции (LIP). К тому же, выборки предсказания цветности могут генерироваться на основе выборок яркости с использованием линейной модели. Этот случай может называться режимом LM. К тому же, временная выборка предсказания текущего блока может выводиться на основе отфильтрованных соседних опорных выборок, и выборка предсказания текущего блока может выводиться путем вычисления взвешенной суммы временной выборки предсказания и по меньшей мере одной опорной выборки, выведенной в соответствии с режимом интра-предсказания, среди существующих соседних опорных выборок, то есть, неотфильтрованных соседних опорных выборок. Вышеописанный случай может называться зависимым от местоположения интра-предсказанием (PDPC). Кроме того, выборка предсказания может выводиться с использованием опорной выборки, расположенной в направлении предсказания на линии опорных выборок, имеющей самую высокую точность предсказания среди соседних линий множества опорных выборок текущего блока, путем выбора соответствующей линии, и в этом случае кодирование интра-предсказания может выполняться в способе для указания (сигнализации) используемой линии опорных выборок на устройство декодирования. Вышеописанный случай может называться интра-предсказанием с множеством опорных линий (MRL) или интра-предсказанием на основе MRL. Кроме того, интра-предсказание может выполняться на основе одного и того же режима интра-предсказания путем деления текущего блока на вертикальные или горизонтальные подразбиения, и соседние опорные выборки могут выводиться и использоваться в единице подразбиения. То есть, в этом случае, поскольку режим интра-предсказания для текущего блока равным образом применяется к подразбиениям, и соседние опорные выборки выводятся и используются в единице подразбиения, выполнение интра-предсказания может быть улучшено в некоторых случаях. Такой способ предсказания может называться интра-предсказанием подразбиения (ISP) или интра-предсказанием на основе ISP. Вышеописанный способ интра-предсказания может называться типом интра-предсказания в отличие от режима интра-предсказания в секциях 1.2. Тип интра-предсказания может называться различными терминами, такими как метод интра-предсказания или дополнительный режим интра-предсказания. Например, тип интра-предсказания (или дополнительный режим интра-предсказания) может включать в себя по меньшей мере одно из вышеописанных LIP, PDPC, MRL и ISP. Общий способ интра-предсказания за исключением специального типа интра-предсказания, такого как LIP, PDPC, MRL или ISP, может называться нормальным типом интра-предсказания. Нормальный тип интра-предсказания может, в общем, применяться, когда специальный тип интра-предсказания не применяется, и предсказание может выполняться на основе режима интра-предсказания, описанного выше. Между тем, по мере необходимости, пост-фильтрация может выполняться для выведенной выборки предсказания.
[112] Конкретно, процесс интра-предсказания может включать в себя этапы определения режима/типа интра-предсказания, вывода соседней опорной выборки и вывода выборки предсказания на основе режима/типа интра-предсказания. Кроме того, по мере необходимости, этап пост-фильтрации может выполняться для выведенной выборки предсказания.
[113] Восстановленная картинка, модифицированная с помощью процесса внутриконтурной фильтрации, может генерироваться, и модифицированная восстановленная картинка может выводиться как декодированная картинка из устройства декодирования. Далее, модифицированная восстановленная картинка может сохраняться в буфере декодированных картинок или памяти устройства кодирования/устройства декодирования и затем может использоваться как опорная картинка в процессе интер-предсказания, когда картинка кодируется/декодируется. Процесс внутриконтурной фильтрации может включать в себя процесс фильтрации устранения блочности, процесс адаптивного смещения выборки (SAO) и/или процесс адаптивного контурного фильтра (ALF), как описано выше. В этом случае, один или некоторые из фильтрации устранения блочности, процесса адаптивного смещения выборки (SAO), процесса адаптивного контурного фильтра (ALF) и процесса двунаправленного фильтра могут применяться последовательно или все из этих процессов могут применяться последовательно. Например, процесс SAO может выполняться после того, как процесс фильтрации устранения блочности применен к восстановленной картинке. Кроме того, например, процесс ALF может выполняться после того, как процесс фильтрации устранения блочности применен к восстановленной картинке. Это может таким же образом выполняться устройством кодирования.
[114] Фильтр устранения блочности представляет собой метод фильтрации, который удаляет искажение, возникающее на границах между блоками в восстановленной картинке. Например, процесс фильтрации устранения блочности может выводить целевую границу из восстановленной картинки, определять силу границы (bS) для целевой границы и выполнять фильтрацию устранения блочности для целевой границы на основе bS. bS может определяться на основе режима предсказания двух блоков, смежных с целевой границей, разности векторов движения, являются ли идентичными опорные картинки, и присутствует ли ненулевой значимый коэффициент.
[115] SAO является способом для компенсации разности смещений между восстановленной картинкой и исходной картинкой в единице выборки и может применяться, например, на основе типа смещения полосы, смещения края и т.п. В соответствии с SAO, выборки классифицируются на разные категории в соответствии с типами SAO, и значения смещения могут добавляться к соответствующим выборкам на основе категорий. Информация фильтрации для SAO может включать в себя информацию о том, применяется ли SAO, информацию типа SAO и информацию значения смещения SAO. SAO может применяться к восстановленной картинке после применения фильтрации устранения блочности.
[116] Адаптивный контурный фильтр (ALF) представляет собой метод фильтрации для восстановленной картинки в единице выборки на основе коэффициентов фильтра в соответствии с формой фильтра. Устройство кодирования может определять, применяется ли ALF, форму ALF и/или коэффициент фильтрации ALF или т.п., путем сравнения восстановленной картинки и исходной картинки друг с другом и может сигнализировать их на устройство декодирования. То есть, информация фильтрации для ALF может включать в себя информацию о том, применяется ли ALF, информацию формы фильтра ALF и информацию коэффициента фильтрации ALF. ALF может применяться к восстановленной картинке после применения фильтрации устранения блочности.
[117] Фиг. 5 иллюстрирует картинку в соответствии с вариантом осуществления настоящего документа. Примерная картинка на фиг. 5 может быть разделена на подкартинки, вырезки и мозаичные элементы.
[118] Со ссылкой на фиг. 5, картинка может быть разделена на подкартинки. Например, подкартинка может включать в себя одну или более вырезок. Вырезка может представлять прямоугольную область картинки. Кроме того, картинка может быть разделена на мозаичные элементы. Например, прямоугольная вырезка может включать в себя только часть (поднабор) одного мозаичного элемента. То есть, на фиг. 5, две прямоугольные вырезки находятся в том же самом мозаичном элементе, и две прямоугольные вырезки могут принадлежать разным подкартинкам. Проблемы, вызванные случаем согласно фиг. 5, и их решения будут описаны далее.
[119] В примере, картинка/подкартинка может кодироваться на основе подкартинки(ок)/вырезки(ок)/мозаичного элемента(ов). Устройство кодирования может кодировать текущую картинку на основе структуры подкартинки/вырезки/мозаичного элемента, или устройство кодирования может кодировать одну или более подкартинок (включая вырезки/мозаичные элементы) текущей картинки, и может выводить битовый (под)поток, включающий в себя (закодированную) информацию о подкартинке. Устройство декодирования может декодировать одну или более подкартинок в текущей картинке на основе битового (под)потока, включающего в себя (закодированную) информацию для подкартинки(ок)/ вырезки(ок)/мозаичного элемента(ов).
[120] Фиг. 6 иллюстрирует способ кодирования на основе подкартинки/вырезки/мозаичного элемента в соответствии с вариантом осуществления настоящего документа.
[121] Кодер может делить (входную) картинку на множество (или одну или более) подкартинок/вырезок)/мозаичных элементов. Каждая подкартинка может индивидуально/независимо кодироваться, и может выводиться битовый поток. Здесь, битовый поток для подкартинки может называться подпотоком, поднабором или битовым подпотоком. Информация о подкартинке/вырезке/мозаичном элементе может включать в себя информацию/синтаксический элемент(ы), описанные в настоящем документе. Например, информация о вырезке может включать в себя информацию, относящуюся к числу вырезок, сигнализируемых для каждой картинки/подкартинки, и ширину/высоту вырезок в мозаичных элементах. Например, информация о мозаичном элементе может включать в себя информацию, относящуюся к числу мозаичных элементов (например, число столбцов мозаичного элемента и/или число строк мозаичного элемента), и информацию, относящуюся к размеру каждого мозаичного элемента (например, ширину и/или высоту).
[122] Кодер может кодировать одну или более подкартинок как информацию о подкартинке. Кодер может кодировать одну или более вырезок/мозаичных элементов как информацию о вырезке/мозаичном элементе.
[123] Фиг. 7 иллюстрирует способ декодирования на основе подкартинки/вырезки/мозаичного элемента в соответствии с вариантом осуществления настоящего документа.
[124] Декодер может декодировать одну или более подкартинок (включающих в себя вырезки/мозаичные элементы) и может выводить одну или более декодированных подкартинок или текущую картинку, включающую в себя подкартинки. Битовый поток может включать в себя подпоток(и) или битовый (под)поток(и) для подкартинки(ок). Как описано выше, информация о подкартинке/вырезке/мозаичном элементе может быть сконфигурирована в синтаксисе высокого уровня (HLS), включенном в битовый поток. Декодер может выводить одну или более подкартинок на основе информации о подкартинке. Декодер может выводить одну или более вырезок/мозаичных элементов на основе информации о вырезке/мозаичном элементе. Декодер может декодировать все или некоторые из подкартинок. Декодер может декодировать подкартинку (включающую в себя текущий блок (или CU)), CTU, вырезку и/или мозаичный элемент на основе CABAC, предсказания, обработки остатка (преобразование и квантование) и внутриконтурной фильтрации. Соответственно, декодированная подкартинка(и) может выводиться. Декодированная подкартинка(и) может включать в себя восстановленный/декодированный блок(и). Декодированные подкартинки в выходном наборе подкартинок (OPS) могут выводиться совместно. В качестве примера, если картинка относится к 360-градусному или всенаправленному изображению/видео, некоторые из них могут визуализироваться, и, в этом случае, только некоторые из всех подкартинок могут декодироваться, и некоторые или все из декодированных подкартинок могут визуализироваться в соответствии с окном просмотра или положением просмотра пользователя. Кроме того, если задействована информация, указывающая (представляющая), включена ли внутриконтурная фильтрация по границам подкартинок, декодер может применять процесс внутриконтурной фильтрации (например, фильтрацию устранения блочности) в отношении границы подкартинок, расположенной между двумя подкартинками. Например, если граница подкартинок является той же самой, что и граница картинок, процесс внутриконтурной фильтрации для границ подкартинок может применяться или может не выполняться.
[125] В вариантах осуществления настоящего документа, информация изображения/видео может включать в себя HLS, и HLS может включать в себя информацию о подкартинке(ах)/ вырезке(ах)/мозаичном элементе(ах). Информация о подкартинке(ах) может включать в себя информацию, представляющую одну или более подкартинок в текущей картинке. Информация о вырезке(ах) может включать в себя информацию, представляющую одну или более вырезок в текущей картинке, подкартинке или мозаичном элементе. Информация о мозаичном элементе(ах) может включать в себя информацию, представляющую один или более мозаичных элементов в текущей картинке, подкартинке или вырезке. Картинка может включать в себя мозаичный элемент, включающий в себя одну или более вырезок, и/или вырезку, включающую в себя один или более мозаичных элементов. Кроме того, картинка может включать в себя подкартинку, включающую в себя одну или более вырезок/мозаичных элементов.
[126] Следующие таблицы представляют синтаксис, относящийся к вышеописанному разделению (подкартинка/вырезка/мозаичный элемент). Информация о подкартинке(ах)/вырезке(ах)/мозаичном элементе(ах) может включать в себя синтаксические элементы в следующих таблицах.
[127] Следующая таблица представляет синтаксис набора параметров последовательности (SPS) на основе разделения картинки (подкартинка/вырезка/мозаичный элемент).
[128]
[129] Следующая таблица представляет синтаксис набора параметров картинки (PPS) на основе разделения картинки (подкартинка/вырезка/мозаичный элемент).
[130]
[131] Следующая таблица представляет синтаксис заголовка вырезки на основе разделения картинки (подкартинка/вырезка/мозаичный элемент).
[132]
[133] Фиг. 8 представляет собой блок-схему последовательности операций, показывающую способ кодирования на основе фильтрации в устройстве кодирования. Способ согласно фиг. 8 может включать в себя этапы от S800 до S830.
[134] На этапе S800, устройство кодирования может генерировать восстановленную картинку. Этап S600 может выполняться на основе вышеупомянутого процесса генерации восстановленной картинки (или восстановленных выборок).
[135] На этапе S810, устройство кодирования может определять, применяется ли внутриконтурная фильтрация (по виртуальной границе), на основе информации, относящейся к внутриконтурной фильтрации. Здесь, внутриконтурная фильтрация может включать в себя по меньшей мере одно из вышеупомянутых фильтрации устранения блочности, SAO и ALF.
[136] На этапе S820, устройство кодирования может генерировать модифицированную восстановленную картинку (модифицированные восстановленные выборки) на основе определения на этапе S810. Здесь, модифицированная восстановленная картинка (модифицированные восстановленные выборки) может представлять собой отфильтрованную восстановленную картинку (отфильтрованные восстановленные выборки).
[137] На этапе S830, устройство кодирования может кодировать информацию изображения/видео, включая информацию, относящуюся к внутриконтурной фильтрации, на основе процесса внутриконтурной фильтрации.
[138] Фиг. 9 представляет собой блок-схему последовательности операций, показывающую способ декодирования на основе фильтрации в устройстве декодирования. Способ согласно фиг. 9 может включать в себя этапы от S900 до S930.
[139] На этапе S900, устройство декодирования может получать информацию изображения/видео, включая информацию, относящуюся к внутриконтурной фильтрации, из битового потока. Здесь, битовый поток может быть основан на кодированной информации изображения/видео, переданной из устройства кодирования.
[140] На этапе S910, устройство декодирования может генерировать восстановленную картинку. Этап S910 может выполняться на основе вышеописанного процесса генерации восстановленной картинки (или восстановленных выборок).
[141] На этапе S920, устройство декодирования может определять, применяется ли внутриконтурная фильтрация (по виртуальной границе), на основе информации, относящейся к внутриконтурной фильтрации. Здесь, внутриконтурная фильтрация может включать в себя по меньшей мере одно из вышеупомянутых фильтрации устранения блочности, SAO и ALF.
[142] На этапе S930, устройство декодирования может генерировать модифицированную восстановленную картинку (модифицированные восстановленные выборки) на основе определения на этапе S920. Здесь, модифицированная восстановленная картинка (модифицированные восстановленные выборки) могут представлять собой отфильтрованную восстановленную картинку (отфильтрованные восстановленные выборки).
[143] Как описано выше, процесс внутриконтурной фильтрации может применяться к восстановленной картинке. В этом случае, виртуальная граница может быть определена, чтобы дополнительно улучшить субъективное/объективное визуальное качество восстановленной картинки, и процесс внутриконтурной фильтрации может применяться по виртуальной границе. Например, виртуальная граница может включать прерывистый край, такой как 360-градусное изображение, изображение VR, границу, картинку в картинке (PIP) и т.п. Например, виртуальная граница может присутствовать в предопределенном местоположении, и ее наличие и/или местоположение может сигнализироваться. Например, виртуальная граница может находиться у четвертой сверху линии выборок строки CTU (в частности, например, над верхней четвертой выборкой строки CTU). В качестве другого примера, информация о наличии/отсутствии и/или местоположении виртуальной границы может сигнализироваться посредством HLS. HLS может включать в себя SPS, PPS, заголовок картинки и заголовок вырезки, как описано выше.
[144] Далее будут описаны сигнализация синтаксиса высокого уровня и семантика в соответствии с вариантами осуществления настоящего документа.
[145] Вариант осуществления настоящего документа может включать в себя способ для управления контурными фильтрами. Настоящий способ для управления контурными фильтрами может применяться к восстановленной картинке. Внутриконтурные фильтры (контурные фильтры) могут использоваться для декодирования закодированных битовых потоков. Контурные фильтры могут включать в себя вышеописанные устранение блочности, SAO и ALF. SPS может включать в себя флаги, относящиеся к устранению блочности, SAO и ALF, соответственно. Флаги могут представлять, задействованы ли соответствующие инструментальные средства для кодирования видеопоследовательности кодируемого уровня (CLVS) или кодируемой видеопоследовательности (CVS), ссылающейся на SPS.
[146] Когда контурные фильтры задействованы для CVS, применением контурных фильтров можно управлять, чтобы не пересекать конкретные границы. Например, можно управлять тем, пересекают ли контурные фильтры границы подкартинок. Кроме того, можно управлять тем, пересекают ли контурные фильтры границы мозаичного элемента. Дополнительно, можно управлять тем, пересекают ли контурные фильтры виртуальные границы. Здесь, виртуальные границы могут быть определены на CTU на основе доступности линейного буфера.
[147] Относительно того, выполняется ли процесс внутриконтурной фильтрации по виртуальной границе, информация, относящаяся к внутриконтурной фильтрации, может включать в себя по меньшей мере одно из флага включения виртуальных границ SPS (флаг включения виртуальных границ в SPS), флага присутствия виртуальных границ SPS, флага присутствия виртуальных границ заголовка картинки, флага присутствия виртуальных границ заголовка картинки SPS и информации о местоположении виртуальной границы.
[148] В вариантах осуществления, включенных в настоящий документ, информация о местоположении виртуальной границы может включать в себя информацию о x-координате вертикальной виртуальной границы и/или информацию о y-координате горизонтальной виртуальной границы. Конкретно, информация о местоположении виртуальной границы может включать в себя информацию о x-координате вертикальной виртуальной границы и/или информацию о y-координате горизонтальной виртуальной границы в единице выборок яркости. Кроме того, информация о местоположении виртуальной границы может включать в себя информацию о числе частей информации (синтаксических элементов) о x-координате вертикальной виртуальной границы, которая присутствует в SPS. Кроме того, информация о виртуальной границе может включать в себя информацию о числе частей информации (синтаксических элементов) о y-координате горизонтальной виртуальной границы, которая присутствует в SPS. Кроме того, информация о местоположении виртуальной границы может включать в себя информацию о числе частей информации (синтаксических элементов) о x-координате вертикальной виртуальной границы, которая присутствует в заголовке картинки. Кроме того, информация о местоположении виртуальной границы может включать в себя информацию о числе частей информации (синтаксических элементов) по y-координате горизонтальной виртуальной границы, которая присутствует в заголовке картинки.
[149] Следующие таблицы показывают примерный синтаксис и семантику набора параметров последовательности (SPS) в соответствии с настоящим вариантом осуществления.
[150]
[151]
[152] Следующие таблицы представляют примерный синтаксис и семантику набора параметров картинки (PPS) в соответствии с настоящим вариантом осуществления.
[153]
[154]
[155] Следующие таблицы показывают примерный синтаксис и семантику заголовка картинки в соответствии с настоящим вариантом осуществления.
[156]
[157]
[158]
[159]
[160] Следующие таблицы показывают примерный синтаксис и семантику заголовка выборки в соответствии с настоящим вариантом осуществления.
[161]
[162]
[163] Далее будет описана информация, относящаяся к подкартинкам, информация, относящаяся к виртуальным границам, которые могут использоваться для внутриконтурной фильтрации, и их сигнализация.
[164] В примере, две различные прямоугольные вырезки могут принадлежать различным подкартинкам при совместном использовании того же самого мозаичного элемента. В этом случае, может возникнуть проблема, при которой сложность кодирования возрастает.
[165] Чтобы упростить разделение картинки, вариант осуществления настоящего документа может включать в себя примеры условий для картинки, разделяемой на две или более подкартинок. В примере, все CTU в одном мозаичном элементе могут принадлежать тем же самым подкартинкам. В другом примере, все CTU в подкартинке могут принадлежать тому же самому мозаичному элементу. Вышеописанные два примера могут применяться отдельно для кодирования изображения/видео, могут применяться последовательно или могут применяться в комбинации. Кроме того, в варианте осуществления настоящего документа, в случае, когда подкартинка включает в себя CTU, являющиеся поднаборами из всех CTU в одном мозаичном элементе, подкартинка может не включать в себя CTU, принадлежащие другому мозаичному элементу.
[166] В сигнализации для текущей картинки, если значение subpic_present_flag равно 1, число подкартинок в каждой картинке, ссылающейся на SPS, может быть равно 1 (значение sps_num_subpics_minus1 равно 0). Такое условие было принято, чтобы поддерживать пример использования извлечения подкартинки, в котором подкартинка независимо кодируется, из битового потока, чтобы сформировать другой битовый поток даже без изменения значений меньших, чем значения набора параметров. Соответственно, даже если значение subpic_present_flag равно 1, и значение sps_num_subpics_minus1 равно 0, subpic_ctu_top_left_x[0], subpic_ctu_top_left_y[0], subpic_width_minus1[0], subpic_height_minus1[0], subpic_treated_as_pic_flag[i] и/или loop_filter_across_subpic_enabled_flag[i] все еще присутствуют. В такой ситуации, такие синтаксические элементы могут присутствовать, перекрываясь друг с другом, и если сигнал для неверного значения принят в соответствующем синтаксическом элементе, это может сделать операцию декодера непредсказуемой. Например, если значение subpics_present_flag равно 1, и значение sps_num_subpics_minus1 равно 0, это означает, что присутствует только одна подкартинка (сама картинка), и значение subpic_treat_as_pic_flag[0] равно 1. В этом случае, если соответствующее значение сигнализируется как значение 0, может возникнуть проблема противоречивости в процессе декодирования.
[167] Чтобы решить вышеописанную проблему, вариант осуществления настоящего документа включает в себя примеры условий, которые могут применяться в случае, когда присутствует сигнализация подкартинки (например, значение subpic_present_flag равно 1), и только одна подкартинка присутствует в картинке (например, значение sps_num_subpics_minus1 равно 0). Приведенные выше примеры условий могут быть такими, как показано в следующей таблице.
[168]
[169] В примере, в случае, когда присутствует сигнализация подкартинки, и положения виртуальных границ присутствуют в заголовке картинки, имеется проблема, состоящая в том, что заголовок картинки должен быть перезаписан, чтобы идентифицировать, корректна ли сигнализация местоположения виртуальных границ в сценариях извлечения подкартинок и объединения подкартинок. Это может нарушить цель проектирования извлечения/объединения подкартинок, в котором битовый поток не требуется перезаписывать для единицы NAL уровня, который ниже, чем уровень наборов параметров.
[170] Чтобы решить вышеописанную проблему, в соответствии с вариантом осуществления настоящего документа, если присутствует сигнализация подкартинки (например, если сигнализация подкартинки присутствует в SPS), сигнализация положений виртуальных границ может не включаться в заголовок картинки. В качестве примера, если сигнализация подкартинки присутствует, информация о положениях виртуальных границ может быть включена в набор параметров высокого уровня. Например, если сигнализация подкартинки присутствует, информация о положениях виртуальных границ может быть включена в SPS. Кроме того, если сигнализация подкартинки присутствует, информация о положениях виртуальных границ может быть включена в PPS.
[171] В варианте осуществления настоящего документа, если сигнализация ID подкартинки присутствует (если значение sps_subpic_id_present_flag равно 1, все подкартинки могут быть независимо кодируемыми подкартинками (значение subpic_treated_as_pic_flag[i] равно 1). В этом случае, местоположения (например, SPS, PPS или заголовок картинки) сигнализации ID подкартинки могут не иметь никакого соотношения.
[172] В соответствии с вариантами осуществления настоящего документа вместе с приведенными выше таблицами, может быть определено, сигнализируется ли информация, относящаяся к виртуальным границам (например, информация, относящаяся к положениям виртуальных границ), в наборе параметров последовательности на основе того, присутствует ли информация подкартинки. Например, в случае, когда информация подкартинки присутствует в соответствующей последовательности, информация, относящаяся к виртуальным границам (например, информация, относящаяся к положениям виртуальных границ), может сигнализироваться в наборе параметров последовательности. Соответственно, способ кодирования на основе виртуальных границ в соответствии с вариантами осуществления настоящего документа может эффективно выполняться без перезаписи или изменения синтаксиса высокого уровня.
[173] Фиг. 10 и фиг. 11 схематично показывают пример способа кодирования видео/изображения и связанные компоненты в соответствии с вариантом(ами) осуществления настоящего документа.
[174] Способ, раскрытый на фиг. 10, может выполняться устройством кодирования, раскрытым на фиг. 2 или фиг. 11. Конкретно, например, S1000 и S1010 на фиг. 10 могут выполняться процессором 230 остатка устройства кодирования согласно фиг. 11, S1020 на фиг. 10 может выполняться фильтром 260 устройства кодирования согласно фиг. 11, и S1030 на фиг. 10 может выполняться энтропийным кодером 240 устройства кодирования согласно фиг. 11. Кроме того, хотя не показано на фиг. 10, выборки предсказания или связанная с предсказанием информация могут выводиться предсказателем 220 устройства кодирования согласно фиг. 10, и битовый поток может генерироваться из остаточной информации или связанной с предсказанием информации энтропийным кодером 240 устройства кодирования. Способ, раскрытый на фиг. 10, может включать в себя вышеупомянутые варианты осуществления настоящего документа.
[175] Со ссылкой на фиг. 10, устройство кодирования может выводить остаточные выборки (S1000). Устройство кодирования может выводить остаточные выборки для текущего блока, и остаточные выборки для текущего блока могут выводиться на основе исходных выборок и выборок предсказания текущего блока. Конкретно, устройство кодирования может выводить выборки предсказания текущих блоков на основе режима предсказания. В этом случае, могут применяться различные способы предсказания, раскрытые в настоящем документе, такие как интер-предсказание или интра-предсказание. Остаточные выборки могут выводиться на основе выборок предсказания и исходных выборок.
[176] Устройство кодирования может выводить коэффициенты преобразования. Устройство кодирования может выводить коэффициенты преобразования на основе процесса преобразования для остаточных выборок. Например, процесс преобразования может включать в себя по меньшей мере одно из DCT, DST, GBT или CNT.
[177] Устройство кодирования может выводить квантованные коэффициенты преобразования. Устройство кодирования может выводить квантованные коэффициенты преобразования на основе процесса квантования для коэффициентов преобразования. Квантованные коэффициенты преобразования могут иметь форму одномерного вектора, на основе порядка сканирования коэффициентов.
[178] Устройство кодирования может генерировать остаточную информацию (S1010). Устройство кодирования может генерировать остаточную информацию на основе остаточных выборок для текущего блока. Устройство кодирования может генерировать остаточную информацию, представляющую квантованные коэффициенты преобразования. Остаточная информация может генерироваться различными способами кодирования, такими как экспоненциальное кодирование Голомба, CAVLC и CABAC.
[179] Устройство кодирования может генерировать восстановленные выборки. Устройство кодирования может генерировать восстановленные выборки на основе остаточной информации. Восстановленные выборки могут генерироваться путем суммирования остаточных выборок на основе остаточной информации с выборкой предсказания. Конкретно, устройство кодирования может выполнять предсказание (интра- или интер-предсказание) для текущего блока и может генерировать восстановленные выборки на основе исходных выборок и выборок предсказания, сгенерированных посредством предсказания.
[180] Восстановленные выборки могут включать в себя восстановленные выборки яркости и восстановленные выборки цветности. Конкретно, остаточные выборки могут включать в себя остаточные выборки яркости и остаточные выборки цветности. Остаточные выборки яркости могут генерироваться на основе исходных выборок яркости и выборок яркости предсказания. Остаточные выборки цветности могут генерироваться на основе исходных выборок цветности и выборок цветности предсказания. Устройство кодирования может выводить коэффициенты преобразования для остаточных выборок яркости (коэффициенты преобразования яркости) и/или коэффициенты преобразования для остаточных выборок цветности (коэффициенты преобразования цветности). Квантованные коэффициенты преобразования могут включать в себя квантованные коэффициенты преобразования яркости и/или квантованные коэффициенты преобразования цветности.
[181] Устройство кодирования может генерировать информацию, относящуюся к внутриконтурной фильтрации, для восстановленных выборок текущей картинки (S1020). Устройство кодирования может выполнять процесс внутриконтурной фильтрации для восстановленных выборок и может генерировать информацию, относящуюся к внутриконтурной фильтрации, на основе процесса внутриконтурной фильтрации. Например, информация, относящаяся к внутриконтурной фильтрации, может включать в себя информацию о виртуальных границах, как описано выше в настоящем документе (флаг включения виртуальных границ SPS, флаг включения виртуальных границ заголовка картинки, флаг присутствия виртуальных границ SPS, флаг присутствия виртуальных границ заголовка картинки и информацию о положениях виртуальных границ).
[182] Устройство кодирования может кодировать информацию видео/изображения (S1030). Информация изображения может включать в себя остаточную информацию, информацию, связанную с предсказанием, и/или информацию, относящуюся к внутриконтурной фильтрации. Закодированная информация видео/изображения может быть выведена в форме битового потока. Битовый поток может передаваться на устройство декодирования через сеть или носитель хранения.
[183] Информация видео/изображения может включать в себя различные части информации в соответствии с вариантом осуществления настоящего документа. Например, информация видео/изображения может включать в себя информацию, раскрытую по меньшей мере в одной из вышеописанных Таблиц 1-12.
[184] В варианте осуществления, информация изображения может включать в себя набор параметров последовательности (SPS). На основе того, включает ли SPS информацию, относящуюся к подкартинке, может быть определено, включает ли SPS дополнительную информацию, относящуюся к виртуальным границам.
[185] В варианте осуществления, дополнительная информация, относящаяся к виртуальным границам, может включать в себя число виртуальных границ и положения виртуальных границ.
[186] В варианте осуществления, дополнительная информация, относящаяся к виртуальным границам, может включать в себя информацию о числе вертикальных виртуальных границ, информацию о положениях вертикальных виртуальных границ, информацию о числе горизонтальных виртуальных границ и информацию о положениях горизонтальных виртуальных границ.
[187] В варианте осуществления, информация изображения может включать в себя флаг присутствия подкартинки (например, subpic_present_flag). Может быть определено, включает ли SPS информацию, относящуюся к подкартинке, на основе флага присутствия подкартинки.
[188] В варианте осуществления, информация изображения может включать в себя флаг присутствия ID подкартинки. Подкартинки в текущей картинки могут быть независимо кодируемыми подкартинками на основе того, что значение флага присутствия ID подкартинки равно 1.
[189] В варианте осуществления, текущая картинка может включать в себя подкартинки и мозаичные элементы. Единицы дерева кодирования (CTU) в одном мозаичном элементе могут принадлежать той же самой подкартинке.
[190] В варианте осуществления, текущая картинка может включать в себя подкартинки и мозаичные элементы. Единицы дерева кодирования (CTU) в одной подкартинке могут принадлежать тому же самому мозаичному элементу.
[191] В варианте осуществления, SPS может включать в себя флаг присутствия виртуальных границ SPS, относящийся к тому, включает ли SPS дополнительную информацию, относящуюся к виртуальным границам. Значение флага присутствия виртуальных границ SPS может быть определено как 1 на основе того, что SPS включает информацию, относящуюся к подкартинке.
[192] В варианте осуществления, информация изображения может включать в себя информацию заголовка картинки. Дополнительная информация, относящаяся к виртуальным границам, может не включаться в заголовок картинки на основе того, что SPS включает информацию, относящуюся к подкартинке.
[193] В варианте осуществления, SPS может включать дополнительную информацию, относящую к виртуальным границам, на основе того, что SPS включает информацию, относящуюся к подкартинке.
[194] Фиг. 12 и фиг. 13 схематично показывают пример способа декодирования видео/изображения и связанные компоненты в соответствии с вариантом(ами) осуществления настоящего документа.
[195] Способ, раскрытый на фиг. 12, может выполняться устройством декодирования, раскрытым на фиг. 12 или фиг. 13. Конкретно, например, S1200 на фиг. 12 может выполняться энтропийным декодером 310 устройства декодирования, S1210 может выполняться процессором 320 остатка и/или сумматором 340 устройства декодирования, и S1220 может выполняться фильтром 350 устройства декодирования. Способ, раскрытый на фиг. 12, может включать в себя вышеописанные варианты осуществления настоящего документа.
[196] Со ссылкой на фиг. 12, устройство декодирования может принимать/получать информацию видео/изображения (S1200). Информация видео/изображения может включать в себя остаточную информацию, информацию, относящуюся к предсказанию, и/или информацию, относящуюся к внутриконтурной фильтрации. Устройство декодирования может принимать/получать информацию видео/изображения через битовый поток.
[197] Информация видео/изображения может включать в себя различные части информации в соответствии с вариантом осуществления настоящего документа. Например, информация изображения/видео может включать в себя информацию, раскрытую по меньшей мере в одной из вышеописанных Таблиц 1-12.
[198] Устройство декодирования может выводить квантованные коэффициенты преобразования. Устройство декодирования может выводить квантованные коэффициенты преобразования на основе остаточной информации. Квантованные коэффициенты преобразования могут иметь форму одномерного вектора на основе порядка сканирования коэффициентов. Квантованные коэффициенты преобразования могут включать в себя квантованные коэффициенты преобразования яркости и/или квантованные коэффициенты преобразования цветности.
[199] Устройство декодирования может выводить коэффициенты преобразования. Устройство декодирования может выводить коэффициенты преобразования на основе процесса деквантования для квантованных коэффициентов преобразования. Устройство декодирования может выводить коэффициенты преобразования яркости посредством деквантования на основе квантованных коэффициентов преобразования яркости. Устройство декодирования может выводить коэффициенты преобразования цветности посредством деквантования на основе квантованных коэффициентов преобразования цветности.
[200] Устройство декодирования может генерировать/выводить остаточные выборки. Устройство декодирования может выводить остаточные выборки на основе процесса обратного преобразования для коэффициентов преобразования. Устройство декодирования может выводить остаточные выборки яркости посредством процесса обратного преобразования на основе коэффициентов преобразования яркости. Устройство декодирования может выводить остаточные выборки цветности посредством процесса обратного преобразования на основе коэффициентов преобразования цветности.
[201] Устройство декодирования может генерировать/выводить восстановленные выборки (S1210). Например, устройство декодирования может генерировать/выводить восстановленные выборки яркости и/или восстановленные выборки цветности. Устройство декодирования может генерировать восстановленные выборки яркости и/или восстановленные выборки цветности на основе остаточной информации. Устройство декодирования может генерировать восстановленные выборки на основе остаточной информации. Восстановленные выборки могут включать в себя восстановленные выборки яркости и/или восстановленные выборки цветности. Компоненты яркости восстановленной выборки могут соответствовать восстановленным выборкам яркости, и компоненты цветности восстановленных выборок могут соответствовать восстановленным выборкам цветности. Устройство декодирования может генерировать выборки яркости предсказания и/или выборки цветности предсказания посредством процесса предсказания. Устройство декодирования может генерировать восстановленные выборки яркости на основе выборок яркости предсказания и остаточных выборок яркости. Устройство декодирования может генерировать восстановленные выборки цветности на основе выборок цветности предсказания и остаточных выборок цветности.
[202] Устройство декодирования может генерировать модифицированные (отфильтрованные) восстановленные выборки (S1220). Устройство декодирования может генерировать модифицированные восстановленные выборки на основе процесса внутриконтурной фильтрации для восстановленных выборок. Устройство декодирования может генерировать модифицированные восстановленные выборки на основе информации, относящейся к внутриконтурной фильтрации. Устройство декодирования может использовать процесс устранения блочности, процесс SAO и/или процесс ALF, чтобы генерировать модифицированные восстановленные выборки.
[203] В варианте осуществления, информация изображения может включать в себя набор параметров последовательности (SPS). На основе того, включает ли SPS информацию, относящуюся к подкартинке, может быть определено, включает ли SPS дополнительную информацию, относящуюся к виртуальным границам.
[204] В варианте осуществления, дополнительная информация, относящаяся к виртуальным границам, может включать в себя число виртуальных границ и положения виртуальных границ.
[205] В варианте осуществления, дополнительная информация, относящаяся к виртуальным границам, может включать в себя информацию о числе вертикальных виртуальных границ, информацию о положениях вертикальных виртуальных границ, информацию о числе горизонтальных виртуальных границ и информацию о положениях горизонтальных виртуальных границ.
[206] В варианте осуществления, информация изображения может включать в себя флаг присутствия подкартинки (например, subpic_present_flag). Может быть определено, включает ли SPS информацию, относящуюся к подкартинке, на основе флага присутствия подкартинки.
[207] В варианте осуществления, информация изображения может включать в себя флаг присутствия ID подкартинки. Подкартинки в текущей картинке могут быть независимо кодируемыми подкартинками на основе того, что значение флага присутствия ID подкартинки равно 1.
[208] В варианте осуществления, текущая картинка может включать в себя подкартинки и мозаичные элементы. Единицы дерева кодирования (CTU) в одном мозаичном элементе могут принадлежать той же самой подкартинке.
[209] В варианте осуществления, текущая картинка может включать в себя подкартинки и мозаичные элементы. Единицы дерева кодирования (CTU) в одной подкартинке могут принадлежать тому же самому мозаичному элементу.
[210] В варианте осуществления, SPS может включать в себя флаг присутствия виртуальных границ SPS, относящийся к тому, включает ли SPS дополнительную информацию, относящуюся к виртуальным границам. Значение флага присутствия виртуальных границ SPS может быть определено как 1 на основе того, что SPS включает информацию, относящуюся к подкартинке.
[211] В варианте осуществления, информация изображения может включать в себя информацию заголовка картинки. На основе того, что SPS включает информацию, относящуюся к подкартинке, дополнительная информация, относящаяся к виртуальным границам, может не включаться в заголовок картинки.
[212] В варианте осуществления, на основе того, что SPS включает информацию, относящуюся к подкартинке, SPS может включать дополнительную информацию, относящуюся к виртуальным границам.
[213] Если остаточные выборки для текущего блока присутствуют, устройство декодирования может принимать информацию об остатке для текущего блока. Информация об остатке может включать в себя коэффициенты преобразования для остаточных выборок. Устройство декодирования может выводить остаточные выборки (или остаточный массив выборок) для текущего блока на основе остаточной информации. Конкретно, устройство декодирования может выводить квантованные коэффициенты преобразования на основе остаточной информации. Квантованные коэффициенты преобразования могут иметь форму одномерного вектора на основе порядка сканирования коэффициентов. Устройство декодирования может выводить коэффициенты преобразования на основе процесса деквантования для квантованных коэффициентов преобразования. Устройство декодирования может выводить остаточные выборки на основе коэффициентов преобразования.
[214] Устройство декодирования может генерировать восстановленные выборки на основе выборок (интра-) предсказания и остаточные выборки и может выводить восстановленный блок или восстановленную картинку на основе восстановленных выборок. Конкретно, устройство декодирования может генерировать восстановленные выборки на основе суммы выборок (интра-) предсказания и остаточных выборок. Затем, по мере необходимости, устройство декодирования может применять процесс внутриконтурной фильтрации, такой как фильтрация устранения блочности и/или процессы SAO, к восстановленной картинке, чтобы улучшить субъективное/объективное качество картинки.
[215] Например, устройство декодирования может получать информацию изображения, включающую в себя все или части из вышеописанных частей информации (или синтаксических элементов) путем декодирования битового потока или закодированной информации. Кроме того, битовый поток или закодированная информация могут быть сохранены на считываемом компьютером носителе хранения и могут вызывать выполнение вышеописанного способа декодирования.
[216] Хотя в вышеописанных вариантах осуществления способы были описаны на основе блок-схемы последовательности операций, в которой этапы или блоки перечислены в последовательности, этапы в настоящем документе не ограничены некоторым порядком, и некоторый этап может выполняться на другом этапе или в другом порядке или одновременно по отношению к тому, что описано выше. Дополнительно, специалистам в данной области техники должно быть понятно, что этапы блок-схем последовательностей операций не являются исключительными, и в них может быть включен другой этап, или один или более этапов в блок-схеме последовательности операций могут быть удалены, не оказывая влияния на объем настоящего раскрытия.
[217] Вышеописанный способ в соответствии с настоящим раскрытием может быть реализован в форме программного обеспечения, и устройство кодирования и/или устройство декодирования в соответствии с настоящим раскрытием может быть включено в устройство для выполнения обработки изображения, например телевизор, компьютер, смартфон, телевизионную приставку, устройство отображения и т.п.
[218] Когда варианты осуществления настоящего раскрытия реализованы в программном обеспечении, вышеописанный способ может быть реализован с помощью модуля (процесса или функции), который выполняет вышеупомянутую функцию. Модуль может храниться в памяти и исполняться процессором. Память может быть внутренней или внешней по отношению к процессору и может быть соединена с процессором различными хорошо известными средствами. Процессор может включать в себя специализированную интегральную схему (ASIC), другие чипсеты, логическую схему и/или устройство обработки данных. Память может включать в себя постоянную память (ROM), память с произвольным доступом (RAM), флэш-память, карту памяти, носитель хранения и/или другое устройство хранения. Иными словами, варианты осуществления согласно настоящему раскрытию могут реализовываться и выполняться на процессоре, микропроцессоре, контроллере или чипе. Например, функциональные блоки, показанные на соответствующих чертежах, могут быть реализованы и выполняться на компьютере, процессоре, микропроцессоре, контроллере или чипе. В этом случае, информация о реализации (например, информация об инструкциях) или алгоритмы могут храниться в цифровом носителе хранения.
[219] Кроме того, устройство декодирования и устройство кодирования, в которых применяются варианты осуществления настоящего документа, могут быть включены в приемопередатчик мультимедийного вещания, мобильный терминал связи, устройство домашнего кинотеатра, устройство цифрового кинотеатра, камеру наблюдения, устройство для разговора по видео, устройство связи в реальном времени, такой как видеосвязь, мобильное устройство стриминга, носитель хранения, записывающую видеокамеру, провайдер услуги видео по требованию (VoD), устройство доставки видео непосредственно от провайдера контента (OTT), провайдер услуги Интернет-стриминга, устройство 3D видео, устройство виртуальной реальности (VR), устройство дополненной реальности (AR), устройство видео-телеконференции, терминал транспортного средства (например, терминал транспортного средства (включая автономное транспортное средство), самолетный терминал, судовой терминал и т.д.) и медицинское видеоустройство, и могут использоваться для обработки сигналов изображения или данных. Например, видеоустройство OTT может включать в себя игровую консоль, Bluray-плеер, телевизор с Интернет-доступом, систему домашнего кинотеатра, смартфон, планшетный PC, цифровой видеомагнитофон (DVR).
[220] Кроме того, способ обработки, в котором применяются варианты осуществления настоящего документа, может выполняться в форме программы, исполняемой компьютером, и может храниться в считываемом компьютером носителе записи. Мультимедийные данные, имеющие структуру данных в соответствии с вариантами осуществления настоящего документа, могут также храниться в считываемом компьютером носителе записи. Считываемый компьютером носитель записи включает в себя все типы устройств хранения и распределенных устройств хранения, в которых хранятся считываемые компьютером данные. Считываемый компьютером носитель записи может включать в себя, например, Bluray-диск (BD), универсальную последовательную шину (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, магнитную ленту, флоппи-диск и оптическое устройство хранения данных. Считываемый компьютером носитель записи также включают в себя носители, воплощенные в форме несущей волны (например, передача через Интернет). Кроме того, битовый поток, сгенерированный способом кодирования, может храниться в считываемом компьютером носителе записи или может передаваться по сетям проводной/беспроводной связи.
[221] Кроме того, варианты осуществления настоящего документа могут быть воплощены как компьютерный программный продукт на основе программного кода, и программный код может исполняться в компьютере в соответствии с вариантами осуществления настоящего документа. Программный код может храниться на считываемом компьютером носителе.
[222] Фиг. 14 показывает пример системы стриминга контента, в которой может применяться вариант осуществления, раскрытый в настоящем документе.
[223] Со ссылкой на фиг. 14, система стриминга контента, в которой применяются варианты осуществления настоящего документа, может обычно включать в себя сервер кодирования, стриминговый сервер, веб-сервер, медиа-хранилище, пользовательское устройство и устройство мультимедийного ввода.
[224] Сервер кодирования функционирует, чтобы сжимать контент, введенный из устройств мультимедийного ввода, таких как смартфон, камера, записывающая видеокамера и т.д., в цифровые данные, чтобы сгенерировать битовый поток и передать его на стриминговый сервер. В качестве другого примера, в случае, когда устройство мультимедийного ввода, такое как смартфон, камера, записывающая видеокамера и т.п., непосредственно генерирует битовый поток, сервер кодирования может опускаться.
[225] Битовый поток может генерироваться способом кодирования или способом генерации битового потока, в котором применяются варианты осуществления настоящего документа, и стриминговый сервер может временно хранить битовый поток в процессе передачи или приема битового потока.
[226] Стриминговый сервер передает мультимедийные данные на пользовательское устройство на основе запроса пользователя через веб-сервер, который функционирует как инструмент для информирования пользователя об услуге. Когда пользователь запрашивает желаемую услугу, веб-сервер доставляет запрос на стриминговый сервер, и стриминговый сервер передает мультимедийные данные пользователю. В этом отношении, система стриминга контента может включать в себя отдельный сервер управления, и в этом случае, сервер управления функционирует, чтобы управлять командами/откликами между соответствующим оборудованием в системе стриминга контента.
[227] Стриминговый сервер может принимать контент из медиа-хранилища и/или сервера кодирования. Например, когда контент принимается от сервера кодирования, контент может приниматься в реальном времени. В этом случае, чтобы обеспечить плавную стриминговую услугу, стриминговый сервер может сохранять битовый поток в течение предопределенного периода времени.
[228] Например, пользовательское оборудование может включать в себя мобильный телефон, смартфон, ноутбук, терминал цифрового вещания, персональный цифровой помощник (PDA), портативный мультимедийный плеер (PMP), навигатор, тонкий PC, планшетный PC, ультрабук, носимое устройство (например, терминал типа часов (умные часы), терминал типа очков (умные очки), наголовный дисплей (HMD)), цифровой телевизор, настольный компьютер, цифровой указатель и тому подобное.
[229] Каждый из серверов в системе стриминга контента может работать как распределенный сервер, и в этом случае, данные, принимаемые каждым сервером, могут обрабатываться распределенным способом.
[230] Пункты формулы изобретения в настоящем описании могут комбинироваться различными способами. Например, технические признаки в пунктах формулы на способ в настоящем описании могут комбинироваться, чтобы реализовываться или выполняться в устройстве, и технические признаки в пунктах формулы на устройство могут комбинироваться, чтобы реализовываться или выполняться в способе. Кроме того, технические признаки в пунктах формулы на способ и пунктах формулы на устройство могут комбинироваться, чтобы реализовываться или выполняться в устройстве. Также, технические признаки в пунктах формулы на способ и пунктах формулы на устройство могут комбинироваться, чтобы реализовываться или выполняться в способе.

Claims (35)

1. Способ декодирования изображения, выполняемый устройством декодирования, причем способ содержит:
получение информации изображения, включающей в себя остаточную информацию, посредством битового потока;
генерирование восстановленных выборок текущей картинки на основе остаточной информации; и
генерирование модифицированных восстановленных выборок на основе процесса внутриконтурной фильтрации для восстановленных выборок,
причем информация изображения включает в себя набор параметров последовательности (SPS) и заголовок картинки, и
причем, когда SPS включает информацию, относящуюся к подкартинке, информация о числе виртуальных границ и информация о положениях виртуальных границ не включены в заголовок картинки, а включены в SPS.
2. Способ декодирования изображения по п. 1, причем информация о числе виртуальных границ содержит информацию о числе вертикальных виртуальных границ и информацию о числе горизонтальных виртуальных границ,
причем информация о положениях виртуальных границ содержит информацию о положениях вертикальных виртуальных границ и информацию о положениях горизонтальных виртуальных границ.
3. Способ декодирования изображения по п. 1, причем информация изображения содержит флаг присутствия подкартинки, и
причем то, включает ли SPS информацию, относящуюся к подкартинке, определяется на основе флага присутствия подкартинки.
4. Способ декодирования изображения по п. 1, причем текущая картинка содержит подкартинки и мозаичные элементы, и
причем единицы дерева кодирования (CTU) в одном мозаичном элементе принадлежат одной и той же подкартинке.
5. Способ декодирования изображения по п. 1, причем текущая картинка содержит подкартинки и мозаичные элементы, и
причем единицы дерева кодирования (CTU) в одной подкартинке принадлежат одному и тому же мозаичному элементу.
6. Способ декодирования изображения по п. 1, причем SPS содержит флаг присутствия виртуальных границ SPS, относящийся к тому, включает ли SPS информацию о числе виртуальных границ и информацию о положениях виртуальных границ, и
причем значение флага присутствия виртуальных границ SPS равно 1, когда SPS включает информацию, относящуюся к подкартинке.
7. Способ кодирования изображения, выполняемый устройством кодирования, причем способ содержит:
генерирование остаточных выборок для текущего блока;
генерирование остаточной информации на основе остаточных выборок для текущего блока;
генерирование информации, относящейся к внутриконтурной фильтрации, для восстановленных выборок текущей картинки; и
кодирование информации изображения, включающей в себя остаточную информацию и информацию, относящуюся к внутриконтурной фильтрации,
причем информация изображения включает в себя набор параметров последовательности (SPS) и заголовок картинки, и
причем, когда SPS включает информацию, относящуюся к подкартинке, информация о числе виртуальных границ и информация о положениях виртуальных границ не включены в заголовок картинки, а включены в SPS.
8. Не-временный считываемый компьютером носитель хранения, при этом инструкции на не-временном считываемом компьютером носителе хранения, при выполнении по меньшей мере одним процессором, вызывают выполнение по меньшей мере одним процессором способа кодирования изображения, причем способ кодирования изображения содержит:
генерирование остаточных выборок для текущего блока;
генерирование остаточной информации на основе остаточных выборок для текущего блока;
генерирование информации, относящейся к внутриконтурной фильтрации, для восстановленных выборок текущей картинки; и
кодирование информации изображения, включающей в себя остаточную информацию и информацию, относящуюся к внутриконтурной фильтрации,
причем информация изображения включает в себя набор параметров последовательности (SPS) и заголовок картинки, и
причем, когда SPS включает информацию, относящуюся к подкартинке, информация о числе виртуальных границ и информация о положениях виртуальных границ не включены в заголовок картинки, а включены в SPS.
9. Способ передачи данных для изображения, причем способ содержит:
получение битового потока для изображения, причем битовый поток генерируется на основе генерирования остаточных выборок для текущего блока, генерирования остаточной информации на основе остаточных выборок для текущего блока, генерирования информации, относящейся к внутриконтурной фильтрации, для восстановленных выборок текущей картинки, и кодирования информации изображения, включающей в себя остаточную информацию и информацию, относящуюся к внутриконтурной фильтрации; и
передачу данных, содержащих битовый поток,
причем информация изображения включает в себя набор параметров последовательности (SPS) и заголовок картинки, и
причем, когда SPS включает информацию, относящуюся к подкартинке, информация о числе виртуальных границ и информация о положениях виртуальных границ не включены в заголовок картинки, а включены в SPS.
RU2022120088A 2019-12-23 2020-12-23 Способ и устройство кодирования изображения на основе подкартинки RU2803187C1 (ru)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US62/953,180 2019-12-23

Related Child Applications (1)

Application Number Title Priority Date Filing Date
RU2023122728A Division RU2810200C2 (ru) 2019-12-23 2020-12-23 Способ и устройство кодирования изображения на основе подкартинки

Publications (1)

Publication Number Publication Date
RU2803187C1 true RU2803187C1 (ru) 2023-09-11

Family

ID=

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2523126C2 (ru) * 2010-04-05 2014-07-20 Самсунг Электроникс Ко., Лтд. Способ и устройство для кодирования видео посредством выполнения внутриконтурной фильтрации на основе блока данных древовидной структуры, и способ и устройство для декодирования видео посредством выполнения того же
KR101483053B1 (ko) * 2013-12-27 2015-01-19 연세대학교 산학협력단 영상 합성 방법, 장치 및 시스템
US20190045224A1 (en) * 2016-02-04 2019-02-07 Mediatek Inc. Method and apparatus of non-local adaptive in-loop filters in video coding
WO2019195035A1 (en) * 2018-04-03 2019-10-10 Futurewei Technologies, Inc. Error mitigation in sub-picture bitstream based viewport dependent video coding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2523126C2 (ru) * 2010-04-05 2014-07-20 Самсунг Электроникс Ко., Лтд. Способ и устройство для кодирования видео посредством выполнения внутриконтурной фильтрации на основе блока данных древовидной структуры, и способ и устройство для декодирования видео посредством выполнения того же
KR101483053B1 (ko) * 2013-12-27 2015-01-19 연세대학교 산학협력단 영상 합성 방법, 장치 및 시스템
US20190045224A1 (en) * 2016-02-04 2019-02-07 Mediatek Inc. Method and apparatus of non-local adaptive in-loop filters in video coding
WO2019195035A1 (en) * 2018-04-03 2019-10-10 Futurewei Technologies, Inc. Error mitigation in sub-picture bitstream based viewport dependent video coding

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Hyeongmun Jang et al. "AHG17/Non-CE5: on loop filter processing for subpicture treated as a picture", JVET-P0246 16-th meeting: Geneva, опубл. 24.09.2019. *
Sheng-Yen Lin et al. "CE-13 related: Loop filter disabled across virtual boundaries", JVET-M0892 13-th meeting: Marrakech, опубл. 14.01.2019. *

Similar Documents

Publication Publication Date Title
US11743468B2 (en) Filtering-based image coding device and method
JP7392144B2 (ja) ループフィルタリングを制御するための画像コーディング装置および方法
JP7383816B2 (ja) ループフィルタリングを制御する画像コーディング装置及び方法
US20240080447A1 (en) Image/video coding method and device
US20230344986A1 (en) Filtering-based image coding device and method
JP2024036651A (ja) サブピクチャに基づく映像コーディング装置及び方法
US20240064305A1 (en) Slice type-based image/video coding method and apparatus
US20230239478A1 (en) Method and device for processing image information for image/video coding
US20230164321A1 (en) In-loop filtering-based image coding device and method
RU2803187C1 (ru) Способ и устройство кодирования изображения на основе подкартинки
RU2810200C2 (ru) Способ и устройство кодирования изображения на основе подкартинки
RU2801594C1 (ru) Способ и устройство кодирования изображения для управления контурной фильтрацией
RU2810653C2 (ru) Способ и устройство кодирования изображения для управления контурной фильтрацией
RU2809689C2 (ru) Устройство и способ кодирования изображения для управления контурной фильтрацией
RU2802374C1 (ru) Устройство и способ кодирования изображения для управления контурной фильтрацией
US20230046583A1 (en) Virtual boundary-based image coding device and method
US20230052204A1 (en) Picture splitting-based image coding device and method
US11949917B2 (en) Method and device for signaling information relating to slice type in picture header in image/video coding system
US20230041024A1 (en) Image coding device and method
RU2787884C1 (ru) Оборудование и способ для кодирования изображений на основе фильтрации
US20230046209A1 (en) Filtering-based image coding device and method
US20230096855A1 (en) In-loop filtering-based image coding device and method