Область техники, к которой относится изобретение
Настоящий документ относится к технологиям, системам и устройствам для кодирования и декодирования видео и изображений.
Уровень техники
Цифровое видео занимает наибольшую долю полосы частот в сети Интернет и в других цифровых сетях связи. Поскольку число присоединенных пользовательских устройств, способных принимать и представлять видео на дисплее, увеличивается, ожидается, что потребности в полосе для использования цифровым видео будут продолжать расти.
Раскрытие сущности изобретения
Предложены устройства, системы и способы, относящиеся к кодированию цифрового видео, и конкретнее, к кодированию коэффициентов в режиме пропуска преобразования для кодирования видео. Описываемые способы могут быть применены и к существующим стандартам кодирования видео (например, к стандарту высокоэффективного видео кодирования (High Efficiency Video Coding (HEVC))), и к стандартам будущего для кодирования видео (например, к стандарту универсального видео кодирования (Versatile Video Coding (VVC))) или к соответствующим кодекам.
Согласно одному из примерных аспектов предложен способ обработки сигнала визуального медиа. Способ содержит этапы, на которых определяют, для кодирования одного или более видеоблоков видеообласти визуальных медиаданных и в представление визуальных медиаданных в виде потока битов данных, максимально допустимый размер, до которого допускается кодирование текущего видеоблока из указанного одного или более видеоблоков с использованием режима пропуска преобразования, так чтобы остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком был представлен в представлении в виде потока битов данных без применения преобразования; и включают синтаксический элемент, указывающий максимально допустимый размер, в представление в виде потока битов данных.
Согласно другому примерному аспекту предложен способ обработки визуальных медиаданных. Способ содержит этап, на котором выполняют синтаксический анализ синтаксического элемента из представления в виде потока битов данных визуальных медиаданных, содержащих видеообласть, имеющую один или более видеоблоков, причем синтаксический элемент указывает максимально допустимый размер, до которого допускается кодирование текущего видеоблока из указанного одного или более блоков видеообласти с использованием режима пропуска преобразования, в котором остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представлен в виде представления в виде потока битов данных без применения преобразования; и генерируют декодированную видеообласть на основе представления в виде потока битов данных посредством декодирования указанного одного или более видеоблоков в соответствии с максимально допустимым размером.
Согласно еще одному примерному аспекту предложен способ обработки визуальных медиаданных. Способ содержит этапы, на которых определяют, что текущий видеоблок визуальных медиаданных кодирован с использованием режима пропуска преобразования; и выполняют, на основе указанного определения, преобразование между текущим видеоблоком и представлением визуальных медиаданных в виде потока битов данных, где в процессе указанного преобразования, текущий видеоблок разбивается на множество групп коэффициентов, и передача в виде сигнализации флага кодированного блока по меньшей мере для одной из указанного множества групп коэффициентов исключена из представления в виде потока битов данных, причем в режиме пропуска преобразования остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представлен в представлении в виде потока битов данных без применения преобразования.
Согласно еще одному примерному аспекту предложен способ обработки сигнала визуальных медиаданных. Способ содержит этапы, на которых определяют, что текущий видеоблок визуальных медиаданных кодирован с использованием режима пропуска преобразования; и выполняют, на основе указанного определения, преобразование между текущим видеоблоком и представлением визуальных медиаданных в виде потока битов данных, причем во время преобразования текущий видеоблок разбивается на множество групп коэффициентов, при этом в режиме пропуска преобразования остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представлен в указанном представлении в виде потока битов данных без применения преобразования, и в процессе преобразвания порядок сканирования коэффициентов из указанного множества групп коэффициентов определяется на основе, по меньшей мере частично, индикации, входящей в представление в виде потока битов данных.
Согласно еще одному примерному аспекту предложен способ обработки визуальных медиаданных. Способ содержит этапы, на которых используют, для кодирования текущего видеоблока в видеообласти визуальных медиаданных в представление визуальных медиаданных в виде потока битов данных, режим пропуска преобразования, в котором остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представлен в представлении в виде потока битов данных без применения преобразования; и выбирают контекст для знакового флага текущего видеоблока в соответствии со знаковыми флагами одного или более соседних видеоблоков в группе коэффициентов, ассоциированной с текущим видеоблоком, на основе разбиения текущего видеоблока на множество групп коэффициентов.
Согласно еще одному примерному аспекту предложен способ обработки визуальных медиаданных. Способ содержит этапы, на которых выполняют синтаксический анализ представления в виде потока битов данных визуальных медиаданных, содержащих видеообласть, содержащую текущий видеоблок, для идентификации контекста знакового флага, используемого в режиме пропуска преобразования, при этом остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представлен в указанном представлении в виде потока битов данных без применения преобразования; и генерируют декодированную видеообласти на основе представления в виде потока битов данных, так что контекст знакового флага в соответствии со знаковыми флагами одного или более соседних видеоблоков в группе коэффициентов, ассоциированной с текущим видеоблоком, определяется на основе разбиения текущего видеоблока на множество групп коэффициентов.
Согласно еще одному примерному аспекту предложен способ обработки визуальных медиаданных. Способ содержит этапы, на которых определяют позицию текущего коэффициента, ассоциированную с текущим видеоблоком визуальных медиаданных, когда текущий видеоблок разбит на множество позиций коэффициентов; определяют, по меньшей мере на основе знаковых флагов для одного или более соседних коэффициентов, контекст для знакового флага для текущего коэффициента; и генерируют, на основе указанного контекста, знаковый флаг для текущего коэффициента, причем знаковый флаг для текущего коэффициента используется в режиме пропуска преобразования, в котором текущий видеоблок кодируется без применения преобразования.
Согласно еще одному примерному аспекту предложен способ обработки визуальных медиаданных. Способ содержит этапы, на которых определяют, для кодирования одного или более видеоблоков в видеообласти визуальных медиаданных в представление визуальных медиаданных в виде потока битов данных, на основе соблюдения по меньшей мере одного правила, что режим пропуска преобразования цветностной составляющей применим к текущему видеоблоку, причем в режиме пропуска преобразования цветностной составляющей остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представлен в указанном представлении визуальных медиаданных в виде потока битов данных без применения преобразования; и включают синтаксический элемент, указывающий режим пропуска преобразования цветностной составляющей, в представление в виде потока битов данных.
Согласно еще одному примерному аспекту предложен способ обработки визуальных медиаданных. Способ содержит этапы, на которых выполняют синтаксический анализ синтаксического элемента из представления в виде потока битов данных визуальных медиаданных, содержащих видеообласть, содержащую один или более видеоблоков, что соблюдено по меньшей мере одно правило, ассоциированное с применением режима пропуска преобразования цветностной составляющей, причем в режиме пропуска преобразования цветностной составляющей остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представлен в указанном представлении визуальных медиаданных в виде потока битов данных без применения преобразования; и генерируют декодированную видеообласть на основе представления в виде потока битов данных посредством декодирования указанного одного или более видеоблоков.
Согласно еще одному примерному аспекту предложен способ обработки визуальных медиаданных. Способ содержит этапы, на которых принимают решение, для кодирования одного или более видеоблоков в текущей видеообласти из визуальных медиаданных в представление визуальных медиаданных в виде потока битов данных, относительно избирательного применения режима пропуска преобразования к текущему видеоблоку на основе условия; и включают синтаксический элемент, указывающий указанное условие, в представление в виде потока битов данных, при этом в режиме пропуска преобразования, остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представлен в указанном представлении визуальных медиаданных в виде потока битов данных без применения преобразования.
Согласно еще одному примерному аспекту предложен способ обработки визуальных медиаданных. Способ содержит этапы, на которых выполняют синтаксический анализ синтаксического элемента из представления в виде потока битов данных визуальных медиаданных, содержащих видеообласть, содержащую один или более видеоблоков, причем синтаксический элемент указывает условие относительно использования режима пропуска преобразования, в котором остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представлен в указанном представлении в виде потока битов данных без применения преобразования; и генерируют декодированную видеообласть на основе указанного представления в виде потока битов данных посредством декодирования указанного одного или нескольких видеоблоков в соответствии с указанным условием.
Согласно еще одному примерному аспекту предложен способ обработки визуальных медиаданных. Способ содержит этапы, на которых принимают решение, для кодирования одного или более видеоблоков в видеообласти визуальных медиаданных в представление визуальных медиаданных в виде потока битов данных, относительно избирательного применения способа дифференциальной импульсно-кодовой модуляции квантованного блока остатка (quantized residual block differential pulse-code modulation (QR-BDPCM)) на основе индикации режима пропуска преобразования, входящей в представление в виде потока битов данных, причем в режиме пропуска преобразования остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представлен в указанном представлении визуальных медиаданных в виде потока битов данных без применения преобразования, при этом согласно способу модуляции QR-BDPCM остаток погрешности прогнозирования в горизонтальном направлении и/или в вертикальном направлении квантуется и подвергается энтропийному кодированию; и включают, в представление в виде потока битов данных, индикациб избирательного применения способа модуляции QR-BDPCM.
Согласно еще одному примерному аспекту предложен способ обработки визуальных медиаданных. Способ содержит этапы, на которых выполняют синтаксический анализ синтаксического элемента из представления в виде потока битов данных визуальных медиаданных, содержащих видеообласть, содержащую один или более видеоблоков, причем синтаксический элемент указывает избирательное применение способа дифференциальной импульсно-кодовой модуляции квантованного блока остатка (QR-BDPCM) на основе индикации режима пропуска преобразования, входящей в представление в виде потока битов данных, при этом в режиме пропуска преобразования остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представлен в указанном представлении визуальных медиаданных в виде потока битов данных без применения преобразования, причем, согласно способу модуляции QR-BDPCM, остаток погрешности прогнозирования в горизонтальном направлении и/или вертикальном направлении квантуется и подвергается энтропийному кодированию; и генерируют декодированную видеообласть на основе представления в виде потока битов данных посредством декодирования одного или более видеоблоков в соответствии с максимально допустимым размером.
Согласно еще одному примерному аспекту предложен способ обработки визуальных медиаданных. Способ содержит этапы, на которых принимают решение, для кодирования одного или более видеоблоков в видеообласти визуальных медиаданных в представление визуальных медиаданных в виде потока битов данных, относительно избирательного применения раздельного или двойного дерева на основе условия; и включают синтаксический элемент, указывающий избирательное применение отдельного или двойного дерева, в представление в виде потока битов данных.
Согласно еще одному примерному аспекту предложен способ обработки визуальных медиаданных. Способ содержит этапы. на которых выполняют синтаксический анализ синтаксического элемента из представления в виде потока битов данных визуальных медиаданных, содержащих видеообласть, содержащую один или более видеоблоков, причем синтаксический элемент указывает избирательное применение раздельного или двойного дерева на основе или исходя из условия; и генерируют декодированную видеообласть на основе представления в виде потока битов данных посредством декодирования указанного одного или более видеоблоков в соответствии с указанным синтаксическим элементом.
Согласно еще одному примерному аспекту предложено устройство кодирования или декодирования видео, содержащее процессор, выполненный с возможностью реализации описанного выше способа.
Согласно еще одному примерному аспекту предложен читаемый компьютером носитель программы. Носитель хранит код, содержащий исполняемый процессором команды для выполнения одного из раскрытых способов.
Эти и другие аспекты далее рассмотрены в настоящем документе.
Краткое описание чертежей
Фиг. 1 показывает пример внутрикадрового кодирования блоков.
Фиг. 2 показывает пример блока, кодированного в режиме палитры.
Фиг. 3 показывает пример использования предиктора палитры для передачи входных позиций в палитре в виде сигнализации.
Фиг. 4 показывает пример горизонтального и вертикального поперечного сканирования.
Фиг. 5 показывает пример кодирования индексов палитры.
Фиг. 6 показывает пример режимов разбиения с использованием нескольких типов дерева.
Фиг. 7 показывает пример отсчетов, используемых для определения параметров в режиме прогнозирования на основе кросс-компонентной линейной модели (cross-component linear model (CCLM)).
Фиг. 8 показывает пример архитектуры для отображения яркостной составляющей с масштабированием цветностной составляющей.
Фиг. 9A−9E представляют логические схемы для примеров способов обработки видео.
Фиг. 10 представляет блок-схему примера аппаратной платформы для осуществления способов кодирования сигналов визуальных медиа или декодирования сигналов визуальных медиа, описываемых в настоящем документе.
Фиг. 11 представляет блок-схему примера системы обработки видео, в которой могут быть осуществлены рассматриваемые здесь способы.
Фиг. 12 представляет логическую схему примера способа обработки сигнала визуальных медиа.
Фиг. 13 представляет логическую схему примера способа обработки сигнала визуальных медиа.
Фиг. 14 представляет логическую схему примера способа обработки сигнала визуальных медиа.
Фиг. 15 представляет логическую схему примера способа обработки сигнала визуальных медиа.
Фиг. 16 представляет логическую схему примера способа обработки сигнала визуальных медиа.
Фиг. 17 представляет логическую схему примера способа обработки сигнала визуальных медиа.
Фиг. 18 представляет логическую схему примера способа обработки сигнала визуальных медиа.
Фиг. 19 представляет логическую схему примера способа обработки сигнала визуальных медиа.
Фиг. 20 представляет логическую схему примера способа обработки сигнала визуальных медиа.
Фиг. 21 представляет логическую схему примера способа обработки сигнала визуальных медиа.
Фиг. 22 представляет логическую схему примера способа обработки сигнала визуальных медиа.
Фиг. 23 представляет логическую схему примера способа обработки сигнала визуальных медиа.
Фиг. 24 представляет логическую схему примера способа обработки сигнала визуальных медиа.
Фиг. 25 представляет логическую схему примера способа обработки сигнала визуальных медиа.
Фиг. 26 представляет логическую схему примера способа обработки сигнала визуальных медиа.
Осуществление изобретения
Настоящий документ предлагает различные способы, которые могут быть использованы декодирующими устройствами для декодирования изображения или потока битов данных видео с целью улучшения качества расширенного или декодированного цифрового видео или изображений. Для краткости, термин «видео» используется здесь для того, чтобы охватывать как последовательность изображений (традиционно называемую «видео»), так и индивидуальные изображения. Более того, кодирующее устройство для видео может также реализовать эти способы в процессе кодирования с целью реконструировать декодированные кадры, используемые для дальнейшего кодирования.
Заголовки разделов в настоящем документе используются для облегчения понимания и не ограничивают варианты и способы только соответствующими разделами. Поэтому, варианты из одного раздела можно комбинировать с вариантами из других разделов.
1. Краткое изложение существа изобретения
Настоящий документ относится к технологиям кодирования/декодирования видео. В частности, документ относится к кодированию коэффициентов в режиме пропуска преобразования при кодировании видео. Документ может быть применен к существующим стандартам кодирования видео, таким как «Высокоэффективное видео кодирование» (HEVC), или к стандарту «Универсальное видео кодирование» (VVC (Versatile Video Coding)), разработка которого еще не завершена. Он может быть также применим к стандартам будущего для кодирования видео или к видео кодекам.
2. Первоначальное обсуждение
Стандарты кодирования видео развивались главным образом через разработку хорошо известных стандартов ITU-T и ISO/IEC. Союз ITU-T выпустил стандарты H.261 и H.263, организация ISO/IEC выпустила стандарты MPEG-1 и MPEG-4 Visual, а также эти две организации совместно выпустили стандарты H.262/MPEG-2 Video и H.264/MPEG-4 Advanced Video Coding (AVC) (усовершенствованное видео кодирование) и H.265/HEVC[1,2]. Со времени стандарта H.262, стандарты кодирования видео основаны на гибридной структуре кодирования видео, использующей временное прогнозирование плюс трансформационное кодирование. Для исследований в области технологий кодирования видео будущего, которые будут разработаны после технологии кодирования HEVC, группа экспертов по кодированию видео (VCEG) и группа экспертов по кинематографии (MPEG) в 2015 г. совместно основали Объединенную группу исследований в области видео (Joint Video Exploration Team (JVET)). С тех пор группа JVET разработала множество способов и ввела их в эталонное программное обеспечение, называемое Совместной исследовательской моделью (Joint Exploration Model (JEM)). В апреле 2018 г. группа VCEG (Q6/16) и отдел ISO/IEC JTC1 SC29/WG11 (MPEG) создали объединенную группу экспертов в области видео (Joint Video Expert Team (JVET)) для работы над стандартом кодирования VVC, имея целью добиться снижения требуемой скорости передачи битов данных на 50% по сравнению с кодированием HEVC.
Самая последняя версия проекта стандарта VVC, т.е. Универсального видео кодирования (Проект 4) (Versatile Video Coding (Draft 4)), может быть найдена по адресу: http://phenix.it-sudparis.eu/jvet/doc_end_user/current_document.php?id=5755
Самая последняя эталонная версия программного обеспечения для стандарта кодирования VVC, называемая VTM, может быть найдена по адресу:
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-4.0
Режим внутрикадрового копирования блоков
Режим внутрикадрового копирования блоков (intra block copy (IBC)), который также называется использованием текущего изображения в качестве опоры, был принят в расширениях кодирования контента экрана (HEVC Screen Content Coding extensions (HEVC-SCC)) и в тестовой модели сегодняшней версии стандарта кодирования VVC (VTM-4.0). Принцип копирования IBC расширяет концепцию компенсации движения от кодирования с межкадровым прогнозированием на кодирование с внутрикадровым прогнозированием. Как показано на Фиг. 1, когда применяется копирование IBC, текущий блок прогнозируют на основе опорного блока из того же самого изображения. Отсчеты из опорного блока должны быть уже реконструированы прежде, чем текущий блок будет кодирован или декодирован. Хотя режим копирования IBC не является достаточно эффективным для большинства захватываемых видеокамерой последовательностей, он демонстрирует значительный выигрыш по кодированию контента экрана. Причиной этого является наличие больших групп из повторяющихся структур, таких как иконки и текстовые символы, в изображении контента экрана. Режим копирования IBC может эффективно устранить избыточность между этими повторяющимися структурами. В стандарте HEVC-SCC, единица кодирования (coding unit (CU)) с применением межкадрового прогнозирования может применить режим копирования IBC, если она выберет текущее изображение в качестве опорного изображения. В этом случае вектор движения (MV) переименовывают в блочный вектор (block vector (BV)), причем этот вектор BV всегда имеет точность до целого пикселя. Для обеспечения совместимости с главным профилем кодирования HEVC, текущее изображение маркируют как «долговременное» (“long-term”) опорное изображение в буфере декодированных изображений (Decoded Picture Buffer (DPB)). Следует отметить, что аналогично, в стандартах многовидового/3D кодирования видео, межвидовое опорное изображение также маркируют в качестве «долговременного» опорного изображения.
Следуя за вектором BV, чтобы найти опорный блок, прогнозируемый объект можно генерировать путем копирования опорного блока. Остаток может быть получен путем вычитания опорных пикселей из исходных сигналов. Затем может быть применено преобразование и квантование, как и в других режимах кодирования.
Однако, когда опорный блок находится вне изображения, либо накладывается на текущий блок, либо находится вне реконструированной области, либо находится вне действительной области, ограниченной некоторыми ограничивающими факторами, часть или все величины пикселей не определены. В основном имеются два технических решения для работы с такой проблемой. Одно решение состоит в том, чтобы не допустить такой ситуации, например, в соответствии потоков битов данных. Другое решение состоит в том, чтобы применить заполнение для таких неопределенных величин пикселей. Следующие подразделы описывают эти технические решения подробно.
Режим копирования IBC в расширениях HEVC Screen Content Coding
В расширениях с кодированием контента экрана (screen content coding (SCC)) в стандарте кодирования HEVC, когда какой-либо блок использует текущее изображение в качестве опоры, он должен гарантировать, что весь опорный блок находится в пределах доступной реконструированной области, как это обозначено в следующем специальном тексте:
Переменные offsetX и offsetY получают следующим образом:
Одно из требований соответствия потоков битов данных состоит в том, что когда опорное изображение является текущим изображеннием, вектор mvLX движения яркостной составляющей должен подчиняться следующим ограниченниям:
- Когда процедура определения доступности блоков в порядке z-сканирования, как это специфицировано в статье 6.4.1, привлекается при ( xCurr, yCurr ), установленных равными ( xCb, yCb ), и соседнем положении яркостной составляющей ( xNbY, yNbY ), установленном равным ( xPb + (mvLX[ 0 ] >> 2) − offsetX, yPb + ( mvLX[ 1 ] >> 2 ) − offsetY ), в качестве входных данных, выходной сигнал должен иметь значение «Истинно» (TRUE).
- Когда процедура определения доступности блоков в порядке z-сканирования, как это специфицировано в статье 6.4.1, привлекается при ( xCurr, yCurr ), установленных равными ( xCb, yCb ), и соседнем положении яркостной составляющей ( xNbY, yNbY ), установленном равным ( xPb + (mvLX[ 0 ] >> 2) + nPbW − 1 + offsetX, yPb + (mvLX[ 1 ] >> 2) + nPbH − 1 + offsetY), в качестве входных данных, выходной сигнал должен иметь значение «Истинно» (TRUE).
- Одно или оба из следующим условий должно быть «истинным» (true):
- Величина ( mvLX[ 0 ] >> 2 ) + nPbW + xB1 + offsetX не больше 0.
- Величина ( mvLX[ 1 ] >> 2 ) + nPbH + yB1 + offsetY не больше 0.
- Следующее условие должно быть «истинным» (true):
Таким образом, случай, когда опорный блок накладывается на текущий блок или опорный блок находится вне изображения, не возникнет. Поэтому, нет необходимости «заполнять» опорный или прогнозируемый блок.
Режим копирования IBC в тестовой модели для кодирования VVC
В сегодняшней тестовой модели кодирования VVC, т.е. согласно документу VTM-4.0, весь опорный блок должен быть в текущей единице дерева кодирования (current coding tree unit (CTU)) и не должен накладываться на текущий блок. Таким образом, нет необходимости «заполнять» опорный или прогнозируемый блок. Флаг режима копирования IBC кодируют в качестве обозначения режима прогнозирования для текущей единицы CU. Таким образом, имеются всего три режима прогнозирования, MODE_INTRA, MODE_INTER и MODE_IBC для каждой единицы CU.
Режим копирования с объединением (IBC Merge)
В режиме копирования IBC с объединением, индекс, указывающий на входную позицию в список кандидатов для этого режима копирования IBC с объединением, выделяют посредством синтаксического анализа из потока битов данных. Процедура построения списка для режима копирования IBC с объединением может быть суммирована в соответствии со следующей последовательностью этапов:
Этап 1: Формирование пространственных кандидатов
Этап 2: Вставка кандидатов для прогнозирования HMVP
Этап 3: Вставка попарно усредненных кандидатов
При формировании пространственных объединяемых кандидатов, выбирают максимум четырех объединяемых кандидатов из совокупности кандидатов, расположенных в позициях A1, B1, B0, A0 и B2. Кандидатов выбирают в следующем порядке A1, B1, B0, A0 и B2. Позицию B2 учитывают только тогда, когда какая-либо из единиц PU, которые должны быть в позициях A1, B1, B0, A0, недоступна (например, потому, что эта единица принадлежит другому срезу или плитке) или не кодирована в режиме копирования IBC. После добавления кандидата в позиции A1 добавление остальных кандидатов должно происходить с контролем избыточности, что обеспечивает исключение кандидатов с одинаковой информацией о движении из списка, так что эффективность кодирования улучшается.
После вставки пространственных кандидатов, если размер списка кандидатов для режима копирования IBC с объединением все еще остается меньше максимального размера списка кандидатов для режима копирования IBC с объединением, могут быть вставлены кандидаты для режима копирования IBC из таблицы прогнозирования HMVP. При вставке кандидатов из таблицы прогнозирования HMVP выполняется контроль избыточности.
Наконец, в список кандидатов для режима копирования IBC с объединением добавляют попарно усредненных кандидатов.
Когда опорный блок, идентифицированный объединяемым кандидатом, находится вне изображения, либо накладывается на текущий блок, либо находится вне реконструированной области, либо находится вне действительной области, ограниченной некоторыми ограничивающими факторами, этот объединяемый кандидат называется недействительным объединяемым кандидатом.
Отметим, что недействительные объединяемые кандидаты могут быть вставлены в список кандидатов для режима копирования IBC с объединением.
Режим прогнозирования AMVP с копированием IBC
В режиме прогнозирования AMVP с копированием IBC (далее – режим IBC AMVP) индекс прогнозирования AMVP, указывающий на входную позицию в списке режима IBC AMVP, выделяют посредством синтаксического анализа из потока битов данных. Построение списка режима IBC AMVP может быть суммировано в соответствии со следующей последовательностью этапов:
Этап 1: Формирование пространственных кандидатов
Проверка A0, A1 пока не будет найден доступный кандидат.
Проверка B0, B1, B2 пока не будет найден доступный кандидат.
Этап 2: Вставка кандидатов для прогнозирования HMVP
Этап 3: Вставка нулевых кандидатов
После вставки пространственных кандидатов, если размер списка для режима IBC AMVP все еще меньше максимального размера списка для этого режима IBC AMVP, могут быть вставлены кандидаты для режима копирования IBC из таблицы прогнозирования HMVP.
В конце концов, в этот список для режима IBC AMVP вставляют нулевых кандидатов.
Адаптивное разрешение векторов движения (AMVR)
В стандарте кодирования HEVC, разности векторов движения (motion vector difference (MVD)) (между вектором движения и прогнозируемым вектором движения для единицы PU) сообщают в виде сигнализации в единицах четвертей отсчетов яркостной составляющей, когда флаг use_integer_mv_flag равен 0 в заголовке среза. В стандарт кодирования VVC, введено адаптивное разрешение векторов движения (AMVR) на уровне единиц CU. Режим с разрешением AMVR позволяет разность MVD для рассматриваемой единицы CU кодировать с различной точностью. В зависимости от режима (нормальный режим прогнозирования AMVP или аффинный режим прогнозирования AVMP) для текущей единицы CU, разности MVD для текущей единицы CU могут быть адаптивно выбраны следующим образом:
- Нормальный режим прогнозирования AMVP: четверть отсчета яркостной составляющей, целый отсчет яркостной составляющей или четверка отсчетов яркостной составляющей.
- Аффинный режим прогнозирования AMVP: четверть отсчета яркостной составляющей, целый отсчет яркостной составляющей или 1/16 отсчета яркостной составляющей.
Индикацию разрешения разности MVD на уровне единиц CU условно передают в виде сигнализации, если текущая единица CU имеет по меньшей мере одну ненулевую составляющую разности MVD. Если все составляющие разностей MVD (иными словами, горизонтальных и вертикальных разностей MVD для опорного списка L0 и опорного списка L1) равны нулю, считается, что разрешение разности MVD равно четверти отсчета яркостной составляющей.
Для единицы CU, имеющей по меньшей мере одну ненулевую составляющую разности MVD, передают в виде сигнализации первый флаг для указания, используется ли точность разности MVD в одну четверть отсчета яркостной составляющей в этой единице CU. Если первый флаг равен 0, никакая дальнейшая сигнализация не требуется, и для текущей единицы CU используется разность MVD с точностью в четверть отсчета яркостной составляющей. В противном случае, передают в виде сигнализации второй флаг для индикации, используется ли точность в целый отсчет яркостной составляющей или в четыре отсчета яркостной составляющей для разности MVD для нормального режима прогнозирования AMVP единицы CU. Тот же самый второй флаг используется для индикации, используется ли точность в целый отсчет яркостной составляющей или в 1/16 отсчета яркостной составляющей для разности MVD для аффинного режима прогнозирования AMVP единицы CU. Для обеспечения, что реконструированный вектор MV имеет предназначенную точность (четверть отсчета яркостной составляющей, целый отсчет яркостной составляющей или четверка отсчетов яркостной составляющей), предикторы векторов движения для единицы CU будут округлены до такой же самой точности, какую имела разность MVD, прежде суммирования с разностью MVD. Предикторы векторов движения округляют в направлении нуля (иными словами, отрицательные предикторы векторов движения округляют в направлении положительной бесконечности, и положительные предикторы векторов движения округляют в направлении отрицательной бесконечности).
Кодирующее устройство определяет разрешение вектора движения для текущей единицы CU с использованием контроля соотношения скорость-искажения (RD). Для того чтобы избежать контроля соотношения RD на уровне единицы CU три раза для каждого уровня разрешения разностей MVD, в документе VTM4, контроль соотношения RD для уровней точности разностей MVD, отличных от четверти отсчета яркостной составляющей, привлекается только условно. Для нормального режима прогнозирования AVMP, сначала вычисляют «стоимость» соотношения RD для уровней точности разностей MVD в четверть отсчета яркостной составляющей и в целый отсчет яркостной составляющей. Затем стоимость соотношения RD для точности разности MVD в целый отсчет яркостной составляющей сравнивают со стоимостью такого соотношения для точности разности MVD в четверть отсчета яркостной составляющей, чтобы решить, есть ли необходимость дальнейшего контроля соотношения RD для точности разности MVD в четыре отсчета яркостной составляющей. Когда стоимость соотношения RD для точности разности MVD в четверть отсчета яркостной составляющей намного меньше такой стоимости для точности разности MVD в целый отсчет яркостной составляющей, проверку соотношения RD для точности разности MVD в четыре отсчета яркостной составляющей пропускают. Для аффинного режима прогнозирования AMVP, если аффинный режим межкадрового прогнозирования не выбран после проверки стоимости соотношения скорость-искажения для режима аффинного объединения/пропуска, режима объединения/пропуска, нормального режима прогнозирования AMVP с точностью разности MVD в четверть отсчета яркостной составляющей и аффинного режима прогнозирования AMVP с точностью разности MVD в четверть отсчета яркостной составляющей, тогда аффинные режимы межкадрового прогнозирования с точностью вектора MV в 1/16 отсчета яркостной составляющей и с точностью вектора MV в 1-pel не проверяют. Более того, аффинные параметры, получаемые в аффинном режиме межкадрового прогнозирования с точностью вектора MV в четверть отсчета яркостной составляющей, используются в качестве стартовой точки поиска в аффинных режимах межкадрового прогнозирования с точностями вектора MV в 1/16 отсчета яркостной составляющей и в четверть отсчета яркостной составляющей.
Режим палитры
Базовая идея, лежащая в основе режима палитры, состоит в том, что отсчеты в единице CU представлены небольшим набором репрезентативных цветовых величин. Этот набор называется палитрой. Можно также обозначить отсчет, находящийся вне палитры, путем передачи в виде сигнализации символа выпадения, за которым следует (возможно – квантованные) величины компонентов. Это иллюстрировано на Фиг. 2.
Режим палитры в стандарте кодирования HEVC с расширениями кодирования контента экрана (HEVC-SCC)
В режиме палитры в стандарте HEVC-SCC, прогнозирование используется для кодирования палитры и индексной карты.
Кодирование входных позиций палитры
Для кодирования входных позиций палитры поддерживают предиктор палитры. Максимальный размер палитры, равно как и предиктор палитры, сообщают в виде сигнализации в наборе SPS. В стандарте кодирования HEVC-SCC, в набор PPS вставляют флаг palette_predictor_initializer_present_flag. Когда этот флаг равен 1, входные позиции для инициализации предиктора палитры сообщают в виде сигнализации в потоке битов данных. Предиктор палитры инициализируют в начале каждой строки единиц CTU, каждого среза и каждой плитки. В зависимости от значения флага palette_predictor_initializer_present_flag, предиктор палитры устанавливают на 0 или инициализируют с использованием входных позиций инциализатора предиктора палитры, сообщаемых в виде сигнализации в наборе PPS. В стандарте кодирования HEVC-SCC, был активизирован инициализатор предиктора палитры размером 0, чтобы допустить отмену в явной форме инициализации предиктора палитры на уровне набора PPS.
Для каждой входной позиции в предикторе палитры, сообщают в виде сигнализации флаг повторного использования с целью индикации, является ли это частью текущей палитры. Это иллюстрирует Фиг. 3. Флаги повторного использования передают с применением кодирования длин серий нулей. После этого, число новых входных позиций палитры передают в виде сигнализации с использованием экспоненциального кода Голомба порядка 0. Наконец, передают в виде сигнализации значения компонентов для новых входных позиций палитры.
Кодирование индексов палитры
Индексы палитры кодируют с использованием горизонтальных и вертикальных поперечных сканирующих проходов, как показано на Фиг. 4. Порядок сканирования передают в виде сигнализации в потоке битов данных с использованием флага palette_transpose_flag. В остальной части этого подраздела предполагается, что сканирование является горизонтальным.
Индексы палитры кодируют с использованием двух главных режимов для отсчетов палитры: «индексный режим» ('INDEX') и «режим копирования верхнего» 'COPY_ABOVE'. Как объясняется ранее, символ выпадения также передают в виде сигнализации как режим 'INDEX' и назначают ему индекс, равный максимальному размеру палитры. Указание режима передают в виде сигнализации с использованием флага за исключением верхней строки или случая, когда предшествующий режим был режимом 'COPY_ABOVE'. В режиме 'COPY_ABOVE' копируют индекс палитры из строки сверху. В режиме 'INDEX' индекс палитры передают в форме сигнализации в явном виде. Для обоих режимов 'INDEX' и 'COPY_ABOVE' сообщают в форме сигнализации длину серии, которая специфицирует число последовательных отсчетов, также кодируемых в том же самом режиме. Когда символ выпадения является частью серии в режиме 'INDEX' или 'COPY_ABOVE', для каждого символа выпадения передают в виде сигнализации значения компонентов этого символа. Кодирование индексов палитры иллюстрировано на Фиг. 5.
Синтаксический порядок этого установлен следующим образом. Сначала сообщают число величин индексов для единицы CU. За этим следует сигнализация фактических величин индексов для всей единицы CU с использованием усеченного двоичного кодирования. И число индексов, и величины индексов кодируют в режиме обхода. Это группирует относящиеся к индексам обходные секции вместе. Затем о режиме отсчетов палитры (если необходимо) и о величине серии сообщают в виде сигнализации перемежающимся образом. Затем значения компонентов выпадения, соответствующие выпадающим отсчетам, для всей единицы CU группируют вместе и кодируют в режиме обхода.
Дополнительный синтаксический элемент, флаг last_run_type_flag, передают в виде сигнализации после сигнализации величин индексов. Этот синтаксический элемент, в сочетании с числом индексов, исключает необходимость передавать в виде сигнализации величину серии, соответствующую последней серии в блоке.
В стандарте кодирования HEVC-SCC, режим палитры также активизирован для цветовых форматов 4:2:2, 4:2:0 и для черно-белого формата. Сигнализация входных позиций палитры и индексов палитры является почти идентичной для всех цветовых форматов. В случае не черно-белых (не одноцветных) форматов каждая входная позиция палитры состоит из 3 компонентов. Для черно-белого формата каждая входная позиция палитры состоит из одного компонента. Для направлений субдискретизированной цветностной составляющей отсчеты цветностной составляющей ассоциированы с индексами отсчетов яркостной составляющей, которые делятся на 2. После реконструкции индексов палитры для единицы CU, если с каким-либо отсчетом ассоциирована только одна составляющая, используется только первый компонент входной позиции палитры. Единственное различие в сигнализации предусмотрено только для величин выпадающих компонентов. Для каждого выпадающего отсчета число передаваемых в виде сигнализации величин выпадающих компонентов может быть различным в зависимости от числа компонентов, ассоциированных с этим отсчетом.
Кодирование коэффициентов в режиме пропуска преобразования
В документах JVET-M0464 и JVET-N0280, предлагаются несколько модификаций кодирования коэффициентов в режиме пропуска преобразования (transform skip (TS)) с целью адаптировать кодирование остатка к статистике и характеристикам сигнала для уровней пропуска преобразования.
Предлагаемые модификации перечислены следующим образом.
Отсутствие последней значимой позиции сканирования: Поскольку сигнал остатка отражает пространственный остаток после прогнозирования и в режиме TS не осуществляется сжатие энергии, более не наблюдается повышенная вероятность конечных нулей или незначительных уровней в нижнем правом углу блока преобразования. Таким образом, последняя значимая позиция сканирования в этом случае опущена в составе сигнализации.
Флаги CBF для субблоков: Отсутствие сигнализации о последней значимой позиции сканирования требует передачи в виде сигнализации флага CBF для субблока с флагом coded_sub_block_flag для режима TS в модифицированном следующим образом виде:
○ Вследствие квантования, указанная выше последовательность незначимости может по-прежнему возникать локально внутри блока преобразования. Таким образом, последняя значимая позиция сканирования исключена, как описано выше, и флаг coded_sub_block_flag кодируют для всех субблоков.
○ Флаг coded_sub_block_flag для субблока, покрывающего частотную позицию для DC-режима, (верхний левый субблок) представляет специальный случай. В Проекте 3 стандарта кодирования VVC (VVC Draft 3), флаг coded_sub_block_flag для этого субблока никогда не передают в виде сигнализации и всегда считают равным 1. Когда последняя значимая позиция сканирования расположена в другом субблоке, это означает, что имеется по меньшей мере один значимый уровень вне этого DC-субблока. Следовательно, это DC-субблок может содержать только нулевые/незначимые уровни, хотя флаг coded_sub_block_flag для этого субблока считается равным 1. В отсутствие информации о последней позиции сканирования в режиме пропуска TS, передают в виде сигнализации флаг coded_sub_block_flag для каждого субблока. Это также относится к флагу coded_sub_block_flag для DC-субблока за исключением случая, когда все другие синтаксические элементы с флагом coded_sub_block_flag уже равны 0. В этом случае, флаг coded_sub_block_flag для DC-субблока признают равным 1 (inferDcSbCbf=1). Поскольку в таком DC-субблоке должен быть по меньшей мере один значимый уровень, синтаксический элемент с флагом sig_coeff_flag для первой позиции в точке (0,0) не передают в виде сигнализации и вместо этого принимают равным 1 (inferSbDcSigCoeffFlag=1), если все прочие синтаксические элементы с флагом sig_coeff_flag в этом DC-субблоке равны 0.
○ Контекстное моделирование для флага coded_sub_block_flag изменено. Индекс контекстной модели вычисляют как сумму флага coded_sub_block_flag слева и флага coded_sub_block_flag сверху относительно текущего субблока вместо логического сложения (операция «ИЛИ» или дизъюнкция) этих двух флагов.
Контекстное моделирование флага sig_coeff_flag: Локальный шаблон для контекстного моделирования флага sig_coeff_flag модифицируют таким образом, чтобы он содержал только соседа слева (NB0) и соседа сверху (NB1) относительно текущей позиции сканирования. Сдвиг контекстной модели представляет собой просто число значимых соседних позиций sig_coeff_flag[NB0] + sig_coeff_flag[NB1]. Следовательно, исключен выбор различных контекстных групп в зависимости от диагонали в текущем блоке преобразования. Результатом этого является наличие трех контекстных моделей и одной группы контекстных моделей для кодирования флага sig_coeff_flag.
Контекстное моделирование флагов abs_level_gt1_flag и par_level_flag: для флагов abs_level_gt1_flag и par_level_flag используется единая контекстная модель.
Кодирование параметра abs_remainder: Хотя эмпирическое распределение абсолютных уровней остатка в режиме пропуска преобразования обычно по-прежнему соответствует распределению Лапласа или геометрическому распределению, существует более высокая степень нестационарности по сравнению с абсолютными уровнями коэффициентов преобразования. В частности, дисперсия в окне реализации коэффициентов выше, чем для абсолютных уровней остатка. Это мотивирует следующие модификации бинаризации синтаксиса параметра abs_remainder и контекстного моделирования:
○ Использование более высокой величины отсечки при бинаризации, т.е. точки перехода от кодирования с использованием флагов sig_coeff_flag, abs_level_gt1_flag, par_level_flag и abs_level_gt3_flag к кодам Райса для параметра abs_remainder, и специализированные контекстные модели для позиции каждой секции (разряда) дают более высокую эффективность сжатия. Результатом увеличения уровня отсечки будет большее число флагов типа «больше чем X», например введение флагов abs_level_gt5_flag, abs_level_gt7_flag и т.д. до тех пор, пока не будет достигнута отсечка. Сам по себе уровень отсечки зафиксирован равным 5 (numGtFlags=5).
○ Модифицирован шаблон для определения параметра кода Райса, т.е. учитываются только сосед слева и сосед сверху относительно текущей позиции сканирования для контекстного моделирования флага sig_coeff_flag.
Контекстное моделирование флага coeff_sign_flag: Вследствие нестационарности в последовательности знаков и того факта, что остаток прогнозирования часто смещен, знаки могут быть кодированы с использованием контекстных моделей, даже если глобальное эмпирическое распределение является почти равномерным. Одна специализированная контекстная модель используется для кодирования знаков, и знак подвергают синтаксическому анализу после флага sig_coeff_flag для удержания секций (разрядов), кодированных контекстно-зависимым способом, вместе.
Дифференциальная импульсно-кодовая модуляция квантованного блока остатка (QR-BDPCM)
В документе JVET-M0413, предложен способ дифференциальной импульсно-кодовой модуляции квантованного блока остатка (QR-BDPCM) для эффективного кодирования контента экрана.
Направления прогнозирования, используемые при модуляции QR-BDPCM, могут соответствовать вертикальным и горизонтальным режимам прогнозирования. Внутрикадровое прогнозирование осуществляется для всего блока путем копирования отсчетов в направлении прогнозирования (горизонтальное или вертикальное прогнозирование) аналогично внутрикадровому прогнозированию. Остаток квантуют и разницу между квантованным остатком и квантованной величиной его предиктора (горизонтального или вертикального) кодируют. Это может быть описано следующим образом: Для блока размером M (строк) × N (столбцов), пусть представляет собой остаток прогнозирования после осуществления внутрикадрового прогнозирования в горизонтальном направлении (копирование величины соседнего слева пикселя по всему прогнозируемому блоку строка за строкой) или в вертикальном направлении (копирование соседней сверху строки на каждую строку в прогнозируемом блоке) с использованием нефильтрованных отсчетов сверху или слева от отсчетов на границе блока. Пусть обозначает квантованную версию остатка , где остаток представляет собой разность между величинами из исходного блока и прогнозируемого блока. Затем модуляцию DPCM блока применяют к квантованным отсчетам остатка, результатом чего является модифицированная матрица размером M × N с элементами . Когда в виде сигнализации сообщают о модуляции BDPCM в вертикальном направлении:
.
Для горизонтального прогнозирования применяются аналогичные правила, и квантованные отсчеты остатка получают по формуле
.
Квантованные отсчеты остатка передают декодирующему устройству.
На стороне декодирующего устройства приведенные выше вычисления инвертируют для получения . Для случая вертикального прогнозирования,
.
Для горизонтального случая,
.
Обратно квантованные остатки, , добавляют к прогнозируемым величинам в блоке при внутрикадровом прогнозировании для получения реконструированных величин отсчетов.
Главным преимуществом этой схемы является то, что обратная модуляция DPCM может быть выполнена в реальном времени («на лету») в процессе синтаксического анализа коэффициентов просто путем добавления предиктора в ходе синтаксического анализа этих коэффициентов или после такого синтаксического анализа.
Изменения текста относительно модуляции QR-BDPCM согласно проекту показаны далее.
7.3.6.5 Синтаксис единицы кодирования
( tile_group_type != I && CuPredMode[ x0 ][ y0 ] != MODE_INTRA ) ) &&
sps_ibc_enabled_flag )
( cbWidth <= 32 ) && ( CbHeight <= 32 )) {
cbWidth >= MinIpcmCbSizeY && cbWidth <= MaxIpcmCbSizeY &&
cbHeight >= MinIpcmCbSizeY && cbHeight <= MaxIpcmCbSizeY )
( cbWidth <= MaxTbSizeY | | cbHeight <= MaxTbSizeY ) &&
( cbWidth * cbHeight > MinTbSizeY * MinTbSizeY ))
cbWidth <= MaxTbSizeY && cbHeight <= MaxTbSizeY )
intra_subpartitions_mode_flag[ x0 ][ y0 ] = = 0 )
Флаг bdpcm_flag[ x0 ][ y0 ] равный 1 специфицирует, что флаг bdpcm_dir_flag присутствует в единице кодирования, содержащей блок кодирования яркостной составляющей в позиции ( x0, y0 )
Флаг bdpcm_dir_flag[ x0 ][ y0 ] равный 0 специфицирует, что в блоке с модуляцией bdpcm следует использовать горизонтальное направление прогнозирования, в противном случае это направление должно быть вертикальным.
Структура разбиения
Разбиение единиц CTU с использованием структуры дерева
В стандарте кодирования HEVC, единицу CTU разбивают на единицы CU с использованием структуры четвертичного дерева, обозначенной как дерево кодирования для адаптации к различным локальным характеристикам. Решение о том, следует ли кодировать область изображения с использованием межкадрового (временного) или внутрикадрового (пространственного) прогнозирования, принимается на уровне единиц CU, соответствующих концевым узлам («листьям») дерева. Каждая концевая единица CU может быть далее разбита на одну, две или четыре единицы PU в соответствии с типом разбиения на единицы PU. Внутри одной единицы PU, применяется одна и та же процедура прогнозирования, и соответствующую информацию передают декодирующему устройству на основе единиц PU. После получения блока остатка в результате применения процедуры прогнозирования на основе типа разбиения на единицы PU концевая («лист») единица CU может быть разбита на единицы преобразования (transform unit (TU)) в соответствии с другой структурой четвертичного дерева аналогично дереву кодирования для единицы CU. Одно из главных свойств структуры кодирования HEVC состоит в том, что она имеет несколько концепций разбиения, включая единицы CU, единицы PU и единицы TU.
В стандарте кодирования VVC, структура дерева квадратов с вложенной структурой нескольких типов деревьев, использующей структуру сегментации с разбиением по схеме двоичного и/или троичного дерева, заменяет концепцию нескольких типов единиц разбиения, т.е. устраняет разделение с концепциями единиц CU, единиц PU и единиц TU за исключением ситуаций, когда это необходимо для единиц CU, имеющих слишком большой размер для максимальной длины преобразования, и поддерживает больше гибкости с точки зрения форм разбиения единиц CU. В структуре дерева кодирования единица CU может иметь квадратную или прямоугольную форму. Сначала единицу дерева кодирования (CTU) разбивают по схеме четвертичного дерева (известного также как дерево квадратов). Тогда концевые узлы четвертичного дерева могут быть дальше разбиты в структуре дерева нескольких типов. Как показано на Фиг. 6, имеются четыре типа разбиения в структуре дерева нескольких типов, а именно вертикальное двоичное разбиение (SPLIT_BT_VER), горизонтальное двоичное разбиение (SPLIT_BT_HOR), вертикальное троичное разбиение (SPLIT_TT_VER) и горизонтальное троичное разбиение (SPLIT_TT_HOR). Концевые узлы в структуре дерева нескольких типов также называются единицами кодирования (CU), и если только рассматриваемая единица CU не является слишком большой относительно максимальной длины преобразования, такая сегментация используется для процедуры прогнозирования и преобразования без какого-либо дальнейшего разбиения. Это означает, в большинстве случаев, что единицы CU, единицы PU и единицы TU имеют одинаковый размер блока в структуре блока кодирования, имеющей тип дерева кодирования с вложенной структурой деревьев нескольких типов. Исключение возникает, когда максимальная поддерживаемая длина преобразования меньше ширины или высоты цветовой составляющей единицы CU. В дополнение к этому, яркостная и цветностные составляющие имеют разные структуры разбиения в плитках I-типа.
Прогнозирование с использованием кросс-компонентной линейной модели
Для уменьшения кросс-компонентной избыточности, в документе VTM4 используется режим прогнозирования по кросс-компонентной линейной модели (CCLM), согласно этому документу VTM4 отсчеты цветностной составляющей прогнозируют на основе реконструированных отсчетов яркостной составляющей из той же самой единицы CU с использованием линейной модели следующим образом:
где параметр представляет прогнозируемые отсчеты цветностных составляющих в единице CU, и параметр представляет субдискретизированные реконструированные отсчеты яркостной составляющей из той же самой единицы CU. Параметры и линейной модели выводят из соотношения между величинами яркостной составляющей и величинами цветностной составляющей для двух отсчетов, представляющих собой отсчеты яркостной составляющей с минимальной величиной отсчета и с максимальной величиной отсчета среди множества субдискретизированных соседних отсчетов яркостной составляющей, и соответствующие им отсчеты цветностной составляющей. Эти параметры и линейной модели получают в соответствии со следующими уравнениями.
Где параметры Ya и Xa представляют величину яркостной составляющей и величину цветностной составляющей для отсчета яркостной составляющей с максимальной величиной. И параметры Xb и Yb представляют величину яркостной составляющей и величину цветностной составляющей для отсчета яркостной составляющей с минимальной величиной, соответственно. На Фиг. 7 показан пример расположения отсчетов слева и сверху и отсчетов текущего блока, участвующих в режиме, использующем модуль CCLM.
Отображение яркостной составляющей с масштабированием цветностной составляющей (LMCS)
В документе VTM4, инструмент кодирования, называемый отображением яркостной составляющей с масштабированием цветностной составляющей (luma mapping with chroma scaling (LMCS)), добавлен в качестве нового процессорного блока прежде контурных фильтров. Режим LMCS имеет два главных компонента: 1) внутриконтурное отображение яркостной составляющей на основе адаптивных кусочно-линейных моделей; 2) применение зависящего от яркостной составляющей масштабирования остатка цветностной составляющей для цветностных составляющих. Фиг. 8 показывает архитектуру осуществления режима LMCS с точки зрения декодирующего устройства. Заштрихованные блоки на Фиг. 8 указывают, что обработка применяется в отображенной области; сюда входит обратное квантование, обратное преобразование, внутрикадровое прогнозирование яркостной составляющей и суммирование прогнозирования яркостной составляющей с остатком яркостной составляющей. Незаштрихованные блоки на Фиг. 8 указывают, где обработка применяется в исходной (т.е. неотображенной) области; и сюда входят контурные фильтры, такие как деблокирующие фильтры, фильтры ALF и фильтры SAO, прогнозирование с компенсацией движения, внутрикадровое прогнозирование цветностной составляющей, суммирование прогнозирования цветностной составляющей с остатком цветностной составляющей, и сохранение декодированных изображений в качестве опорных изображений. Блоки, заштрихованные светло-желтым, на Фиг. 8 представляют собой новые функциональные блоки для режима LMCS, включая прямое и обратное отображение сигнала яркостной составляющей и процедуру зависящего от яркостной составляющей масштабирования цветностной составляющей. Как и большинство других инструментов в стандарте кодирования VVC, режим LMCS может быть активизирован/активизация отменена на уровне последовательности с использованием флага набора SPS.
3. Примеры проблем, решаемых вариантами
Хотя кодирование коэффициентов согласно документу JVET-N0280 может обеспечить достижение некоторого выигрыша при кодировании контента экрана, режим кодирования коэффициентов и пропуска преобразования (TS) могут по-прежнему иметь некоторые недостатки.
(1) Максимально допустимой шириной или высотой в режиме пропуска TS управляют посредством одной общей величины в наборе PPS, что может ограничить гибкость.
(2) Каждая группа кодирования (coding group (CG)) должна передавать в виде сигнализации флаг cbf для режима пропуска TS, что может увеличить непрямые затраты.
(3) Порядок сканирования коэффициентов не учитывает режим внутрикадрового прогнозирования.
(4) Кодирование знакового флага использует только один контекст.
(5) Не поддерживается пропуск преобразования цветностной составляющей.
(6) Флаг пропуска преобразования применяется ко всем режимам прогнозирования, что увеличивает непрямые затраты и сложность кодирования.
4. Примеры вариантов
Приведенные ниже подробные описания предложений следует рассматривать в качестве примеров для пояснения общих концепций. Эти предложения не следует интерпретировать в узком смысле. Далее, эти предложения могут быть комбинированы любым способом.
1. Индикация максимально допустимой ширины и высоты для режима пропуска преобразования может быть сообщена в виде сигнализации в наборе SPS/наборе VPS/наборе PPS/заголовке изображения/заголовке среза/заголовке группы плиток/строки наибольших единиц LCU/группе единиц LCU.
a. В одном из примеров, максимально допустимые ширина и высота для режима пропуска преобразования могут быть обозначены различными сообщениями, передаваемыми в виде сигнализации в наборе SPS/наборе VPS/наборе PPS/заголовке изображения/заголовке среза/заголовке группы плиток/строке наибольших единиц LCU/группе единиц LCU.
b. В одном из примеров, максимально допустимая ширина и/или высота может сначала быть сообщена в виде сигнализации в наборе SPS/наборе PPS, после чего обновлена в заголовке изображения/заголовке среза/заголовке группы плиток/строке наибольших единиц LCU/группе единиц LCU.
2. Блок, кодируемый в режиме пропуска TS, может быть разбит на несколько групп коэффициентов (CG), и передача в виде сигнализации флагов кодируемого блока (coded block flag (Cbf)) по меньшей мере для одной группы CG может быть пропущена.
a. В одном из примеров, передача в виде сигнализации флагов Cbf для всех групп CG может быть пропущена, например, для блоков, кодируемых в режиме пропуска TS.
b. В одном из примеров, пропущенные флаги cbf для групп CG могут быть приняты равными 1 для режима пропуска TS
c. В одном из примеров, пропускать ли часть или все флаги Cbf для групп CG, может зависеть от режима кодирования.
i. В одном из примеров, для блоков, кодированных в режиме внутрикадрового преобразования с пропуском TS, пропускают передачу в виде сигнализации всех флагов Cbf для групп CG.
d. В одном из примеров, значения пропущенных флагов Cbf для групп CG могут быть приняты на основе
i. Сообщения, переданного в виде сигнализации в наборе SPS/наборе VPS/наборе PPS/заголовке изображения/заголовке среза/заголовке группы плиток/строке наибольших единиц LCU/группе единиц LCU/единице LCU/единице CU
ii. Позиции группы CG
iii. Размеров текущего блока и/или соседних с ним блоков
iv. Формы текущего блока и/или соседних с ним блоков
v. Наиболее вероятных режимов для текущего блока и/или соседних с ним блоков
vi. Режимов прогнозирования (Внутрикадрового/Межкадрового) для блоков, соседних с текущим блоком
vii. Режимов внутрикадрового прогнозирования для блоков, соседних с текущим блоком
viii. Векторов движения для блоков, соседних с текущим блоком
ix. Индикации режимов модуляции QR-BDPCM для блоков, соседних с текущим блоком
x. Текущего параметра квантования для текущего блока и/или соседних с ним блоков
xi. Индикации цветового формата (такого как 4:2:0, 4:4:4)
xii. Структуры одиночного/двойного дерева кодирования
xiii. Типа среза/плитки и/или типа изображения
3. Порядок сканирования коэффициентов в блоках, кодируемых в режиме пропуска TS, может зависеть от сообщения, переданного в виде сигнализации в наборе SPS/наборе VPS/наборе PPS/заголовке изображения/заголовке среза/заголовке группы плиток/строке наибольших единиц LCU/группе единиц LCU/единице LCU/единице CU.
a. В качестве альтернативы, группа CG и/или порядок сканирования коэффициентов могут зависеть от режима внутрикадрового прогнозирования, когда используется режим пропуска TS
i. В одном из примеров, порядок сканирования может быть вертикальным, если режим внутрикадрового прогнозирования является преобладающе горизонтальным
i. В одном из примеров, порядок сканирования может быть вертикальным, если индекс режима внутрикадрового прогнозирования находится в пределах от 2 до 34.
2. В одном из примеров, порядок сканирования может быть вертикальным, если индекс режима внутрикадрового прогнозирования находится в пределах от 2 до 33.
ii. В одном из примеров, порядок сканирования может быть вертикальным, если режим внутрикадрового прогнозирования является преобладающе вертикальным
1. В одном из примеров, порядок сканирования может быть вертикальным, если индекс режима внутрикадрового прогнозирования находится в пределах 34 – 66.
2. В одном из примеров, порядок сканирования может быть вертикальным, если индекс режима внутрикадрового прогнозирования находится в пределах 35 – 66.
iii. В одном из примеров, порядок сканирования может быть горизонтальным, если режим внутрикадрового прогнозирования является преобладающе вертикальным
1. В одном из примеров, порядок сканирования может быть вертикальным, если индекс режима внутрикадрового прогнозирования находится в пределах от 34 до 66.
2. В одном из примеров, порядок сканирования может быть вертикальным, если индекс режима внутрикадрового прогнозирования находится в пределах от 35 до 66.
iv. В одном из примеров, порядок сканирования может быть горизонтальным, если режим внутрикадрового прогнозирования является преобладающе горизонтальным
1. В одном из примеров, порядок сканирования может быть вертикальным, если индекс режима внутрикадрового прогнозирования находится в пределах от 2 до 34.
2. В одном из примеров, порядок сканирования может быть вертикальным, если индекс режима внутрикадрового прогнозирования находится в пределах от 2 до 33.
4. Предлагается, что контекст кодирования знакового флага может зависеть от информации о соседях в блоке коэффициентов для режима пропуска TS.
a. В одном из примеров, контекст кодирования знакового флага может зависеть от величин знаковых флагов соседей для режима пропуска TS.
i. В одном из примеров, контекст кодирования текущего знакового флага может зависеть от величин знаковых флагов соседей слева и/или сверху.
1. В одном из примеров, контекст текущего знакового флага может быть получен как C= (L + A), где C обозначает идентификатор контекста, L обозначает знаковый флаг соседа слева и A обозначает знаковый флаг соседа сверху
2. В одном из примеров, контекст текущего знакового флага может быть получен как C= (L + A*2), где C обозначает идентификатор контекста, L обозначает знаковый флаг соседа слева и A обозначает знаковый флаг соседа сверху
3. В одном из примеров, контекст текущего знакового флага может быть получен как C= (L*2 + A), где C обозначает идентификатор контекста, L обозначает знаковый флаг соседа слева и A обозначает знаковый флаг соседа сверху
ii. В одном из примеров, контекст кодирования текущего знакового флага может зависеть от величин знаковых флагов соседей слева и сверху, и соседа сверху слева.
iii. В одном из примеров, контекст кодирования текущего знакового флага может зависеть от величин знаковых флагов соседей слева и сверху, соседа сверху слева и соседа сверху справа.
b. В одном из примеров, контекст кодирования текущего знакового флага может зависеть от позиции рассматриваемого коэффициента.
i. В одном из примеров, контекст знакового флага может быть различным в разных позициях.
ii. В одном из примеров, контекст знакового флага может зависеть от x+y, где x и y обозначают горизонтальную и вертикальную координаты некоторой позиции.
iii. В одном из примеров, контекст знакового флага может зависеть от min(x,y), где x и y обозначают горизонтальную и вертикальную координаты некоторой позиции. iv. В одном из примеров, контекст знакового флага может зависеть от max(x,y), где x и y обозначают горизонтальную и вертикальную координаты некоторой позиции.
5. Предлагается, что может поддерживаться режим пропуска преобразования цветностной составляющей.
a. В одном из примеров, использование режима пропуска преобразования цветностной составляющей может быть основано на сообщении, передаваемом в виде сигнализации в наборе SPS/наборе VPS/наборе PPS/заголовке изображения/заголовке среза/заголовке группы плиток/строке наибольших единиц LCU/группе единиц LCU/единице LCU/единице CU/единице данных видео.
b. В качестве альтернативы, использование режима пропуска преобразования цветностной составляющей может быть основано на декодированной информации одного или нескольких репрезентативных ранее кодированных блоков из той же самой цветовой составляющей или других цветовых составляющих.
i. В одном из примеров, индикация флага режима пропуска TS цветностной составляющей может быть принята в качестве ложного (false), если индикация флага режима пропуска TS для репрезентативного блока является ложной (false). В качестве альтернативы, индикация флага режима пропуска TS цветностной составляющей может быть принята в качестве истинной (true), если индикация флага режима пропуска TS для репрезентативного блока является истинной (true).
ii. В одном из примеров, репрезентативный блок может быть блоком яркостной составляющей или блоком цветностной составляющей.
iii. В одном из примеров, репрезентативный блок может быть каким-либо блоком из совокупности расположенных в том же месте блоков яркостной составляющей.
iv. В одном из примеров, репрезентативный блок может быть одним из соседних блоков цветностной составляющей относительно текущего блока цветностной составляющей.
v. В одном из примеров, репрезентативный блок может представлять собой блок, покрывающий отсчет яркостной составляющей, соответствующий центральному отсчету цветностной составляющей в текущем блоке цветностной составляющей.
vi. В одном из примеров, репрезентативный блок может представлять собой блок, покрывающий отсчет яркостной составляющей, соответствующий правому нижнему отсчету цветностной составляющей в текущем блоке цветностной составляющей.
6. Следует ли применять и/или как применять режим пропуска преобразования может зависеть от сообщения, передаваемого в форме сигнализации в наборе SPS/наборе VPS/наборе PPS/заголовке изображения/заголовке среза/заголовке группы плиток/строке наибольших единиц LCU/группе единиц LCU/единице LCU/единице CU/единице данных видео.
a. В одном из примеров, индикация того, когда и/или как применять режим пропуска преобразования может зависеть от
i. Размера текущего блока и/или соседних с ним блоков
ii. Формы текущего блока и/или соседних с ним блоков
iii. Наиболее вероятных режимов текущего блока и/или соседних с ним блоков
iv. Режимов прогнозирования (Внутрикадрового/Межкадрового) для блоков, соседних с текущим блоком
v. Режимов внутрикадрового прогнозирования для блоков, соседних с текущим блоком
vi. Векторов движения для блоков, соседних с текущим блоком
vii. Индикации режимов модуляции QR-BDPCM для блоков, соседних с текущим блоком
viii. Текущего параметра квантования для текущего блока и/или соседних с ним блоков
ix. Индикации цветового формата (такого как 4:2:0, 4:4:4)
x. Структуры одиночного/двойного дерева кодирования
xi. Типа среза/плитки и/или типа изображения
xii. Идентификатора ID временного слоя
b. В одном из примеров, режим пропуска преобразования может быть применен, когда режим прогнозирования представляет собой режим копирования IBC и ширина и/или высота блока меньше/больше/равна некой пороговой величине
i. В одном из примеров, эта пороговая величина может быть равна 4, 8, 16 или 32.
ii. В одном из примеров, эта пороговая величина может быть передана в виде сигнализации в потоке битов данных.
iii. В одном из примеров, эта пороговая величина может быть основана на
1. Сообщении, передаваемом в виде сигнализации в наборе SPS/наборе VPS/наборе PPS/заголовке изображения/заголовке среза/заголовке группы плиток/строке наибольших единиц LCU/группе единиц LCU/единице LCU/единице CU
2. Размере текущего блока и/или соседних с ним блоков
3. Форме текущего блока и/или соседних с ним блоков
4. Наиболее вероятных режимах текущего блока и/или соседних с ним блоков
5. Режимах прогнозирования (Внутрикадрового/Межкадрового) для блоков, соседних с текущим блоком
6. Режимах внутрикадрового прогнозирования для блоков, соседних с текущим блоком
7. Векторах движения для блоков, соседних с текущим блоком
8. Индикации режимов модуляции QR-BDPCM для блоков, соседних с текущим блоком
9. Текущем параметре квантования для текущего блока и/или соседних с ним блоков
10. Индикации цветового формата (такого как 4:2:0, 4:4:4)
11. Структуре одиночного/двойного дерева кодирования
12. Типе среза/плитки и/или типе изображения
13. Идентификаторе ID временного слоя
7. Следует ли передавать в виде сигнализации индикацию режима пропуска TS, может зависеть от декодированного/полученного режима внутрикадрового прогнозировании.
a. В качестве альтернативы, кроме того, это может зависеть от допустимых режимов/направлений внутрикадрового прогнозирования, используемых в блоках, кодированных в режиме модуляции QR-BDPCM, и от использования этого режима модуляции QR-BDPCM.
b. Для декодированного или полученного режима внутрикадрового прогнозирования, если этот режим является частью допустимого набора режимов/направлений внутрикадрового прогнозирования, используемых в блоках, кодированных в режиме модуляции QR-BDPCM, передача сигнализации флага режима пропуска TS может быть пропущена.
i. В одном из примеров, если режим модуляции QR-BDPCM допустим для кодирования одного среза/изображения/плитки/кирпича, вертикальный и горизонтальный режимы представляют собой два допустимых режима в процедуре модуляции QR-BDPCM, и если декодированный/полученный режим внутрикадрового прогнозирования является вертикальным или горизонтальным режимом, тогда индикацию режима пропуска TS не передают в виде сигнализации.
c. В одном из примеров, режим пропуска преобразования может быть признан активизированным, когда индикатор режима модуляции QR-BDPCM (например, флаг bdpcm_flag) равен 1.
d. Описанный выше способ может быть применен на основе
i. Сообщения, передаваемого в виде сигнализации в наборе SPS/наборе VPS/наборе PPS/заголовке изображения/заголовке среза/заголовке группы плиток/строке наибольших единиц LCU/группе единиц LCU/единице LCU/единице CU
ii. Размера текущего блока и/или соседних с ним блоков
iii. Формы текущего блока и/или соседних с ним блоков
iv. Наиболее вероятных режимов текущего блока и/или соседних с ним блоков
v. Режимов прогнозирования (Внутрикадрового/Межкадрового) для блоков, соседних с текущим блоком
vi. Режимов внутрикадрового прогнозирования для блоков, соседних с текущим блоком
vii. Векторов движения для блоков, соседних с текущим блоком
viii. Индикации режимов модуляции QR-BDPCM для блоков, соседних с текущим блоком
ix. Текущего параметра квантования для текущего блока и/или соседних с ним блоков
x. Индикации цветового формата (такого как 4:2:0, 4:4:4)
xi. Структуры одиночного/двойного дерева кодирования
xii. Типа среза/плитки и/или типа изображения
xiii. Идентификатора ID временного слоя
8. Следует ли применять и/или как применять режим модуляции QR-BDPCM может зависеть от индикации режима пропуска TS.
a. В одном из примеров, индикация того, следует ли применить модуляцию QR-BDPCM, может быть передана в виде сигнализации на уровне единиц преобразования (TU) вместо сигнализации в единице CU.
i. В одном из примеров, индикация того, следует ли применить модуляцию QR-BDPCM, может быть передана в виде сигнализации после того, как индикация режима пропуска TS была применена к единице TU.
b. В одном из примеров, режим модуляции QR-BDPCM рассматривают как специальный случай режима пропуска TS.
i. Когда один блок кодируют в режиме пропуска TS, другой флаг может быть дополнительно передан в виде сигнализации для индикации, применяется ли режим модуляции QR-BDPCM или обычный режим пропуска TS. Если блок кодируют в режиме модуляции QR-BDPCM, может быть в виде сигнализации дополнительно сообщено направление прогнозирования, используемое в режиме модуляции QR-BDPCM.
ii. В качестве альтернативы, когда один блок кодируют в режиме пропуска TS, другой флаг может быть дополнительно передан в виде сигнализации для индикации, какой вид модуляции QR-BDPCM (например, направленная модуляция QR-BDPCM на основе горизонтального/вертикального прогнозирования) или обычный режим пропуска TS применяется.
c. В одном из примеров, индикация того, следует ли применять режим модуляции QR-BDPCM, может быть выведена на основе индикации режима пропуска TS.
i. В одном из примеров, индикация того, следует ли применять режим модуляции QR-BDPCM к блоку яркостной составляющей и/или цветностной составляющей, может быть признана «истинной» (true), если индикация того, следует ли применять флаг пропуска преобразования для того же самого блока, является истинной (true). В качестве альтернативы, если индикация того, следует ли применять флаг пропуска преобразования для блока яркостной составляющей и/или цветностной составляющей, является «истинной» (true), индикация того, следует ли применять режим модуляции QR-BDPCM к тому же самому блоку, может быть признана истинной (true).
ii. В одном из примеров, индикация того, следует ли применять режим модуляции QR-BDPCM к блоку яркостной составляющей и/или цветностной составляющей, может быть признана «ложной» (false), если индикация того, следует ли применять флаг пропуска преобразования для того же самого блока, является «ложной» (false). В качестве альтернативы, если индикация того, следует ли применять флаг пропуска преобразования для блока яркостной составляющей и/или цветностной составляющей, является «ложной» (false), индикация того, следует ли применять режим модуляции QR-BDPCM к тому же самому блоку, может быть признана «ложной» (false).
9. Следует ли применять и/или как применять структуру одиночного/двойного дерева, может зависеть от сообщения, передаваемого в форме сигнализации в наборе SPS/наборе VPS/наборе PPS/заголовке изображения/заголовке среза/заголовке группы плиток/строке наибольших единиц LCU/группе единиц LCU/единице LCU/единице CU/единице данных видео.
a. В одном из примеров, индикация того, следует ли применять структуру одиночного/двойного дерева, может зависеть от того, определен ли текущий срез/плитка/единица LCU/строка единиц LCU/группа единиц LCU/единица данных видео в качестве контента экрана.
i. Кроме того в одном из примеров, определен ли срез/плитка/единица LCU/строка единиц LCU/группа единиц LCU/единица данных видео в качестве контента экрана, может зависеть от
1. Сообщения/флага, передаваемого в виде сигнализации в наборе SPS/наборе VPS/наборе PPS/заголовке изображения/заголовке среза/заголовке группы плиток/строке наибольших единиц LCU/группе единиц LCU/единице LCU/единице CU/единице данных видео.
2. Размера блока в текущей единице CTU и/или в соседних с ней единицах CTU
3. Формы блока в текущей единице CTU и/или в соседних с ней единицах CTU
4. Текущего параметра квантования для текущей единицы CTU и/или соседних с ней единиц CTU
5. Индикации цветового формата (такого как 4:2:0, 4:4:4)
6. Типа структуры одиночного/двойного дерева для предыдущего среза/плитки/единицы LCU/группы единиц LCU/строки единиц LCU//единицы данных видео
7. Типа среза/группы плиток и/или типа изображения
8. Идентификатора ID временного слоя
b. В одном из примеров, индикация того, следует ли применять структуру одиночного/двойного дерева может быть выведена, что может зависеть от
i. Сообщения, передаваемого в виде сигнализации в наборе SPS/наборе VPS/наборе PPS/заголовке изображения/заголовке среза/заголовке группы плиток/строке наибольших единиц LCU/группе единиц LCU/единице LCU/единице CU/единице данных видео.
ii. Коэффициента совпадения контрольных сумм (hash hit ratio) для режимов копирования IBC/межкадрового прогнозирования в ранее кодированных изображениях/плитках/срезах/реконструированной области
iii. Размера блока в текущей единице CTU и/или в соседних с ней единицах CTU
iv. Формы блока в текущей единице CTU и/или в соседних с ней единицах CTU
v. Текущего параметра квантования для текущей единицы CTU и/или соседних с ней единиц CTU
vi. Индикации цветового формата (такого как 4:2:0, 4:4:4)
vii. Типа структуры одиночного/двойного дерева для предыдущего среза/плитки/единицы LCU/строки единиц LCU/группы единиц LCU//единицы данных видео
viii. Типа среза/группы плиток и/или типа изображения
ix. Идентификатора ID временного слоя
c. В одном из примеров, индикация того, следует ли применять модель CCLM и/или масштабирование LMCS может зависеть от типа структуры одиночного/двойного дерева
i. В одном из примеров, указанная индикация применения модели CCLM и/или масштабирования LMCS может быть признана ложной (false), когда используется структура одиночного/двойного дерева.
d. В одном из примеров, указанная индикация, применять ли структуру одиночного/двойного дерева, (т.е. адаптация одиночного дерева или двойного дерева на уровне единиц CTU) может зависеть от того, является ли индикация активизации двойного дерева (например, флаг qtbtt_dual_tree_intra_flag) истинной (true).
i. В качестве альтернативы, кроме того, если двойное дерево для последовательности/среза/плитки/кирпича не активизировано (например, флаг qtbtt_dual_tree_intra_flag является ложным (false)), индикация того, следует ли применять одиночное/двойное дерево на более низком уровне (например, на уровне единиц CTU) может быть принята как ложная (false)
1. В качестве альтернативы, если двойное дерево активизировано (например, флаг qtbtt_dual_tree_intra_flag является истинным (true)), индикация того, следует ли применять структуру одиночного/двойного дерева к видео единице меньшего размера, чем последовательность/срез/плитка/кирпич, может быть передана в виде сигнализации.
e. В одном из примеров, указанная индикация того, применять ли структуру одиночного/двойного дерева, (т.е. адаптация одиночного дерева или двойного дерева на уровне единиц CTU) может зависеть от того, является ли флаг на уровне выше уровня единиц CTU (например, флаг sps_asdt_flag и/или флаг slice_asdt_flag) истинным (true).
i. В качестве альтернативы, кроме того, если флаг на уровне выше уровня единиц CTU (например, флаг sps_asdt_flag и/или флаг slice_asdt_flag) является ложным (false), указанная индикация того, применять ли структуру одиночного/двойного дерева, (т.е. адаптация одиночного дерева или двойного дерева на уровне единиц CTU) может быть принята ложной (false).
f. Приведенные выше способы могут быть также применимы к случаю разбиения по схеме одиночного дерева или к структуре кодирования типа одиночного/двойного дерева.
10. Активизировать ли режим копирования IBC, может зависеть от типа структуры дерева кодирования.
a. В одном из примеров, для конкретной структуры дерева кодирования (например, двойного дерева), передача в виде сигнализации индикации режима копирования IBC и/или блочных векторов, используемых в режиме копирования IBC, может быть пропущена или выведена (признана).
b. В одном из примеров, индикация режима копирования IBC может быть выведена (признана) ложной (false), когда применяется структура двойного дерева кодирования.
c. В одном из примеров, индикация режима копирования IBC для блока яркостной составляющей может быть выведена (признана) ложной (false), когда применяется структура двойного дерева кодирования.
d. В одном из примеров, индикация режима копирования IBC для блока цветностной составляющей может быть выведена (признана) ложной (false), когда применяется структура двойного дерева кодирования.
e. В одном из примеров, индикация режима копирования IBC может быть выведена (признана) на основе
i. Сообщения, передаваемого в виде сигнализации в наборе SPS/наборе VPS/наборе PPS/заголовке изображения/заголовке среза/заголовке группы плиток/строке наибольших единиц LCU/группе единиц LCU/единице LCU/единице CU/единице данных видео.
ii. Коэффициента совпадения контрольных сумм (hash hit ratio) для режимов копирования IBC/межкадрового прогнозирования в ранее кодированных изображениях/плитках/срезах/реконструированной области
iii. Размера блока в текущей единице CTU и/или в соседних с ней единицах CTU
iv. Формы блока в текущей единице CTU и/или в соседних с ней единицах CTU
v. Текущего параметра квантования для текущей единицы CTU и/или соседних с ней единиц CTU
vi. Индикации цветового формата (такого как 4:2:0, 4:4:4)
vii. Типа структуры дерева кодирования для предыдущего среза/плитки/единицы LCU/строки единиц LCU/группы единиц LCU//единицы данных видео
viii. Типа среза/группы плиток и/или типа изображения
ix. Идентификатора ID временного слоя
11. Активизировать ли модель CCLM может зависеть от типа структуры дерева кодирования.
a. В одном из примеров, для конкретного типа структуры дерева кодирования (например, двойного дерева), передача в виде сигнализации индикации режима модели CCLM и/или другого синтаксиса, относящегося к режиму модели CCLM, может быть пропущена и индикация может быть выведена (признана).
b. В одном из примеров, индикация режима модели CCLM может быть признана ложной (false), когда применяется структура типа двойного дерева кодирования.
c. В одном из примеров, индикация режима модели CCLM, когда применяется структура типа двойного дерева кодирования, может быть выведена (признана) на основе
i. Сообщения, передаваемого в виде сигнализации в наборе SPS/наборе VPS/наборе PPS/заголовке изображения/заголовке среза/заголовке группы плиток/строке наибольших единиц LCU/группе единиц LCU/единице LCU/единице CU/единице данных видео.
ii. Коэффициента совпадения контрольных сумм (hash hit ratio) для режимов копирования IBC/межкадрового прогнозирования в ранее кодированных изображениях/плитках/срезах/реконструированной области
iii. Размера блока в текущей единице CTU и/или в соседних с ней единицах CTU
iv. Формы блока в текущей единице CTU и/или в соседних с ней единицах CTU
v. Текущего параметра квантования для текущей единицы CTU и/или соседних с ней единиц CTU
vi. Индикации цветового формата (такого как 4:2:0, 4:4:4)
vii. Типа структуры дерева кодирования для предыдущего среза/плитки/единицы LCU/строки единиц LCU/группы единиц LCU//единицы данных видео
viii. Типа среза/группы плиток и/или типа изображения
ix. Идентификатора ID временного слоя
12. Следует ли активизировать режим масштабирования LMCS для цветностной составляющей, может зависеть от типа структуры дерева кодирования.
a. В одном из примеров, для конкретного типа структуры дерева кодирования (например, двойного дерева), передача в виде сигнализации индикации режима масштабирования LMCS для цветностной составляющей и/или другого синтаксиса, относящегося к режиму масштабирования LMCS, может быть пропущена, а индикация может быть выведена (признана).
b. В одном из примеров, индикация режима масштабирования LMCS для цветностной составляющей может быть выведена (признана) ложной (false), когда применяется структура типа двойного дерева кодирования.
c. В одном из примеров, индикация режима масштабирования LMCS для цветностной составляющей, когда применяется структура типа двойного дерева кодирования, может быть выведена (признана) на основе
i. Сообщения, передаваемого в виде сигнализации в наборе SPS/наборе VPS/наборе PPS/заголовке изображения/заголовке среза/заголовке группы плиток/строке наибольших единиц LCU/группе единиц LCU/единице LCU/единице CU/единице данных видео.
ii. Коэффициента совпадения контрольных сумм (hash hit ratio) для режимов копирования IBC/межкадрового прогнозирования в ранее кодированных изображениях/плитках/срезах/реконструированной области
iii. Размера блока в текущей единице CTU и/или в соседних с ней единицах CTU
iv. Формы блока в текущей единице CTU и/или в соседних с ней единицах CTU
v. Текущего параметра квантования для текущей единицы CTU и/или соседних с ней единиц CTU
vi. Индикации цветового формата (такого как 4:2:0, 4:4:4)
vii. Типа структуры дерева кодирования для предыдущего среза/плитки/единицы LCU/строки единиц LCU/группы единиц LCU//единицы данных видео
viii. Типа среза/группы плиток и/или типа изображения
ix. Идентификатора ID временного слоя
13. Структура дерева кодирования может зависеть от того, используется режим копирования IBC или нет.
a. В одном из примеров, структура двойного дерева и способ копирования IBC могут не быть активизированы одновременно на уровне последовательности/изображения/плитки/кирпича/единицы CTU/ единицы VPDU/блока размером 32x32/блока размером 64x32/блока размером 32x64.
b. В качестве альтернативы, кроме того, в одном из примеров, если способ копирования IBC активизирован, структура двойного дерева может быть не активизирована на уровне последовательности/изображения/плитки/кирпича/единицы CTU/ единицы VPDU/блока размером 32x32/блока размером 64x32/блока размером 32x64.
c. В одном из примеров, когда в некоторой области используется режим копирования IBC, структура дерева кодирования цветностной составляющей может быть совмещена со структурой дерева кодирования яркостной составляющей
i. В одном из примеров, указанная область может представлять собой последовательность/изображение/плитку/кирпич/единицу CTU/единицу VPDU/блок размером 32x32/блок размером 64x32/блок размером 32x64.
ii. В одном из примеров, когда расположенный в одном месте блок яркостной составляющей разбивают на субблоки, блок цветностной составляющей может быть разбит на субблоки, если его допустимо разбивать.
iii. В одном из примеров, следует ли разбивать и как разбивать блок цветностной составляющей, может быть выведено (признано) на основе структуры кодирования расположенного с этим блоком в одном месте блока яркостной составляющей.
iv. В одном из примеров, когда структуру дерева кодирования цветностной составляющей выводят (признают) из структуры дерева кодирования яркостной составляющей, сигналы для кодирования структуры дерева кодирования цветностной составляющей могут быть пропущены.
v. В одном из примеров, может быть использован флаг для индикации, может ли структура кодирования цветностной составляющей быть выведена из структуры кодирования яркостной составляющей или нет. Передача этого флага в виде сигнализации может зависеть от
1. Сообщения, передаваемого в виде сигнализации в наборе SPS/наборе VPS/наборе PPS/заголовке изображения/заголовке среза/заголовке группы плиток/строке наибольших единиц LCU/группе единиц LCU/единице LCU/единице CU/единице данных видео.
2. Коэффициента совпадения контрольных сумм (hash hit ratio) для режимов копирования IBC/межкадрового прогнозирования в ранее кодированных изображениях/плитках/срезах/реконструированной области
3. Размера блока в текущей единице CTU и/или в соседних с ней единицах CTU
4. Формы блока в текущей единице CTU и/или в соседних с ней единицах CTU
5. Текущего параметра квантования для текущей единицы CTU и/или соседних с ней единиц CTU
6. Индикации цветового формата (такого как 4:2:0, 4:4:4)
7. Типа структуры дерева кодирования для предыдущего среза/плитки/единицы LCU/строки единиц LCU/группы единиц LCU//единицы данных видео
8. Типа среза/группы плиток и/или типа изображения
9. Идентификатора ID временного слоя
14. Следует ли активизировать режим кодирования палитры, может зависеть от типа структуры дерева кодирования.
a. В одном из примеров, для конкретного типа структуры дерева кодирования (например, двойного дерева) передача в виде сигнализации индикации режима кодирования палитры может быть пропущена, а сама индикация может быть выведена (признана).
b. В одном из примеров, индикация режима кодирования палитры может быть признана ложной (false), когда применяется структура типа двойного дерева кодирования.
c. В одном из примеров, индикация режима кодирования палитры для блока яркостной составляющей может быть признана ложной (false), когда применяется структура типа двойного дерева кодирования.
d. В одном из примеров, индикация режима кодирования палитры для блока цветностной составляющей может быть признана ложной (false), когда применяется структура типа двойного дерева кодирования.
e. В одном из примеров, вывод (признание) индикации режима кодирования палитры может быть основан на
i. Сообщении, передаваемом в виде сигнализации в наборе SPS/наборе VPS/наборе PPS/заголовке изображения/заголовке среза/заголовке группы плиток/строке наибольших единиц LCU/группе единиц LCU/единице LCU/единице CU/единице данных видео.
ii. Коэффициенте совпадения контрольных сумм (hash hit ratio) для режимов копирования IBC/межкадрового прогнозирования в ранее кодированных изображениях/плитках/срезах/реконструированной области
iii. Размере блока в текущей единице CTU и/или в соседних с ней единицах CTU
iv. Форме блока в текущей единице CTU и/или в соседних с ней единицах CTU
v. Текущем параметре квантования для текущей единицы CTU и/или соседних с ней единиц CTU
vi. Индикации цветового формата (такого как 4:2:0, 4:4:4)
vii. Типе структуры дерева кодирования для предыдущего среза/плитки/единицы LCU/строки единиц LCU/группы единиц LCU//единицы данных видео
viii. Типе среза/группы плиток и/или типе изображения
ix. Идентификаторе ID временного слоя
15. Структура дерева кодирования может зависеть от того, используется ли режим кодирования палитры, или нет.
a. В одном из примеров, когда режим кодирования палитры используется в некоторой области, структура дерева кодирования цветностной составляющей может быть совмещена со структурой дерева кодирования яркостной составляющей
i. В одном из примеров, указанная область может представлять собой последовательность/изображение/плитку/кирпич/единицу CTU/единицу VPDU/блок размером 32x32/блок размером 64x32
ii. В одном из примеров, когда расположенный в одном месте блок яркостной составляющей разбивают на субблоки, блок цветностной составляющей может быть разбит на субблоки, если его допустимо разбивать.
iii. В одном из примеров, следует ли разбивать и как разбивать блок цветностной составляющей, может быть выведено (признано) на основе структуры кодирования расположенного с этим блоком в одном месте блока яркостной составляющей.
iv. В одном из примеров, когда структуру дерева кодирования цветностной составляющей выводят (признают) из структуры дерева кодирования яркостной составляющей, сигналы для кодирования структуры дерева кодирования цветностной составляющей могут быть пропущены.
v. В одном из примеров, может быть использован флаг для индикации, может ли структура кодирования цветностной составляющей быть выведена из структуры кодирования яркостной составляющей или нет. Передача этого флага в виде сигнализации может зависеть от
1. Сообщения, передаваемого в виде сигнализации в наборе SPS/наборе VPS/наборе PPS/заголовке изображения/заголовке среза/заголовке группы плиток/строке наибольших единиц LCU/группе единиц LCU/единице LCU/единице CU/единице данных видео.
2. Коэффициента совпадения контрольных сумм (hash hit ratio) для режимов копирования IBC/межкадрового прогнозирования в ранее кодированных изображениях/плитках/срезах/реконструированной области
3. Размера блока в текущей единице CTU и/или в соседних с ней единицах CTU
4. Формы блока в текущей единице CTU и/или в соседних с ней единицах CTU
5. Текущего параметра квантования для текущей единицы CTU и/или соседних с ней единиц CTU
6. Индикации цветового формата (такого как 4:2:0, 4:4:4)
7. Типа структуры дерева кодирования для предыдущего среза/плитки/единицы LCU/строки единиц LCU/группы единиц LCU//единицы данных видео
8. Типа среза/группы плиток и/или типа изображения
9. Идентификатора ID временного слоя
16. Вектор движения/блочный вектор субблока/отсчета блока цветностной составляющей, кодированного в режиме копирования IBC, может быть определен из первой доступной подобласти, кодированной в режиме копирования IBC, в пределах расположенного в том же месте блока яркостной составляющей.
a. В одном из примеров, может быть определен порядок сканирования подобластей в пределах расположенного в том же месте блока яркостной составляющей, такой как растровый порядок сканирования.
b. В одном из примеров, подобласть может быть определена как минимальная единица кодирования/минимальная единица преобразования.
c. В одном из примеров, вектор движения/блочный вектор в режиме копирования IBC для цветностной составляющей может быть определен на основе вектора движения самого верхнего левого отсчета, кодированного в режиме копирования IBC или в режиме межкадрового прогнозирования, в расположенном в том же месте блоке яркостной составляющей.
17. Вектор движения/блочный вектор может быть сообщен в виде сигнализации в режиме копирования IBC цветностной составляющей.
a. В одном из примеров, могут быть в виде сигнализации переданы вектор движения и предиктор вектор движения.
i. В одном из примеров, предиктор вектора движения может быть определен на основе векторов движения расположенного в том же месте блока яркостной составляющей, соседних блоков яркостной составляющих относительно этого расположенных в том же месте блоков яркостной составляющей, соседних блоков цветностной составляющей для текущего блока цветностной составляющей.
1. В одном из примеров, предиктор вектора движения/блочного вектора может быть определен на основе вектора движения для верхнего левого отсчета в расположенном в том же месте блоке яркостной составляющей.
2. В одном из примеров, предиктор вектора движения/блочного вектора может быть определен на основе вектора движения для отсчета в центральной позиции в расположенном в том же месте блоке яркостной составляющей.
3. В одном из примеров, предиктор вектора движения/блочного вектора может быть определен на основе вектора движения для самого верхнего левого отсчета в кодированном в режиме копирования IBC или в режиме межкадрового прогнозирования в расположенном в том же месте блоке яркостной составляющей.
ii. В одном из примеров, предиктор вектор движения, ассоциированный с одной подобластью яркостной составляющей, может быть масштабирован прежде использования в качестве предиктора.
iii. В одном из примеров, блочный вектор может быть определен на основе векторов движения/блочных векторов для соседних (смежных или несмежных) блоков цветностной составляющей.
b. В одном из примеров, может быть построен список блочных векторов-кандидатов, и индекс к этому списку может быть передан в виде сигнализации.
i. В одном из примеров, этот список кандидатов может содержать векторы движения/блочные векторы из расположенных в одном месте блоков яркостной составляющей, соседних блоков яркостной составляющей для этих расположенных в том же месте блоков яркостной составляющей, соседних блоков цветностной составляющей.
c. В одном из примеров, индикация флага режима разрешения AMVR может быть выведена (признана)
i. В одном из примеров, индикация флага режима разрешения AMVR может быть признана ложной (false) (0) в блоке, кодированном в режиме копирования IBC для цветностной составляющей
ii. В одном из примеров, индикация разности векторов движения может быть выведена (признана) с целочисленной точностью в блоке, кодированном в режиме копирования IBC для цветностной составляющей
d. В одном из примеров, отдельная таблица прогнозирования HMVP может быть использована в режиме копирования IBC цветностной составляющей.
i. В одном из примеров, размеры таблицы прогнозирования HMVP для цветностной составляющей и таблицы прогнозирования HMVP для яркостной составляющей могут быть различными.
e. В одном из примеров, передавать ли в виде сигнализации блочный вектор/вектор движения в режиме копирования IBC цветностной составляющей, может быть основано на
i. Все ли подобласти в пределах расположенного в том же месте блока яркостной составляющей кодированы в режиме копирования IBC.
1. Если да, нет необходимости передавать в виде сигнализации блочный вектор блока цветностной составляющей. В противном случае, блочные векторы блока цветностной составляющей могут быть переданы в виде сигнализации.
ii. Все ли подобласти в пределах расположенного в том же месте блока яркостной составляющей кодированы в режиме копирования IBC, и все ли ассоциированные блочные векторы действительны.
1. Если да, нет необходимости передавать в виде сигнализации блочный вектор блока цветностной составляющей. В противном случае, блочные векторы блока цветностной составляющей могут быть переданы в виде сигнализации.
iii. Сообщении, передаваемом в виде сигнализации в наборе SPS/наборе VPS/наборе PPS/заголовке изображения/заголовке среза/заголовке группы плиток/строке наибольших единиц LCU/группе единиц LCU/единице LCU/единице CU/единице данных видео.
iv. Коэффициенте совпадения контрольных сумм (hash hit ratio) для режимов копирования IBC/межкадрового прогнозирования в ранее кодированных изображениях/плитках/срезах/реконструированной области
v. Размере блока в текущей единице CTU и/или в соседних с ней единицах CTU
vi. Форме блока в текущей единице CTU и/или в соседних с ней единицах CTU
vii. Текущем параметре квантования для текущей единицы CTU и/или соседних с ней единиц CTU
viii. Индикации цветового формата (такого как 4:2:0, 4:4:4)
ix. Типе структуры дерева кодирования для предыдущего среза/плитки/единицы LCU/строки единиц LCU/группы единиц LCU//единицы данных видео
x. Типе среза/группы плиток и/или типе изображения
xi. Идентификатора ID временного слоя
18. Выбор/передача в виде сигнализации структуры одиночного дерева или раздельного/двойного дерева может быть осуществлен на уровне ниже единицы CTU/блока CTB
a. В одном из примеров, выбор/передача в виде сигнализации структуры одиночного дерева или раздельного/двойного дерева может быть осуществлен на уровне единицы данных виртуального конвейера VPDU.
b. В одном из примеров, выбор/передача в виде сигнализации структуры одиночного дерева или раздельного/двойного дерева может быть осуществлен на уровне, где начинается передача в явном виде сигнализации структуре дерева разбиения.
Примеры, описываемые выше, могут быть инкорпорированы в контекст способов, рассматриваемых ниже, например, способов 900, 910, 920, 930 и 940, могут быть реализованы в кодирующем устройстве для видео или в декодирующем устройстве для видео.
Пример способа обработки видео содержит осуществление преобразования (конверсии) между текущим видеоблоком и представлением видеоролика, содержащего этот текущий видеоблок, в виде потока битов данных, где процедура конверсии избирательно использует режим пропуска преобразования для осуществления указанной конверсии на основе индикатора, входящего в указанное представление в виде потока битов данных, и где, используя режим пропуска преобразования, остаток погрешности прогнозирования для текущего видеоблока представляют в указанном представлении в виде потока битов данных без применения преобразования.
В некоторых вариантах, указанный индикатор представляет собой максимально допустимую ширину и максимально допустимую высоту для режима пропуска преобразования.
В некоторых вариантах, максимально допустимые ширину и высоту передают в виде сигнализации в наборе параметров последовательности (sequence parameter set (SPS)), наборе параметров видео (video parameter set (VPS)), наборе параметров изображения (picture parameter set (PPS)), заголовке изображения, заголовке среза, заголовке группы плиток, строке наибольших единиц кодирования (largest coding unit (LCU)) или группе единиц LCU.
В некоторых вариантах, максимально допустимые ширину и высоту передают в виде сигнализации в разных сообщениях.
В некоторых вариантах, максимально допустимые ширину и высоту передают в виде сигнализации в наборе параметров последовательности (SPS) или в наборе параметров изображения (PPS), и при этом обновленную величину максимально допустимых ширины и высоты сообщают в виде сигнализации в заголовке изображения, заголовке среза, заголовке группы плиток, строке наибольших единиц кодирования (LCU) или группе единиц LCU.
На Фиг. 9A показана логическая другого примера способа обработки видео. Этот способ 900 содержит, на этапе 902, определение, что текущий видеоблок кодируют с использованием режима пропуска преобразования.
Этот способ 900 содержит, на этапе 904, осуществление, на основе результата определения, преобразования (конверсии) между текущим видеоблоком и представлением видеоролика, содержащего этот текущий видеоблок, в виде потока битов данных.
В некоторых вариантах, текущий видеоблок разбивают на несколько групп коэффициентов, а представление в виде потока битов данных опускает передачу в виде сигнализации флага кодированного блока по меньшей мере для одной из этих нескольких групп коэффициентов. В одном из примеров, представление в виде потока битов данных опускает передачу в виде сигнализации флага кодированного блока для каждой из этих нескольких групп коэффициентов.
В некоторых вариантах, флаг кодированного блока, опущенный при передаче представления в виде потока битов данных в виде сигнализации, определяют (признают) на основе одного или нескольких из следующих факторов: (1) сообщения, передаваемого в виде сигнализации в наборе параметров последовательности SPS/наборе параметров видео VPS/наборе параметров изображения PPS, заголовке изображения, заголовке среза, заголовке группы плиток, наибольшей единице кодирования (LCU), строке единиц LCU, группе единиц LCU или единице кодирования (CU), (2) позиции по меньшей мере одной из указанной совокупности нескольких групп коэффициентов, (3) размера текущего видеоблока или по меньшей мере одного соседнего блока относительно этого текущего видеоблока, (4) формы текущего видеоблока или по меньшей мере одного соседнего блока относительно этого текущего видеоблока,, (5) наиболее вероятного режима для текущего видеоблока или по меньшей мере одного соседнего блока, (6) режима прогнозирования для указанного по меньшей мере одного соседнего блока, (7) режима внутрикадрового прогнозирования по меньшей мере для одного соседнего блока, (8) одного или нескольких векторов движения по меньшей мере для одного соседнего блока, (9) индикации режима дифференциальной импульсно-кодовой модуляции квантованного блока остатка (QR-BDPCM) по меньшей мере для одного соседнего блока, (10) текущего параметра квантования (quantization parameter (QP)) для текущего видеоблока или по меньшей мере для одного соседнего блока, (11) индикации цветового формата для текущий видеоблок, (12) структуры раздельного или двойного дерева кодирования, ассоциированной с текущим видеоблоком, или (13) типа среза, типа группы плиток или типа изображения для текущего видеоблока.
В некоторых вариантах, текущий видеоблок разбивают на несколько групп коэффициентов, и способ 900 далее содержит этап определения порядка сканирования коэффициентов для этих нескольких групп коэффициентов. В одном из примеров, порядок сканирования коэффициентов основан на сообщении, передаваемом в виде сигнализации в наборе параметров последовательности (SPS), наборе параметров видео (VPS), наборе параметров изображения (PPS), заголовке изображения, заголовке среза, заголовке группы плиток, наибольшей единице кодирования (LCU), строке единиц LCU, группе единиц LCU или единице кодирования (CU).
В некоторых вариантах, указанная совокупность нескольких групп коэффициентов или порядок сканирования коэффициентов основан на режиме внутрикадрового прогнозирования для текущего видеоблока. В одном из примеров, порядок сканирования коэффициентов является вертикальным, а режим внутрикадрового прогнозирования является преобладающе горизонтальным. В другом примере, порядок сканирования коэффициентов является горизонтальным, и режим внутрикадрового прогнозирования является преобладающе горизонтальным. Например, индекс режима внутрикадрового прогнозирования находится в пределах от 2 до 33 или от 2 до 34.
В некоторых вариантах, указанная совокупность нескольких групп коэффициентов или порядок сканирования коэффициентов основан на режиме внутрикадрового прогнозирования для текущего видеоблока. В одном из примеров, порядок сканирования коэффициентов является вертикальным, и режим внутрикадрового прогнозирования является преобладающе вертикальным. В другом примере, порядок сканирования коэффициентов является горизонтальным, а режим внутрикадрового прогнозирования является преобладающе вертикальным. Например, индекс режима внутрикадрового прогнозирования находится в пределах от 34 до 66 или от 35 до 66.
В некоторых вариантах, контекст знакового флага основан на соседствующей информации в блоке коэффициентов, ассоциированном с текущим видеоблоком. В одном из примеров, контекст знакового флага далее основан на позиции некоторого коэффициента в блоке коэффициентов. В другом примере, контекст знакового флага основан на величинах (x+y), min(x, y) или max(x, y), где x и y являются горизонтальной координатой и вертикальной координатой позиции этого коэффициента, соответственно.
На Фиг. 9B показана логическая схема еще одного другого примера способа обработки видео. Этот способ 910 содержит, на этапе 912, определение, для текущего видеоблока, что применим режим пропуска преобразования цветностной составляющей.
Способ 910 содержит, на этапе 914, осуществление, на основе результата указанного определения, преобразования (конверсии) между текущим видеоблоком и представлением видеоролика, содержащего текущий видеоблок, в виде потока битов данных.
В некоторых вариантах, указанная процедура определения основана на сообщении, передаваемом в виде сигнализации в наборе параметров последовательности (SPS), наборе параметров видео (VPS), наборе параметров изображения (PPS), заголовке изображения, заголовке среза, заголовке группы плиток, наибольшей единице кодирования (LCU), строке единиц LCU, группе единиц LCU, единице кодирования (CU) или в единице данных видео.
В некоторых вариантах, указанная процедура определения основана на декодированной информации из одного или нескольких репрезентативных видеоблоков, декодированных прежде осуществления преобразования (конверсии), и где отсчет в каждом из указанной совокупности одного или нескольких репрезентативных видеоблоков и в текущем видеоблоке основан на общей цветовой информации. В одном из примеров, эта совокупность одного или нескольких репрезентативных видеоблоков содержит блок яркостной составляющей или блок цветностной составляющей. В другом примере, эта совокупность одного или нескольких репрезентативных видеоблоков содержит блок в пределах расположенного в том же месте блока яркостной составляющей.
На Фиг. 9C показана логическая схема еще одного другого примера способа обработки видео. Способ 920 содержит, на этапе 922, принятие решения, в процессе преобразования (конверсии) между текущим видеоблоком и представлением видеоролика, содержащего текущий видеоблок, в виде потока битов данных, относительно избирательного применения режима пропуска преобразования к текущему видеоблоку на основе некоторого условия.
Этот способ 920 содержит, на этапе 924, осуществление, на основе принятого решения, указанного преобразования (конверсии).
В некоторых вариантах, указанное условие основано на сообщении, передаваемом в виде сигнализации в наборе параметров последовательности (SPS), наборе параметров видео (VPS), наборе параметров изображения (PPS), заголовке изображения, заголовке среза, заголовке группы плиток, наибольшей единице кодирования (LCU), строке единиц LCU, группе единиц LCU, единице кодирования (CU) или в единице данных видео.
В некоторых вариантах, указанное условие основано на одном или нескольких из следующих факторов: (1) размере текущего видеоблока или по меньшей мере одного соседнего блока относительно текущего видеоблока, (2) форме текущего видеоблока или по меньшей мере одного соседнего блока относительно текущего видеоблока, (3) наиболее вероятном режиме для текущего видеоблока или по меньшей мере одного соседнего блока, (4) режиме прогнозирования по меньшей мере для одного соседнего блока, (5) режиме внутрикадрового прогнозирования по меньшей мере для одного соседнего блока, (6) одном или нескольких векторах движения по меньшей мере для одного соседнего блока, (7) индикации режима дифференциальной импульсно-кодовой модуляции квантованного блока остатка ((QR-BDPCM)) по меньшей мере для одного соседнего блока, (8) текущем параметре квантования (QP) для текущего видеоблока или по меньшей мере для одного соседнего блока, (9) индикации цветового формата для текущего видеоблока, (10) структуре раздельного или двойного дерева кодирования, ассоциированной с текущим видеоблоком, (11) типе среза, типе группы плиток или типе изображения для текущего видеоблока, или (12) идентификаторе (ID) временного слоя.
В некоторых вариантах, осуществляется применение режима пропуска преобразования, режим прогнозирования для текущего видеоблока представляет собой режим внутрикадрового копирования блоков (IBC) и ширину или высоту текущего видеоблока сравнивают с пороговой величиной. В одном из примеров, эту пороговую величину передают в виде сигнализации в представлении в виде потока битов данных. В другом примере, указанная пороговая величина равна 4, 8, 16 или 32.
Еще в одном другом примере, указанная пороговая величина основана на одном или нескольких из следующих факторов: (1) сообщении, передаваемом в виде сигнализации в наборе параметров последовательности (SPS), наборе параметров видео (VPS), наборе параметров изображения (PPS), заголовке изображения, заголовке среза, заголовке группы плиток, наибольшей единице кодирования (LCU), строке единиц LCU, группе единиц LCU, или в единице кодирования (CU), (2) идентификатора временного слоя (ID), (3) размере текущего видеоблока или по меньшей мере одного соседнего блока относительно текущего видеоблока, (4) форме текущего видеоблока или по меньшей мере одного соседнего блока, (5) наиболее вероятном режиме для текущего видеоблока или по меньшей мере одного соседнего блока, (6) режиме прогнозирования по меньшей мере для одного соседнего блока, (7) режиме внутрикадрового прогнозирования по меньшей мере для одного соседнего блока, (8) одном или нескольких векторах движения по меньшей мере для одного соседнего блока, (9) индикации режима дифференциальной импульсно-кодовой модуляции квантованного блока остатка ((QR-BDPCM)) по меньшей мере для одного соседнего блока, (10) текущем параметре квантования (QP) для текущего видеоблока или по меньшей мере для одного соседнего блока, (11) индикации цветового формата для текущего видеоблока, (12) структуре раздельного или двойного дерева кодирования, ассоциированной с текущим видеоблоком, или (13) типе среза, типе группы плиток или типе изображения для текущего видеоблока.
На Фиг. 9D показана логическая схема еще одного другого примера способа обработки видео. Способ 930 содержит, на этапе 932, принятие решения, в процессе преобразования (конверсии) между текущим видеоблоком и представлением видеоролика, содержащего текущий видеоблок, в виде потока битов данных, относительно избирательного применения режима дифференциальной импульсно-кодовой модуляции квантованного блока остатка ((QR-BDPCM)) на основе индикации режима пропуска преобразования в указанном представлении в виде потока битов данных.
Этот способ 930 содержит, на этапе 934, осуществление, на основе принятого решения, конверсии.
В некоторых вариантах, индикацию режима пропуска преобразования передают в виде сигнализации на уровне единицы преобразования (TU).
На Фиг. 9E показана логическая схема еще одного другого примера способа обработки видео. Способ 940 содержит, на этапе 942, принятие решения, в процессе преобразования (конверсии) между текущим видеоблоком и представлением видеоролика, содержащего текущий видеоблок, в виде потока битов данных, относительно избирательного применения структуры раздельного или двойного дерева на основе некоторого условия.
Этот способ 940 содержит, на этапе 944, осуществление, на основе принятого решения, указанной конверсии.
В некоторых вариантах, указанное условие основано на сообщении, передаваемом в виде сигнализации в наборе параметров последовательности (SPS), наборе параметров видео (VPS), наборе параметров изображения (PPS), заголовке изображения, заголовке среза, заголовке группы плиток, наибольшей единице кодирования (LCU), строке единиц LCU, группе единиц LCU, единице кодирования (CU) или в единице данных видео.
В некоторых вариантах, указанное условие основано на определении, представляют ли собой срез, плитка, наибольшая единица кодирования (LCU), строка единиц LCU, группа единиц LCU или единица данных видео, содержащие текущий видеоблок, контент экрана. В одном из примеров, это определение основано на одном или нескольких из следующих факторов: (1) сообщении, передаваемом в виде сигнализации в наборе параметров последовательности (SPS), наборе параметров видео (VPS), наборе параметров изображения (PPS), заголовке изображения, заголовке среза, заголовке группы плиток, наибольшей единице кодирования (LCU), строке единиц LCU, группе единиц LCU, единице кодирования (CU) или в единице данных видео, (2) размере текущего видеоблока или по меньшей мере одного соседнего блока относительно текущего видеоблока, (3) форме текущего видеоблока или по меньшей мере одного соседнего блока, (4) текущем параметре квантования (QP) для текущего видеоблока или по меньшей мере для одного соседнего блока, (5) индикации цветового формата для текущего видеоблока, (6) структуре раздельного или двойного дерева кодирования, ассоциированной с текущим видеоблоком, (7) типе среза, типе группы плиток или типе изображения для текущего видеоблока, или (8) идентификаторе временного слоя (ID).
На Фиг. 10 представлена блок-схема устройства 1000 обработки видео. Устройство 1000 может быть использовано для реализации одного или нескольких описываемых здесь способов. Устройство 1000 может быть реализовано в смартфоне, планшете, компьютере, приемнике Интернета вещей (Internet of Things (IoT)) и т.п. Устройство 1000 может содержать один или несколько процессоров 1002, одно или несколько запоминающих устройств 1004 и аппаратуру 1006 для обработки видео. Процессор (ы) 1002 может быть конфигурирован для реализации одного или нескольких способов (включая, но не ограничиваясь, способы 900, 910, 920, 930 и 940), описываемых в настоящем документе. Запоминающее устройство (устройства) 1004 может быть использовано для хранения данных и кода, используемых для реализации способов и технологий, описываемых здесь. Аппаратура 1006 для обработки видео может быть использована для реализации, в аппаратной схеме, некоторых способов, описываемых в настоящем документе.
В некоторых вариантах, способы кодирования видео могут быть осуществлены с использованием устройства, реализованного на аппаратной платформе, как описано в отношении Фиг. 10.
В некоторых вариантах, например, как описано в поз. 5 и 10 и других выше, способ обработки видео содержит определение, применим ли режим внутрикадрового копирования блоков для преобразования (конверсии) между текущим видеоблоком видеоролика и его представлением в виде потока битов данных на основе типа структуры дерева кодирования, соответствующей текущему видеоблоку; и осуществление конверсии на основе результата определения.
Согласно приведенному выше способу, представление в виде потока битов данных исключает индикацию режима внутрикадрового копирования блоков. Другими словами, поток битов данных не несет сигнализации в явном виде относительно режима копирования IBC.
Согласно другому способу, тип структуры дерева кодирования представляет собой двойное дерево кодирования, и указанное определение состоит в определении, что режим внутрикадрового копирования блоков не применим.
На Фиг. 11 представлена блок-схема, показывающая пример системы 1100 обработки видео, в которой могут быть реализованы разнообразные описываемые здесь способы. Разнообразные варианты реализации могут содержать некоторые или все компоненты системы 1100. Система 1100 может содержать вход 1102 для приема видео контента. Этот видео контент может быть принят в исходном или несжатом формате, 8 или 10-битовые величины многокомпонентных пикселей, либо может быть в сжатом или в кодированном формате. Этот вход 1102 может представлять собой сетевой интерфейс, интерфейс шины периферийных устройств или интерфейс запоминающих устройств. К примерам сетевых интерфейсов относятся проводные интерфейсы шин, такие как Этернет, пассивная оптическая сеть (passive optical network (PON)) и т.п., и беспроводные интерфейсы, такие как Wi-Fi или сотовые интерфейсы.
Система 1100 может содержать кодирующий компонент 1104, способный реализовать различные способы кодирования, описываемые в настоящем документе. Кодирующий компонент 1104 может уменьшить среднюю скорость передачи битов данных видео от входа 1102 к выходу кодирующего компонента 1104 для получения кодированного представления видео. Поэтому, эти способы кодирования иногда называют способами сжатия видео или транскодирования видео. Выходные данные кодирующего компонента 1104 могут быть либо сохранены, либо переданы через присоединенные средства связи, представленные здесь компонентом 1106. Сохраняемое или передаваемое (или кодированное) представление видео в виде потока битов данных, принимаемое на вход 1102, может быть использовано компонентом 1108 для генерации величин пикселей или представляемого на дисплее видео, передаваемого интерфейсу 1110 дисплея. Процедура генерации просматриваемого пользователем видео из его представления в виде потока битов данных иногда называется декомпрессией (расширением) видео. Кроме того, хотя некоторые операции обработки видео называются операциями или инструментами «кодирования», следует понимать, что инструменты или операции кодирования используются в кодирующих устройствах и соответствующие инструменты или операции декодирования, которые обращают результаты кодирования, будут осуществляться декодирующим устройством.
Примеры интерфейса шины периферийных устройств или интерфейса дисплея могут представлять собой универсальную последовательную шину (universal serial bus (USB)) или мультимедийный интерфейс высокой четкости (high definition multimedia interface (HDMI)) или Displayport, и т.д. К примерам интерфейса запоминающих устройств относятся интерфейс усовершенствованного последовательного соединения (SATA (serial advanced technology attachment)), интерфейс периферийных устройств (PCI), интерфейс IDE и другие подобные интерфейсы. Способы, описываемые в настоящем документе, могут быть реализованы в разнообразных электронных устройствах, таких как мобильные телефоны, портативные компьютеры, смартфоны или другие устройства, способные осуществлять цифровую обработку данных и/или представлять видео на дисплее.
На Фиг. 12 представлена логическая схема примера способа кодирования сигнала визуальных медиа. Этапы этой логической схемы обсуждаются в связи с примером варианта 1, обсуждаемого в Разделе 4 настоящего документа. На этапе 1202, процедура определяет, для кодирования одного или нескольких видеоблоков в видеообласти визуальных медиаданных и преобразования ее в представление визуальных медиаданных в виде потока битов данных, максимально допустимый размер, вплоть до которого текущий видеоблок из совокупности указанных одного или нескольких видеоблоков допускается кодировать с использованием режима пропуска преобразования, так что остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представляют в указанном представлении в виде потока битов данных без применения преобразования. На этапе 1204, процедура включает синтаксический элемент, указывающий упомянутый максимально допустимый размер в представлении в виде потока битов данных.
На Фиг. 13 представлена логическая схема примера способа декодирования сигнала визуальных медиа. Этапы этой логической схемы обсуждаются в связи с примером варианта 1, обсуждаемого в Разделе 4 настоящего документа. На этапе 1302, процедура осуществляет синтаксический анализ для выделения синтаксического элемента из представления визуальных медиаданных в виде потока битов данных, содержащего видеообласть, содержащую один или несколько видеоблоков, где этот синтаксический элемент обозначает максимально допустимый размер, до которого текущий видеоблок из указанных одного или нескольких блоков видеоблоков в видеообласти допускается кодировать с использованием режима пропуска преобразования, в каком остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представляют в указанном представлении в виде потока битов данных без применения преобразования. На этапе 1304, процедура генерирует декодированную видеообласть на основе представления в виде потока битов данных посредством декодирования одного или нескольких видеоблоков в соответствии с максимально допустимым размером.
Фиг. 14 представляет логическую схему примера способа обработки сигнала визуальных медиа. Этапы этой логической схемы обсуждаются в связи с примером варианта 2, обсуждаемого в Разделе 4 настоящего документа. На этапе 1402, процедура определяет, что текущий видеоблок визуальных медиаданных кодируют с использованием режима пропуска преобразования. На этапе 1404, процедура осуществляет, на основе определения, преобразование (конверсию) между текущим видеоблок и представлением визуальных медиаданных в виде потока битов данных, где, в процессе конверсии, текущий видеоблок разбивают на несколько групп коэффициентов и передача в виде сигнализации флага кодированного блока по меньшей мере для одной из нескольких групп коэффициентов исключена из представления в виде потока битов данных, где, в режиме пропуска преобразования, остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представляют в указанном представлении в виде потока битов данных без применения преобразования.
Фиг. 15 представляет логическую схему примера способа обработки сигнала визуальных медиа. Этапы этой логической схемы обсуждаются в связи с примером варианта 3, обсуждаемого в Разделе 4 настоящего документа. На этапе 1502, процедура определяет, что текущий видеоблок визуальных медиаданных кодируют с использованием режима пропуска преобразования. На этапе 1504, процедура осуществляет, на основе указанного определения, преобразование (конверсию) между текущим видеоблоком и представлением визуальных медиаданных в виде потока битов данных, где, в процессе конверсии, текущий видеоблок разбивают на несколько групп коэффициентов, где, в режиме пропуска преобразования, остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представляют в указанном представлении в виде потока битов данных без применения преобразования, и где далее, в процессе конверсии, порядок сканирования коэффициентов из нескольких групп коэффициентов определяют на основе, по меньшей мере частично, индикации представления в виде потока битов данных.
На Фиг. 16 представлена логическая схема примера способа кодирования сигналов визуальных медиа. Этапы этой логической схемы обсуждаются в связи с примером варианта 4, обсуждаемого в Разделе 4 настоящего документа. На этапе 1602, процедура использует, для кодирования текущего видеоблока в видеообласти визуальных медиаданных и превращения его в представление визуальных медиаданных в виде потока битов данных, режим пропуска преобразования, в котором остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представляют в указанном представлении в виде потока битов данных без применения преобразования. На этапе 1604, процедура выбирает контекст знакового флага текущего видеоблока в соответствии со знаковыми флагами для одного или нескольких соседних видеоблоков в группе коэффициентов, ассоциированной с текущим видеоблоком на основе разбиения текущего видеоблока на несколько групп коэффициентов.
На Фиг. 17 представлена логическая схема примера способа декодирования сигналов визуальных медиа. Этапы этой логической схемы обсуждаются в связи с примером варианта 4, обсуждаемого в Разделе 4 настоящего документа. На этапе 1702, процедура осуществляет синтаксический анализ представления визуальных медиаданных, содержащих видеообласть, содержащую текущий видеоблок, в виде потока битов данных для идентификации контекста знакового флага, используемого в режиме пропуска преобразования, в котором остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком, представлен в указанном представлении в виде потока битов данных без применения преобразования. На этапе 1704, процедура генерирует декодированную видеообласть на основе представления в виде потока битов данных, так что контекст знакового флага соответствует знаковым флагам указанной совокупности одного или нескольких соседних видеоблоков в группе коэффициентов, ассоциированной с текущим видеоблоком, на основе разбиения текущего видеоблока на несколько групп коэффициентов.
Фиг. 18 представляет логическую схему примера способа обработки сигнала визуальных медиа. На этапе 1802, процедура определяет позицию текущего коэффициента, ассоциированного с текущим видеоблоком визуальных медиаданных, когда текущий видеоблок разбивают на несколько позиций коэффициентов. На этапе 1804, процедура определяет, по меньшей мере на основе знаковых флагов одного или нескольких соседних коэффициентов, контекст знакового флага для текущего коэффициента. На этапе 1806, процедура генерирует, на основе контекста, знаковый флаг для текущего коэффициента, где знаковый флаг текущего коэффициента используется в режиме пропуска преобразования, в котором текущий видеоблок кодируют без применения преобразования.
На Фиг. 19 представлена логическая схема примера способа кодирования сигнала визуальных медиа. Этапы этой логической схемы обсуждаются в связи с примером варианта 5, обсуждаемого в Разделе 4 настоящего документа. На этапе 1902, процедура определяет, для кодирования одного или нескольких видеоблоков в видеообласти визуальных медиаданных и превращения в представление визуальных медиаданных в виде потока битов данных, на основе удовлетворения по меньшей мере одного правила, гласящего, что режим пропуска преобразования цветностной составляющей применим к текущему видеоблоку, где, в режиме пропуска преобразования цветностной составляющей остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представляют в указанном представлении визуальных медиаданных в виде потока битов данных без применения преобразования. На этапе 1904, процедура включает синтаксический элемент, обозначающий режим пропуска преобразования цветностной составляющей, в представление в виде потока битов данных.
На Фиг. 20 представлена логическая схема примера способа декодирования сигналов визуальных медиа. Этапы этой логической схемы обсуждаются в связи с примером варианта 5, обсуждаемого в Разделе 4 настоящего документа. На этапе 2002, процедура осуществляет синтаксический анализ для выделения из представления, содержащего видеообласть, содержащую один или несколько видеоблоков, визуальных медиаданных в виде потока битов данных, синтаксического элемента, обозначающего, что удовлетворяется по меньшей мере одно правило, ассоциированное с применением режима пропуска преобразования цветностной составляющей, где, в режиме пропуска преобразования цветностной составляющей остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представлен в указанном представлении визуальных медиаданных в виде потока битов данных без применения преобразования. На этапе 2004, процедура генерирует декодированную видеообласть на основе представления в виде потока битов данных посредством декодирования одного или нескольких видеоблоков.
На Фиг. 21 представлена логическая схема примера способа кодирования сигналов визуальных медиа. Этапы этой логической схемы обсуждаются в связи с примером варианта 6, обсуждаемого в Разделе 4 настоящего документа. На этапе 2102, процедура принимает решение, для кодирования одного или нескольких видеоблоков в виде области визуальных медиаданных и превращения их в представление визуальных медиаданных в виде потока битов данных, относительно избирательного применения режима пропуска преобразования к текущему видеоблоку на основе некоторого условия. На этапе 2104, процедура включает синтаксический элемент, обозначающий указанное условие, в представление в виде потока битов данных, где, в режиме пропуска преобразования, остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представляют в указанном представлении визуальных медиаданных в виде потока битов данных без применения преобразования.
На Фиг. 22 представлена логическая схема примера способа декодирования сигналов визуальных медиа. Этапы этой логической схемы обсуждаются в связи с примером варианта 6, обсуждаемого в Разделе 4 настоящего документа. На этапе 2202, процедура выполняет синтаксический анализ для выделения синтаксического элемента из представления визуальных медиаданных в виде потока битов данных, содержащего видеообласть, содержащую один или несколько видеоблоков, где этот синтаксический элемент обозначает некоторое условие относительно использования режима пропуска преобразования, в котором остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представляют в указанном представлении в виде потока битов данных без применения преобразования. На этапе 2204, процедура генерирует декодированную видеообласть на основе представления в виде потока битов данных посредством декодирования одного или нескольких видеоблоков в соответствии с указанным условием.
На Фиг. 23 представлена логическая схема примера способа кодирования сигналов визуальных медиа. Этапы этой логической схемы обсуждаются в связи с примером варианта 8, обсуждаемого в Разделе 4 настоящего документа. На этапе 2302, процедура принимает решение, для кодирования одного или нескольких видеоблоков в видеообласти визуальных медиаданных и превращения их в представление визуальных медиаданных в виде потока битов данных, относительно избирательного применения способа дифференциальной импульсно-кодовой модуляции квантованного блока остатка (QR-BDPCM) на основе индикации режима пропуска преобразования в указанном представлении в виде потока битов данных, где, в режиме пропуска преобразования, остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представляют в указанном представлении визуальных медиаданных в виде потока битов данных без применения преобразования, где, в режиме модуляции QR-BDPCM, остаток погрешности прогнозирования в горизонтальном направлении и/или вертикальном направлении квантуют и подвергают энтропийному кодированию. На этапе 2304, процедура включает, в представление в виде потока битов данных, индикацию избирательного применения режима модуляции QR-BDPCM.
На Фиг. 24 представлена логическая схема примера способа декодирования сигналов визуальных медиа. Этапы этой логической схемы обсуждаются в связи с примером варианта 8, обсуждаемого в Разделе 4 настоящего документа. На этапе 2402, процедура выполняет синтаксический анализ для выделения синтаксического элемента из представления визуальных медиаданных в виде потока битов данных, содержащего видеообласть, содержащую один или несколько видеоблоков, где этот синтаксический элемент обозначает избирательное применение способа дифференциальной импульсно-кодовой модуляции квантованного блока остатка (QR-BDPCM) на основе индикации режима пропуска преобразования в указанном представлении в виде потока битов данных, где, в режим пропуска преобразования, остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представлен в указанном представлении визуальных медиаданных в виде потока битов данных без применения преобразования, где, в режиме модуляции QR-BDPCM, остаток погрешности прогнозирования в горизонтальном направлении и/или в вертикальном направлении квантован и подвергнут энтропийному кодированию. На этапе 2404, процедура генерирует декодированную область на основе представления в виде потока битов данных посредством декодирования одного или нескольких видеоблоков в соответствии с максимально допустимым размером.
На Фиг. 25 представлена логическая схема примера способа кодирования сигналов визуальных медиа. Этапы этой логической схемы обсуждаются в связи с примером варианта 9, обсуждаемого в Разделе 4 настоящего документа. На этапе 2502, процедура принимает решение, для кодирования одного или нескольких видеоблоков в видеообласти визуальных медиаданных с целью превращения в представление визуальных медиаданных в виде потока битов данных, относительно избирательного применения структуры раздельных или двойного дерева на основе некоторого условия. На этапе 2504, процедура включает синтаксический элемент, обозначающий избирательное применение структуры раздельных или двойного дерева, в представление в виде потока битов данных.
На Фиг. 26 представлена логическая схема примера способа декодирования сигналов визуальных медиа. Этапы этой логической схемы обсуждаются в связи с примером варианта 9, обсуждаемого в Разделе 4 настоящего документа. На этапе 2602, процедура выполняет синтаксический анализ для выделения синтаксического элемента из представления визуальных медиаданных в виде потока битов данных, содержащих видеообласть, содержащую один или несколько видеоблоков, где этот синтаксический элемент обозначает избирательное применение структуры раздельного или двойного дерева на основе или вследствие некоторого условия. На этапе 2604, процедура генерирует декодированную видеообласть на основе указанного представления в виде потока битов данных посредством декодирования одного или нескольких видеоблоков в соответствии с синтаксическим элементом.
Некоторые варианты настоящего изобретения далее будут представлены в постатейном формате.
A1. Способ кодирования сигналов визуальных медиа, содержащий:
определение, для кодирования одного или нескольких видеоблоков в видеообласти визуальных медиаданных для превращения в представление визуальных медиаданных в виде потока битов данных, максимально допустимого размера, до которого текущий видеоблок из совокупности одного или нескольких видеоблоков допускается кодировать с использованием режима пропуска преобразования, так что остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представляют в указанном представлении в виде потока битов данных без применения преобразования; и
включение синтаксического элемента, обозначающего максимально допустимый размер, в указанное представление в виде потока битов данных.
A2. Способ декодирования сигналов визуальных медиа, содержащий:
синтаксический анализ для выделения синтаксического элемента из представления визуальных медиаданных в виде потока битов данных, содержащего видеообласть, содержащую один или несколько видеоблоков, где этот синтаксический элемент обозначает максимально допустимый размер, до которого текущий видеоблок из совокупности одного или нескольких блоков видеообласти допускается кодировать с использованием режима пропуска преобразования, в каком остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представляют в указанном представлении в виде потока битов данных без применения преобразования; и
генерацию декодированной видеообласти на основе представления в виде потока битов данных посредством декодирования указанных одного или нескольких видеоблоков в соответствии с максимально допустимым размером.
A3. Способ согласно какой-либо одной или нескольким из статей A1-A2, отличающийся тем, что указанный максимально допустимый размер представляет собой максимально допустимую ширину и максимально допустимую высоту, ассоциированные с режимом пропуска преобразования.
A4. Способ согласно статье A3, отличающийся тем, что максимально допустимую ширину и высоту передают в виде сигнализации в наборе параметров последовательности (SPS), в наборе параметров видео (VPS), в наборе параметров изображения (PPS), заголовке изображения, заголовке среза, заголовке группы плиток, в строке наибольших единиц кодирования (LCU) или в группе единиц LCU.
A5. Способ согласно какой-либо одной или нескольким из статей A1-A3, отличающийся тем, что максимально допустимую ширину и высоту передают в виде сигнализации в разных сообщениях в указанном представлении в виде потока битов данных.
A6. Способ согласно какой-либо одной или нескольким из статей A1-A2, отличающийся тем, что первоначальные величины максимально допустимой ширины и максимально допустимой высоты передают в виде сигнализации в наборе параметров последовательности (SPS) или в наборе параметров изображения (PPS), и далее отличающийся тем, что обновленные величины максимально допустимой высоты и максимально допустимой ширины передают в виде сигнализации в заголовке изображения, в заголовке среза, в заголовке группы плиток, в строке наибольших единиц кодирования (LCU) или в группе единиц LCU.
A7. Способ согласно какой-либо одной или нескольким из статей A2-A6, отличающийся тем, что процедура генерации декодированной видеообласти содержит декодирование одного или нескольких видеоблоков без использования режима пропуска преобразования.
A8. Способ согласно какой-либо одной или нескольким из статей A2-A6, отличающийся тем, что процедура генерации декодированной видеообласти содержит декодирование одного или нескольких видеоблоков на основе использования режима пропуска преобразования.
A9. Способ обработки сигналов визуальных медиа, содержащий:
определение, что текущий видеоблок визуальных медиаданных кодируют с использованием режима пропуска преобразования; и
осуществление, на основе результата определения, преобразования (конверсии) между текущим видеоблоком и представлением визуальных медиаданных в виде потока битов данных, где, в процессе преобразования, текущий видеоблок разбивают на несколько групп коэффициентов, и передача в виде сигнализации флага кодированного блока по меньшей мере для одной из совокупности нескольких групп коэффициентов исключена из представления в виде потока битов данных, где, в режиме пропуска преобразования, остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представляют в указанном представлении в виде потока битов данных без применения преобразования.
A10. Способ согласно статье A9, отличающийся тем, что передача в виде сигнализации флага кодированного блока для каждой из совокупности нескольких групп коэффициентов исключена в указанном представлении в виде потока битов данных.
A11. Способ согласно какой-либо одной или нескольким из статей A9-A10, отличающийся тем, что флаг кодированного блока для нескольких групп коэффициентов, исключенный из представления в виде потока битов данных, признают равным некоторой фиксированной величине.
A12. Способ согласно статье A11, отличающийся тем, что указанная фиксированная величина равна единице.
A13. Способ согласно какой-либо одной или нескольким из статей A9-A12, дополнительно содержащий:
на основе режима прогнозирования для текущего видеоблока, определение, что следует избирательно активизировать или отменить активизацию передачи в виде сигнализации флага кодированного блока для нескольких групп коэффициентов.
A14. Способ согласно статье A13, отличающийся тем, что, если режим прогнозирования представляет собой режим внутрикадрового прогнозирования, передачу в виде сигнализации флага кодированного блока для нескольких групп коэффициентов исключают из указанного представления в виде потока битов данных.
A15. Способ согласно какой-либо одной или нескольким из статей A9-A14, отличающийся тем, что флаг кодированного блока, исключенный из передачи в виде сигнализации в представлении в виде потока битов данных, определяют (признают) на основе одного или нескольких из следующих факторов:
(1) сообщения, передаваемого в виде сигнализации в наборе параметров последовательности (SPS), наборе параметров видео (VPS), наборе параметров изображения (PPS), заголовке изображения, заголовке среза, заголовке группы плиток, наибольшей единице кодирования (LCU), строке единиц LCU, группе единиц LCU или единице кодирования (CU),
(2) позиции по меньшей мере одной из указанных нескольких групп коэффициентов,
(3) размера текущего видеоблока или по меньшей мере одного соседнего блока относительно текущего видеоблока,
(4) формы текущего видеоблока или по меньшей мере одного соседнего блока,
(5) наиболее вероятного режима для текущего видеоблока или по меньшей мере одного соседнего блока,
(6) режима прогнозирования по меньшей мере для одного соседнего блока,
(7) режима внутрикадрового прогнозирования по меньшей мере для одного соседнего блока,
(8) одного или нескольких векторов движения по меньшей мере для одного соседнего блока,
(9) индикации режима дифференциальной импульсно-кодовой модуляции квантованного блока остатка ((QR-BDPCM)) по меньшей мере для одного соседнего блока,
(10) текущего параметра квантования (QP) для текущего видеоблока или по меньшей мере для одного соседнего блока,
(11) индикации цветового формата для текущего видеоблока,
(12) структуры раздельного или двойного дерева кодирования, ассоциированной с текущим видеоблоком, или
(13) типа среза, типа группы плиток или типа изображения для текущего видеоблока.
A16. Способ обработки сигналов визуальных медиа, дополнительно содержащий:
определение, что текущий видеоблок визуальных медиаданных кодируют с использованием режима пропуска преобразования; и
осуществление, на основе результата указанного определения, преобразования (конверсии) между текущим видеоблоком и представлением визуальных медиаданных в виде потока битов данных, где, в процессе конверсии, текущий видеоблок разбивают на несколько групп коэффициентов, где, в режиме пропуска преобразования, остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представляют в указанном представлении в виде потока битов данных без применения преобразования, и далее где, в процессе конверсии, порядок сканирования коэффициентов из совокупности нескольких групп коэффициентов определяют на основе, по меньшей мере частично, индикации в представлении в виде потока битов данных.
A17. Способ согласно статье A16, отличающийся тем, что указанный порядок сканирования коэффициентов основан на сообщении, передаваемом в виде сигнализации в наборе параметров последовательности (SPS), наборе параметров видео (VPS), наборе параметров изображения (PPS), заголовке изображения, заголовке среза, заголовке группы плиток, наибольшей единице кодирования (LCU), строке единиц LCU, группе единиц LCU или единице кодирования (CU).
A18. Способ согласно статье A17, отличающийся тем, что, в режиме пропуска преобразования, указанные несколько групп коэффициентов или порядок сканирования коэффициентов основаны на режиме внутрикадрового прогнозирования для текущего видеоблока.
A19. Способ согласно статье A18, отличающийся тем, что указанный порядок сканирования коэффициентов является вертикальным, и отличающийся тем, что режим внутрикадрового прогнозирования является преобладающе горизонтальным.
A20. Способ согласно статье A18, отличающийся тем, что указанный порядок сканирования коэффициентов является горизонтальным, и отличающийся тем, что режим внутрикадрового прогнозирования является преобладающе горизонтальным.
A21. Способ согласно какой-либо одной или нескольким из статей A19-A20, отличающийся тем, что индекс режима внутрикадрового прогнозирования находится в пределах от 2 до 33 или от 2 до 34.
A22. Способ согласно статье A18, отличающийся тем, что указанный порядок сканирования коэффициентов является вертикальным, и отличающийся тем, что режим внутрикадрового прогнозирования является преобладающе вертикальным.
A23. Способ согласно статье A18, отличающийся тем, что указанный порядок сканирования коэффициентов является горизонтальным, и отличающийся тем, что режим внутрикадрового прогнозирования является преобладающе вертикальным.
A24. Способ согласно какой-либо одной или нескольким из статей A22-A23, отличающийся тем, что индекс режима внутрикадрового прогнозирования находится в пределах от 34 до 66 или от 35 до 66.
A25. Способ согласно какой-либо одной или нескольким из статей A9-A24, отличающийся тем, что процедура преобразования (конверсии) содержит генерацию представления в виде потока битов данных для текущего видеоблока.
A65. Способ согласно какой-либо одной или нескольким из статей A9-A24, отличающийся тем, что процедура преобразования (конверсии) содержит генерацию величин пикселей для текущего видеоблока на основе представления в виде потока битов данных.
C1. Способ кодирования сигналов визуальных медиа, содержащий:
определение, для кодирования одного или нескольких видеоблоков в видеообласти визуальных медиаданных с целью превращения в представление визуальных медиаданных в виде потока битов данных, на основе удовлетворения по меньшей мере одного правила, что режим пропуска преобразования цветностной составляющей применим к текущему видеоблоку, где, в режиме пропуска преобразования цветностной составляющей остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представляют в указанном представлении визуальных медиаданных в виде потока битов данных без применения преобразования; и
включение синтаксического элемента, обозначающего режим пропуска преобразования цветностной составляющей, в указанное представление в виде потока битов данных.
C2. Способ декодирования сигналов визуальных медиа, содержащий:
синтаксический анализ с целью выделения синтаксического элемента из представления визуальных медиаданных в виде потока битов данных, содержащего видеообласть, содержащую один или несколько видеоблоков, что удовлетворяет по меньшей мере одному правилу, ассоциированному с применением режима пропуска преобразования цветностной составляющей, где, в режиме пропуска преобразования цветностной составляющей остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представлен в указанном представлении визуальных медиаданных в виде потока битов данных без применения преобразования; и
генерацию декодированной области на основе представления в виде потока битов данных посредством декодирования одного или нескольким видеоблоков.
C3. Способ согласно какой-либо одной или нескольким из статей C1-C2, отличающийся тем, что указанное определение основано на сообщении, передаваемом в виде сигнализации в наборе параметров последовательности (SPS), наборе параметров видео (VPS), наборе параметров изображения (PPS), заголовке изображения, заголовке среза, заголовке группы плиток, наибольшей единице кодирования (LCU), строке единиц LCU, группе единиц LCU, единице кодирования (CU) или в единице данных видео, ассоциированной с представлением визуальных медиаданных в виде потока битов данных
C4. Способ согласно какой-либо одной или нескольким из статей C2-C3, отличающийся тем, что указанное определение основано на декодированной информации из одного или нескольких репрезентативных видеоблоков, декодированных прежде преобразования (конверсии), и отличающийся тем, что отсчет в каждом из одного или нескольких репрезентативных видеоблоков и в текущем видеоблоке основан на общей цветовой составляющей.
C5. Способ согласно статье C4, отличающийся тем, что совокупность указанных одного или нескольких репрезентативных видеоблоков содержит блок яркостной составляющей или блок цветностной составляющей.
C6. Способ согласно статье C4, отличающийся тем, что совокупность указанных одного или нескольких репрезентативных видеоблоков содержит блок в пределах расположенного в том же месте блока яркостной составляющей.
C7. Способ согласно статье C4, отличающийся тем, что текущий видеоблок представляет собой текущий блок цветностной составляющей, и отличающийся тем, что совокупность указанных одного или нескольких репрезентативных видеоблоков содержит соседний блок цветностной составляющей относительно текущего блока цветностной составляющей.
C8. Способ согласно статье C4, отличающийся тем, что текущий видеоблок представляет собой текущий блок цветностной составляющей, и отличающийся тем, что совокупность указанных одного или нескольких репрезентативных видеоблоков содержит блок, покрывающий соответствующий отсчет яркостной составляющей относительно центрального отсчета цветностной составляющей в текущем блоке цветностной составляющей.
C9. Способ согласно статье C4, отличающийся тем, что текущий видеоблок представляет собой текущий блок цветностной составляющей, и отличающийся тем, что совокупность указанных одного или нескольких репрезентативных видеоблоков содержит блок, покрывающий соответствующий отсчет яркостной составляющей относительно правого нижнего отсчета цветностной составляющей в текущем блоке цветностной составляющей.
D1. A Способ кодирования сигналов визуальных медиа, содержащий:
принятие решения, для кодирования одного или нескольких видеоблоков в видеообласти визуальных медиаданных с целью превращения их в представление визуальных медиаданных в виде потока битов данных, относительно избирательного применения режима пропуска преобразования к текущему видеоблоку на основе некоторого условия; и
включение синтаксического элемента, обозначающего указанное условие, в представление в виде потока битов данных, где, в режиме пропуска преобразования, остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представляют в указанном представлении визуальных медиаданных в виде потока битов данных без применения преобразования.
D2. Способ декодирования сигналов визуальных медиа, содержащий:
синтаксический анализ с целью выделения синтаксического элемента из представления визуальных медиаданных в виде потока битов данных, содержащего видеообласть, содержащую один или несколько видеоблоков, где этот синтаксический элемент обозначает некоторое условие относительно использования режима пропуска преобразования, в котором остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представлен в указанном представлении в виде потока битов данных без применения преобразования; и
генерацию декодированной видеообласти на основе представления в виде потока битов данных посредством декодирования одного или нескольких видеоблоков в соответствии с указанным условием.
D3. Способ согласно статье D1, отличающийся тем, что указанный синтаксический элемент передают в виде сигнализации в наборе параметров последовательности (SPS), наборе параметров видео (VPS), наборе параметров изображения (PPS), заголовке изображения, заголовке среза, заголовке группы плиток, наибольшей единице кодирования (LCU), строке единиц LCU, группе единиц LCU, единице кодирования (CU) или в единице данных видео.
D4. Способ согласно какой-либо одной или нескольким из статей D1-D3, отличающийся тем, что указанное условие основано на одном из следующих факторов
(1) размере текущего видеоблока или по меньшей мере одного соседнего блока относительно текущего видеоблока,
(2) форме текущего видеоблока или по меньшей мере одного соседнего блока,
(3) наиболее вероятном режиме для текущего видеоблока или по меньшей мере одного соседнего блока,
(4) режиме прогнозирования по меньшей мере для одного соседнего блока,
(5) режиме внутрикадрового прогнозирования по меньшей мере для одного соседнего блока,
(6) одном или нескольких векторах движения по меньшей мере для одного соседнего блока,
(7) индикации режима дифференциальной импульсно-кодовой модуляции квантованного блока остатка ((QR-BDPCM)) по меньшей мере для одного соседнего блока,
(8) текущем параметре квантования (QP) для текущего видеоблока или по меньшей мере для одного соседнего блока,
(9) индикации цветового формата для текущего видеоблока,
(10) структуре раздельного или двойного дерева кодирования, ассоциированной с текущим видеоблоком,
(11) типе среза, типе группы плиток или типе изображения для текущего видеоблока, или
(12) идентификаторе временного слоя (ID).
D5. Способ согласно статье D4, отличающийся тем, что режим пропуска преобразования применяется, когда режим прогнозирования для текущего видеоблока представляет собой режим внутрикадрового прогнозирования блоков (IBC), и далее отличающийся тем, что ширина или высота текущего видеоблока удовлетворяет некоторой пороговой величине.
D6. Способ согласно статье D5, отличающийся тем, что указанную пороговую величину передают в виде сигнализации в представлении в виде потока битов данных.
D7. Способ согласно статье D6, отличающийся тем, что указанная пороговая величина равна 4, 8, 16 или 32.
D8. Способ согласно какой-либо одной или нескольким из статей D5-D7, отличающийся тем, что указанную пороговую величину устанавливают на основе одного или нескольких из следующих факторов:
(1) сообщения, передаваемого в виде сигнализации в наборе параметров последовательности (SPS), наборе параметров видео (VPS), наборе параметров изображения (PPS), заголовке изображения, заголовке среза, заголовке группы плиток, наибольшей единице кодирования (LCU), строке единиц LCU, группе единиц LCU или единице кодирования (CU),
(2) идентификатора временного слоя (ID),
(3) размера текущего видеоблока или по меньшей мере одного соседнего блока относительно текущего видеоблока,
(4) формы текущего видеоблока или по меньшей мере одного соседнего блока,
(5) наиболее вероятного режима для текущего видеоблока или по меньшей мере одного соседнего блока,
(6) режима прогнозирования по меньшей мере для одного соседнего блока,
(7) режима внутрикадрового прогнозирования по меньшей мере для одного соседнего блока,
(8) одного или нескольких векторов движения по меньшей мере для одного соседнего блока,
(9) индикации режима дифференциальной импульсно-кодовой модуляции квантованного блока остатка ((QR-BDPCM)) по меньшей мере для одного соседнего блока,
(10) текущего параметра квантования (QP) для текущего видеоблока или по меньшей мере для одного соседнего блока,
(11) индикации цветового формата для текущего видеоблока,
(12) структуры раздельного или двойного дерева кодирования, ассоциированной с текущим видеоблоком, или
(13) типа среза, типа группы плиток или типа изображения для текущего видеоблока.
E1. Способ кодирования сигналов визуальных медиа, содержащий:
принятие решения, для кодирования одного или нескольких видеоблоков в видеообласти визуальных медиаданных с целью превращения их в представление визуальных медиаданных в виде потока битов данных, относительно избирательного применения способа дифференциальной импульсно-кодовой модуляции квантованного блока остатка (QR-BDPCM) на основе индикации режима пропуска преобразования в указанном представлении в виде потока битов данных, где, в режиме пропуска преобразования, остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представляют в указанном представлении визуальных медиаданных в виде потока битов данных без применения преобразования, где, согласно способу модуляции QR-BDPCM, остаток погрешности прогнозирования в горизонтальном направлении и/или в вертикальном направлении квантуют и подвергают энтропийному кодированию; и
включение, в указанное представление в виде потока битов данных, индикации избирательного применения способа модуляции QR-BDPCM.
E2. Способ декодирования сигналов визуальных медиа, содержащий:
синтаксический анализ для выделения синтаксического элемента из представления визуальных медиаданных в виде потока битов данных, содержащего видеообласть, содержащую один или несколько видеоблоков, где этот синтаксический элемент обозначает избирательное применение способа дифференциальной импульсно-кодовой модуляции квантованного блока остатка (QR-BDPCM) на основе индикации режима пропуска преобразования в указанном представлении в виде потока битов данных, где, в режиме пропуска преобразования, остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представлен в указанном представлении визуальных медиаданных в виде потока битов данных без применения преобразования, где, в режиме модуляции QR-BDPCM, остаток погрешности прогнозирования в горизонтальном направлении и/или в вертикальном направлении квантуют и подвергают энтропийному кодированию; и
генерацию декодированной видеообласти на основе представления в виде потока битов данных посредством декодирования одного или нескольких видеоблоков в соответствии с максимально допустимым размером.
E3. Способ согласно какой-либо одной или нескольким из статей E1-E2, отличающийся тем, что индикацию режима пропуска преобразования передают в виде сигнализации на уровне единицы преобразования (TU), ассоциированной с текущим видеоблоком.
E4. Способ согласно какой-либо одной или нескольким из статей E1-E3, отличающийся тем, что, в представление в виде потока битов данных, указанный синтаксический элемент, обозначающий применение режима модуляции QR-BDPCM к текущему видеоблоку, включают после индикации режима пропуска преобразования.
E5. Способ согласно статье E4, отличающийся тем, что, первый флаг в указанном представлении в виде потока битов данных используется для индикации режима пропуска преобразования и второй флаг в указанном представлении в виде потока битов данных используется для индикации избирательного применения способа модуляции QR-BDPCM.
E6. Способ согласно статье E5, отличающийся тем, что третий флаг используется для индикации применения способа модуляции QR-BDPCM на основе горизонтального направления прогнозирования, и четвертый флаг используется для индикации применения способа модуляции QR-BDPCM на основе вертикального направления прогнозирования.
E7. Способ согласно статье E5, отличающийся тем, что величину второго флага определяют на основе величины первого флага.
E8 Способ согласно статье E5, отличающийся тем, что величину первого флага не передают в виде сигнализации, а выводят из величины второго флага.
E9. Способ согласно статье E8, отличающийся тем, что величину первого флага не передают в виде сигнализации, а признают истинной (true), когда величина второго флага является истинной (true).
E10. Способ согласно статье E7, отличающийся тем, что первый флаг и второй флаг принимают логические значения и дополнительно содержащий:
после определения, что величина первого флага является логической истинной (Boolean true), определение (признание), что величина второго флага является логической истинной (true).
E11. Способ согласно статье E7, отличающийся тем, что первый флаг и второй флаг принимают логические значения и дополнительно содержащий:
после определения, что величина первого флага является логической ложной (Boolean false), определение (признание), что величина второго флага является логической ложной (false).
F1. Способ кодирования сигналов визуальных медиа, содержащий:
принятие решения, для кодирования одного или нескольких видеоблоков в видеообласти визуальных медиаданных с целью превращения их в представление визуальных медиаданных в виде потока битов данных, относительно избирательного применения структуры раздельного или двойного дерева на основе некоторого условия; и
включение синтаксического элемента, обозначающего избирательное применение структуры раздельного или двойного дерева, в представление в виде потока битов данных.
F2. Способ декодирования сигналов визуальных медиа, содержащий:
синтаксический анализ с целью выделения синтаксического элемента из представления визуальных медиаданных в виде потока битов данных, содержащих видеообласть, содержащую один или несколько видеоблоков, где этот синтаксический элемент обозначает избирательное применение структуры раздельного или двойного дерева на основе или вследствие некоторого условия; и
генерацию декодированной видеообласти на основе представления в виде потока битов данных посредством декодирования одного или нескольких видеоблоков в соответствии с указанным синтаксическим элементом.
F3. Способ согласно какой-либо одной или нескольким из статей F1-F2, отличающийся тем, что указанное условие основано на сообщении, передаваемом в виде сигнализации в наборе параметров последовательности (SPS), наборе параметров видео (VPS), наборе параметров изображения (PPS), заголовке изображения, заголовке среза, заголовке группы плиток, наибольшей единице кодирования (LCU), строке единиц LCU, группе единиц LCU, единице кодирования (CU) или в единице данных видео.
F4. Способ согласно какой-либо одной или нескольким из статей F1-F2, отличающийся тем, что указанное условие основано на определении, представляют ли собой плитка, срез, наибольшая единица кодирования (LCU), строка единиц LCU, группа единиц LCU или единица данных видео, содержащая текущий видеоблок, контент экран.
F5. Способ согласно статье F3, отличающийся тем, что указанное условие содержит одно или несколько из следующих факторов:
(1) сообщение, передаваемое в виде сигнализации в наборе параметров последовательности (SPS), наборе параметров видео (VPS), наборе параметров изображения (PPS), заголовке изображения, заголовке среза, заголовке группы плиток, наибольшей единице кодирования (LCU), строке единиц LCU, группе единиц LCU, единице кодирования (CU) или в единице данных видео,
(2) размер текущего видеоблока или по меньшей мере одного соседнего блока относительно текущего видеоблока,
(3) форму текущего видеоблока или по меньшей мере одного соседнего блока,
(4) текущий параметр квантования (QP) для текущего видеоблока или по меньшей мере для одного соседнего блока,
(5) индикацию цветового формата для текущего видеоблока,
(6) структуру раздельного или двойного дерева кодирования, ассоциированную с текущим видеоблоком,
(7) тип среза, тип группы плиток или тип изображения для текущего видеоблока, или
(8) идентификатор временного слоя (ID).
F6. Устройство для кодирования видео, содержащее процессор, конфигурированный для осуществления способа согласно какой-либо одной или нескольким из статей A1-F5.
F7. Устройство для декодирования видео, содержащее процессор, конфигурированный для осуществления способа согласно какой-либо одной или нескольким из статей A1-F5.
F8. Читаемый компьютером носитель информации, имеющий сохраненный на нем код, представляющий выполняемые процессором компьютерные команды для осуществления способа согласно какой-либо одной или нескольким из статей A1-F5.
B1. Способ кодирования сигналов визуальных медиа, содержащий:
использование, для кодирования текущего видеоблока в видеообласти визуальных медиаданных с целью превращения его в представление визуальных медиаданных в виде потока битов данных, режима пропуска преобразования, в котором остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представляют в указанном представлении в виде потока битов данных без применения преобразования; и
выбор контекста знакового флага текущего видеоблока в соответствии со знаковыми флагами одного или нескольких соседних видеоблоков в группе коэффициентов, ассоциированной с текущим видеоблоком, на основе разбиения текущего видеоблока на несколько групп коэффициентов.
B2. Способ декодирования сигналов визуальных медиа, содержащий:
синтаксический анализ представления визуальных медиаданных в виде потока битов данных, содержащих видеообласть, содержащую текущий видеоблок, с целью идентификации контекста знакового флага, используемого в режиме пропуска преобразования, в котором остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представлен в указанном представлении в виде потока битов данных без применения преобразования; и
генерацию декодированной видеообласти на основе указанного представления в виде потока битов данных, так что контекст знакового флага соответствует знаковым флагам одного или нескольких соседних видеоблоков в группе коэффициентов, ассоциированной с текущим видеоблоком, на основе разбиения текущего видеоблока на несколько групп коэффициентов.
B3. Способ согласно какой-либо одной или нескольким из статей B1-B2, отличающийся тем, что совокупность указанных одного или нескольких соседних видеоблоков относительно текущего видеоблока содержит: соседей слева и/или соседей сверху и/или соседей сверху слева и/или соседей сверху справа.
B4. Способ согласно какой-либо одной или нескольким из статей B1-B3, отличающийся тем, что соотношение между контекстом знакового флага текущего видеоблока и знаковыми флагами одного или нескольких соседних видеоблоков выражено как:
C= (L + A), где C обозначает идентификатор контекста знакового флага текущего видеоблока, L обозначает знаковый флаг соседа слева относительно текущего видеоблока, и A обозначает знаковый флаг соседа сверху относительно текущего видеоблока.
B5. Способ согласно какой-либо одной или нескольким из статей B1-B3, отличающийся тем, что соотношение между контекстом знакового флага текущего видеоблока и знаковыми флагами одного или нескольких соседних видеоблоков выражено как:
C= (L + A*2), где C обозначает идентификатор контекста знакового флага текущего видеоблока, L обозначает знаковый флаг соседа слева относительно текущего видеоблока, и A обозначает знаковый флаг соседа сверху относительно текущего видеоблока.
B6. Способ согласно какой-либо одной или нескольким из статей B1-B3, отличающийся тем, что соотношение между контекстом знакового флага текущего видеоблока и знаковыми флагами одного или нескольких соседних видеоблоков выражено как:
C= (L *2+ A), где C обозначает идентификатор контекста знакового флага текущего видеоблока, L обозначает знаковый флаг соседа слева относительно текущего видеоблока, и A обозначает знаковый флаг соседа сверху относительно текущего видеоблока.
B7. Способ согласно какой-либо одной или нескольким из статей B1-B3, отличающийся тем, что контекст знакового флага текущего видеоблок основан на знаковых флагах одного или нескольких соседних видеоблоков в соответствии со следующим правилом:
если знаковые флаги пары соседних видеоблоков оба являются отрицательными, указанное правило специфицирует выбор первого контекста для знакового флага.
B8. Способ обработки сигналов визуальных медиа, содержащий:
определение позиции текущего коэффициента, ассоциированного с текущим видеоблоком визуальных медиаданных, когда текущий видеоблок разбит на несколько позиций коэффициентов;
определение, по меньшей мере на основе знаковых флагов одного или нескольких соседних коэффициентов, контекста знакового флага для текущего коэффициента; и
генерацию, на основе найденного контекста, знакового флага для текущего коэффициента, где знаковый флаг текущего коэффициента используется в режиме пропуска преобразования, в котором текущий видеоблок кодируют без применения преобразования.
B9. Способ согласно статье B8, отличающийся тем, что совокупность указанных одного или нескольких соседних коэффициентов для текущего видеоблока содержит: соседей слева и/или соседей сверху.
B10. Способ согласно статье B8, отличающийся тем, что контекст знакового флага для текущего коэффициента далее основан на позиции текущего коэффициента.
B11. Способ согласно статье B8, отличающийся тем, что процедура обработки сигналов визуальных медиа содержит декодирование текущего видеоблока на основе представления в виде потока битов данных.
B12. Способ согласно статье B8, отличающийся тем, что процедура обработки сигналов визуальных медиа содержит кодирование текущего видеоблока для превращения его в представление в виде потока битов данных.
B13. Способ согласно какой-либо одной или нескольким из статей B1-B3 или B8-B12, отличающийся тем, что контекст знакового флага для текущего видеоблока основан на знаковых флагах одного или нескольких соседних видеоблоков в соответствии со следующим правилом:
если только один знаковый флаг в паре соседних видеоблоков является отрицательным, указанное правило специфицирует выбор второго контекста для знакового флага.
B14. Способ согласно какой-либо одной или нескольким из статей B1-B3 или B8-B12, отличающийся тем, что контекст знакового флага для текущего видеоблока основан на знаковых флагах одного или нескольких соседних видеоблоков в соответствии со следующим правилом:
если знаковые флаги пары соседних видеоблоков оба являются положительными, указанное правило специфицирует выбор третьего контекста для знакового флага.
B15. Способ согласно какой-либо одной или нескольким из статей B1-B3 или B8-B12, отличающийся тем, что контекст знакового флага для текущего видеоблока далее основан на позиции некой группы коэффициентов из совокупности нескольких групп коэффициентов.
B16. Способ согласно статье B10, отличающийся тем, что контекст знакового флага основан по меньшей мере на одном из параметров: (x+y), min(x, y) или max(x, y), где x и y обозначают горизонтальную координату и вертикальную координату позиции группы коэффициентов, соответственно.
B17. Кодирующее устройство для видео, содержащее процессор, конфигурированный для осуществления способа согласно какой-либо одной или нескольким из статей B1-B16.
B18. Декодирующее устройство для видео, содержащее процессор, конфигурированный для осуществления способа согласно какой-либо одной или нескольким из статей B1-B16.
B19. Читаемый компьютером носитель информации, имеющий сохраненный на нем код, представляющий выполняемые процессором команды для осуществления способа согласно какой-либо одной или нескольким из статей B1-B16.
В настоящем документе термин «обработка видео» или «обработка сигналов визуальных медиа» может обозначать кодирование видео, декодирование видео, сжатие видео или расширение (декомпрессию) видео. Например, алгоритмы сжатия видео могут быть применены в процессе преобразования из пиксельного представления видео к соответствующему представлению в виде потока битов данных или наоборот. Такое представление в виде потока битов данных для текущего видеоблока может, например, соответствовать битам, которые либо расположены в одном месте, либо распределены по разным местам в потоке битов данных, как это определено синтаксисом. Например, макроблок может быть кодирован в терминах преобразованных и кодированных величин остатка погрешности, а также с использованием битов в заголовках и в других полях в потоке битов данных.
Из изложенного выше должно быть понятно, что в целях иллюстрации здесь были рассмотрены конкретные варианты предлагаемой технологии, но в них могут быть внесены разнообразные модификации, не отклоняясь от объема настоящего изобретения. Соответственно, предлагаемая здесь технология ничем не ограничивается за исключением прилагаемой Формулы изобретения.
Варианты осуществления предмета настоящего изобретения и функциональные операции, описываемые в этом патентном документе могут быть реализованы в разнообразных системах, цифровой электронной схеме или в компьютерном загружаемом программном обеспечении, встроенном программном обеспечении или аппаратуре, включая структуры, рассматриваемые в настоящем описании, и их структурные эквиваленты, или в комбинации одного или нескольких перечисленных компонентов. Варианты осуществления предмета настоящего изобретения, рассматриваемые в настоящем описании, могут быть реализованы в виде одного или нескольких компьютерных программных продуктов, т.е. одного или нескольких модулей компьютерных программных команд, закодированных на материальном и энергонезависимом читаемом компьютером носителе информации для выполнения посредством или под управлением устройства обработки данных. Этот читаемый компьютером носитель может представлять собой машиночитаемое устройство для хранения информации, машиночитаемую подложку для хранения информации, запоминающее устройство, композицию объектов, генерирующую машиночитаемый распространяющийся сигнал или комбинацию одного или нескольких перечисленных объектов. Термин «модуль обработки данных» или «устройство обработки данных» охватывает все устройства, аппаратуру и машины для обработки данных, включая, например, программируемый процессор, компьютер, либо нескольких процессоров или компьютеров. Такое устройство может содержать, в дополнение к аппаратуре, код, создающий среду для выполнения рассматриваемой компьютерной программы, например, код, составляющий встроенное программное обеспечение процессора, стек протоколов, систему управления базой данных, операционную систему или комбинацию одного или нескольких перечисленных объектов.
Компьютерная программа (также известная как программа, программное обеспечение, программное приложение, сценарий (скрипт) или код) может быть написана на каком-либо языке программирования, включая компилируемые или интерпретируемые языки, и может быть развернута в любой форме, включая автономную программу или в виде модуля, компонента, подпрограммы или другой единицы, подходящей для использования в компьютерной среде. Компьютерная программа необязательно соответствует файлу в файловой системе. Программа может быть сохранена в части файла, который содержит также другие программы или данные (например, один или несколько сценариев сохраняются в документе на языке разметки), в одном файле, специально предназначенном только для рассматриваемой программы, или в нескольких координированных файлах (например, в файлах, сохраняющих один или несколько модулей, подпрограмм или фрагментов кода). Компьютерная программа может быть развернута для выполнения на одном компьютере или на нескольких компьютерах, расположенных в одном пункте или распределенных по нескольким пунктам и соединенных посредством сети связи.
Процедуры и логические схемы, описываемые в настоящем документе, могут быть осуществлены одним или несколькими программируемыми процессорами, выполняющими одну или несколько компьютерных программ для реализации функций путем оперирования над входными данными и генерации выходных данных. Эти процедуры и логические схемы могут также быть осуществлены посредством, и аппаратура может также быть реализована в виде, логической схемы специального назначения, например, программируемой пользователем вентильной матрицы (FPGA (field programmable gate array)) или специализированной интегральной схемы (ASIC (application specific integrated circuit)).
К процессорам, подходящим для выполнения компьютерной программы, относятся, например, микропроцессоры общего и специального назначения и какие-либо один или несколько процессоров цифрового компьютера какого-либо типа. В общем случае, процессор будет принимать команды и данные из постоянного запоминающего устройства и/или из запоминающего устройства с произвольной выборкой. Основными элементами компьютера являются процессор для выполнения команд и одно или несколько запоминающих устройств для сохранения команд и данных. В общем случае, компьютер должен также содержать или быть оперативно связанным для приема данных и/или для передачи данных, одно или несколько запоминающих устройств большой емкости для хранения данных, например, магнитные устройства, магнитооптические диски или оптические диски. Однако компьютеру необязательно иметь такие устройства. К читаемым компьютером носителям для сохранения команд компьютерных программ и данных относятся все формы энергонезависимых запоминающих устройств и носителей информации, включая, например, полупроводниковые запоминающие устройства, например, стираемое, программируемое постоянное запоминающее устройство (СППЗУ (EPROM)), электрически стираемое программируемое запоминающее устройство (ЭСППЗУ (EEPROM)) и устройства флэш-памяти. Процессор и запоминающее устройство могут быть дополнены или встроены в логическую схему специального назначения.
Настоящее описание вместе с чертежами следует рассматривать только в качестве примеров. Как используется здесь, формы единственного числа должны включать в себя также формы множественного числа, если только контекст четко не указывает иное. В дополнение к этому, использование союза «или» должно также включать «и/или», если только контекст четко не указывает иное.
Хотя настоящий патентный документ содержит много конкретных деталей, их не следует толковать в качестве ограничений объема какого-либо предмета изобретения или того, что может быть заявлено в Формуле изобретения, а всего лишь как описание признаков, которые могут быть специфичны для конкретных вариантов конкретных способов. Некоторые признаки, описываемые в настоящем патентном документе в контексте раздельных вариантов, могут также быть реализованы в сочетании в одном варианте. Напротив, различные признаки, описываемые в контексте одного варианта, могут также быть реализованы в нескольких вариантах по отдельности или в какой-либо подходящей субкомбинации. Более того, хотя признаки могут быть описаны выше как действующие в некоторых комбинациях и даже первоначально заявлены таковыми, один или несколько признаков из заявленной комбинации могут, в некоторых случаях, быть исключены из такой комбинации, и заявленная комбинация может быть превращена в субкомбинацию или в вариацию субкомбинации.
Аналогично, хотя операции показаны на чертежах в конкретном порядке, это не следует понимать как требование, чтобы такие операции всегда осуществлялись именно в показанном конкретном порядке, или в последовательном порядке, или чтобы все показанные операции были выполнены, для достижения желаемого результата. Более того, разделение разнообразных компонентов системы в описываемых в настоящем патентном документе вариантах не следует понимать как требование такого разделения во всех вариантах.
Здесь описано только небольшое число реализаций и примеров, но и другие варианты реализации, усовершенствования и вариации могут быть сделаны на основе того, что описано и иллюстрируется в настоящем патентном документе.
5. Дополнительные варианты предлагаемой технологии
5.1 Варианты, относящиеся к двойному дереву
Изменения относительно проекта, представленного в документа JVET- N1001-v7 выделены жирным, подчеркнутым курсивом. Записи большими буквами жирным шрифтом, появляющиеся ниже и повсюду в настоящем документе, обозначают текст, который может быть потенциально исключен из стандарта кодирования VVC.
5.1.1 Вариант #1
5.1.2 Вариант #2
7.3.2.3 Синтаксис набора параметров последовательности RBSP
5.1.3 Вариант #3
7.3.5 Синтаксис заголовка среза
7.3.5.1 Обобщенный синтаксис заголовка среза
( weighted_bipred_flag && slice_type = = B ) )
Флаг sps_asdt_flag равный 1 специфицирует, что предлагаемый способ может быть активизирован на текущей последовательности. Этот флаг равный 0 специфицирует, что предлагаемый способ не может быть активизирован на текущей последовательности. Когда флаг sps_ASDT_flag не присутствует, его признают равным 0.
Флаг slice_asdt_flag равный 1 специфицирует, что предлагаемый способ может быть активизирован на текущем срезе. Этот флаг равный 0 специфицирует, что предлагаемый способ может быть активизирован на текущем срезе. Когда флаг slice_ASDT_flag не присутствует, его признают равным 0.
7.3.7.2 Синтаксис единицы дерева кодирования
Флаг ctu_ dual_tree_intra_flag равный 1 специфицирует, что текущая единица CTU использует структуру двойного дерева кодирования. Этот флаг равный 0 специфицирует, что текущая единица CTU использует структуру одиночного дерева кодирования. Когда флаг ctu_ dual_tree_intra_flag не присутствует, его признают равным 0.
5.1.4 Вариант #4
7.3.5 Синтаксис заголовка среза
7.3.5.1 Обобщенный синтаксис заголовка среза
( weighted_bipred_flag && slice_type = = B ) )
Флаг sps_asdt_flag равный 1 специфицирует, что предлагаемый способ может быть активизирован на текущей последовательности. Этот флаг равный 0 специфицирует, что предлагаемый способ не может быть активизирован на текущей последовательности. Когда флаг sps_ASDT_flag не присутствует, его признают равным 0.
Флаг slice_asdt_flag равный 1 специфицирует, что предлагаемый способ может быть активизирован на текущем срезе. равный 0 специфицирует, что предлагаемый способ может быть активизирован на текущем срезе. Когда флаг slice_ASDT_flag не присутствует, его признают равным 0.
7.3.7.2 Синтаксис единицы дерева кодирования
Флаг ctu_ dual_tree_intra_flag равный 1 специфицирует, что текущая единица CTU использует структуру двойного дерева кодирования. Этот флаг равный равный 1 специфицирует, что текущая единица CTU использует структуру одиночного дерева кодирования. Когда флаг ctu_ dual_tree_intra_flag не присутствует, его признают равным 0.
5.2 Вариант, относящийся к режиму копирования IBC
7.3.7.5 Синтаксис единицы кодирования
!( cbWidth = = 4 && cbHeight = = 4 && !sps_ibc_enabled_flag ) )
&& !( cbWidth = = 4 && cbHeight = = 4 ) )
( slice_type != I && ( CuPredMode[ x0 ][ y0 ] != MODE_INTRA | |
( cbWidth = = 4 && cbHeight = = 4 && cu_skip_flag[ x0 ][ y0 ] = = 0 ) ) ) ) &&
sps_ibc_enabled_flag && ( cbWidth != 128 | | cbHeight != 128 ) && (treeType != DUAL_TREE_CHROMA)
8.6 Процедура декодирования для единиц кодирования, которые кодированы в режиме прогнозирования с копированием IBC
8.6.1 Обобщенная процедура декодирования для единиц кодирования, которые кодированы в режиме прогнозирования с копированием IBC
Входными данными для этой процедуры являются:
- позиция ( xCb, yCb ) яркостной составляющей, специфицирующая верхний левый отсчет текущего блока кодирования относительно верхнего левого отсчета текущего изображения,
- переменная cbWidth, специфицирующая ширину текущего блока кодирования в отсчетах яркостной составляющей,
- переменная cbHeight, специфицирующая высоту текущего блока кодирования в отсчетах яркостной составляющей,
- переменная treeType, специфицирующая, используется ли структура одиночного или двойного дерева, и если используется структура двойного дерева, это специфицирует, соответствует ли текущее дерево яркостной или цветностной составляющим.
Выходными данными этой процедуры является модифицированное реконструированное изображение прежде внутриконтурной фильтрации.
Процедура определения параметров квантования, как это специфицировано в статье 8.7.1, привлекается с использованием позиции ( xCb, yCb ) яркостной составляющей, ширины cbWidth текущего блока кодирования в отсчетах яркостной составляющей, высоты cbHeight текущего блока кодирования в отсчетах яркостной составляющей и переменной treeType в качестве входных данных.
Процедура декордирования для единиц кодирования, которые кодированы в режиме прогнозирования с копированием ibc, содержит следующие этапы:
1. Компоненты вектора движения для текущей единицы кодирования определяют следующим образом:
- ЕСЛИ ПЕРЕМЕННАЯ TREETYPE РАВНА SINGLE_TREE ИЛИ DUAL_TREE_LUMA, ПРИМЕНЯЕТСЯ СЛЕДУЮЩЕЕ:
- Процедура определения компонентов векторов движения, как это специфицировано в статье 8.6.2.1, привлекается с использованием позиции ( xCb, yCb ) блока кодирования яркостной составляющей, ширины cbWidth блока кодирования яркостной составляющей, высоты cbHeight блока кодирования яркостной составляющей в качестве входных данных, и вектора mvL[ 0 ][ 0 ] движения яркостной составляющей в качестве выходных данных.
- Когда переменная treeType равна SINGLE_TREE, процедура определения векторов движения цветностной составляющей согласно статье 8.6.2.5, привлекается с использованием вектора движения mvL[ 0 ][ 0 ] яркостной составляющей в качестве входных данных и вектора движения mvC[ 0 ][ 0 ] цветностной составляющий в качестве выходных данных.
- Оба числа субблоков кодирования яркостной составляющей – в горизонтальном направлении numSbX и в вертикальном направлении numSbY, устанавливают равными 1.
- В ПРОТИВНОМ СЛУЧАЕ, ЕСЛИ ПЕРЕМЕННАЯ TREETYPE РАВНА DUAL_TREE_CHROMA, ПРИМЕНЯЕТСЯ СЛЕДУЮЩЕЕ:
- ОБА ЧИСЛА СУББЛОКОВ КОДИРОВАНИЯ ЯРКОСТНОЙ СОСТАВЛЯЮЩЕЙ – В ГОРИЗОНТАЛЬНОМ НАПРАВЛЕНИИ NUMSBX И В ВЕРТИКАЛЬНОМ НАПРАВЛЕНИИ NUMSBY, ОПРЕДЕЛЯЮТ СЛЕДУЮЩИМ ОБРАЗОМ:
NUMSBX = ( CBWIDTH >> 2 ) (8-871)
NUMSBY = ( CBHEIGHT >> 2 ) (8-872)
- ВЕКТОРЫ ДВИЖЕНИЯ MVC[ XSBIDX ][ YSBIDX ] ЦВЕТНОСТНОЙ СОСТАВЛЯЮЩЕЙ ОПРЕДЕЛЯЮТ СЛЕДУЮЩИМ ОБРАЗОМ ДЛЯ XSBIDX = 0..NUMSBX − 1, YSBIDX = 0..NUMSBY − 1:
- ВЕКТОРЫ ДВИЖЕНИЯ MVL[ XSBIDX ][ YSBIDX ] ЯРКОСТНОЙ СОСТАВЛЯЮЩЕЙ ОПРЕДЕЛЯЮТ СЛЕДУЮЩИМ ОБРАЗОМ:
- ПОЗИЦИЮ ( XCUY, YCUY ) РАСПОЛОЖЕННОЙ В ТОМ ЖЕ МЕСТЕ ЕДИНИЦЫ КОДИРОВАНИЯ ЯРКОСТНОЙ СОСТАВЛЯЮЩЕЙ ОПРЕДЕЛЯЮТ СЛЕДУЮЩИМ ОБРАЗОМ:
XCUY = XCB + XSBIDX*4 (8-873)
YCUY = YCB + YSBIDX*4 (8-874)
- ЕСЛИ ПАРАМЕТР CUPREDMODE[ XCUY ][ YCUY ] РАВЕН MODE_INTRA, ПРИМЕНЯЕТСЯ СЛЕДУЮЩЕЕ.
MVL[ XSBIDX ][ YSBIDX ][ 0 ] = 0 (8-875)
MVL[ XSBIDX ][ YSBIDX ][ 1 ] = 0 (8-876)
PREDFLAGL0[ XSBIDX ][ YSBIDX ] = 0 (8-877)
PREDFLAGL1[ XSBIDX ][ YSBIDX ] = 0 (8-878)
- В ПРОТИВНОМ СЛУЧАЕ ( ПАРАМЕТР CUPREDMODE[ XCUY ][ YCUY ] РАВЕН MODE_IBC ), ПРИМЕНЯЕТСЯ СЛЕДУЮЩЕЕ:
MVL[ XSBIDX ][ YSBIDX ][ 0 ]=MVL0[ XCUY ][ YCUY ][ 0 ] (8-879)
MVL[ XSBIDX ][ YSBIDX ][ 1 ]=MVL0[ XCUY ][ YCUY ][ 1 ] (8-880)
PREDFLAGL0[ XSBIDX ][ YSBIDX ] = 1 (8-881)
PREDFLAGL1[ XSBIDX ][ YSBIDX ] = 0 (8-882)
- ПРОЦЕДУРА ОПРЕДЕЛЕНИЯ ВЕКТОРОВ ДВИЖЕНИЯ ДЛЯ ЦВЕТНОСТНОЙ СОСТАВЛЯЮЩЕЙ СОГЛАСНО СТАТЬЕ 8.6.2.5 ПРИВЛЕКАЕТСЯ С ИСПОЛЬЗОВАНИЕМ ВЕКТОРОВ MVL[ XSBIDX ][ YSBIDX ] В КАЧЕСТВЕ ВХОДНЫХ ДАННЫХ, И ВЕКТОРОВ MVC[ XSBIDX ][ YSBIDX ] В КАЧЕСТВЕ ВЫХОДНЫХ ДАННЫХ.
- ТРЕБОВАНИЕ СООТВЕТСТВИЯ ПОТОКА БИТОВ ДАННЫХ СОСТОИТ В ТОМ, ЧТО ВЕКТОРЫ MVC[ XSBIDX ][ YSBIDX ] ДВИЖЕНИЯ ЦВЕТНОСТНОЙ СОСТАВЛЯЮЩЕЙ ДОЛЖНЫ УДОВЛЕТВОРЯТЬ СЛЕДУЮЩИМ ОГРАНИЧЕНИЯМ:
- КОГДА ПРОЦЕДУРА ОПРЕДЕЛЕНИЯ ДОСТУПНОСТИ БЛОКА, КАК ЭТО СПЕЦИФИЦИРОВАНО В СТАТЬЕ 6.4.X [ED. (BB): ПРОЦЕДУРА ПРОВЕРКИ ДОСТУПНОСТИ СОСЕДНИХ БЛОКОВ, ДОЛЖНА БЫТЬ ОПРЕДЕЛЕНА] ПРИВЛЕКАЕТСЯ С ИСПОЛЬЗОВАНИЕМ ТЕКУЩЕЙ ПОЗИЦИИ ( XCURR, YCURR ) ЦВЕТНОСТНОЙ СОСТАВЛЯЮЩЕЙ, УСТАНОВЛЕННОЙ РАВНОЙ ( XCB/SUBWIDTHC, YCB/SUBHEIGHTC ), И СОСЕДНЕЙ ПОЗИЦИИ ( XCB/SUBWIDTHC + ( MVC[ XSBIDX ][ YSBIDX ][ 0 ] >> 5 ), YCB/SUBHEIGHTC + ( MVC[ XSBIDX ][ YSBIDX ][ 1 ] >> 5 ) ) ЦВЕТНОСТНОЙ СОСТАВЛЯЮЩЕЙ В КАЧЕСТВЕ ВХОДНЫХ ДАННЫХ, ЕЕ ВЫХОДНЫЕ ДАННЫЕ ДОЛЖНЫ ИМЕТЬ ЗНАЧЕНИЕ «ИСТИННО» (TRUE).
- КОГДА ПРОЦЕДУРА ОПРЕДЕЛЕНИЯ ДОСТУПНОСТИ БЛОКА, КАК ЭТО СПЕЦИФИЦИРОВАНО В СТАТЬЕ 6.4.X [ED. (BB): ПРОЦЕДУРА ПРОВЕРКИ ДОСТУПНОСТИ СОСЕДНИХ БЛОКОВ, ДОЛЖНА БЫТЬ ОПРЕДЕЛЕНА] ПРИВЛЕКАЕТСЯ С ИСПОЛЬЗОВАНИЕМ ТЕКУЩЕЙ ПОЗИЦИИ ( XCURR, YCURR ) ЦВЕТНОСТНОЙ СОСТАВЛЯЮЩЕЙ, УСТАНОВЛЕННОЙ РАВНОЙ ( XCB/SUBWIDTHC, YCB/SUBHEIGHTC ) И СОСЕДНЕЙ ПОЗИЦИИ ( XCB/SUBWIDTHC + ( MVC[ XSBIDX ][ YSBIDX ][ 0 ] >> 5 ) + CBWIDTH/SUBWIDTHC − 1, YCB/SUBHEIGHTC + ( MVC[ XSBIDX ][ YSBIDX ][ 1 ] >> 5 ) + CBHEIGHT/SUBHEIGHTC − 1 ) ЦВЕТНОСТНОЙ СОСТАВЛЯЮЩЕЙ В КАЧЕСТВЕ ВХОДНЫХ ДАННЫХ, ЕЕ ВЫХОДНЫЕ ДАННЫЕ ДОЛЖНЫ ИМЕТЬ ЗНАЧЕНИЕ «ИСТИННО» (TRUE).
- ОДНО ИЛИ ОБА СЛЕДУЮЩИХ УСЛОВИЯ ДОЛЖНЫ БЫТЬ ИСТИННЫМИ (TRUE):
- ( MVC[ XSBIDX ][ YSBIDX ][ 0 ] >> 5 ) + XSBIDX * 2 + 2 НЕ БОЛЬШЕ 0.
- ( MVC[ XSBIDX ][ YSBIDX ][ 1 ] >> 5 ) + YSBIDX * 2 + 2 НЕ БОЛЬШЕ 0.
2. Прогнозируемые отсчеты текущей единицы кодирования определяют следующим образом:
- ЕСЛИ ПЕРЕМЕННАЯ TREETYPE РАВНА SINGLE_TREE ИЛИ DUAL_TREE_LUMA, ПРОГНОЗИРУЕМЫЕ ОТСЧЕТЫ ТЕКУЩЕЙ ЕДИНИЦЫ КОДИРОВАНИЯ ОПРЕДЕЛЯЮТ СЛЕДУЮЩИМ ОБРАЗОМ:
- Процедура декодирования для блоков в режиме копирования ibc, специфицированная в статье 8.6.3.1 привлекается с использованием позиции ( xCb, yCb ) блока кодирования яркостной составляющей, ширины cbWidth блока кодирования яркостной составляющей и высоты cbHeight блока кодирования яркостной составляющей, чисел субблоков кодирования яркостной составляющей в обоих направлениях – горизонтальном направлении numSbX и вертикальном направлении numSbY, векторов mvL[ xSbIdx ][ ySbIdx ] движения яркостной составляющей при xSbIdx = 0..numSbX − 1, и ySbIdx = 0..numSbY − 1, переменной cIdx, установленной равной 0, в качестве входных данных, и прогнозируемых отсчетов (predSamples) в режиме копирования ibc, образующих массив predSamplesL размером (cbWidth)x(cbHeight) из прогнозируемых отсчетов яркостной составляющей, в качестве выходных данных.
- В противном случае, если переменная treeType равна SINGLE_TREE ИЛИ DUAL_TREE_CHROMA, прогнозируемые отсчеты в текущей единице кодирования определяют следующим образом:
- Процедура декодирования для блоков в режиме копирования ibc, специфицированная в статье 8.6.3.1 привлекается с использованием позиции ( xCb, yCb ) блока кодирования яркостной составляющей, ширины cbWidth блока кодирования яркостной составляющей и высоты cbHeight блока кодирования яркостной составляющей, чисел субблоков кодирования яркостной составляющей в обоих направлениях – горизонтальном направлении numSbX и вертикальном направлении numSbY, векторов mvC[ xSbIdx ][ ySbIdx ] движения цветностной составляющей при xSbIdx = 0..numSbX − 1, и ySbIdx = 0..numSbY – 1, и переменной cIdx, установленной равной 1, в качестве входных данных, и прогнозируемых отсчетов (predSamples) в режиме копирования ibc, образующих массив predSamplesCb размером (cbWidth/2)x(cbHeight/2) из прогнозируемых отсчетов цветностной составляющей Cb, в качестве выходных данных.
- Процедура декодирования для блоков в режиме копирования ibc, специфицированная в статье 8.6.3.1 привлекается с использованием позиции ( xCb, yCb ) блока кодирования яркостной составляющей, ширины cbWidth блока кодирования яркостной составляющей и высоты cbHeight блока кодирования яркостной составляющей, чисел субблоков кодирования яркостной составляющей в обоих направлениях – горизонтальном направлении numSbX и вертикальном направлении numSbY, векторов mvC[ xSbIdx ][ ySbIdx ] движения цветностной составляющей при xSbIdx = 0..numSbX − 1, и ySbIdx = 0..numSbY – 1, и переменной cIdx, установленной равной 2, в качестве входных данных, и прогнозируемых отсчетов (predSamples) в режиме копирования ibc, образующих массив predSamplesCr размером (cbWidth/2)x(cbHeight/2) из прогнозируемых отсчетов цветностной составляющей Cr, в качестве выходных данных.
3. Переменные NumSbX[ xCb ][ yCb ] и NumSbY[ xCb ][ yCb ] устанавливают равными numSbX и numSbY, соответственно.
4. Отсчеты остатка текущей единицы кодирования определяют следующим образом:
- КОГДА ПЕРЕМЕННАЯ TREETYPE РАВНА SINGLE_TREE ИЛИ ПЕРЕМЕННАЯ TREETYPE РАВНА DUAL_TREE_LUMA, процедура декодирования для сигнала остатка блоков кодирования, которые кодированы в режиме межкадрового прогнозирования, как это специфицировано в статье 8.5.8, привлекается с использованием позиции ( xTb0, yTb0 ), установленной равной позиции ( xCb, yCb ) яркостной составляющей, ширины nTbW, установленной равной ширине cbWidth блока кодирования яркостной составляющей, высоты nTbH, установленной равной высоте cbHeight блока кодирования яркостной составляющей, и переменной cIdx, установленной равной 0, в качестве входных данных, и массива resSamplesL в качестве выходных данных.
- Когда переменная treeType равна SINGLE_TREE ИЛИ ПЕРЕМЕННАЯ TREETYPE РАВНА DUAL_TREE_CHROMA, процедура декодирования для сигнала остатка блоков кодирования, которые кодированы в режиме межкадрового прогнозирования, как это специфицировано в статье 8.5.8, привлекается с использованием позиции ( xTb0, yTb0 ), установленной равной позиции ( xCb/2, yCb/2 ) цветностной составляющей, ширины nTbW, установленной равной ширине cbWidth/2 блока цветностной составляющей, высоты nTbH, установленной равной высоте cbHeight/2 блока цветностной составляющей, и переменной cIdx, установленной равной 1, в качестве входных данных, и массива resSamplesCb в качестве выходных данных.
- Когда переменная treeType равна SINGLE_TREE ИЛИ ПЕРЕМЕННАЯ TREETYPE РАВНА DUAL_TREE_CHROMA, процедура декодирования для сигнала остатка блоков кодирования, которые кодированы в режиме межкадрового прогнозирования, как это специфицировано в статье 8.5.8, привлекается с использованием позиции ( xTb0, yTb0 ), установленной равной позиции ( xCb/2, yCb/2 ), ширины nTbW, установленной равной ширине cbWidth/2 блока цветностной составляющей, высоты nTbH. установленной равной высоте cbHeight/2 блока цветностной составляющей, и переменной cIdx, установленной равной 2, в качестве входных данных, и массива resSamplesCr в качестве выходных данных.
5. Реконструированные отсчеты текущей единицы кодирования определяют следующим образом:
- КОГДА ПЕРЕМЕННАЯ TREETYPE РАВНА SINGLE_TREE ИЛИ ПЕРЕМЕННАЯ TREETYPE РАВНА DUAL_TREE_LUMA, процедура реконструкции изображения для цветовой составляющей, как это специфицировано в статье 8.7.5, привлекается с использованием позиции ( xB, yB ) блока, установленной равной ( xCb, yCb ), ширины bWidth блока, установленной равной cbWidth, высоты bHeight блока, установленной равной cbHeight, переменной cIdx, установленной равной 0, массива predSamples размером (cbWidth)x(cbHeight), установленного равным predSamplesL, и массива predSamples размером (cbWidth)x(cbHeight), установленного равным resSamplesL в качестве входных данных, а выходными данными является модифицированное реконструированное изображение прежде внутриконтурной фильтрации.
- Когда переменная treeType равна SINGLE_TREE ИЛИ ПЕРЕМЕННАЯ TREETYPE РАВНА DUAL_TREE_CHROMA, процедура реконструкции изображения для цветовой составляющей, как это специфицировано в статье 8.7.5, привлекается с использованием позиции ( xB, yB ) блока, установленной равной ( xCb/2, yCb/2 ), ширины bWidth блока, установленной равной cbWidth/2, высоты bHeight блока, установленной равной cbHeight/2, переменной cIdx, установленной равной 1, массива predSamples размером (cbWidth/2)x(cbHeight/2), установленного равным predSamplesCb, и массива predSamples размером (cbWidth/2)x(cbHeight/2), установленного равным resSamplesCb, в качестве входных данных, а выходными данными является модифицированное реконструированное изображение прежде внутриконтурной фильтрации.
- Когда переменная treeType равна SINGLE_TREE ИЛИ ПЕРЕМЕННАЯ TREETYPE РАВНА DUAL_TREE_CHROMA, процедура реконструкции изображения для цветовой составляющей, как это специфицировано в статье 8.7.5, привлекается с использованием позиции ( xB, yB ) блока, установленной равной ( xCb/2, yCb/2 ), ширины bWidth блока, установленной равной cbWidth/2, высоты bHeight блока, установленной равной cbHeight/2, переменной cIdx, установленной равной 2, массива predSamples размером (cbWidth/2)x(cbHeight/2), установленного равным predSamplesCr, и массива predSamples размером (cbWidth/2)x(cbHeight/2), установленного равным resSamplesCr, в качестве входных данных, а выходными данными является модифицированное реконструированное изображение прежде внутриконтурной фильтрации.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ ОПРЕДЕЛЕНИЯ ПАРАМЕТРОВ В КРОСС-КОМПОНЕНТНОМ РЕЖИМЕ | 2020 |
|
RU2817006C2 |
СПОСОБ УПРАВЛЕНИЯ БУФЕРОМ ДЛЯ РЕЖИМА ВНУТРИКАДРОВОГО КОПИРОВАНИЯ БЛОКОВ ПРИ КОДИРОВАНИИ ВИДЕО | 2020 |
|
RU2811022C2 |
ОГРАНИЧЕНИЯ ПРИМЕНИМОСТИ КРОСС-КОМПОНЕНТНОГО РЕЖИМА | 2020 |
|
RU2816350C2 |
ПРОЦЕДУРА КВАНТОВАНИЯ ДЛЯ РЕЖИМА ПАЛИТРЫ | 2020 |
|
RU2803621C2 |
СОВМЕСТНОЕ КОДИРОВАНИЕ ИНДИКАЦИИ ИСПОЛЬЗОВАНИЯ РЕЖИМА ПАЛИТРЫ | 2020 |
|
RU2810950C2 |
ИДЕНТИФИКАЦИЯ ОТСЧЕТОВ ДЛЯ РЕЖИМА ВНУТРИКАДРОВОГО КОПИРОВАНИЯ БЛОКОВ ПРИ КОДИРОВАНИИ ВИДЕО | 2020 |
|
RU2811517C2 |
СПОСОБ ОПРЕДЕЛЕНИЯ РЕЖИМА КОДИРОВАНИЯ НА ОСНОВЕ ЦВЕТОВОГО ФОРМАТА | 2020 |
|
RU2816857C2 |
ВИРТУАЛЬНЫЙ БУФЕР ДЛЯ ПРОГНОЗИРОВАНИЯ ПРИ КОДИРОВАНИИ ВИДЕО В РЕЖИМЕ ВНУТРИКАДРОВОГО КОПИРОВАНИЯ БЛОКОВ | 2020 |
|
RU2811460C2 |
НЕЗАВИСИМОЕ КОДИРОВАНИЕ ИНДИКАЦИИ ИСПОЛЬЗОВАНИЯ РЕЖИМА ПАЛИТРЫ | 2020 |
|
RU2816845C2 |
ПЕРЕДАЧА СИГНАЛИЗАЦИИ С ИНФОРМАЦИЕЙ О ВНУТРИКОНТУРНОМ ПЕРЕФОРМИРОВАНИИ С ИСПОЛЬЗОВАНИЕМ НАБОРА ПАРАМЕТРОВ | 2020 |
|
RU2808682C2 |
Изобретение относится к области кодирования видео. Технический результат заключается в повышении эффективности кодирования видео. Такой результат обеспечивается за счет того, что определяют для кодирования одного или более видеоблоков в видеообласти визуальных медиаданных в представление визуальных медиаданных в виде потока битов данных максимально допустимый размер, до которого текущий видеоблок из указанного одного или более видеоблоков допускается кодировать с использованием режима пропуска преобразования, так что остаток погрешности прогнозирования между текущим видеоблоком и опорным видеоблоком представлен в указанном представлении в виде потока битов данных без применения преобразования; и включают синтаксический элемент, указывающий максимально допустимый размер, в представление в виде потока битов данных. 4 н. и 10 з.п. ф-лы, 30 ил.
1. Способ обработки видеоданных, содержащий этапы, на которых:
используют, для преобразования между текущим видеоблоком в видеообласти видеоданных и потоком битов указанных видеоданных, режим пропуска преобразования для текущего видеоблока, причем текущий видеоблок разбивается на множество групп коэффициентов, причем в режиме пропуска преобразования пропускают преобразование остатка прогнозирования между текущим видеоблоком и опорным видеоблоком;
выбирают контекст знакового флага для текущего коэффициента текущего видеоблока в соответствии с одним или более знаковыми флагами одного или более соседних коэффициентов в текущем видеоблоке; и
выполняют указанное преобразование на основе указанного выбора;
при этом множество соседних коэффициентов в текущем видеоблоке содержат соседний коэффициент слева и соседний коэффициент сверху;
контекст знакового флага для текущего коэффициента основан на знаковых флагах указанного соседнего коэффициента слева и указанного соседнего коэффициента сверху согласно следующему правилу:
если знаковые флаги указанного соседнего коэффициента слева и указанного соседнего коэффициента сверху являются отрицательными, указанное правило определяет выбор первого контекста,
если один знаковый флаг из знаковых флагов указанного соседнего коэффициента слева и указанного соседнего коэффициента сверху является отрицательным, а другой знаковый флаг из знаковых флагов указанного соседнего коэффициента слева и указанного соседнего коэффициента сверху является положительным, указанное правило определяет выбор второго контекста;
если знаковые флаги указанного соседнего коэффициента слева и указанного соседнего коэффициента сверху являются положительными, указанное правило определяет выбор третьего контекста.
2. Способ по п. 1, в котором контекст знакового флага для текущего коэффициента дополнительно основан на позиции текущего коэффициента.
3. Способ по п. 1 или 2, в котором первый синтаксический элемент, указывающий, применяется ли режим пропуска преобразования к текущему видеоблоку, вставлен в поток битов на основании одного или более условий.
4. Способ по п. 3, в котором вставка первого синтаксического элемента в поток битов данных основана на размере текущего видеоблока.
5. Способ по п. 3, в котором вставка первого синтаксического элемента в поток битов данных основана на структуре дерева кодирования для текущего видеоблока.
6. Способ по п. 5, в котором первый синтаксический элемент вставляется в поток битов данных при условиях, включающих в себя условие, что текущий видеоблок имеет структуру одиночного дерева.
7. Способ по п. 5, в котором первый синтаксический элемент вставляется в поток битов данных при условиях, включающих в себя условие, что текущий видеоблок имеет структуру двойного дерева для яркостной составляющей.
8. Способ по п. 5, в котором первый синтаксический элемент вставляется в поток битов данных при условиях, включающих в себя условие, что текущий видеоблок имеет структуру двойного дерева для цветностной составляющей.
9. Способ по любому из пп. 3-8, в котором в поток битов данных вставлен второй синтаксический элемент, указывающий максимальный допустимый размер блока, используемый в режиме пропуска преобразования.
10. Способ по любому из пп. 1-9, в котором при указанном преобразовании кодируют текущий видеоблок в поток битов данных.
11. Способ по любому из пп. 1-9, в котором при указанном преобразовании декодируют текущий видеоблок из потока битов данных.
12. Устройство обработки видеоданных, содержащее процессор и энергонезависимое запоминающее устройство с записанными в нем командами, причем команды при исполнении процессором вызывают выполнение процессором:
использования, для преобразования между текущим видеоблоком в видеообласти видеоданных и потоком битов указанных видеоданных, режима пропуска преобразования для текущего видеоблока, причем текущий видеоблок разбивается на множество групп коэффициентов, причем в режиме пропуска преобразования пропускается преобразование остатка прогнозирования между текущим видеоблоком и опорным видеоблоком;
выбора контекста знакового флага для текущего коэффициента текущего видеоблока в соответствии с одним или более знаковыми флагами одного или более соседних коэффициентов в текущем видеоблоке; и
выполнения указанного преобразования на основе указанного выбора;
при этом множество соседних коэффициентов в текущем видеоблоке содержат соседний коэффициент слева и соседний коэффициент сверху;
контекст знакового флага для текущего коэффициента основан на знаковых флагах указанного соседнего коэффициента слева и указанного соседнего коэффициента сверху согласно следующему правилу:
если знаковые флаги указанного соседнего коэффициента слева и указанного соседнего коэффициента сверху являются отрицательными, указанное правило определяет выбор первого контекста,
если один знаковый флаг из знаковых флагов указанного соседнего коэффициента слева и указанного соседнего коэффициента сверху является отрицательным, а другой знаковый флаг из знаковых флагов указанного соседнего коэффициента слева и указанного соседнего коэффициента сверху является положительным, указанное правило определяет выбор второго контекста;
если знаковые флаги указанного соседнего коэффициента слева и указанного соседнего коэффициента сверху являются положительными, указанное правило определяет выбор третьего контекста.
13. Энергонезависимый читаемый компьютером носитель для хранения информации, хранящий команды, которые вызывают выполнение процессором:
использования, для преобразования между текущим видеоблоком в видеообласти видеоданных и потоком битов указанных видеоданных, режима пропуска преобразования для текущего видеоблока, причем текущий видеоблок разбивается на множество групп коэффициентов, причем в режиме пропуска преобразования пропускается преобразование остатка прогнозирования между текущим видеоблоком и опорным видеоблоком;
выбора контекста знакового флага для текущего коэффициента текущего видеоблока в соответствии с одним или более знаковыми флагами одного или более соседних коэффициентов в текущем видеоблоке; и
выполнения указанного преобразования на основе указанного выбора;
при этом множество соседних коэффициентов в текущем видеоблоке содержат соседний коэффициент слева и соседний коэффициент сверху;
контекст знакового флага для текущего коэффициента основан на знаковых флагах указанного соседнего коэффициента слева и указанного соседнего коэффициента сверху согласно следующему правилу:
если знаковые флаги указанного соседнего коэффициента слева и указанного соседнего коэффициента сверху являются отрицательными, указанное правило определяет выбор первого контекста,
если один знаковый флаг из знаковых флагов указанного соседнего коэффициента слева и указанного соседнего коэффициента сверху является отрицательным, а другой знаковый флаг из знаковых флагов указанного соседнего коэффициента слева и указанного соседнего коэффициента сверху является положительным, указанное правило определяет выбор второго контекста;
если знаковые флаги указанного соседнего коэффициента слева и указанного соседнего коэффициента сверху являются положительными, указанное правило определяет выбор третьего контекста.
14. Способ сохранения потока битов видеоданных, содержащий этапы, на которых:
используют, для преобразования между текущим видеоблоком в видеообласти видеоданных и потоком битов указанных видеоданных, режим пропуска преобразования для текущего видеоблока, причем текущий видеоблок разбивается на множество групп коэффициентов, причем в режиме пропуска преобразования пропускают преобразование остатка прогнозирования между текущим видеоблоком и опорным видеоблоком;
выбирают контекст знакового флага для текущего коэффициента текущего видеоблока в соответствии с одним или более знаковыми флагами одного или более соседних коэффициентов в текущем видеоблоке;
генерируют указанный поток битов видеоданных на основе указанного выбора; и
сохраняют поток битов на энергонезависимом читаемом компьютером носителе для записи информации;
при этом множество соседних коэффициентов в текущем видеоблоке содержат соседний коэффициент слева и соседний коэффициент сверху;
контекст знакового флага для текущего коэффициента основан на знаковых флагах указанного соседнего коэффициента слева и указанного соседнего коэффициента сверху согласно следующему правилу:
если знаковые флаги указанного соседнего коэффициента слева и указанного соседнего коэффициента сверху являются отрицательными, указанное правило определяет выбор первого контекста,
если один знаковый флаг из знаковых флагов указанного соседнего коэффициента слева и указанного соседнего коэффициента сверху является отрицательным, а другой знаковый флаг из знаковых флагов указанного соседнего коэффициента слева и указанного соседнего коэффициента сверху является положительным, указанное правило определяет выбор второго контекста;
если знаковые флаги указанного соседнего коэффициента слева и указанного соседнего коэффициента сверху являются положительными, указанное правило определяет выбор третьего контекста.
WO 2013070707 A1, 16.05.2013 | |||
US 20150189321 A1, 02.07.2015 | |||
US 20180205947 A1, 19.07.2018 | |||
WO 2013192537 A2, 27.12.2013 | |||
US 20180278958 A1, 27.09.2018 | |||
WO 2019029951 A1, 14.02.2019 | |||
RU 2014145851 A, 10.06.2016 | |||
ЭФФЕКТИВНОЕ ПО ПАМЯТИ МОДЕЛИРОВАНИЕ КОНТЕКСТА | 2012 |
|
RU2580066C2 |
Авторы
Даты
2024-04-11—Публикация
2020-04-17—Подача