Область техники, к которой относится изобретение
Данный документ относится к технологиям кодирования и декодирования видео и изображений.
Уровень техники
На цифровое видео приходится наибольшая полоса пропускания в Интернете и других сетях цифровой связи. Ожидается, что по мере увеличения количества подключенных пользовательских устройств, способных принимать и отображать видео, потребность в полосе пропускания для использования цифрового видео будет продолжать расти.
Раскрытие сущности изобретения
Раскрытые способы могут использоваться в вариантах осуществления декодера или кодера видео или изображения, в которых при кодировании или декодировании видео используются опорные изображения.
В одном примерном аспекте раскрыт способ обработки видео. Способ включает в себя этап, на котором определяют схему разделения для разделения видеообласти цветности видео на один или более блоков цветности на основе цветового формата видео в соответствии с правилом; и выполняют преобразование между видео и кодированным представлением видео в соответствии со схемой разделения.
В другом примерном аспекте раскрыт другой способ обработки видео. Способ включает в себя этапы, на которых определяют режимы предсказания или типы предсказания для подблоков узла дерева кодирования видео на основе цветового формата видео; и выполняют преобразование между видео и кодированным представлением видео на основе указанного определения, причем узел дерева кодирования разделен на подблоки для кодирования в кодированном представлении.
В другом примерном аспекте раскрыт другой способ обработки видео. Способ включает в себя этап, на котором выполняют преобразование между видео, содержащим одну или более видеообластей, содержащих один или более блоков яркости и один или более блоков цветности, и кодированным представлением видео в соответствии с правилом; причем правило устанавливает, что блок цветности из одного или более блоков цветности, имеющих размер M x N, не может быть представлен в кодированном представлении с использованием внутрикадрового режима или режима внутриблочного копирования, где M и N являются целыми числами, указывающими соответственно ширину и высоту блока цветности; при этом внутрикадровый режим включает в себя кодирование блока цветности на основе ранее кодированных или восстановленных видеоблоков, а режим внутриблочного копирования включает в себя кодирование блока цветности с использованием по меньшей мере блочного вектора, указывающего на видеокадр, содержащий видеообласть.
В другом примерном аспекте раскрыт другой способ обработки видео. Способ включает в себя этапы, на которых определяют, для преобразования между видеообластью видео и кодированным представлением видео, использование режима объединенного межкадрового-внутрикадрового предсказания (CIIP) в качестве внутрикадрового режима или межкадрового режима в соответствии с правилом; и выполняют преобразование на основе указанного определения, при этом режим CIIP включает в себя объединение сигнала внутрикадрового предсказания и сигнала межкадрового предсказания с использованием взвешенных коэффициентов.
В другом примерном аспекте раскрыт другой способ обработки видео. Способ включает в себя этап, на котором выполняют преобразование между блоком цветности видео и кодированным представлением видео, причем блок цветности представлен в кодированном представлении с использованием режима внутрикадрового кодирования в соответствии с правилом размера; при этом правило размера устанавливает, что режим внутрикадрового кодирования относится к первому набору типов режима внутрикадрового кодирования, в случае, если ширина блока цветности равна M, или высота блока цветности равна N, где M и N являются целыми числами; в противном случае режим внутрикадрового кодирования относится ко второму набору типов режима внутрикадрового кодирования.
В другом примерном аспекте раскрыт другой способ обработки видео. Способ включает в себя этап, на котором выполняют преобразование между блоком цветности видео и кодированным представлением видео, причем блок цветности представлен в кодированном представлении с использованием типа преобразования в соответствии с правилом; при этом правило устанавливает, что тип преобразования относится к первому набору типов преобразования, в случае, если ширина блока цветности равна M, или высота блока цветности равна N, где M и N являются целыми числами; в противном случае тип преобразования относится ко второму набору типов преобразования.
В другом примерном аспекте раскрыт другой способ обработки видео. Способ включает в себя этап, на котором выполняют преобразование между видео, содержащим видеообласть, имеющую один или более блоков яркости и один или более блоков цветности, и кодированным представлением видео в соответствии с правилом, причем правило устанавливает, что использование режима внутриблочного копирования (IBC) доступно для указанного одного или более блоков яркости и указанного одного или более блоков цветности, имеющих размер блока M x N, для всех значений M и N, где M и N являются целыми числами; при этом при использовании режима IBC видеоблок кодируется с использованием по меньшей мере блочного вектора, указывающего на видеокадр, содержащий видеоблок.
В другом примерном аспекте раскрыт другой способ обработки видео. Способ включает в себя этап, на котором выполняют преобразование между видеоблоком видео и кодированным представлением видеоблока, причем кодированное представление соответствует правилу форматирования, при этом правило форматирования устанавливает выборочное включение синтаксического элемента, указывающего на использование режима внутриблочного копирования (IBC) в кодированном представлении на основе типа режима видеоблока, при этом режим IBC включает в себя кодирование видеоблока с использованием по меньшей мере блочного вектора, указывающего на видеокадр, содержащий видеоблок.
В другом примерном аспекте раскрыт другой способ обработки видео. Способ включает в себя этап, на котором выполняют преобразование между видеоблоком видео и кодированным представлением видеоблока, причем кодированное представление соответствует правилу форматирования, при этом правило форматирования устанавливает, что синтаксический элемент, указывающий на использование режима палитры, включен в кодированное представление независимо от типа режима видеоблока, при этом режим палитры включает в себя кодирование видеоблока с использованием палитры значений репрезентативных отсчетов.
В другом примерном аспекте раскрыт другой способ обработки видео. Способ включает в себя этапы, на которых определяют, для преобразования между видеообластью видео и кодированным представлением видео на основе правила, что использование режима внутриблочного копирования (IBC) разрешено для указанной видеообласти; и выполняют преобразование на основе указанного определения, при этом режим IBC включает в себя кодирование видеообласти с использованием по меньшей мере блочного вектора, указывающего на видеокадр, содержащий видеообласть.
В другом примерном аспекте раскрыт другой способ обработки видео. Способ включает в себя этапы, на которых определяют, для преобразования между видеообластью видео и кодированным представлением видео, на основе правила, разрешено ли использование режима палитры для видеообласти; и выполняют преобразование на основе указанного определения, причем правило основано на типе режима кодирования видеообласти или цветовом типе видеообласти, при этом режим палитры включает в себя кодирование видеообласти с использованием палитры значений репрезентативных отсчетов.
В еще одном примерном аспекте вышеописанный способ может быть реализован устройством видеокодера, которое содержит процессор.
В еще одном примерном аспекте вышеописанный способ может быть реализован устройством видеодекодера, которое содержит процессор.
В еще одном примерном аспекте эти способы могут быть воплощены в виде исполняемых процессором инструкций и сохранены на машиночитаемом носителе программы.
Эти и другие аспекты дополнительно описаны в данном документе.
Краткое описание чертежей
На фиг. 1 показан пример средства кодирования внутриблочного копирования.
На фиг. 2 показан пример блока, кодированного в режиме палитры.
На фиг. 3 показан пример использования предиктора палитры для сигнализации записей палитры.
На фиг. 4 показан пример примеров горизонтального и вертикального сканирования.
На фиг. 5 показаны примеры кодирования индексов палитры.
На фиг. 6 показан пример 67 режимов внутрикадрового предсказания.
На фиг. 7 показаны примеры соседей слева и сверху текущего блока.
На фиг. 8 показаны примеры форм фильтров ALF (цветность: ромб 5×5, яркость: ромб 7×7).
На фиг. 9 показан пример вычисления субдискретизированного лапласиана.
На фиг. 10 показан пример модифицированной классификации блоков на виртуальных границах.
Фиг. 11 является иллюстрацией, приведенной в качестве примера, модифицированной фильтрации ALF для компонента яркости на виртуальных границах.
На фиг. 12 показаны примеры четырех одномерных 3-пиксельных шаблонов для классификации пикселей в EO.
На фиг. 13 показано, что четыре полосы сгруппированы вместе и представлены своей начальной позицией полосы.
На фиг. 14 показаны верхний и левый соседние блоки, используемые при получении весовых коэффициентов CIIP.
На фиг. 15 показано отображение яркости с архитектурой масштабирования цветности.
На фиг. 16 показаны примеры SCIPU.
На фиг. 17А и 17В показаны блок-схемы примеров аппаратной платформы, используемой для реализации способов, описанных в данном документе.
На фиг. 18 показана блок-схема последовательности операций примерного способа обработки видео.
На фиг. 19 показаны примеры позиций кандидатов пространственного слияния.
На фиг. 20 показаны примеры пар кандидатов, рассматриваемых для проверки избыточности кандидатов пространственного слияния.
На фиг. 21А и 21В показаны блок-схемы последовательностей операций примерных способов обработки видео на основе некоторых реализаций раскрытой технологии.
На фиг. 22А и 22В показаны блок-схемы последовательностей операций примерных способов обработки видео на основе некоторых реализаций раскрытой технологии.
На фиг. 23А и 23В показаны блок-схемы последовательностей операций примерных способов обработки видео на основе некоторых реализаций раскрытой технологии.
Осуществление изобретения
Настоящий документ предоставляет различные способы, которые могут использоваться декодером битовых потоков изображения или видео для повышения качества распакованных или декодированных цифровых видео или изображений. Для краткости термин «видео» используется в данном документе для включения как последовательности изображений (традиционно называемых видео), так и отдельных изображений. Кроме того, видеокодер также может реализовать эти способы в процессе кодирования, чтобы восстановить декодированные кадры, используемые для дальнейшего кодирования.
Заголовки разделов используются в настоящем документе для простоты понимания и не ограничивают варианты осуществления и технологии соответствующими разделами. Таким образом, варианты осуществления из одного раздела могут быть объединены с вариантами осуществления из других разделов.
1. Краткое изложение
Данный документ относится к технологиям кодирования видео. В частности, он относится к кодированию палитры с использованием представления на основе базовых цветов при кодировании видео. Он может быть применен к существующему стандарту кодирования видео, например, HEVC, или к стандарту (универсальному кодированию видео), который будет доработан. Он может также применяться в будущих стандартах кодирования видео или видеокодекам.
2. Краткое обсуждение
Стандарты кодирования видео развивались в основном благодаря разработке хорошо известных стандартов ITU-T и ISO/IEC. ITU-T выпустил H.261 и H.263, ISO/IEC выпустил MPEG-1 и MPEG-4 Visual, и две организации совместно выпустили стандарты H.262/MPEG-2 Video и усовершенствованное кодирование видео (AVC) H.264/MPEG-4 Advanced. Стандарты кодирования видео (AVC) и H.265/HEVC. Начиная с H.262, стандарты кодирования видео основаны на структуре гибридного кодирования видео, в которой используются временное предсказание плюс кодирование с преобразованием. Для исследования будущих технологий кодирования видео, выходящих за рамки HEVC, в 2015 году VCEG и MPEG создали объединенную группу по исследованию видео (JVET). С тех пор JVET были одобрены многие новые способы и добавлены в справочное программное обеспечение под названием «модель совместного исследования (JEM)». В апреле 2018 года была создана объединенная группа экспертов по исследованию видео (JVET) между VCEG (Q6/16) и ISO/IEC JTC1 SC29/WG11 (MPEG) для работы над стандартом VVC с целью снижения скорости передачи данных на 50% по сравнению с HEVC.
Последнюю версию проекта VVC, то есть универсальное кодирование видео (проекта 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-5.0
2.1 Внутриблочное копирование
Внутрикадровое блочное копирование (IBC), также известное как сопоставление с текущим изображением, было принято в расширениях кодирования содержания экрана HEVC (HEVC-SCC) и текущей тестовой модели VVC (VTM-4.0). IBC расширяет концепцию компенсации движения от межкадрового кодирования до внутрикадрового кодирования. Как показано на фиг. 1, при применении IBC текущий блок предсказывается опорным блоком на одном и том же изображении. Отсчеты в опорном блоке должны быть уже восстановлены до того, как будет закодирован или декодирован текущий блок. Хотя IBC не так эффективно для большинства эпизодов, снятых камерой, оно показывает значительный выигрыш при кодировании для содержания экрана. Причина состоит в том, что на изображении содержания экрана присутствует множество повторяющихся шаблонов, таких как значки и текстовые символы. IBC позволяет эффективно устранить избыточность среди этих повторяющихся шаблонов. В HEVC-SCC для единицы межкадрового кодирования (CU) может применяться IBC, если оно выбирает текущее изображение в качестве опорного изображения. В этом случае MV переименовывается в вектор блока (BV), и BV всегда имеет точность до целого числа пикселей. Чтобы быть совместимым с основным профилем HEVC, текущее изображение помечается в буфере декодированных изображений (DPB) как «долгосрочное» опорное изображение. Следует отметить, что аналогичным образом, в стандартах кодирования видео с несколькими видами/3D, межвидовое опорное изображение также помечается как «долгосрочное» опорное изображение.
Следуя BV, чтобы найти его опорный блок, предсказание может быть выработано путем копирования опорного блока. Остаток может быть получен путем вычитания опорных пикселей из исходных сигналов. Затем можно применять преобразование и квантование, как и в других режимах кодирования.
Фиг. 1 является иллюстрацией внутрикадрового блочного копирования.
Однако, когда опорный блок находится за пределами изображения, или перекрывается текущим блоком, или находится за пределами восстановленной зоны или находится за пределами допустимой зоны, ограниченной некоторыми ограничениями, значения части или всех пикселей не определяются. Фактически имеется два решения этой задачи. Одно из них состоит в том, чтобы не допустить такой ситуации, например, при соответствии битового потока. Другой состоит в том, чтобы применить заполнение для этих неопределенных значений пикселей. В следующих подразделах подробно описаны решения.
2.2 IBC в расширениях кодирования содержания экрана HEVC
В расширениях кодирования содержания экрана HEVC, когда блок использует текущее изображение в качестве опорного, он должен гарантировать, что весь опорный блок находится в пределах доступной восстановленной зоны, как указано в следующем тексте спецификации:
Переменные offsetX и offsetY получаются следующим образом:
offsetX = (ChromaArrayType = = 0) ? 0 : ( mvCLX[ 0 ] & 0x7 ? 2 : 0 ) (8-104)
offsetY = (ChromaArrayType = = 0) ? 0 : ( mvCLX[ 1 ] & 0x7 ? 2 : 0 ) (8-105)
Требование соответствия битового потока состоит в том, что, когда опорным изображением является текущее изображение, вектор движения яркости mvLX должен подчиняться следующим ограничениям:
- Когда процесс получения для доступности блока порядка z-сканирования, как указано в пункте 6.4.1, вызван (xCurr, yCurr), установленным в (xCb, yCb), и соседним местоположением яркости (xNbY, yNbY), установленным в ( xPb + (mvLX[ 0 ] >> 2) − offsetX, yPb + ( mvLX[ 1 ] >> 2 ) − offsetY ) в качестве входных параметров, выходной параметр должен быть равен значению «истина».
- Когда процесс получения для доступности блока порядка z-сканирования, как указано в пункте 6.4.1, вызван (xCurr, yCurr), установленным в (xCb, yCb), и соседним местоположением яркости (xNbY, yNbY), установленным в (xPb + (mvLX [0] >> 2) + nPbW - 1 + offsetX, yPb + (mvLX [1] >> 2) + nPbH - 1 + offsetY) в качестве входных параметров, выходной параметр должен быть равен значению «истина».
- Должны выполняться одно или оба следующих условия:
- Значение ( mvLX[ 0 ] >> 2 ) + nPbW + xB1 + offsetX меньше или равно 0.
- Значение (mvLX [1] >> 2) + nPbH + yB1 + offsetY меньше или равно 0.
- Должно выполняться следующее условие:
( xPb + ( mvLX[ 0 ] >> 2 ) + nPbSw − 1 + offsetX)/CtbSizeY − xCurr/CtbSizeY <=
yCurr/CtbSizeY − ( yPb + ( mvLX[ 1 ] >> 2 ) + nPbSh − 1 + offsetY )/CtbSizeY … (8-106)
Таким образом, не произойдет случай, когда опорный блок перекрывается текущим блоком, или опорный блок находится за пределами изображения. Нет необходимости заполнять опорный блок или блок предсказания.
2.3 IBC в тестовой модели VVC
В текущей тестовой модели VVC, то есть в проекте VTM-4.0, весь опорный блок должен соответствовать текущей единице дерева кодирования (CTU) и не перекрываться текущим блоком. Таким образом, нет необходимости заполнять опорный блок или блок предсказания. Флаг IBC кодируется как режим предсказания текущей CU. Таким образом, для каждой CU существует всего три режима предсказания: MODE_INTRA, MODE_INTER и MODE_IBC.
2.3.1 Режим слияния IBC
В режиме слияния IBC индекс, указывающий на запись в списке кандидатов слияния IBC, подвергается синтаксическому анализу из битового потока. Составление списка слияния IBC можно кратко изложить в соответствии со следующей последовательностью этапов:
• Этап 1: Получение пространственных кандидатов
• Этап 2: Вставка кандидатов HMVP
• Этап 3: Вставка попарно усредненных кандидатов
При получении пространственных кандидатов слияния максимум четыре кандидата слияния выбираются среди кандидатов, расположенных в позициях, изображенных на фиг. 19. Очередность получения представляет собой A1, B1, B0, A0 и B2. Позиция B2 рассматривается только тогда, когда любая PU позиции A1, B1, B0, A0 недоступна (например, в связи с тем, что она принадлежит другому слайсу или тайлу) или не закодирована в режиме IBC. После добавления кандидата в позиции A1 добавление оставшихся кандидатов подлежит проверке на избыточность, которая гарантирует, что кандидаты с одинаковой информацией движения исключены из списка, поэтому эффективность кодирования повышается. Чтобы уменьшить вычислительную сложность, в упомянутой проверке на избыточность рассматриваются не все возможные пары кандидатов. Вместо этого рассматриваются только пары, обозначенные стрелкой на фиг. 20, и кандидат добавляется в список только в том случае, если соответствующий кандидат, используемый для проверки на избыточность, не имеет такой же информации движения.
После вставки пространственных кандидатов, если размер списка слияния IBC все еще меньше максимального размера списка слияния IBC, могут быть вставлены кандидаты IBC из таблицы HMVP. После вставки кандидатов HMVP выполняется проверка на избыточность.
Наконец, в список слияния IBC вставляются попарно усредненные кандидаты.
Когда опорный блок, идентифицированный кандидатом слияния, находится за пределами изображения, или перекрывается текущим блоком, или находится за пределами восстановленной зоны или за пределами допустимой зоны, ограниченной некоторыми ограничениями, кандидат слияния называется недействительным кандидатом слияния.
Следует отметить, что недействительные кандидаты слияния могут быть вставлены в список слияния IBC.
2.3.2 Режим IBC AMVP
В режиме AMVP IBC точка индекса AMVP для записи в списке AMVP IBC подвергается синтаксическому анализу из битового потока. Составление списка AMVP IBC можно кратко изложить в соответствии со следующей последовательностью этапов:
• Этап 1: Получение пространственных кандидатов
○ Проверять A0, A1 до тех пор, пока не будет найден доступный кандидат.
○ Проверять B0, B1, B2 до тех пор, пока не будет найден доступный кандидат.
• Этап 2: Вставка кандидатов HMVP
• Этап 3: Вставка нулевых кандидатов
После вставки пространственных кандидатов, если размер списка AMVP IBC по-прежнему остается меньше максимального размера списка AMVP IBC, кандидаты IBC могут быть вставлены из таблицы HMVP.
Наконец, в список AMVP IBC вставляются нулевые кандидаты.
2.4 Режим палитры
Основная идея режима палитры состоит в том, что отсчеты в CU представлены маленьким набором репрезентативных значений цвета. Этот набор называется палитрой. Кроме того, можно также указать отсчет, который находится за пределами палитры, путем сигнализации символа выпадения, за которым следуют (возможно, квантованные) значения компонентов. Отсчет такого типа называется выпадающим отсчетом. Режим палитры показан на фиг. 2.
На фиг. 2 показан пример блока, кодированного в режиме палитры.
2.5 Режим палитры в расширениях кодирования содержания экрана HEVC (HEVC-SCC)
В режиме палитры в HEVC-SCC для кодирования палитры и карты индексов используется способ предсказания.
2.5.1 Кодирование записей палитры
Для кодирования записей палитры поддерживается предиктор палитры. В SPS сигнализируется максимальный размер палитры, а также предиктор палитры. В HEVC-SCC palette_predictor_initializer_present_flag вводится в PPS. Когда этот флаг равен 1, записи для инициализации предиктора палитры передаются в битовом потоке. Предиктор палитры инициализируется в начале каждой строки CTU, каждого слайса и каждого мозаичного элемента. В зависимости от значения palette_predictor_initializer_present_flag, предиктор палитры сбрасывается в 0 или инициализируется с использованием записей инициализатора предиктора палитры, просигнализированных в PPS. В HEVC-SCC инициализатор предиктора палитры с размером 0 был включен для того, чтобы разрешить явное отключение инициализации предиктора палитры на уровне PPS.
Для каждой записи в предикторе палитры флаг повторного использования сигнализируется для того, чтобы указать то, является ли он частью текущей палитры. Это показано на фиг. 3. Флаги повторного использования отправляются с использованием кодирования длины последовательности нулей. После этого количество новых записей палитры сигнализируется с использованием экспоненциального кода Голомба порядка 0. Наконец, сигнализируются значения компонентов для новых записей палитры.
На фиг. 3 показан пример использования предиктора палитры для обозначения элементов палитры.
2.5.2 Кодирование индексов палитры
Индексы палитры кодируются с использованием горизонтального и вертикального поперечного сканирования, как показано на фиг. 4. Порядок сканирования явно сигнализируется в битовом потоке с использованием palette_transpose_flag. В остальной части подраздела предполагается, что сканирование является горизонтальным.
На фиг. 4 показаны примеры горизонтального и вертикального сканирования.
Индексы палитры кодируются с использованием двух основных режимов отсчетов палитры: «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, если с отсчетом ассоциирован только один компонент, будет использоваться только первый компонент записи палитры. Единственным различием в сигнализации являются значения компонентов выпадения. Для каждого выпадающего отсчета количество сигнализируемых значений компонентов выпадения может быть различным в зависимости от количества компонентов, ассоциированных с этим отсчетом.
В VVC при кодировании внутрикадровых слайсов используется двойная древовидная структура кодирования, поэтому компонент яркости и два компонента цветности могут иметь разные палитры и индексы палитры. Кроме того, два компонента цветности имеют одну и ту же палитру и индексы палитры.
На фиг. 5 показаны примеры кодирования индексов палитры.
2.6 Внутрикадровый режим кодирования в VVC
Для захвата произвольных краевых направлений, представленных в естественном видео, количество направленных внутрикадровых режимов увеличено в VTM4 с 33, как это используется в HEVC, до 65. Новые направленные режимы, не входящие в HEVC, обозначены красными пунктирными стрелками на фиг. 6, и планарный режим и режим DC остаются прежними. Эти режимы более плотного направленного внутрикадрового предсказания применяются для всех размеров блоков и для внутрикадрового предсказания как яркости, так и цветности.
В VTM5 несколько обычных режимов углового внутрикадрового предсказания адаптивно заменены режимами широкоугольного внутрикадрового предсказания для неквадратных блоков.
В HEVC каждый внутрикадрово кодированный блок имеет форму квадрата, и длина каждой его стороны равна степени 2. Таким образом, для выработки внутрикадрового предиктора с использованием режима постоянного тока не требуется никаких операций деления. В VTM5 блоки могут иметь прямоугольную форму, что в общем случае требует использования операции деления в расчете на блок. Во избежание операций деления для предсказания постоянного тока, для вычисления среднего значения для неквадратных блоков используется только более длинная сторона.
На фиг. 6 показан пример 67 режимов внутрикадрового предсказания.
Для снижения сложности составления списка наиболее вероятных режимов (MPM) используется способ кодирования во внутрикадровом режиме с 6 MPM путем рассмотрения двух доступных соседних внутрикадровых режимов. При составлении списка MPM учитываются следующие три аспекта:
- Внутрикадровый режим по умолчанию
- Соседние внутрикадровые режимы
- Производные внутрикадровые режимы
Для внутрикадровых блоков используется унифицированный список 6-MPM независимо от того, применяются или нет средства кодирования MRL и ISP. Список МРМ составляется на основе внутрикадрового режима левого и верхнего соседних блоков. Предполагая, что режим левого блока обозначен Left, и режим верхнего блока обозначена Above, унифицированный список МРМ составляется следующим образом (левый и верхний блоки показаны на фиг. 7):
На фиг. 7 показан пример левого и верхнего соседей текущего блока.
– Когда соседний блок недоступен, его внутрикадровый режим по умолчанию устанавливается на Planar.
– Если оба режима Left и Above не являются угловыми режимами:
○ Список MPM → {Planar, DC, V, H, V-4, V+4}
– Если один из режимов Left и Above является угловой режим, а другой не угловой:
○ Установить режим Max как больший режим в Left и Above.
○ Список MPM → {Planar, Max, DC, Max -1, Max +1, Max -2}
– Если Left и Above являются угловыми режимами и разными:
○ Установить режим Max как больший режим в Left и Above.
○ если разница режимов Left и Above находится в диапазоне от 2 до 62 включительно
Список MPM → {Planar, Left, Above, DC, Max -1, Max +1}
○ В противном случае
Список MPM → {Planar, Left, Above, DC, Max -2, Max +2}
– Если Left и Above являются угловыми режимами и одинаковыми:
○ Список MPM → {Planar, Left, Left -1, Left +1, DC, Left -2}
Кроме того, первый бин кодового слова индекса mpm является контекстно-кодированным CABAC. Всего используются три контекста, соответствующие тому, является ли текущий внутрикадровый блок MRL, разрешенным ISP или обычным внутрикадровым блоком.
В процессе составления списка 6 MPM используется отсечение для удаления повторяющихся режимов, чтобы в список MPM можно было включить только уникальные режимы. Для энтропийного кодирования 61 режима без MPM, используется усеченный двоичный код (TBC).
Для кодирования во внутрикадровом режиме цветности разрешено всего 8 внутрикадровых режимов для кодирования во внутрикадровом режиме цветности. Эти режимы включают в себя пять традиционных внутрикадровых режимов и три режима межкомпонентной линейной модели (CCLM, LM_A и LM_L). Процесс получения и сигнализации режима цветности приведен в таблице 2-4. Кодирование в режиме цветности напрямую зависит от режима внутрикадрового предсказания соответствующего блока яркости. Так как в I-слайсах разрешена структура разделения на отдельные блоки для компонентов яркости и цветности, один блок цветности может соответствовать нескольким блокам яркости. Таким образом, для режима Chroma DM напрямую наследуется режим внутрикадрового предсказания соответствующего блока яркости, охватывающий центральную позицию текущего блока цветности.
Таблица 2-4. Получение режима предсказания цветности из режима яркости в случае, когда разрешена CCLM
2.7 Блочная дифференциальная импульсно-кодовая модуляция (QR-BDPCM) квантованного остатка
В JVET-M0413 предложена блочная дифференциальная импульсно-кодовая модуляция (QR-BDPCM) квантованного остатка для эффективного кодирования содержания экрана.
Направления предсказания, используемые в QR-BDPCM, могут быть режимами вертикального и горизонтального предсказания. Внутрикадровое предсказание выполняется для всего блок путем копирования отсчета в направлении предсказания (горизонтальном или вертикальном предсказание), аналогичном внутрикадровому предсказанию. Остаток квантуется, и кодируется дельта (разность) между квантованным остатком и его квантованным значением предиктора (горизонтального или вертикального). Это можно описать следующим образом: для блока размером M (строк) × N (столбцов) допустим, что будет остатком предсказания после выполнения внутрикадрового предсказания по горизонтали (построчное копирование значения левого соседнего пикселя поперек предсказанного блока) или по вертикали (построчное копирование верхней соседней строки в прогнозируемом блоке) с использованием нефильтрованных отсчетов из отсчетов на верхней или левой границе блока. Пусть обозначает версию квантованного остатка ri,j, где остаток представляет собой разность между исходным блоком и предсказанными значениями блока. Затем блок DPCM применяется к отсчетам квантованного остатка, в результате чего получается модифицированный массив размером M × N с элементами . При сигнализации вертикальной BDPCM
… (2-7-1)
Для горизонтального предсказания применяются аналогичные правила, и отсчеты квантованного остатка получаются с помощью
… (2-7-2)
Отсчеты квантованного остатка отправляются в декодер.
На стороне декодера вышеуказанные вычисления производятся в обратном порядке . Для случая вертикального предсказания
… (2-7-3)
Для случая горизонтального предсказания
… (2-7-4)
Обратно квантованные остатки добавляются к значениям предсказания внутрикадрового блока для получения восстановленных значений отсчетов.
Основное преимущество этой схемы состоит в том, что обратная DPCM может выполняться «на лету» во время синтаксического анализа коэффициентов путем простого добавления предиктора в виде коэффициентов, которые подвергаются синтаксическому анализу, или может выполняться после синтаксического анализа.
2.8 Адаптивный контурный фильтр
В VTM5 применяется адаптивный контурный фильтр (ALF) с блочной адаптацией фильтра. Для компонента яркости выбирается один из 25 фильтров для каждого блока 4×4, исходя из направления и активности локальных градиентов.
2.8.1.1 Форма фильтра
В VTM5 используются фильтры ромбовидной формы двух форм (как показано на фиг. 8). Ромбовидная форма 7×7 применяется для компонента яркости, и ромбовидная форма 5×5 применяется для компонентов цветности.
На фиг. 8 показаны примеры форм фильтров ALF (цветность: ромб 5×5, яркость: ромб 7×7).
2.8.1.2 Классификация блоков
Для компонента яркости каждый блок 4×4 относится к одному из 25 классов. Индекс C классификации получается на основе его направленности D и квантованного значения активности Ȃ следующим образом:
C = 5D + Ȃ … (2-9-1)
Для того, чтобы вычислить D и Ȃ, сначала вычисляются градиенты горизонтального, вертикального и двух диагональных направлений с использованием одномерного лапласиана:
… (2-9-2)
… (2-1)
… (2-9-4)
… (2-9-5)
где индексы i и j относятся к координатам верхнего левого отсчета в блоке размером 4×4, и R(i,j) указывает восстановленный отсчет с координатой (i,j).
Чтобы уменьшить сложность классификации блоков, применяется расчет субдискретизированного одномерного лапласиана. Как показано на фиг. 9, для расчета градиента во всех направлениях используются одни и те же позиции подотсчета.
На фиг. 9 показан пример вычисления субдискретизированного лапласиана, где (a) субдискретизированные позиции для вертикального градиента, (b) субдискретизированные позиции для горизонтального градиента, (c) субдискретизированные позиции для диагонального градиента и (d) субдискретизированные позиции для диагонального градиента.
Затем D максимальное и минимальное значения градиентов горизонтального и вертикального направлений задаются как:
, … (2-9-6)
Максимальное и минимальное значения градиента двух диагональных направлений задаются как:
, … (2-9-7)
Для получения значения направленности D эти значения сравниваются друг с другом и с двумя пороговыми значениями t1 и t2:
Этап 1. Если как , так и верны, D устанавливается в 0.
Этап 2. Если , продолжить с этапа 3; в противном случае продолжить с этапа 4.
Этап 3. Если , D устанавливается на 2; в противном случае D устанавливается на 1.
Этап 4. Если , D устанавливается на 4; в противном случае D устанавливается на 3.
Значение активности A вычисляется как:
… (2-9-8)
A дополнительно квантуется в диапазоне от 0 до 4 включительно, и квантованное значение обозначается как Ȃ.
Способ классификации не применяется для компонентов цветности на изображении, то есть для каждого компонента цветности применяется один набор коэффициентов ALF.
2.8.1.3 Геометрические преобразования коэффициентов фильтра и значений отсечки
Перед фильтрацией каждого блока яркости 4×4 геометрические преобразования, такие как поворот или переворот по диагонали и вертикали, применяются к коэффициентам f(k,l) фильтра и к соответствующим значениям c(k,l) отсечки фильтра в зависимости от значений градиента, рассчитанных для этого блока. Это эквивалентно применению этих преобразований к отсчетам в области поддержки фильтра. Идея состоит в том, чтобы сделать разные блоки, к которым применяется ALF, более похожими, выровняв их направленность.
Введены три геометрических преобразования, включающих в себя переворот по диагонали и вертикали и поворот:
Переворот по диагонали: … (2-9-9)
Переворот по вертикали: , … (2-9-10)
Поворот: , … (2-9-11)
где K – размер фильтра, и – координаты коэффициентов, так что расположение (0,0) находится в левом верхнем углу, и расположение – в правом нижнем углу. Преобразования применяются к коэффициентам f (k, l) фильтра и к значениям отсечки в зависимости от значений c(k,l) градиента, вычисленных для этого блока. Взаимосвязь между преобразованием и четырьмя градиентами четырех направлений резюмирована в следующей таблице.
Таблица 2-5. Отображение градиента, вычисленного для одного блока и преобразований
2.8.1.4 Сигнализация параметров фильтра
В VTM5 параметры фильтра ALF сигнализируются в наборе параметров адаптации (APS). В одном APS может сигнализироваться до 25 наборов коэффициентов фильтра яркости и индексов значений отсечки и до одного набора коэффициентов фильтра цветности и индексов значений отсечки. Для уменьшения служебных битов можно объединить коэффициенты фильтров с различной классификацией. В заголовке слайса сигнализируются индексы APS, используемые для текущего слайса.
Индексы значений отсечки, которые декодируются из APS, позволяют определять значения отсечки с использованием таблицы значений отсечки яркости и таблицы значений отсечки цветности. Эти значения отсечки зависят от внутренней битовой глубины. Более конкретно, таблица значений отсечки яркости и таблица значений отсечки цветности получаются по следующим формулам:
AlfClipL, … (2-9-12)
AlfClipC … (2-9-13)
где B равно внутренней битовой глубине, и N равно 4, что является количеством допустимых значений отсечки в VTM5.0.
Процессом фильтрации можно управлять на уровне CTB. Флаг сигнализируется всегда для того, чтобы указать то, применяется ли ALF к CTB яркости. CTB яркости может выбрать набор фильтров из 16 фиксированных наборов фильтров и наборов фильтров из APS. Индекс набора фильтров сигнализируется для CTB яркости, чтобы указать то, какой набор фильтров применяется. 16 фиксированных наборов фильтров заданы и жестко кодированы как в кодере, так и в декодере.
Коэффициенты фильтра квантуются с нормой, равной 128. Чтобы ограничить сложность умножения, применяется соответствие битового потока, так что значение коэффициента нецентральной позиции должно находиться в диапазоне от −27 до 27 − 1, включительно. Коэффициент центральной позиции не сигнализируется в битовом потоке и считается равным 128.
2.8.1.5 Процесс фильтрации
На стороне декодера, когда ALF включен для CTB, каждый отсчет в CU фильтруется, в результате получается значение отсчета, представленное ниже:
… (2-9-14)
где обозначает коэффициенты декодированного фильтра, является функцией отсечки , и обозначает декодированные параметры отсечки. Переменные k и l варьируются между и , где L обозначает длину фильтра. Функция отсечки соответствует функции
2.8.1.6 Процесс фильтрации виртуальных границ для уменьшения линейного буфера
В VTM5, чтобы уменьшить требование к линейному буферу ALF, модифицированная классификация блоков и фильтрация используются для отсчетов вблизи горизонтальных границ CTU. Для этой цели виртуальная граница определяется как линия путем смещения горизонтальной границы CTU с «N» отсчетами, как показано на фиг. 10, где N равно 4 для компонента яркости и 2 для компонента цветности.
На фиг. 10 показан пример модифицированной классификации блоков на виртуальных границах.
Модифицированная классификация блоков применяется для компонента яркости, как показано на фиг. 11. Значение активности A соответствующим образом масштабируется с учетом уменьшенного количества отсчетов, используемых при расчете одномерного градиента лапласиана.
Для обработки фильтрации симметричная операция заполнения на виртуальных границах используется как для компонентов яркости, так и для компонентов цветности. Как показано на фиг. 11, когда фильтруемый отсчет находится ниже виртуальной границы, заполняются соседние отсчеты, расположенные выше виртуальной границы. Между тем, с других сторон также симметрично заполняются соответствующие отсчеты.
На фиг. 11 показаны примеры модифицированной фильтрации ALF для компонента яркости на виртуальных границах.
2.9 Адаптивное смещение отсчета (SAO)
Адаптивное смещение отсчета (SAO) применяется к восстановленному сигналу после фильтра удаления блочности с использованием смещений, заданных кодером для каждого CTB. Кодер HM сначала принимает решение о том, следует ли применять процесс SAO для текущего слайса. Если САО применяется для слайса, каждый CTB классифицируются как один из пяти типов SAO, как показано в таблице 2-. Концепция SAO заключается в классификации пикселей по категориям и уменьшении искажений путем добавления смещения к пикселям каждой категории. Операция SAO включает в себя смещение края (EO), которое использует свойства края для классификации пикселей в типе SAO 1-4, и смещение полосы (BO), которое использует интенсивность пикселя для классификации пикселей в SAO типа 5. Каждый применимый CTB имеет параметры SAO, в том числе sao_merge_left_flag, sao_merge_up_flag, тип SAO и четыре смещения. Если sao_merge_left_flag равен 1, текущий CTB будет повторно использовать тип SAO и смещения CTB влево. Если sao_merge_up_flag равен 1, текущий CTB будет повторно использовать тип SAO и смещения CTB выше.
Таблица 2-6. Спецификация типа SAO
2.9.1 Работа SAO каждого типа
Смещение края использует четыре одномерных 3-пиксельных шаблона для классификации текущего пикселя p с учетом информации направления края, как показано на фиг. 12. Слева направо: 0 градусов, 90 градусов, 135 градусов и 45 градусов.
На фиг. 12 показаны примеры четырех одномерных 3-пиксельных шаблонов для классификации пикселей в EO.
Каждый CTB классифицируется по одной из пяти категорий в соответствии с таблицей 2-7.
Таблица 2-7. Правило классификации пикселей для EO
Смещение полосы (BO) классифицирует все пиксели в одной области CTB на 32 однородных полосы с использованием пяти старших битов значения пикселя в качестве индекса полосы. Другими словами, диапазон интенсивности пикселей делится на 32 равных раздела от нуля до максимального значения яркости (например, 255 для 8-битновых пикселей). Четыре соседних полосы сгруппированы вместе, и каждая группа обозначена своим крайним левым положением, как показано на фиг. 13. Кодер ищет все позиции, чтобы получить группу с максимальным уменьшением искажений путем компенсации смещения каждой полосы.
На фиг. 13 показан пример четырех полос, сгруппированных вместе и представленных их начальным положением полосы.
2.10 Объединенное межкадровое-внутрикадровое предсказание (CIIP)
В VTM5, когда CU кодируется в режиме слияния, если CU содержит не менее 64 отсчетов яркости (то есть ширина CU, умноженная на высоту CU, равна или превышает 64), и, если как ширина CU, так и высота CU меньше 128 отсчетов яркости, сигнализируется дополнительный флаг, указывающий то, применяется ли режим объединенного межкадрового-внутрикадрового предсказания (CIIP) к текущей CU. Как указывает его название, предсказание CIIP сочетает в себе сигнал межкадрого предсказания с сигналом внутрикадрового предсказания. Сигнал межкадрового предсказания в режиме CIIP получается с использованием того же процесса межкадрового предсказания, что и в обычном режиме слияния; и сигнал внутрикадрового предсказания получается после обычного процесса внутрикадрового предсказания с использованием планарного режима. Затем сигналы внутрикадрового и межкадрового предсказания объединяются с использованием взвешенного усреднения, где значение веса вычисляется в зависимости от режимов кодирования верхнего и левого соседних блоков (показано на фиг. 14) следующим образом:
– Если верхний сосед доступен и внутрикадрово кодирован, то установить isIntraTop в 1, иначе установить isIntraTop в 0;
– Если левый сосед доступен и внутрикадрово кодирован, то установить isIntraLeft в 1, иначе установить isIntraLeft в 0;
– Если (isIntraLeft + isIntraLeft) равно 2, то wt устанавливается равным 3;
– В противном случае, если (isIntraLeft + isIntraLeft) равно 1, то wt устанавливается равным 2;
– В противном случае установить вес равным 1.
Предсказание CIIP формируется следующим образом:
… (3-1)
На фиг. 14 показаны примеры верхних и левых соседних блоков, используемых при получении весов CIIP.
2.11 Отображение яркости с масштабированием цветности (LMCS)
В VTM5 средство кодирования, называемое преобразованием яркости с масштабированием цветности (LMCS), добавляется в качестве нового блока обработки перед контурными фильтрами. LMCS состоит из двух основных компонентов: 1) внутриконтурное отображение компонента яркости на основе адаптивных кусочно-линейных моделей; 2) для компонентов цветности применяется зависящее от яркости масштабирование остатка цветности. На фиг. 15 показана архитектура LMCS с точки зрения декодера. В блоках фиг. 15, которые включают в себя обратное квантование, обратное преобразование, внутрикадровое предсказание яркости и добавление предсказания яркости вместе с остатком яркости, обработка применяется в отображаемой области. Незаштрихованные блоки на фиг. 15 указывают, где обработка применяется в исходной (то есть не отображенной) области; и они включают в себя контурные фильтры, такие как фильтры удаления блочности, ALF и SAO, предсказание с компенсацией движения, внутрикадровое предсказание цветности, добавление предсказания цветности вместе с остатком цветности и сохранение декодированных изображений в качестве опорных изображений. На фиг. 15 показаны новые функциональные блоки LMCS, которые включают в себя прямое и обратное отображение сигнала яркости и процесс масштабирования цветности в зависимости от яркости. Как и большинство других средств VVC, LMCS можно включать/отключать на уровне последовательности, используя флаг SPS.
На фиг. 15 показаны примеры отображения яркости с архитектурой масштабирования цветности.
2.12 Разделение двойного дерева
В текущем проекте VVC для I-слоев каждая CTU может быть разделена на единицы кодирования с отсчетами яркости 64x64 с использованием неявного разделения квадродерева, и что эти единицы кодирования являются корнем двух отдельных синтаксических структур coding_tree для яркости и цветности.
Так как двойное дерево во внутрикадровом изображении позволяет применять другое разделение в дереве кодирования цветности по сравнению с деревом кодирования яркости, двойное дерево вводит более длинный конвейер кодирования и диапазон значений QTBT MinQTSizeC, и MinBtSizeY и MinTTSizeY в дереве цветности позволяют использовать маленькие блоки цветности, такие как 2х2, 4х2 и 2х4. Это создает трудности при практической разработке декодера. Кроме того, несколько режимов предсказания, таких как CCLM, плоский и угловой режимы, требуют умножения. Чтобы устранить вышеупомянутые проблемы, маленькие размеры (2x2/2x4/4x2) блоков цветности ограничены в двойном дереве в качестве ограничения разделения.
2.13 Наименьшая единица внутрикадрового предсказания цветности (SCIPU) в JVET-O0050
Маленький размер цветности не подходит для аппаратной реализации. В случаях с двойным деревом не допускаются блоки цветности слишком маленького размера. Однако в случаях с одним деревом проект VVC 5 по-прежнему допускает блоки цветности 2x2, 2x4, 4x2. Чтобы ограничить размер блока цветности в одном дереве кодирования, SCIPU определяется в JVET-O0050 как узел дерева кодирования, размер блока цветности которого больше или равен TH отсчетам цветности и имеет по меньшей мере один дочерний блок яркости меньше, чем 4TH отсчетов яркости, где TH в этом вкладе установлен на 16. Требуется, чтобы в каждой SCIPU все CB были межкадровыми, либо все CB были немежкадровыми, то есть либо внутрикадровыми, либо IBC. В случае немежкадровой SCIPU дополнительно требуется, чтобы цветность немежкадровой SCIPU не подвергалась дальнейшему разделению, и можно было бы дополнительно разделить яркость SCIPU. Таким образом, наименьший размер внутрикадрового CB цветности составляет 16 отсчетов цветности, и CB цветности 2x2, 2x4 и 4x2 удаляются. Кроме того, масштабирование цветности не применяется в случае немежкадровой SCIPU.
Два примера SCIPU показаны на фиг. 16. На фиг. 16(a) один CB цветности из отсчетов цветности 8x4 и три CB яркости (4x8, 8x8, 4x8 CB яркости) образуют одну SCIPU, так как троичное дерево (TT), разделенное на отсчеты цветности 8x4, приведет к тому, что CB цветности будут меньше, чем 16 отсчетов цветности. На фиг. 16(b) один CB цветности из отсчетов цветности 4x4 (левая сторона отсчетов цветности 8x4) и три CB яркости (8x4, 4x4, 4x4 CB яркости) образуют одну SCIPU, и другой один CB цветности отсчетов 4x4 (правая сторона отсчетов цветности 8x4) и другие два CB яркости (CB яркости 8x4, 8x4) образуют одну SCIPU, так как бинарное дерево (BT), разделенное из отсчетов цветности 4x4, приведет к тому, что CB цветности будут меньше 16 отсчетов цветности.
На фиг. 16 показаны примеры SCIPU.
Предполагается, что тип SCIPU является немежкадровой в том случае, если текущий слайс представляет собой I-слайс, или текущая SCIPU имеет в нем раздел 4x4 яркости после дальнейшего однократного разделения (так как межкадровый блок 4x4 не допускаются в VVC); в противном случае тип SCIPU (межкадровый или немежкадровый) будет указан одним сигнальным флагом, прежде чем будет выполнен синтаксический анализ CuS в SCIPU.
2.14 Ограничения на маленькие блоки цветности в проекте 6 VVC
В проекте 6 VVC (JVET-O2001-vE.docx) ограничения на маленькие блоки цветности реализованы следующим образом (соответствующие части выделены полужирным курсивом).
Разрешенный процесс квадроразделения
Входными данными для этого процесса являются:
– размер cbSize блока кодирования в отсчетах яркости,
– многотипная глубина mttDepth дерева,
– переменная treeType, указывающая то, используется ли одиночное дерево (SINGLE_TREE) или двойное дерево для разделения CTU, и, когда используется двойное дерево, обрабатываются ли в данный момент компоненты яркости (DUAL_TREE_LUMA) или цветности (DUAL_TREE_CHROMA),
Результатом этого процесса является переменная allowSplitQt.
Переменная allowSplitQt получается следующим образом:
– Если одно или несколько из следующих условий истинны, для параметра allowSplitQt устанавливается значение «ложь»:
– treeType равно SINGLE_TREE или DUAL_TREE_LUMA, и cbSize меньше или равно MinQtSizeY
– treeType равно DUAL_TREE_CHROMA, и cbSize/SubWidthC меньше или равно MinQtSizeC
– mttDepth не равно 0
– treeType равно DUAL_TREE_CHROMA и ( cbSize/SubWidthC ) меньше или равно 4
– В противном случае для параметра allowSplitQt устанавливается значение «истина».
Разрешенный процесс бинарного разделения
Входными данными для этого процесса являются:
– двоичный режим разделения btSplit,
– ширина блока кодирования cbWidth в отсчетах яркости,
– высота блока кодирования cbHeight в отсчетах яркости,
– расположение ( x0, y0 ) верхнего левого отсчета яркости рассматриваемого блока кодирования относительно верхнего левого отсчета яркости изображения,
– глубина многотипного дерева mttDepth,
– максимальная глубина многотипного дерева со смещением maxMttDepth,
– максимальный размер бинарного дерева maxBtSize,
– минимальный размер квадродерева minQtSize,
– индекс раздела partIdx,
– переменная treeType, указывающая то, используется ли одиночное дерево (SINGLE_TREE) или двойное дерево для разделения CTU, и, когда используется двойное дерево, обрабатываются ли в данный момент компоненты яркости (DUAL_TREE_LUMA) или цветности (DUAL_TREE_CHROMA),
Результатом этого процесса является переменная allowBtSplit.
Таблица 6-2. Спецификация parallelTtSplit и cbSize на основе btSplit.
Переменные parallelTtSplit и cbSize получены, как указано в таблице 6-2.
Переменная allowBtSplit получается следующим образом:
– Если одно или несколько из следующих условий истинны, allowBtSplit устанавливается на значение «ложь»:
– cbSize меньше или равно MinBtSizeY
– cbWidth больше maxBtSize
– cbHeight больше maxBtSize
– mttDepth больше или равно maxMttDepth
– treeType равно DUAL_TREE_CHROMA и ( cbWidth/SubWidthC ) * ( cbHeight/SubHeightC ) меньше или равно 16
– В противном случае, если все следующие условия истинны, allowBtSplit устанавливается на значение «ложь».
– btSplit равно SPLIT_BT_VER
– y0 + cbHeight больше pic_height_in_luma_samples
– В противном случае, если все следующие условия истинны, allowBtSplit устанавливается на значение «ложь».
– btSplit равно SPLIT_BT_VER
– cbHeight больше MaxTbSizeY
– x0 + cbWidth больше pic_width_in_luma_samples
– В противном случае, если все следующие условия истинны, allowBtSplit устанавливается на значение «ложь».
– btSplit равно SPLIT_BT_HOR
– cbWidth больше MaxTbSizeY
– y0 + cbHeight больше pic_height_in_luma_samples
– В противном случае, если все следующие условия истинны, allowBtSplit устанавливается на значение «ложь».
– x0 + cbWidth больше pic_width_in_luma_samples
– y0 + cbHeight больше pic_height_in_luma_samples
– cbWidth больше minQtSize
– В противном случае, если все следующие условия истинны, allowBtSplit устанавливается на значение «ложь».
– btSplit равно SPLIT_BT_HOR
– x0 + cbWidth больше pic_width_in_luma_samples
– y0 + cbHeight меньше или равно pic_height_in_luma_samples
– В противном случае, если выполняются все следующие условия, allowBtSplit устанавливается на значение «ложь»:
– mttDepth больше 0
– partIdx равно 1
– MttSplitMode [ х0 ] [ у0 ] [ mttDepth - 1 ] равно к parallelTtSplit
– В противном случае, если все следующие условия истинны, allowBtSplit устанавливается на значение «ложь».
– btSplit равно SPLIT_BT_VER
– cbWidth меньше или равно MaxTbSizeY
– cbHeight больше MaxTbSizeY
– В противном случае, если все следующие условия истинны, allowBtSplit устанавливается на значение «ложь».
– btSplit равно SPLIT_BT_HOR
– cbWidth больше MaxTbSizeY
– cbHeight меньше или равно MaxTbSizeY
– В противном случае allowBtSplit устанавливается на значение «истина».
Разрешенный процесс троичного разделения
Входными данными для этого процесса являются:
– режим троичного разделения ttSplit,
– ширина блока кодирования cbWidth в отсчетах яркости,
– высота блока кодирования cbHeight в отсчетах яркости,
– местоположение ( x0, y0 ) верхнего левого отсчета яркости рассматриваемого блока кодирования относительно верхнего левого отсчета яркости изображения,
– глубина многотипного дерева mttDepth
– максимальная глубина многотипного дерева со смещением maxMttDepth,
– максимальный размер троичного дерева maxTtSize,
– переменная treeType, указывающая то, используется ли одиночное дерево (SINGLE_TREE) или двойное дерево для разделения CTU, и, когда используется двойное дерево, обрабатываются ли в данный момент компоненты яркости (DUAL_TREE_LUMA) или цветности (DUAL_TREE_CHROMA),
Результатом этого процесса является переменная allowTtSplit.
Таблица 6-3. Спецификация cbSize на основе ttSplit.
Переменная cbSize получена, как указано в таблице 6-3.
Переменная allowTtSplit получается следующим образом:
– Если одно или несколько из следующих условий истинны, для параметра allowTtSplit устанавливается значение «ложь»:
– cbSize меньше или равно 2 * MinTtSizeY
– cbWidth больше Min( MaxTbSizeY, maxTtSize )
– cbHeight больше Min( MaxTbSizeY, maxTtSize )
– mttDepth больше или равно maxMttDepth
– x0 + cbWidth больше pic_width_in_luma_samples
– y0 + cbHeight больше pic_height_in_luma_samples
– treeType равно DUAL_TREE_CHROMA и ( cbWidth/SubWidthC ) * ( cbHeight/SubHeightC ) меньше или равно 32
– В противном случае для параметра allowTtSplit устанавливается значение «истина».
pred_mode_flag, равный 0, указывает то, что текущая единица кодирования закодирована в режиме межкадрового предсказания. pred_mode_flag, равный 1, указывает то, что текущая единица кодирования закодирована во внутрикадровом режиме предсказания.
Если флаг pred_mode_flag отсутствует, это делается следующим образом:
– Если cbWidth равно 4 и cbHeight равно 4, предполагается, что pred_mode_flag равно 1.
– В противном случае предполагается, что pred_mode_flag равно 1 при декодировании слайса I и равно 0 при декодировании слайса P или B, соответственно.
Переменная CuPredMode[ chType ][ x ][ y ] получается следующим образом для x = x0..x0 + cbWidth - 1 и y = y0..y0 + cbHeight - 1:
– Если pred_mode_flag равно 0, CuPredMode[ chType ][ x ][ y ] устанавливается равным MODE_INTER.
– В противном случае (pred_mode_flag равно 1) CuPredMode[ chType ][ x ][ y ] устанавливается равным MODE_INTRA.
pred_mode_ibc_flag, равное 1, указывает то, что текущая единица кодирования закодирована в режиме предсказания IBC. pred_mode_ibc_flag, равное 0, указывает то, что текущая единица кодирования не закодирована в режиме предсказания IBC.
Когда pred_mode_ibc_flag отсутствует, это делается следующим образом:
– Если cu_skip_flag[ x0 ][ y0 ] равно 1, cbWidth равно 4 и cbHeight равно 4, предполагается, что pred_mode_ibc_flag равно 1.
– В противном случае, если и cbWidth, и cbHeight равны 128, предполагается, что pred_mode_ibc_flag равно 0.
– В противном случае предполагается, что pred_mode_ibc_flag равно значению sps_ibc_enabled_flag при декодировании слайса I и 0 при декодировании слайса P или B, соответственно.
Когда pred_mode_ibc_flag равно 1, переменная CuPredMode[ chType ][ x ][ y ] устанавливается равной MODE_IBC для x = x0..x0 + cbWidth - 1 и y = y0..y0 + cbHeight - 1.
3. Проблемы
1. В настоящее время IBC рассматривается как MODE_TYPE_INTRA, и поэтому маленький блок цветности запрещен, что приводит к ненужной потере эффективности кодирования.
2. В настоящее время палитра рассматривается как MODE_TYPE_INTRA, поэтому маленький блок цветности запрещен, что приводит к ненужной потере эффективности кодирования.
3. В настоящее время ограничения для маленького блока цветности не учитывают формат субдискретизации цвета.
4. В настоящее время ко всем цветовым форматам применяются одни и те же ограничения режима разделения и предсказания для маленьких блоков. Однако может оказаться желательным разработать различные механизмы ограничения для маленьких блоков в цветовых форматах 4:2:0 и 4:2:2.
5. В настоящее время сигнализация флага режима палитры зависит от типа режима, что нежелательно, так как палитра не может применять ограничения для маленького блока.
6. В настоящее время предполагается, что флаг режима IBC равен 0 для слайса P/B, где cu_skip_flag равно 1, и MODE_TYPE равно MODE_TYPE_INTRA, что является недопустимым при синтаксическом анализе.
7. В настоящее время режим IBC яркости, отличный от 4x4, запрещен для блоков яркости SCIPU, что может быть нежелательным и может привести к потере эффективности кодирования.
8. Блок цветности 2xH по-прежнему разрешен, что несовместимо с аппаратной реализацией.
9. CIIP рассматривается как MODE_INTER, так как использует внутрикадровое предсказание, которое в некоторых случаях нарушает ограничения.
4. Примеры технических решений и воплощений
Приведенный ниже маркированный список следует рассматривать как пример. Эти способы не следует интерпретировать в узком смысле. Кроме того, эти способы можно комбинировать любым образом.
В данном документе «узел дерева кодирования MxN» указывает блок M×N, где M – ширина блока, и N – высота блока в отсчетах яркости, которые могут быть дополнительно разделены, например, на QT/BT/TT. Например, блок может быть узлом QT, узлом BT или узлом TT. Узел дерева кодирования может быть единицей кодирования (например, с тремя цветовыми компонентами для одиночного дерева, с двумя цветовыми компонентами цветности для кодирования цветности двойного дерева и только цветовым компонентом яркости для кодирования яркости двойного дерева), или блоком кодирования яркости или блоком кодирования цветности. «Маленький узел узла дерева кодирования» может указывать узел дерева кодирования с размером блока MxN, равным 32/64/128 в отсчетах яркости.
Если специально не указано, ширина W и высота H блока кодирования измеряются в отсчетах яркости. Например, блок кодирования MxN означает блок яркости MxN и/или два (M/SubWidthC) x (N/SubHeightC) блоков цветности, где SubWidthC и SubHeightC получены по цветовому формату, как показано ниже.
1. То, будет ли и/или как разделяться на маленькие блоки, может зависеть от цветовых форматов.
а) В одном примере для цветового формата 4:4:4 ограничения на размеры блоков цветности могут следовать ограничениям на блоки яркости.
b) В одном примере для цветового формата 4:2:2 ограничения на размеры блоков цветности могут следовать ограничениям для цветового формата 4:2:0.
c) В одном примере для цветового формата 4:0:0 и/или 4:4:4 ограничения на разделение на маленькие блоки и/или режимы предсказания могут не применяться.
d) В одном примере ограничения на разделы маленьких блоков и/или режимы предсказания могут применяться по-разному для разных цветовых форматов.
1) В одном примере для узла дерева кодирования MxN (например, 8x8) с горизонтальным разделением BT в цветовом формате 4:2:2 горизонтальное разделение BT может быть разрешено как для блока цветности, так и для блока яркости, тогда как в цветовом формате 4:2:0, горизонтальное разделение BT может быть разрешено для блока яркости, но запрещено для блока цветности.
2) В одном примере для узла дерева кодирования MxN (например, 16x4) с вертикальным разделением BT в цветовом формате 4:2:2 вертикальное разделение BT может быть разрешено как для блока цветности, так и для блока яркости, тогда как в цветовом формате 4:2:0, вертикальное разделение BT может быть разрешено для блока яркости, но запрещено для блока цветности.
3) В одном примере для узла дерева кодирования MxN (например, 8x16) с горизонтальным разделением TT в цветовом формате 4:2:2 горизонтальное разделение TT может быть разрешено как для блока цветности, так и для блока яркости, тогда как в цветовом формате 4:2:0 горизонтальное разделение TT может быть разрешено для блока яркости, но запрещено для блока цветности.
4) В одном примере для узла дерева кодирования MxN (например, 32x4) с вертикальным разделением TT в цветовом формате 4:2:2 вертикальное разделение TT может быть разрешено как для блока цветности, так и для блока яркости, тогда как в цветовом формате 4:2:0, вертикальное разделение TT может быть разрешено для блока яркости, но запрещено для блока цветности.
5) В одном примере для цветовых форматов 4:0:0 и/или 4:4:4 могут не применяться ограничения маленьких блоков.
e) В одном примере то, разрешить ли SCIPU, зависит от цветового формата.
1) В одном примере SCIPU разрешена для цветовых форматов 4:2:0 и 4:2:2.
2) В одном примере SCIPU запрещена для цветового формата 4:0:0 и/или 4:4:4.
2. То, как определить режимы предсказания (и/или тип режима) для (под)блоков узла дерева кодирования, может зависеть от цветовых форматов.
а) В одном примере, если одно из следующих условий истинно, modeType (под)блоков, разделенных этим узлом дерева кодирования, может быть равно MODE_TYPE_ALL для цветового формата 4:2:2, тогда как для цветового формата 4:2:0, modeType может быть равно либо MODE_TYPE_INTRA, либо MODE_TYPE_INTER.
1) Узел дерева кодирования MxN (например, 8x8) с горизонтальным разделением BT
2) Узел дерева кодирования MxN (например, 16x4) с вертикальным разделением BT
3) Узел дерева кодирования MxN (например, 8x16) с горизонтальным разделением TT
4) Узел дерева кодирования MxN (например, 32x4) с вертикальным разделением TT
Например, modeType может быть установлен как MODE_TYPE_ALL для 4:2:2; в то время как modeType должен быть либо MODE_TYPE_INTRA, либо MODE_TYPE_INTER для 4:2:0, когда выполняется одно из следующих условий: 1) блок 8x8 яркости с горизонтальным BT, 2) блок 16x4 яркости с вертикальным BT, 3) блок 8x16 яркости с горизонтальным ТТ; 4) блок 32x4 с горизонтальный ТТ с вертикальным ТТ.
Таким образом, для блока с тремя цветовыми компонентами в дереве кодирования, когда одно из вышеуказанных условий истинно, блок для 4:2:0 не классифицируется как MODE_TYPE_ALL, при этом могут быть выбраны все режимы кодирования, а именно MODE_TYPE_INTRA (причем блок может выбрать режим палитры, внутрикадровый режим или режим внутриблочного копировнаия) или MODE_TYPE_INTER (при этом можно выбрать только межкадровый режим).
3. Внутрикадровые (и/или IBC) блоки цветности с шириной блока, равной М (например, М = 2) отсчетов цветности может быть запрещены.
а) В одном примере 2xN (например, N <= 64) внутрикадровых блоков цветности могут быть запрещены в двойном дереве.
1) В одном примере, когда treeType равно DUAL_TREE_CHROMA, и ширина блока равна 4 отсчетам цветности, вертикальное разделение BT может быть запрещено.
2) В одном примере, когда treeType равно DUAL_TREE_CHROMA, и ширина блока равна 8 отсчетам цветности, вертикальное разделение TT может быть запрещено.
b) В одном примере 2xN (например, N <= 64) внутрикадровых (и/или IBC) блоков цветности могут быть запрещены в одном дереве.
1) В одном примере для узла дерева кодирования MxN (например, M=8 и N<=64) с вертикальным разделением BT может применяться один из следующих процессов.
(1) Вертикальное разделение BT может быть запрещено для блока цветности 4xN или 4x (N/2), но разрешено для блока яркости 8xN.
(2) Блок цветности 4xN или 4x (N/2) может не быть разделенным по BT по вертикали и может быть кодирован с помощью MODE_INTRA или MODE_IBC.
(3) Вертикальное разделение BT может быть разрешено как для блока яркости 8xN, так и для блока цветности 4xN или 4x(N/2), но оба блока яркости и цветности не кодируются с помощью MODE_INTRA (например, могут кодироваться с помощью MODE_INTER или MODE_IBC).
2) В одном примере для узла дерева кодирования MxN (например, M=16 и N<=64) с вертикальным разделением TT может применяться один из следующих процессов.
(1) Вертикальное разделение TT может быть запрещено для блока цветности 8xN или 8x(N/2), но разрешено для блока яркости 16xN.
(2) Блок цветности 8xN или 8x(N/2) может быть не разделен по вертикальному ТТ и кодирован с помощью MODE_INTRA или MODE_IBC.
(3) Вертикальное разделение TT может быть разрешено как для блока яркости 16xN, так и для блока цветности 8 x N или 8 x (N/2), но оба блока яркости и цветности могут не кодироваться с помощью MODE_INTRA (например, могут кодироваться с помощью MODE_INTER или MODE_IBC).
4. Режим IBC может быть разрешен для блоков яркости и/или цветности независимо от того, имеет ли он маленький размер блока.
а) В одном примере режим IBC может быть разрешен для блоков яркости, включая блоки яркости 8x4/8x8/16x4 и 4xN (например, N <= 64), даже если modeType равно MODE_TYPE_INTRA.
b) В одном примере режим IBC может быть разрешен для блоков цветности, даже если modeType равно MODE_TYPE_INTRA.
5. Сигнализация флага режима предсказания IBC может зависеть от типа режима предсказания (например, MODE_TYPE_INTRA).
а) В одном примере флаг режима предсказания IBC для блока без пропуска (например, блока кодирования, который не кодирован в режиме пропуска) может явно сигнализироваться в битовом потоке, когда treeType не равно DUAL_TREE_CHROMA, и modeType равно MODE_TYPE_INTRA.
6. Флаг режима предсказания IBC может получаться в зависимости от флага CU SKIP и типа режима (например, modeType).
а) В одном примере, если текущий блок кодирован в режиме SKIP (например, cu_skip_flag равно 1), и modeType равно MODE_TYPE_INTRA, может быть выведен флаг режима предсказания IBC (такой как pred_mode_ibc_flag), равный 1.
7. Явная сигнализация флага режима Palette может не зависеть от modeType.
а) В одном примере сигнализация флага режима палитры (такого как pred_mode_plt_flag) может зависеть от типа слайса, размера блока, режима предсказания и т.д., но независимо от того, какое значение имеет modeType.
b) В одном примере предполагается, что флаг режима палитры (такой как pred_mode_plt_flag) равен 0, когда modeType равно MODE_TYPE_INTRA или MODE_TYPE_INTRA.
8. Режим IBC может быть разрешено использовать тогда, когда modeType равно MODE_TYPE_INTER.
а) В одном примере цветность IBC может быть запрещена тогда, когда modeType равно MODE_TYPE_INTRA.
b) В одном примере может быть разрешено использовать режим IBC тогда, когда modeType равно MODE_TYPE_INTRA или MODE_TYPE_INTER.
c) В одном примере может быть разрешено использовать режим IBC независимо от типа режима.
d) В одном примере, в пределах одной SCIPU могут быть разрешены как режим IBC, так и межкадровый режим.
е) В одном примере размер блока цветности IBC может всегда соответствовать размеру соответствующего блока яркости.
f) В одном примере, когда modeType равно MODE_TYPE_INTRA, и размер единицы кодирования равен 4x4 по яркости, сигнализация pred_mode_ibc_flag может быть пропущена, и может быть выведен pred_mode_ibc_flag, равный 1.
9. Режим палитры может быть разрешено использовать тогда, когда modeType равно MODE_TYPE_INTER.
а) В одном примере режим палитры цветности может быть запрещен, когда modeType равно MODE_TYPE_INTRA.
b) В одном примере может быть разрешено использовать режим палитры, когда modeType равно MODE_TYPE_INTRA или MODE_TYPE_INTER.
c) В одном примере может быть разрешено использовать режим палитры независимо от типа режима.
d) В одном примере в пределах одной SCIPU могут быть разрешены как режим палитры, так и межкадровый режим.
e) В одном примере в пределах одной SCIPU могут быть разрешены режим палитры, режим IBC и межкадровый режим.
f) В одном примере размер блока цветности палитры может всегда соответствовать размеру соответствующего блока яркости.
g) В одном примере, когда modeType равно MODE_TYPE_INTRA, и размер единицы кодирования равен 4x4 по яркости, сигнализация pred_mode_plt_flag может быть пропущена, и может быть выведен pred_mode_plt_flag, равный 1.
h) В одном примере, когда modeType равно MODE_TYPE_INTRA, и размер единицы кодирования равен 4x4 по яркости, одно сообщение может быть отправлено для того, чтобы указать то, является ли текущий режим предсказания IBC или палитрой.
10. Для маленьких блоков цветности с шириной, равной M (например, M = 2) или высотой, равной N (например, N=2), разрешенные внутрикадровые режимы предсказания могут быть ограничены с тем, чтобы они отличались от тех, которые разрешены для больших блоков цветности.
а) В одном примере может использоваться только поднабор режимов внутрикадрового предсказания доступных режимов внутрикадрового предсказания цветности.
b) В одном примере может использоваться только режим INTRA_DC.
c) В одном примере может использоваться только режим INTRA_PLANAR.
d) В одном примере может использоваться только режим INTRA_ANGULAR18.
e) В одном примере может использоваться только режим INTRA_ANGULAR50.
f) В одном примере режимы CCLM могут быть запрещены.
11. Для маленьких блоков цветности с шириной, равной M (например, M=2), или высотой, равной N (например, N=2), типы преобразования могут быть ограничены с тем, чтобы они отличались от разрешенных типов преобразования для больших блоков цветности.
а) В одном примере может использоваться только пропуск преобразования.
b) В одном примере может использоваться только одномерное преобразование.
c) В одном примере запрещены средства кодирования, которые поддерживают несколько типов преобразований.
1) В качестве альтернативы, опущена сигнализация средств кодирования, которые поддерживают несколько типов преобразований.
12. CIIP может рассматриваться как MODE_TYPE_INTRA.
а) В одном примере режим CIIP может быть разрешен, когда используется разделение двойного дерева.
1) В одном примере режим CIIP может быть разрешен, когда тип CU имеет значение DUAL_TREEE_CHROMA.
b) В качестве альтернативы, CIIP может рассматриваться как MODE_TYPE_INTER.
1) В одном примере, когда ширина блока цветности равна M (например, M=2), режим CIIP может быть запрещен.
2) В одном примере, когда ширина блока цветности равна M (например, M=2), режимы внутрикадрового предсказания для цветности в CIIP могут быть ограничены простым режимом внутрикадрового предсказания.
(1) В одном примере INTRA_DC может использоваться для внутрикадрового предсказания цветности, когда ширина блока цветности равна M (например, M=2).
(2) В одном примере INTRA_ANGULAR18 может использоваться для внутрикадрового предсказания цветности, когда ширина блока цветности равна M (например, M=2).
(3) В одном примере INTRA_ANGULAR50 может использоваться для внутрикадрового предсказания цветности, когда ширина блока цветности равна M (например, M=2).
3) В одном примере режим внутрикадрового предсказания цветности в CIIP может быть ограничен простым режимом внутрикадрового предсказания.
(1) В одном примере INTRA_DC может использоваться для внутрикадрового предсказания цветности.
(2) В одном примере режим INTRA_ANGULAR18 может использоваться для внутрикадрового предсказания цветности.
(3) В одном примере режим INTRA_ANGULAR50 может использоваться для внутрикадрового предсказания цветности.
13. В приведенном выше маркированном списке переменные M и/или N могут быть заданы или просигнализированы.
а) В одном примере M и/или N могут дополнительно зависеть от цветовых форматов (например, 4:2:0, 4:2:2, 4:4:4).
5. Варианты осуществления
Вновь добавленные части выделены жирным шрифтом и курсивом, и удаленные части из рабочего проекта VVC выделены двойными скобками (например, [[a]] означает удаление символа «a»). Модификации основаны на последнем рабочем проекте VVC (JVET-O2001-v11).
5.1 Пример варианта 1 осуществления
Приведенный ниже вариант осуществления относится к ограничениям на разделы маленьких блоков, и режимы предсказания применяются только к цветовым форматам 4:2:0 и 4:4:4 (не применяются к цветовым форматам 4:0:0 и 4:4:4).
7.4.9.4 Семантика дерева кодирования
Переменная modeTypeCondition получается следующим образом:
– Если одно из следующих условий истинно, modeTypeCondition устанавливается равным 0
– slice_type == I, и qtbtt_dual_tree_intra_flag равно 1
– modeTypeCurr не равно MODE_TYPE_ALL
– В противном случае, если одно из следующих условий истинно, modeTypeCondition устанавливается равным 1
– cbWidth * cbHeight равно 64, и split_qt_flag равно 1
– cbWidth * cbHeight равно 64, и MttSplitMode[ x0 ][ y0 ][ mttDepth ] равно SPLIT_TT_HOR или SPLIT_TT_VER
– cbWidth * cbHeight равно 32, и MttSplitMode[ x0 ][ y0 ][ mttDepth ] равно SPLIT_BT_HOR или SPLIT_BT_VER
– В противном случае, если одно из следующих условий истинно, modeTypeCondition устанавливается равным 1 + (slice_type != I ? 1 : 0)
– cbWidth * cbHeight равно 64, и MttSplitMode[ x0 ][ y0 ][ mttDepth ] равно SPLIT_BT_HOR или SPLIT_BT_VER
– cbWidth * cbHeight равно 128, и MttSplitMode[ x0 ][ y0 ][ mttDepth ] равно SPLIT_TT_HOR или SPLIT_TT_VER
– В противном случае modeTypeCondition устанавливается равным 0
5.2 Пример варианта 2 осуществления
Приведенный ниже вариант осуществления касается сигнализации флага режима палитры, не зависящего от типа режима.
7.3.8.5 Синтаксис единицы кодирования
5.3 Пример варианта 3 осуществления
В приведенном ниже варианте осуществления флаг режима предсказания IBC получается в зависимости от флага CU SKIP и типа режима.
pred_mode_ibc_flag, равное 1, указывает то, что текущая единица кодирования закодирована в режиме предсказания IBC. pred_mode_ibc_flag, равное 0, указывает то, что текущая единица кодирования не закодирована в режиме предсказания IBC.
Когда pred_mode_ibc_flag отсутствует, это делается следующим образом:
– Если cu_skip_flag[ x0 ][ y0 ] равно 1, cbWidth равно 4 и cbHeight равно 4, предполагается, что pred_mode_ibc_flag равно 1.
– В противном случае, если и cbWidth, и cbHeight равны 128, предполагается, что pred_mode_ibc_flag равно 0.
– В противном случае, если modeType равно MODE_TYPE_INTER, предполагается, что pred_mode_ibc_flag равно 0.
– В противном случае, если treeType равно DUAL_TREE_CHROMA, предполагается, что pred_mode_ibc_flag равно 0.
– В противном случае предполагается, что pred_mode_ibc_flag равно значению sps_ibc_enabled_flag при декодировании слайса I и 0 при декодировании слайса P или B, соответственно.
Когда pred_mode_ibc_flag равно 1, переменная CuPredMode[ chType ][ x ][ y ] устанавливается равной MODE_IBC для x = x0..x0 + cbWidth - 1 и y = y0..y0 + cbHeight - 1.
5.4 Пример варианта 4 осуществления
В приведенном ниже варианте осуществления речь идет о сигнализации флага режима предсказания IBC, зависящего от MODE_TYPE_INTRA, и/или режим IBC разрешен для блоков яркости независимо от того, является ли маленьким размер блока.
7.3.8.5 Синтаксис единицы кодирования
5.5 Пример варианта 5 осуществления
Приведенный ниже вариант осуществления относится к применению различных ограничений внутрикадровых блоков для цветовых форматов 4:2:0 и 4:2:2.
7.4.9.4 Семантика дерева кодирования
Переменная modeTypeCondition получается следующим образом:
– Если одно из следующих условий истинно, modeTypeCondition устанавливается равным 0
– slice_type == I и qtbtt_dual_tree_intra_flag равно 1
– modeTypeCurr не равно MODE_TYPE_ALL
– В противном случае, если одно из следующих условий истинно, modeTypeCondition устанавливается равным 1
– cbWidth * cbHeight равно 64, и split_qt_flag равно 1
– cbWidth * cbHeight равно 64, и MttSplitMode[ x0 ][ y0 ][ mttDepth ] равно SPLIT_TT_HOR или SPLIT_TT_VER
– cbWidth * cbHeight равно 32, и MttSplitMode[ x0 ][ y0 ][ mttDepth ] равно SPLIT_BT_HOR или SPLIT_BT_VER
– В противном случае, если одно из следующих условий истинно, modeTypeCondition устанавливается равным 1 + (slice_type != I ? 1 : 0)
– cbWidth * cbHeight равно 64 и MttSplitMode[ x0 ][ y0 ][ mttDepth ] равно SPLIT_BT_HOR или SPLIT_BT_VER
– cbWidth * cbHeight равно 128 и MttSplitMode[ x0 ][ y0 ][ mttDepth ] равно SPLIT_TT_HOR или SPLIT_TT_VER
– В противном случае modeTypeCondition устанавливается равным 0
5.6 Пример варианта 6 осуществления
Приведенный ниже вариант осуществления касается запрета блоков цветности 2xN внутри кадра в одном дереве.
7.4.9.4 Семантика дерева кодирования
Переменная modeTypeCondition получается следующим образом:
– Если одно из следующих условий истинно, modeTypeCondition устанавливается равным 0
– slice_type == I и qtbtt_dual_tree_intra_flag равно 1
– modeTypeCurr не равно MODE_TYPE_ALL
– В противном случае, если одно из следующих условий истинно, modeTypeCondition устанавливается равным 1
– cbWidth * cbHeight равно 64, и split_qt_flag равно 1
– cbWidth * cbHeight равно 64, и MttSplitMode[ x0 ][ y0 ][ mttDepth ] равно SPLIT_TT_HOR или SPLIT_TT_VER
– cbWidth * cbHeight равно 32, и MttSplitMode[ x0 ][ y0 ][ mttDepth ] равно SPLIT_BT_HOR или SPLIT_BT_VER
– В противном случае, если одно из следующих условий истинно, modeTypeCondition устанавливается равным 1 + (slice_type != I ? 1 : 0)
– cbWidth * cbHeight равно 64, и MttSplitMode[ x0 ][ y0 ][ mttDepth ] равно SPLIT_BT_HOR или SPLIT_BT_VER
– cbWidth * cbHeight равно 128, и MttSplitMode[ x0 ][ y0 ][ mttDepth ] равно SPLIT_TT_HOR или SPLIT_TT_VER
– В противном случае modeTypeCondition устанавливается равным 0
5.7 Пример варианта 7 осуществления
Приведенный ниже вариант осуществления касается запрета блоков цветности 2xN внутри кадра в двойном дереве.
6.4.2 Разрешенный процесс двоичного разделения
Переменная allowBtSplit получается следующим образом:
– Если одно или несколько из следующих условий истинны, allowBtSplit устанавливается на значение «ложь»:
– cbSize меньше или равно MinBtSizeY
– cbWidth больше maxBtSize
– cbHeight больше maxBtSize
– mttDepth больше или равно maxMttDepth
– treeType равно DUAL_TREE_CHROMA и ( cbWidth/SubWidthC ) * ( cbHeight/SubHeightC ) меньше или равно 16
– treeType равно DUAL_TREE_CHROMA, и modeType равно MODE_TYPE_INTRA
…
6.4.3 Разрешенный процесс троичного разделения
Переменная allowTtSplit получается следующим образом:
– Если одно или несколько из следующих условий истинны, для параметра allowTtSplit устанавливается значение «ложь»:
– cbSize меньше или равно 2 * MinTtSizeY
– cbWidth больше Min( MaxTbSizeY, maxTtSize )
– cbHeight больше Min( MaxTbSizeY, maxTtSize )
– mttDepth больше или равно maxMttDepth
– x0 + cbWidth больше pic_width_in_luma_samples
– y0 + cbHeight больше pic_height_in_luma_samples
– treeType равно DUAL_TREE_CHROMA и ( cbWidth/SubWidthC ) * ( cbHeight/SubHeightC ) меньше или равно 32
– treeType равно DUAL_TREE_CHROMA, и modeType равно MODE_TYPE_INTRA
– В противном случае для параметра allowTtSplit устанавливается значение «истина».
5.8 Пример варианта 8 осуществления
Приведенный ниже вариант осуществления относится к разрешению режима MODE_IBC для блоков цветности SCIPU.
7.3.8.5 Синтаксис единицы кодирования
На фиг. 17A показана блок-схема устройства 1700 обработки видео. Устройство 1700 может использоваться для реализации одного или нескольких способов, описанных в данном документе. Устройство 1700 может быть воплощено в смартфоне, планшете, компьютере, приемнике Интернета вещей (IoT) и т.д. Устройство 1700 может включать в себя один или несколько процессоров 1702, одно или несколько устройств 1704 памяти и аппаратные средства 1706 обработки видео. Процессор(ы) 1702 может/могут быть выполнен(ы) с возможностью реализации одного или нескольких способов, описанных в данном документе. Устройство(a) 1704 памяти может/могут использоваться для хранения данных и кода, используемых для реализации способов и технологий, описанных в данном документе. Аппаратные средства 1706 обработки видео могут использоваться для реализации в аппаратных схемах некоторых способов, описанных в данном документе. В некоторых вариантах осуществления аппаратные средства 1706 могут быть по меньшей мере частично или полностью включены в состав процессора 1702, например, графического сопроцессора.
На фиг. 17B показан еще один пример блок-схемы системы обработки видео, в которой могут быть реализованы раскрытые технологии. На фиг. 17B показана блок-схема, иллюстрирующая примерную систему 1710 обработки видео, в которой могут быть реализованы различные технологии, раскрытые в данном документе. Различные реализации могут включать в себя некоторые или все компоненты системы 1710. Система 1710 может включать в себя вход 1712 для приема видеосодержания. Видеосодержание может приниматься в необработанном или несжатом формате, например, с 8- или 10-разрядными значениями многокомпонентных пикселей, или может быть в сжатом или кодированном формате. Вход 1712 может представлять собой сетевой интерфейс, интерфейс периферийной шины или интерфейс запоминающего устройства. Примеры сетевого интерфейса включают в себя проводные интерфейсы, такие как Ethernet, пассивная оптическая сеть (PON) и т.д., и беспроводные интерфейсы, такие как Wi-Fi или сотовые интерфейсы.
Система 1710 может включать в себя компонент 1714 кодирования, который может реализовывать различные способы кодирования или шифрования, описанные в настоящем документе. Компонент 1714 кодирования позволяет уменьшить среднюю скорость передачи битов видео от входа 1712 до выхода компонента 1714 кодирования, чтобы создать кодированное представление видео. Поэтому технологии кодирования иногда называют технологиями сжатия видео или транскодирования видео. Выходной сигнал компонента 1714 кодирования может быть либо сохранен, либо передан через подключенную связь, как представлено компонентом 1716. Сохраненное или переданное битовое (или кодированное) представление видео, полученного на входе 1712, может использоваться компонентом 1718 для выработки пиксельных значений или отображаемого видео, которое отправляется в интерфейс 1720 дисплея. Процесс выработки доступного для просмотра пользователем видео из представления битового потока иногда называется распаковкой видео. Кроме того, хотя определенные операции обработки видео упоминаются как операции или средства «кодирования», следует понимать, что средства или операции кодирования используются в кодере, и соответствующие средства или операции декодирования, которые выполняют процесс, обратный кодированию, над результатами кодирования, будут выполняться декодером.
Примеры интерфейса периферийной шины или интерфейса дисплея могут включать в себя универсальную последовательную шину (USB) или мультимедийный интерфейс высокой четкости (HDMI) или Displayport и т.д. Примеры интерфейсов хранения включают в себя SATA (последовательное подключение передовых технологий), PCI, интерфейс IDE и т.п. Методы, описанные в настоящем документе, могут быть реализованы в различных электронных устройствах, таких как мобильные телефоны, ноутбуки, смартфоны или другие устройства, способные выполнять цифровую обработку данных и/или отображение видео.
На фиг. 18 показана блок-схема последовательности операций способа 1800 обработки видео. Способ 1800 включает синтаксический анализ (1802), для преобразования между видеообластью видео и кодированным представлением видеообласти, кодированного представления в соответствии с правилом синтаксиса, которое определяет взаимосвязь между размером блока цветности и цветовым форматом видеообласти; и выполнение (1804) преобразования путем выполнения синтаксического анализа в соответствии с правилом синтаксиса.
На фиг. 21A показана блок-схема последовательности операций способа 2110 обработки видео. На этапе 2112 способ 2110 включает в себя определение схемы разделения для разделения видеообласти цветности видео на один или более блоков цветности на основе цветового формата видео в соответствии с правилом. На этапе 2114 способ 2110 дополнительно включает в себя выполнение преобразования между видео и кодированным представлением видео в соответствии со схемой разделения.
На фиг. 21B показана блок-схема последовательности операций способа 2120 обработки видео. На этапе 2122 способ 2120 включает в себя определение режимов предсказания или типов предсказания для подблоков узла дерева кодирования видео на основе цветового формата видео. На этапе 2124 способ 2120 дополнительно включает в себя выполнение преобразования между видео и кодированным представлением видео на основе определения. В некоторых реализациях узел дерева кодирования разделен на подблоки для кодирования в кодированном представлении.
На фиг. 22A показана блок-схема последовательности операций способа 2210 обработки видео. На этапе 2212 способ 2210 включает в себя выполнение преобразования между видео и кодированным представлением видео. В некоторых реализациях преобразование выполняется между видео, содержащим одну или несколько видеообластей, содержащих один или несколько блоков яркости и один или несколько блоков цветности, и кодированным представлением в соответствии с правилом, причем правило указывает то, что блок цветности из одного или нескольких блоков цветности размером M x N не может быть представлен в кодированном представлении с использованием внутрикадрового режима или режима внутриблочного копирования, где M и N являются целыми числами, обозначающие ширину и высоту блока цветности, соответственно, при этом внутрикадровый режим включает в себя кодирование блока цветности на основе ранее кодированных или восстановленных видеоблоков, и режим внутриблочного копирования включает в себя кодирование блока цветности с использованием по меньшей мере блочного вектора, указывающего на видеокадр, содержащий видеообласть.
В некоторых реализациях выполняется преобразование между блоком цветности видео и кодированным представлением видео, причем блок цветности представлен в кодированном представлении с использованием режима внутрикадрового кодирования в соответствии с правилом размера; при этом правило размера указывает, что режим внутрикадрового кодирования относится к первому набору типов режима внутрикадрового кодирования в том случае, если ширина блока цветности равна M, или высота блока цветности равна N, где M и N являются целыми числами; в противном случае режим внутрикадрового кодирования относится ко второму набору типов режима внутрикадрового кодирования.
В некоторых реализациях выполняется преобразование между блоком цветности видео и кодированным представлением видео, причем блок цветности представлен в кодированном представлении с использованием типа преобразования в соответствии с правилом, при этом правило указывает то, что тип преобразования относится к первому набору типов преобразования в том случае, если ширина блока цветности равна M, или высота блока цветности равна N, где M и N являются целыми числами; в противном случае тип преобразования относится ко второму набору типов преобразования.
В некоторых реализациях преобразование выполняется между видео, содержащим видеообласть, имеющую один или несколько блоков яркости и один или несколько блоков цветности, и кодированным представлением видео в соответствии с правилом, причем правило указывает то, что использование внутриблочного копирования (IBC) режим доступно для одного или нескольких блоков яркости и одного или нескольких блоков цветности, имеющих размер блока M x N, для всех значений M и N, где M и N являются целыми числами; причем при использовании режима IBC видеоблок кодируется с использованием по меньшей мере блочного вектора, указывающего на видеокадр, содержащий видеоблок.
В некоторых реализациях выполняется преобразование между видеоблоком видео и кодированным представлением видеоблока, причем кодированное представление соответствует правилу форматирования, при этом правило форматирования определяет выборочное включение синтаксического элемента, указывающего на использование режима внутриблочного копирования (IBC) в кодированном представлении на основе типа режима видеоблока, и режим IBC включает в себя кодирование видеоблока с использованием по меньшей мере блочного вектора, указывающего на видеокадр, содержащий видеоблок.
В некоторых реализациях выполняется преобразование между видеоблоком видео и кодированным представлением видеоблока, причем кодированное представление соответствует правилу форматирования, при этом правило форматирования указывает, что синтаксический элемент, указывающий на использование режима палитры, включен в кодированное представление независимо от типа режима видеоблока, и режим палитры включает в себя кодирование видеоблока с использованием палитры значений репрезентативных выборок.
На фиг. 22B показана блок-схема последовательности операций способа 2220 обработки видео. На этапе 2222 способ 2220 включает в себя определение, для преобразования между видеообластью видео и кодированным представлением видео, относительно того, чтобы использовать режим объединенного межкадрового-внутрикадрового предсказания (CIIP) в качестве внутрикадрового режима или межкадрового режима в соответствии с правилом. На этапе 2224 способ 2220 дополнительно включает в себя выполнение преобразования на основе определения. Режим CIIP включает в себя объединение сигнала внутрикадрового предсказания и сигнала межкадрового предсказания с использованием взвешенных коэффициентов.
На фиг. 23A показана блок-схема последовательности операций способа 2310 обработки видео. На этапе 2312 способ 2310 включает в себя определение, для преобразования между видеообластью видео и кодированным представлением видео на основе правила, того, что использование режима внутриблочного копирования (IBC) разрешено для видео области. На этапе 2314 способ 2310 дополнительно включает в себя выполнение преобразования на основе определения. Режим IBC включает в себя кодирование видеообласти с использованием по меньшей мере блочного вектора, указывающего на видеокадр, содержащий видеообласть.
На фиг. 23B показана блок-схема последовательности операций способа 2320 обработки видео. На этапе 2322 способ 2320 включает в себя определение, для преобразования между видеообластью видео и кодированным представлением видео на основе правила, разрешено ли использование режима палитры для видеообласти. На этапе 2324 способ 2320 дополнительно включает в себя выполнение преобразования на основе определения. В некоторых реализациях правило основано на типе режима кодирования видеообласти или цветовом типе видеообласти, при этом режим палитры включает в себя кодирование видеообласти с использованием палитры значений репрезентативных выборок.
Некоторые варианты осуществления раскрытой технологии включают в себя принятие решения или определение включения средства или режима обработки видео. В одном примере, когда средство или режим обработки видео включены, кодер будет использовать или реализовывать средство или режим при обработке видеоблока, но не обязательно может изменять результирующий битовый поток на основе использования средства или режима. То есть преобразование из видеоблока в представление битового потока видео будет использовать средство или режим обработки видео, когда он включен, на основе решения или определения. В другом примере, когда средство или режим обработки видео включены, декодер будет обрабатывать битовый поток, зная, что битовый поток был изменен, на основе средства или режима обработки видео. То есть преобразование из представления битового потока видео в видеоблок будет выполняться с использованием средства обработки видео или режима, который был включен на основе решения или определения.
Некоторые варианты осуществления раскрытой технологии включают в себя принятие решения или определение относительно того, отключить средство или режим обработки видео. В одном примере, когда средство или режим обработки видео отключены, кодер не будет использовать средство или режим при преобразовании видеоблока в представление битового потока видео. В другом примере, когда средство или режим обработки видео отключены, декодер будет обрабатывать битовый поток, зная, что битовый поток не был изменен, с использованием средства или режима обработки видео, которые были отключены на основе решения или определения.
В настоящем документе термин «обработка видео» может относиться к кодированию видео, декодированию видео, сжатию видео или распаковке видео. Например, алгоритмы сжатия видео могут быть применены в процессе преобразования из пиксельного представления видео в соответствующее представление битового потока или наоборот. Представление битового потока текущего видеоблока может, например, соответствуют битам, которые либо совмещены или распространение в различных местах в пределах битового потока, как это определено в синтаксисе. Например, макроблок может быть закодирован с учетом преобразованных и кодированных значений остатка ошибок, а также с использованием битов в заголовках и других полях в битовом потоке.
Следующие пункты описывают некоторые варианты осуществления и способов. Первый набор пунктов описывает некоторые особенности и аспекты способов, раскрытых в предыдущем разделе.
1. Способ обработки видео, содержащий: синтаксический анализ, для преобразования между видеообластью видео и кодированным представлением видеообласти, кодированного представления в соответствии с правилом синтаксиса, которое определяет взаимосвязь между размером блока цветности и цветовым форматом видеообласти; и выполнение преобразования путем выполнения синтаксического анализа в соответствии с правилом синтаксиса.
2. Способ по п. 1, в котором цветовой формат равен 4:4:4, и правило синтаксиса указывает, что блок цветности подлежит такому же ограничению размера, как и для блоков яркости.
3. Способ по п. 1, в котором используется цветовой формат 4:2:2, и синтаксическое правило указывает то, что блок цветности подчиняется такому же ограничению размера, как и для цветового формата 4:2:0.
4. Способ по любому из пп. 1-3, в котором синтаксис указывает, что режимы предсказания и разделы малых блоков используются в зависимости от цветового формата.
5. Способ по п. 1, в котором правило синтаксиса определяет, что функция наименьшего допустимого размера разрешена для преобразования видеообласти на основе цветового формата видеообласти.
Следующие пункты могут быть реализованы вместе с дополнительными способами, описанными в пункте 2 предыдущего раздела.
6. Способ обработки видео, содержащий: определение, на основе свойства видео и цветового формата видео, режима кодирования узла дерева кодирования видео; и выполнение преобразования между кодированным представлением видео и видеоблоком узла дерева кодирования с использованием определенного режима кодирования.
7. Способ по п. 6, в котором режим кодирования определяется как MODE_TYPE_ALL для цветового формата 4:2:2, MODE_TYPE_INTRA или MODE_TYPE_INTER для цветового формата 4:2:0 в случае, если свойство: представляет собой следующее
1) узел кодирования является узлом дерева кодирования MxN с горизонтальным разделением бинарного дерева;
2) узел кодирования является узлом дерева кодирования MxN с вертикальным разделением бинарного дерева;
3) узел кодирования является узлом дерева кодирования MxN с горизонтальным разделением троичного дерева; или
4) узел кодирования является узлом дерева кодирования MxN с вертикальным разделением троичного дерева.
8. Способ по п.7, в котором M = 8, или 16, или 32, и N = 4, или 8 или 16.
Следующие пункты могут быть реализованы вместе с дополнительными способами, описанными в пункте 3 предыдущего раздела.
9. Способ обработки видео, содержащий: определение, на основе правила, того, разрешен ли определенный размер блоков цветности в видеовидеообласти; и выполнение преобразования между видеообластью и кодированным представлением видеообласти на основе определения.
10. Способ по п. 9, в котором правило указывает то, что блоки цветности размером 2xN запрещены из-за того, что видеообласть включает в себя двойное древовидное разделение.
11. Способ по п. 9, в котором правило указывает то, что 2N блоков цветности запрещены из-за того, что видеообласть включает в себя один раздел дерева.
12. Способ по п. 10 или 11, в котором N <= 64.
Следующие пункты могут быть реализованы вместе с дополнительными способами, описанными в пунктах 4, 8 и 9 предыдущего раздела.
13. Способ обработки видео, содержащий: определение, на основе правила, которое разрешает использовать режим кодирования для условия видео, того, что режим кодирования разрешен для видеообласти; и выполнение преобразования между кодированным представлением пикселей в видеообласти и пикселями в видеообласти на основе определения.
14. Способ по п. 13, в котором условием видео является размер блока, и в котором правило разрешает использование режима внутриблочного копирования для маленьких размеров блоков яркости.
15. Способ по п. 14, в котором маленькие размеры блоков включают в себя блоки яркости 8x4, 8x8, 16x4 или 4xN.
16. Способ по п. 13, в котором правило разрешает использовать режим внутриблочного копирования для преобразования видеообласти с использованием режима кодирования MODE_TYPE_INTER.
17. Способ по п. 13, в котором правило разрешает использовать режим кодирования палитры для преобразования видеообласти с использованием режима кодирования MODE_TYPE_INTER.
Следующие пункты могут быть реализованы вместе с дополнительными способами, описанными в пунктах 5, 6 и 7 предыдущего раздела.
18. Способ обработки видео, содержащий: выполнение преобразования между видеоблоком видео и кодированным представлением видеоблока с использованием режима кодирования видео, причем синтаксический элемент, сигнализирующий о режиме кодирования, выборочно включается в кодированное представление на основе правила.
19. Способ по п. 18, в котором режим кодирования видео является внутрикадровым режимом блочного кодирования, и правило указывает использовать тип режима кодирования видео для управления включением синтаксического элемента в кодированное представление.
20. Способ по п. 19, в котором правило указывает явную сигнализацию блока без пропуска.
21. Способ по п. 18, в котором правило указывает неявно сигнализировать флаг внутриблочного копирования на основе флага пропуска и типа режима видеоблока.
22. Способ по п. 18, в котором режим кодирования представляет собой режим кодирования палитры, и в котором правило указывает выборочно включить индикатор кодирования палитры на основе типа режима видеоблока.
Следующие пункты могут быть реализованы вместе с дополнительными способами, описанными в пункте 11 предыдущего раздела.
23. Способ обработки видео, содержащий: определение, в связи с тем, что блок цветности имеет размер меньше порогового размера, того, что тип преобразования, используемый во время преобразования между блоком цветности и кодированным представлением блока цветности, отличается от типа преобразования, используемого для соответствующего преобразования блока яркости; и выполнение преобразования на основе определения.
24. Способ по п. 23, в котором пороговый размер равен MxN, где M равно 2 или равно 2.
Следующие пункты могут быть реализованы вместе с дополнительными способами, описанными в пункте 12 предыдущего раздела.
25. Способ по любому из пп. 1-24, в котором при преобразовании используется режим объединенного межкадрового-внутрикадрового предсказания в качестве режима MODE_TYPE_INTRA
26. Способ по любому из пп. 18-22, в котором при преобразовании используется режим объединенного межкадрового-внутрикадрового предсказания в качестве режима MODE_TYPE_INTER. Например, при рассмотрении CIIP в качестве режима MODE_TYPE_INTER могут применяться способы, описанные в пунктах 5+6+7 в предыдущем разделе, или, когда применяются способы, описанные в пунктах 5+6+7, CIIP можно рассматривать в качестве режима MODE_TYPE_INTER.
27. Способ по любому из пп. 1-26, в котором преобразование содержит кодирование видео в кодированном представлении.
28. Способ по любому из пп. 1-26, в котором преобразование содержит декодирование кодированного представления для выработки пиксельных значений видео.
29. Устройство для декодирования видео, содержащее процессор, выполненный с возможностью реализации способа по одному или нескольким пп. 1-28.
30. Устройство для кодирования видео, содержащее процессор, выполненный с возможностью реализации способа по одному или нескольким пп. 1-28.
31. Компьютерный программный продукт, содержащий хранящийся в нем компьютерный код, причем код при его исполнении процессором предписывает процессору реализовать способ по любому из пп. 1-28.
32. Способ, устройство или система, описанные в данном документе.
Второй набор пунктов описывает определенные функции и аспекты раскрытых технологий, представленных в предыдущем разделе, например, примерные реализации 1, 2 и 13.
1. Способ обработки видео, содержащий: определение схемы разделения для разделения видеообласти цветности видео на один или более блоков цветности на основе цветового формата видео в соответствии с правилом; и выполнение преобразования между видео и кодированным представлением видео в соответствии со схемой разделения.
2. Способ по п. 1, в котором правило указывает межкадровый слайс или внутрикадровый слайс с тремя цветовыми компонентами, представленными одним и тем же узлом дерева кодирования.
3. Способ по п. 1 или 2, в котором правило указывает использовать одну и ту же схему разделения для блока цветности и блока яркости для цветового формата 4:4:4.
4. Способ по п. 1 или 2, в котором правило указывает использовать одни и те же ограничения разделения для цветовых форматов 4:2:0 и 4:2:2.
5. Способ по п. 1 или 2, в котором правило указывает не применять схему разделения и/или ограничения на режимы предсказания для цветового формата 4:0:0 или 4:4:4.
6. Способ по любому из пп. 1 или 2, в котором правило указывает схему разделения и/или режимы предсказания, которые применяются на основе цветового формата видео.
7. Способ по п. 6, в котором для узла дерева кодирования MxN с горизонтальным разделением бинарного дерева (BT) или горизонтальным разделением троичного дерева (TT) в цветовом формате 4:2:2 горизонтальное разделение BT или горизонтальное Разделение ТТ разрешено как для блока цветности, так и для блока яркости.
8. Способ по п. 6, в котором для узла дерева кодирования MxN с горизонтальным разделением бинарного дерева (BT) или горизонтальным разделением троичного дерева (TT) в цветовом формате 4:2:0 горизонтальное разделение BT или горизонтальное разделение троичного дерева (TT) разрешено для блока яркости, но запрещено для блока цветности.
9. Способ по п. 6, в котором для узла дерева кодирования MxN с вертикальным разделением бинарного дерева (BT) или вертикальным разделением троичного дерева (TT) в цветовом формате 4:2:2 вертикальное разделение BT или вертикальное разделение ТТ разрешено как для блока цветности, так и для блока яркости.
10. Способ по п. 6, в котором для узла дерева кодирования MxN с вертикальным разделением бинарного дерева (BT) или вертикальным разделением троичного дерева (TT) в цветовом формате 4:2:0, вертикальным разделением BT или вертикальным разделением троичного дерева (TT) разрешено для блока яркости, но запрещено для блока цветности.
11. Способ по любому из пп. 7-10, в котором M и/или N заданы или просигнализированы.
12. Способ по п. 11, в котором M и/или N зависят от цветового формата видеообласти.
13. Способ по п. 6, в котором правило указывает не применять схему разделения к цветовому формату 4:0:0 и/или 4:4:4.
14. Способ по п. 1, в котором правило указывает то, что наименьшая единица внутрикадрового предсказания цветности (SCIPU), определенная для ограничения размера блока цветности, разрешена для преобразования на основе цветового формата видео.
15. Способ по п. 14, в котором наименьшая единица внутрикадрового предсказания цветности разрешена для цветового формата 4:2:0 и/или 4:2:2.
16. Способ по п. 14, в котором наименьшая единица внутрикадрового предсказания цветности запрещена для цветового формата 4:0:0 и/или 4:4:4.
17. Способ обработки видео, содержащий: определение режимов предсказания или типов предсказания для подблоков узла дерева кодирования видео на основе цветового формата видео; и выполнение преобразования между видео и кодированным представлением видео на основе определения, где узел дерева кодирования разделен на подблоки для кодирования в кодированном представлении.
18. Способ по п. 17, в котором режим предсказания подблока определяется как режим MODE_TYPE_ALL, указывающий на применимость режима межкадрового кодирования, внутрикадрового режима, режима палитры и режима внутриблочного копирования, так как цветовой формат равен 4:2:2.
19. Способ по п. 17, в котором режим предсказания подблока определяется как 1) MODE_TYPE_INTER, указывающий на применимость только режимов межкадрового кодирования, или 2) MODE_TYPE_INTRA, указывающий на применимость внутрикадрового режима, режима палитры и режима внутриблочного копирования в связи с цветовым форматом 4:2:0.
20. Способ по п. 18 или 19, в котором режим межкадрового предсказания включает в себя представление или восстановление видео с использованием временной корреляции, межкадровый режим включает в себя представление или восстановление видео на основе ранее обработанного видеоблока, режим палитры включает в себя представление или восстановление видео с использованием палитры значений репрезентативных выборок, или режим внутриблочного копирования включает в себя представление или восстановление видео с использованием по меньшей мере блочного вектора, указывающего на видеокадр.
21. Способ по любому из пп. 18-20, в котором узел дерева кодирования удовлетворяет одному из следующих условий: 1) узел дерева кодирования соответствует блоку яркости 8x8 с горизонтальным разделением бинарного дерева, 2) узел дерева кодирования соответствует блок яркости 16x4 с вертикальным разделением бинарного дерева, 3) узел дерева кодирования соответствует блоку яркости 8x16 с горизонтальным разделением троичного дерева, или 4) узел дерева кодирования соответствует блоку яркости 32x4 с вертикальным разделением троичного дерева.
22. Способ по п. 17, в котором третий узел кодирования представляет собой узел дерева кодирования MxN, и M и/или N заданы или сигнализируются.
23. Способ по п. 22, в котором M и/или N зависят от цветового формата видео.
24. Способ по любому из пп. 1-23, в котором выполнение преобразования включает в себя выработку кодированного представления из видео.
25. Способ по любому из пп. 1-23, в котором выполнение преобразования включает в себя выработку видео из кодированного представления.
26. Устройство обработки видео, содержащее процессор, выполненный с возможностью реализации способа по любому одному или нескольким пп. 1-25.
27. Машиночитаемый носитель информации, хранящий код программы, который при его исполнении предписывает процессору реализовывать способ по любому одному или нескольким из пп. 1-25.
В третьем наборе пунктов описаны определенные функции и аспекты способов, раскрытых в предыдущем разделе, например, примерные реализации 3 и 10-13.
1. Способ обработки видео, содержащий: выполнение преобразования между видео, содержащим одну или несколько видеообластей, содержащих один или несколько блоков яркости и один или несколько блоков цветности, и кодированным представлением видео в соответствии с правилом; причем правило указывает то, что блок цветности из одного или нескольких блоков цветности, имеющих размер M x N, не может быть представлен в кодированном представлении с использованием внутрикадрового режима или режима внутриблочного копирования, где M и N являются целыми числами, указывающими ширину и высоту блока цветности, соответственно; при этом внутрикадровый режим включает в себя кодирование блока цветности на основе ранее кодированных или восстановленных видеоблоков, и режим внутриблочного копирования включает в себя кодирование блока цветности с использованием по меньшей мере блочного вектора, указывающего на видеокадр, содержащий видеообласть.
2. Способ по п. 1, в котором правило указывает то, что блокировка цветности, имеющая размер 2 x N, запрещена из-за того, что видеообласть разделена как раздел двойного дерева.
3. Способ по п. 2, в котором правило указывает то, что вертикальное разделение бинарного дерева (BT) запрещено для блока цветности в случае, если 1) тип дерева блока цветности равен типу двойного дерева, и 2) M равно 4 отсчетам цветности.
4. Способ по п. 2, в котором правило указывает то, что вертикальное разделение троичного дерева (TT) запрещено для блока цветности в случае, если 1) тип дерева блока цветности равен типу двойного дерева, и 2) M равно 8 отсчетам цветности.
5. Способ по п. 1, в котором правило указывает то, что блок цветности, имеющий размер 2 x N, запрещен из-за того, что видеообласть разделена как один раздел дерева.
6. Способ по п. 5, в котором для узла дерева кодирования M x N с вертикальным разделением бинарного дерева (BT) вертикальное разделение BT запрещено для блока цветности, имеющего размер 4 x N или 4 x (N/2), но разрешен блок яркости размером 8x N.
7. Способ по п. 5, в котором для узла дерева кодирования M x N с вертикальным разделением бинарного дерева (BT) вертикальное разделение BT запрещено для блока цветности, имеющего размер 4 x N или 4 x (N/2).
8. Способ по п. 5, в котором для узла дерева кодирования M x N с вертикальным разделением бинарного дерева (BT) вертикальное разделение BT разрешено для блока цветности, имеющего размер 4 x N или 4 x (N/2), и блока яркости, имеющего размер 8 x N, при этом блок цветности и блок яркости не кодируются с помощью внутрикадрового режима.
9. Способ по п. 5, в котором для узла дерева кодирования M x N с вертикальным разделением троичного дерева (TT) вертикальное разделение TT запрещено для блока цветности, имеющего размер 8 x N или 8 x (N/2), но разрешен блок яркости размером 16 x N.
10. Способ по п. 5, в котором для узла дерева кодирования M x N с вертикальным разделением троичного дерева (TT) вертикальное разделение TT запрещено для блока цветности, имеющего размер 8 x N или 8 x (N/2).
11. Способ по п. 5, в котором для узла дерева кодирования M x N с вертикальным разделением троичного дерева (TT) вертикальное разделение TT разрешено для блока цветности, имеющего размер 8 x N или 8 x (N/2), и блока яркости, имеющего размер 16 x N, при этом блок цветности и блок яркости не кодируются с помощью внутрикадрового режима.
12. Способ обработки видео, содержащий: определение, для преобразования между видеообластью видео и кодированным представлением видео, относительно того, чтобы использовать режим объединенного межкадрового-внутрикадрового предсказания (CIIP) в качестве внутрикадрового режима или межкадрового режима в соответствии с правилом; и выполнение преобразования на основе определения, при этом режим CIIP включает в себя объединение сигнала внутрикадрового предсказания и сигнала межкадрового предсказания с использованием взвешенных коэффициентов.
13. Способ по п. 12, в котором правило указывает использовать режим CIIP в качестве внутрикадрового режима из-за двойного древовидного разделения, используемого в видеообласти.
14. Способ по п. 12, в котором правило указывает использовать режим CIIP в качестве межкадрового режима.
15. Способ по п. 14, в котором правило указывает запретить режим CIIP из-за блока цветности, имеющего ширину, равную M.
16. Способ по п. 12, в котором правило указывает ограничить режимы внутрикадрового предсказания для блока цветности, кодированного с помощью режима CIIP, внутрикадровым режимом.
17. Способ по п. 16, в котором режимы внутрикадрового предсказания включают в себя режим intra_DC, intra_angular18 или intra_angular50.
18. Способ по п. 16, в котором ширина блока цветности равна 2.
19. Способ обработки видео, содержащий: выполнение преобразования между блоком цветности видео и кодированным представлением видео, причем блок цветности представлен в кодированном представлении с использованием режима внутрикадрового кодирования в соответствии с правилом размера; при этом правило размера указывает то, что режим внутрикадрового кодирования относится к первому набору типов режима внутрикадрового кодирования в том случае, если ширина блока цветности равна M, или высота блока цветности равна N, где M и N являются целыми числами; в противном случае режим внутрикадрового кодирования относится ко второму набору типов режима внутрикадрового кодирования.
20. Способ по п. 19, в котором М=2, или N=2.
21. Способ по п. 19 или 20, в котором первый набор типов режима внутрикадрового кодирования является поднабором всех разрешенных типов режима внутрикадрового кодирования при преобразовании.
22. Способ по п. 19 или 20, в котором первый набор типов режима внутрикадрового кодирования соответствует режиму INTRA_DC.
23. Способ по п. 19 или 20, в котором первый набор типов режима внутрикадрового кодирования соответствует режиму INTRA_PLANAR.
24. Способ по п. 19 или 20, в котором первый набор типов режима внутрикадрового кодирования соответствует режиму INTRA_ANGULAR18.
25. Способ по п. 19 или 20, в котором первый набор типов режима внутрикадрового кодирования соответствует режиму INTRA_ANGULAR50.
26. Способ по п. 19 или 20, в котором правило указывает то, что режим CCLM, который использует линейный режим для получения значений предсказания компонента цветности из другого компонента, запрещен.
27. Способ обработки видео, содержащий: выполнение преобразования между блоком цветности видео и кодированным представлением видео, причем блок цветности представлен в кодированном представлении с использованием типа преобразования в соответствии с правилом; при этом правило указывает то, что тип преобразования относится к первому набору типов преобразования в том случае, если ширина блока цветности равна M, или высота блока цветности равна N, где M и N являются целыми числами; в противном случае тип преобразования относится ко второму набору типов преобразования.
28. Способ по п. 27, в котором M равно 2 или N равно 2.
29. Способ по любому из пп. 1–11, 15, 19–28, в котором M и/или N заданы или просигнализированы.
30. Способ по п. 29, в котором M и/или N зависят от цветового формата видеообласти.
31. Способ по любому из пп. 1-30, в котором преобразование включает в себя кодирование видео в кодированном представлении.
32. Способ по любому из пп. 1-30, в котором преобразование включает в себя декодирование кодированного представления для создания видео.
33. Устройство обработки видео, содержащее процессор, выполненный с возможностью реализации способа по любому одному или нескольким пп. 1-32.
34. Машиночитаемый носитель информации, хранящий код программы, который при его исполнении предписывает процессору реализовать способ по любому одному или нескольким из пп. 1-32.
Четвертый набор пунктов описывает определенные функции и аспекты раскрытых способов, представленных в предыдущем разделе, например, примерные реализации 4-9 и 13.
1. Способ обработки видео, содержащий: выполнение преобразования между видео, содержащим видеообласть, имеющую один или несколько блоков яркости и один или несколько блоков цветности, и кодированным представлением видео в соответствии с правилом, причем правило указывает то, что использование режима внутриблочного копирования (IBC) доступно для одного или нескольких блоков яркости и одного или нескольких блоков цветности, имеющих размер блока M x N, для всех значений M и N, где M и N являются целыми числами; причем при использовании режима IBC видеоблок кодируется с использованием по меньшей мере блочного вектора, указывающего на видеокадр, содержащий видеоблок.
2. Способ по п. 1, в котором правило указывает то, что блок яркости имеет размер 8 x 4, 8 x 8, 16 x 4 или 4 x N.
3. Способ по п. 2, в котором блок яркости имеет тип режима, который представляет собой MODE_TYPE_INTRA, что указывает на применимость внутрикадрового режима, режима IBC и режима палитры.
4. Способ по п. 1, в котором правило указывает, что блок цветности имеет тип режима, который представляет собой MODE_TYPE_INTRA, что указывает на применимость внутрикадрового режима, режима IBC и режима палитры.
5. Способ обработки видео, содержащий: выполнение преобразования между видеоблоком видео и кодированным представлением видеоблока, причем кодированное представление соответствует правилу форматирования, при этом правило форматирования определяет выборочное включение синтаксического элемента, указывающего на использование режима внутриблочного копирования (IBC) в кодированном представлении на основе типа режима видеоблока, причем режим IBC включает в себя кодирование видеоблока с использованием по меньшей мере блочного вектора, указывающего на видеокадр, содержащий видеоблок.
6. Способ по п. 5, в котором правило форматирования указывает то, чтобы явно просигнализировать синтаксический элемент для видеоблока, не кодированного с использованием режима пропуска, в случае, если тип дерева видеоблока не равен DUAL_TREE_CHROMA, и то, что тип режима видеоблока равен MODE_TYPE_INTRA, что указывает на применимость внутрикадрового режима, режима IBC и режима палитры.
7. Способ по п. 5, в котором правило форматирования определяет вывод синтаксического элемента на основе флага пропуска и типа режима видеоблока.
8. Способ по п. 7, в котором правило форматирования указывает то, что синтаксический элемент получается равным 1 для видеоблока, кодированного с использованием режима пропуска, в случае, если тип режима видеоблока равен MODE_TYPE_INTRA, что указывает на применимость внутрикадрового режима, режима IBC и режима палитры.
9. Способ обработки видео, содержащий: выполнение преобразования между видеоблоком видео и кодированным представлением видеоблока, причем кодированное представление соответствует правилу форматирования, при этом правило форматирования указывает то, что синтаксический элемент, указывающий на использование режима палитры включается в кодированное представление независимо от типа режима видеоблока, причем режим палитры включает в себя кодирование видеоблока с использованием палитры значений репрезентативных выборок.
10. Способ по п. 9, в котором правило форматирования указывает явную сигнализацию на основе по меньшей мере одного из типа слайса, размера блока или режима предсказания видеоблока.
11. Способ по п. 9, в котором правило форматирования указывает то, что синтаксический элемент получается равным 0 в случае, если тип режима видеоблока равен MODE_TYPE_INTER, что указывает на применимость только режима межкадрового кодирования, или MODE_TYPE_INTRA, что указывает на применимость внутрикадрового режима, режима IBC и режима палитры.
12. Способ обработки видео, содержащий: определение, для преобразования между видеообластью видео и кодированным представлением видео на основе правила, того, что использование режима внутриблочного копирования (IBC) разрешено для видеообласти.; и выполнение преобразования на основе определения, причем режим IBC включает в себя кодирование видеообласти с использованием по меньшей мере блочного вектора, указывающего на видеокадр, содержащий видеообласть.
13. Способ по п. 12, в котором правило указывает то, что режим IBC разрешен в случае, если тип режима видеообласти равен MODE_TYPE_INTER, что указывает на применимость только режима межкадрового кодирования.
14. Способ по п. 12, в котором правило указывает то, что режим IBC запрещен для блока цветности в случае, если тип режима видеообласти равен MODE_TYPE INTRA, что указывает на применимость внутрикадрового режима, режима IBC и режима палитры.
15. Способ по п. 12, в котором правило указывает то, что режим IBC разрешен в случае, если тип режима равен MODE_TYPE INTER, указывающему на применимость только режима межкадрового кодирования, или MODE_TYPE INTRA, указывающему на применимость внутрикадрового режима, режима IBC и режима палитры.
16. Способ по п. 12, в котором правило указывает то, что режим IBC разрешен независимо от типа режима видеообласти.
17. Способ по п. 12, в котором режим IBC и межкадровый режим разрешены в пределах наименьшего блока внутрикадрового предсказания цветности (SCIPU), определенного для ограничения размера блока цветности.
18. Способ по п. 12, в котором блок цветности, кодированный с использованием режима IBC, имеет размер, соответствующий размеру блока яркости, соответствующему блоку цветности.
19. Способ по п. 12, в котором сигнализация синтаксического элемента, указывающего на использование режима IBC, пропускается, и синтаксический элемент получается равным 1 в случае, если тип режима видеообласти равен MODE_TYPE INTER, что указывает на применимость только режима межкадрового предсказания и на то, что область видео соответствует блоку яркости 4x4.
20. Способ обработки видео, содержащий: определение, для преобразования между видеообластью видео и кодированным представлением видео на основе правила, того, разрешено ли использование режима палитры для видеообласти; и выполнение преобразования на основе определения, причем правило основано на типе режима кодирования видеообласти или цветовом типе видеообласти; при этом режим палитры включает в себя кодирование видеообласти с использованием палитры значений репрезентативных отсчетов.
21. Способ по п. 20, в котором правило указывает то, что режим палитры разрешен в случае, если тип режима видеообласти равен MODE_TYPE_INTER, что указывает на применимость только режима межкадрового кодирования.
22. Способ по п. 20, в котором правило указывает, что режим палитры запрещен для блока цветности в случае, если тип режима видеообласти равен MODE_TYPE INTRA, что указывает на применимость внутрикадрового режима, режима IBC и режима палитры, при этом режим IBC включает в себя кодирование видеообласти с использованием по меньшей мере блочного вектора, указывающего на видеокадр, содержащий видеообласть.
23. Способ по п. 20, в котором правило указывает, что режим палитры разрешен в случае, если тип режима равен MODE_TYPE INTER, указывающему на применимость только режима межкадрового кодирования, или MODE_TYPE INTRA, указывающему на применимость внутрикадрового режима, режима IBC, и режима палитры, при этом режим IBC включает в себя кодирование видеообласти с использованием по меньшей мере блочного вектора, указывающего на видеокадр, содержащий видеообласть.
24. Способ по п. 20, в котором правило указывает то, что режим палитры разрешен независимо от типа режима видеообласти.
25. Способ по п. 20, в котором режим палитры и межкадровый режим разрешены в пределах наименьшего блока внутрикадрового предсказания цветности (SCIPU), определенного для ограничения размера блока цветности.
26. Способ по п. 20, в котором все режимы палитры, режим IBC и межкадровый режим разрешены в пределах наименьшего блока внутрикадрового предсказания цветности (SCIPU), определенного для ограничения размера блока цветности, при этом режим IBC включает в себя кодирование видеообласти с использованием по меньшей мере блочного вектора, указывающего на видеокадр, содержащий видеообласть.
27. Способ по п. 20, в котором блок цветности, кодированный с использованием режима палитры, имеет размер, соответствующий размеру блока яркости, соответствующему блоку цветности.
28. Способ по п. 20, в котором сигнализация синтаксического элемента, указывающего на использование режима палитры, пропускается, и синтаксический элемент выводится равным 1 в случае, если тип режима видеообласти равен MODE_TYPE INTER, что указывает на применимость только режима межкадрового предсказания и что область видео соответствует блоку яркости 4x4.
29. Способ по п. 20, в котором синтаксический элемент, указывающий на использование режима палитры или режима IBC, включается в кодированное представление в случае, если 1) тип режима видеообласти равен MODE_TYPE INTER, указывающему на применимость только режима межкадрового кодирования, 2) видеообласть соответствует блоку яркости 4x4, при этом режим IBC включает в себя кодирование видеообласти с использованием по меньшей мере блочного вектора, указывающего на видеокадр, содержащий видеообласть.
30. Способ по любому из пп. 1-4, в котором M и/или N заданы или сигнализируются.
31. Способ по п. 30, в котором M и/или N зависят от цветового формата видеообласти.
32. Способ по любому из пп. 1-31, в котором выполнение преобразования включает в себя выработку кодированного представления из видео.
33. Способ по любому из пп. 1-31, в котором выполнение преобразования включает в себя выработку видео из кодированного представления.
34. Устройство обработки видео, содержащее процессор, выполненный с возможностью реализации способа по любому одному или нескольким пп. 1-33.
35. Машиночитаемый носитель информации, хранящий код программы, который при его исполнении предписывает процессору реализовать способ по любому одному или нескольким из пп. 1-33.
Раскрытые и другие решения, примеры, варианты осуществления, модули и функциональные операции, описанные в данном документе, могут быть реализованы в цифровых электронных схемах или в компьютерном программном обеспечении, встроенном программном обеспечении или аппаратных средствах, включая структуры, раскрытые в данном документе и их структурных эквивалентах, либо в комбинации одного или нескольких из них. Раскрытые и другие варианты осуществления могут быть реализованы в виде одного или нескольких компьютерных программных продуктов, то есть в виде одного или нескольких модулей компьютерных программных инструкций, закодированных на машиночитаемом носителе информации, для выполнения или для управления работой устройства обработки данных. Машиночитаемый носитель информации может быть машиночитаемым запоминающим устройством, машиночитаемым запоминающим носителем информации, запоминающим устройством, смесью веществ, воздействующей на машиночитаемый распространяющийся сигнал, или комбинацией одного или нескольких из них. Термин «устройство обработки данных» охватывает все аппаратные устройства, устройства и машины для обработки данных, включая, например, программируемый процессор, компьютер или несколько процессоров или компьютеров. Устройство может включать в себя, помимо аппаратного обеспечения, код, который создает среду выполнения для рассматриваемой компьютерной программы, например, код, который составляет микропрограммное обеспечение процессора, стек протоколов, систему управления базой данных, операционную систему или комбинацию из одного или большего их количества. Распространяющийся сигнал представляет собой искусственно выработанный сигнал, например, выработанный с помощью машины, электрический, оптический или электромагнитный сигнал, который вырабатывается для кодирования информации для передачи в подходящее приемное устройство.
Компьютерная программа (также известная как программа, программное обеспечение, программное приложение, программный модуль, сценарий или код) может быть написана на языке программирования любого вида, включая компилированные или интерпретируемые языки, и может быть развернута в любом виде, в том числе как автономная программа или как модуль, компонент, подпрограмма или другая единица, подходящая для использования в вычислительной среде. Компьютерная программа не обязательно соответствует файлу в файловой системе. Программа может храниться в части файла, который содержит другие программы или данные (например, один или несколько сценариев, хранящихся в документе на языке разметки), в одном файле, выделенном для рассматриваемой программы, или в нескольких скоординированных файлах (например, файлах, в которых хранятся один или несколько модулей, подпрограмм или частей кодa). Компьютерная программа может быть развернута для исполнения на одном компьютере или на нескольких компьютерах, которые расположены на одном сайте или распределены по нескольким сайтам и связаны между собой сетью связи.
Процессы и логические потоки, описанные в данном документе, могут выполняться одним или несколькими программируемыми процессорами, исполняющими одну или более компьютерных программ для выполнения функций, оперируя входными данными и вырабатывая выходные данные. Процессы и логические потоки также могут выполняться с помощью, и устройство может быть реализовано также в виде логической схемы специального назначения, например, программируемой пользователем вентильной матрицы (FPGA) или специализированной интегральной схемы (ASIC).
Процессоры, подходящие для выполнения компьютерной программы, включают в себя, например, микропроцессоры как общего, так и специального назначения, а также любой один или более процессоров любого типа цифрового компьютера. В общем, процессор будет принимать инструкции и данные из постоянного запоминающего устройства, оперативного запоминающего устройства или того и другого. Существенными элементами компьютера являются процессор, предназначенный для выполнения инструкций, и одно или более запоминающих устройств для хранения инструкций и данных. Как правило, компьютер также будет включать в себя или будет функционально подключенным для приема данных из или передачи данных в, или и того и другого, одно или более устройств массовой памяти для хранения данных, например, магнитные диски, магнитооптические диски или оптические диски. Однако компьютер необязательно должен иметь такие устройства. Машиночитаемые носители информации, подходящие для хранения инструкций компьютерных программ и данных, включают в себя все виды энергонезависимой памяти, носителей информации и запоминающих устройств, в том числе, например, полупроводниковые запоминающие устройства, например, EPROM, EEPROM и устройства флэш-памяти; магнитные диски, например, внутренние жесткие диски или съемные диски; магнитооптические диски; и диски CD-ROM и DVD-ROM. Процессор и память могут быть дополнены специальной логической схемой или включены в нее.
Хотя данный патентный документ содержит много конкретных деталей, таковые не должны толковаться в качестве ограничений на объем какого бы то ни было предмета изобретения или на объем того, что может быть заявлено в формуле изобретения, но скорее в качестве описаний признаков, которые могут быть характерны для конкретных реализаций конкретных технологий. Некоторые признаки, которые описаны в данном патентном документе в контексте отдельных вариантов осуществления, могут быть также реализованы в комбинации в одном варианте осуществления. И наоборот, различные признаки, которые описаны в контексте одного варианта осуществления, могут быть также реализованы в многочисленных вариантах осуществления по отдельности или в любой подходящей подкомбинации. Более того, хотя признаки могут быть описаны выше как действующие в определенных комбинациях и даже первоначально заявленные как таковые, один или несколько признаков заявленной комбинации в некоторых случаях могут быть исключены из комбинации, и заявленная комбинация может быть направлена на подкомбинацию или вариацию подкомбинации.
Аналогичным образом, хотя операции изображены на чертежах в определенном порядке, это не следует понимать как требование, чтобы такие операции выполнялись в конкретном показанном порядке или в последовательном порядке, или чтобы все проиллюстрированные операции выполнялись для достижения желаемых результатов. Более того, разбиение различных компонентов системы в вариантах осуществления, описанных в данном патентном документе, не следует понимать как требующее такого разбиения во всех вариантах осуществления.
Выше было описано только несколько реализаций и примеров, и другие реализации, улучшения и изменения могут быть сделаны на основе того, что описано и проиллюстрировано в данном патентном документе.
название | год | авторы | номер документа |
---|---|---|---|
ОГРАНИЧЕНИЕ РАЗМЕРА НА ОСНОВЕ ВНУТРИКАДРОВОГО РЕЖИМА ЦВЕТНОСТИ | 2020 |
|
RU2807441C2 |
СПОСОБ ОПРЕДЕЛЕНИЯ РЕЖИМА КОДИРОВАНИЯ НА ОСНОВЕ ЦВЕТОВОГО ФОРМАТА | 2020 |
|
RU2816857C2 |
СПОСОБ КОНТЕКСТНО-ЗАВИСИМОГО КОДИРОВАНИЯ ДЛЯ РЕЖИМА С ПРОПУСКОМ ПРЕОБРАЗОВАНИЯ | 2020 |
|
RU2817139C2 |
ОПРЕДЕЛЕНИЕ РЕЖИМА РАЗДЕЛЕНИЯ ИЗОБРАЖЕНИЯ НА ОСНОВЕ РАЗМЕРА БЛОКА | 2020 |
|
RU2815443C2 |
СИГНАЛИЗАЦИЯ, ЗАВИСИМАЯ ОТ ПОДИЗОБРАЖЕНИЯ, В БИТОВЫХ ПОТОКАХ ВИДЕО | 2020 |
|
RU2820844C2 |
СОВМЕСТНОЕ КОДИРОВАНИЕ ИНДИКАЦИИ ИСПОЛЬЗОВАНИЯ РЕЖИМА ПАЛИТРЫ | 2020 |
|
RU2810950C2 |
КОДЕР, ДЕКОДЕР И СООТВЕТСТВУЮЩИЕ СПОСОБЫ, ОТНОСЯЩИЕСЯ К РЕЖИМУ ВНУТРИКАДРОВОГО ПРЕДСКАЗАНИЯ | 2020 |
|
RU2801112C1 |
НЕЗАВИСИМОЕ КОДИРОВАНИЕ ИНДИКАЦИИ ИСПОЛЬЗОВАНИЯ РЕЖИМА ПАЛИТРЫ | 2020 |
|
RU2816845C2 |
СПОСОБ УПРАВЛЕНИЯ БУФЕРОМ ДЛЯ РЕЖИМА ВНУТРИКАДРОВОГО КОПИРОВАНИЯ БЛОКОВ ПРИ КОДИРОВАНИИ ВИДЕО | 2020 |
|
RU2811022C2 |
ОПРЕДЕЛЕНИЕ РЕЖИМА КОДИРОВАНИЯ ЦВЕТНОСТИ НА ОСНОВЕ ВНУТРИКАДРОВОГО ПРЕДСКАЗАНИЯ НА ОСНОВЕ МАТРИЦЫ | 2020 |
|
RU2815738C2 |
Изобретение относится к средствам обработки видеоданных. Технический результат - повышение качества распакованных или декодированных цифровых видео или изображений. Определяют, для преобразования между узлом дерева кодирования видео и битовым потоком видео, схему для разделения родительского блока яркости узла дерева кодирования и родительского блока цветности узла дерева кодирования и для предсказания одного или более блоков яркости по указанному родительскому блоку яркости и одного или более блоков цветности по указанному родительскому блоку цветности. Выполняют преобразование согласно указанной схеме, при этом первая схема применяется к узлу дерева кодирования для первого цветового формата, а вторая схема, отличная от первой схемы, применяется к узлу дерева кодирования для второго цветового формата, отличного от первого цветового формата, в случае, когда узел дерева кодирования удовлетворяет заданному условию, относящемуся к размеру родительского блока яркости, и во второй схеме для узла дерева кодирования с типом слайса, представляющим собой слайс I, с цветовым форматом 4:2:0 и с родительским блоком яркости, имеющим заданный размер M×N, родительский блок яркости разрешено разделить на два или более блоков яркости с горизонтальным разделением двоичного дерева (BT) или вертикальным разделением BT, а родительский блок цветности узла дерева кодирования запрещено разделять горизонтальным разделением BT или вертикальным разделением BT, при этом тип режима указанных двух или более блоков яркости установлен на MODE_TYPE_INTRA или MODE_TYPE_INTER, где M и N – положительные целые числа. 4 н. и 14 з.п. ф-лы, 27 ил., 6 табл.
1. Способ обработки видеоданных, содержащий этапы, на которых:
определяют, для преобразования между узлом дерева кодирования видео и битовым потоком видео, схему для разделения родительского блока яркости узла дерева кодирования и родительского блока цветности узла дерева кодирования и для предсказания одного или более блоков яркости по указанному родительскому блоку яркости и одного или более блоков цветности по указанному родительскому блоку цветности; и
выполняют преобразование согласно указанной схеме,
при этом первая схема применяется к узлу дерева кодирования для первого цветового формата, а
вторая схема, отличная от первой схемы, применяется к узлу дерева кодирования для второго цветового формата, отличного от первого цветового формата, в случае, когда узел дерева кодирования удовлетворяет заданному условию, относящемуся к размеру родительского блока яркости, и
во второй схеме для узла дерева кодирования с типом слайса, представляющим собой слайс I, с цветовым форматом 4:2:0 и с родительским блоком яркости, имеющим заданный размер M×N, родительский блок яркости разрешено разделить на два или более блоков яркости с горизонтальным разделением двоичного дерева (BT) или вертикальным разделением BT, а родительский блок цветности узла дерева кодирования запрещено разделять горизонтальным разделением BT или вертикальным разделением BT,
при этом тип режима указанных двух или более блоков яркости установлен на MODE_TYPE_INTRA или MODE_TYPE_INTER,
где M и N – положительные целые числа.
2. Способ по п. 1, в котором первый цветовой формат представляет собой цветовой формат 4:0:0 или цветовой формат 4:4:4, а второй цветовой формат представляет собой цветовой формат 4:2:0 или цветовой формат 4:2:2.
3. Способ по п. 2, в котором первая схема и вторая схема имеют разные ограничения на типы режимов одного или более блоков яркости и одного или более блоков цветности.
4. Способ по п. 2, в котором в первой схеме типы режимов указанного одного или более блоков яркости и указанного одного или более блоков цветности представляют собой MODE_TYPE_ALL, а
во второй схеме типы режимов указанного одного или более блоков яркости и указанного одного или более блоков цветности представляют собой MODE_TYPE_INTRA или MODE_TYPE_INTER.
5. Способ по п. 2, в котором в первой схеме одна и та же схема разделения используется для разделения родительского блока цветности и родительского блока яркости, а
во второй схеме, в случае, если тип режима родительского блока цветности представляет собой MODE_TYPE_INTRA, используются разные схемы разделения для разделения родительского блока цветности и родительского блока яркости.
6. Способ по п. 5, в котором во второй схеме не допускается разделение родительского блока цветности, и тип дерева родительского блока цветности устанавливается равным DUAL_TREE_CHROMA.
7. Способ по п. 2, в котором во второй схеме, в случае, если тип режима родительского блока цветности равен MODE_TYPE_INTRA, ограничения на размер родительского блока цветности являются одинаковыми для цветового формата 4:2:0 и цветового формата 4:2:2, причем ограничения состоят в том, что ширина и высота родительского блока цветности составляют не менее 4.
8. Способ по п. 1, в котором заданное условие дополнительно относится к типу разделения родительского блока яркости.
9. Способ по п. 1, в котором во второй схеме для узла дерева кодирования с типом слайса, представляющим собой I слайс, с цветовым форматом 4:2:2 и с родительским блоком яркости, имеющим заданный размер M×N, родительский блок яркости и родительский блок цветности узла дерева кодирования разрешено разделять на два или более блоков яркости и на два или более блоков цветности горизонтальным разделением BT или вертикальным разделением BT,
при этом типы режимов указанных двух или более блоков яркости и указанных двух или более блоков цветности установлены на MODE_TYPE_ALL.
10. Способ по п. 9, в котором M×N=64.
11. Способ по п. 1, в котором во второй схеме для узла дерева кодирования с типом слайса, представляющим собой слайс I, с цветовым форматом 4:2:0 и с родительским блоком яркости, имеющим заданный размер PxQ, родительский блок яркости разрешено разделять на два или более блоков яркости горизонтальным разделением троичного дерева (TT) или вертикальным разделением TT, а родительский блок цветности узла дерева кодирования не может быть разделен горизонтальным разделением ТТ или вертикальным разделением ТТ,
при этом типы режимов указанных двух блоков яркости и указанного родительского блока цветности установлены на MODE_TYPE_INTRA или MODE_TYPE_INTER,
где P и Q – положительные целые числа, причем P×Q = 128.
12. Способ по п. 1, в котором во второй схеме для узла дерева кодирования с типом слайса, представляющим собой слайс I, с цветовым форматом 4:2:2 и с родительским блоком яркости, имеющим заданный размер P×Q, родительский блок яркости и родительский блок цветности узла дерева кодирования разрешено разделять на два или более блоков яркости и на два или более блоков цветности горизонтальным разделением TT или вертикальным разделением TT,
при этом типы режимов указанных двух или более блоков яркости и указанных двух или более блоков цветности установлены на MODE_TYPE_ALL, где P и Q – положительные целые числа.
13. Способ по п. 12, в котором P×Q=128.
14. Способ по п. 1, в котором на этапе выполнения преобразования кодируют видео в битовый поток.
15. Способ по п. 1, в котором на этапе выполнения преобразования декодируют видео из битового потока.
16. Устройство для обработки видеоданных, содержащее процессор и энергонезависимую память с хранящимися на ней инструкциями, причем инструкции при их исполнении процессором вызывают выполнение процессором:
определения, для преобразования между узлом дерева кодирования видео и битовым потоком видео, схемы для разделения родительского блока яркости узла дерева кодирования на один или более блоков яркости одним или более разделениями, для разделения родительского блока цветности узла дерева кодирования на один или более блоков цветности одним или более разделениями и для предсказания указанного одного или более блоков яркости и указанного одного или более блоков цветности; и
выполнения преобразования согласно указанной схеме,
причем первая схема применяется к узлу дерева кодирования для первого цветового формата, а
вторая схема, отличная от первой схемы, применяется к узлу дерева кодирования для второго цветового формата, отличного от первого цветового формата, в случае, когда узел дерева кодирования удовлетворяет заданному условию, относящемуся к размеру родительского блока яркости, и
во второй схеме для узла дерева кодирования с типом слайса, представляющим собой слайс I, с цветовым форматом 4:2:0 и с родительским блоком яркости, имеющим заданный размер M×N, родительский блок яркости разрешено разделить на два или более блоков яркости с горизонтальным разделением двоичного дерева (BT) или вертикальным разделением BT, а родительский блок цветности узла дерева кодирования запрещено разделять горизонтальным разделением BT или вертикальным разделением BT,
при этом тип режима указанных двух или более блоков яркости установлен на MODE_TYPE_INTRA или MODE_TYPE_INTER,
где M и N – положительные целые числа.
17. Энергонезависимый машиночитаемый носитель информации, хранящий инструкции, которые вызывают выполнение процессором:
определения, для преобразования между узлом дерева кодирования видео и битовым потоком видео, схемы для разделения родительского блока яркости узла дерева кодирования на один или более блоков яркости одним или более разделениями, для разделения родительского блока цветности узла дерева кодирования на один или более блоков цветности одним или более разделениями и для предсказания указанного одного или более блоков яркости и указанного одного или более блоков цветности; и
выполнения преобразования согласно указанной схеме,
причем первая схема применяется к узлу дерева кодирования для первого цветового формата, а
вторая схема, отличная от первой схемы, применяется к узлу дерева кодирования для второго цветового формата, отличного от первого цветового формата, в случае, когда узел дерева кодирования удовлетворяет заданному условию, относящемуся к размеру родительского блока яркости, и
во второй схеме для узла дерева кодирования с типом слайса, представляющим собой слайс I, с цветовым форматом 4:2:0 и с родительским блоком яркости, имеющим заданный размер M×N, родительский блок яркости разрешено разделить на два или более блоков яркости с горизонтальным разделением двоичного дерева (BT) или вертикальным разделением BT, а родительский блок цветности узла дерева кодирования запрещено разделять горизонтальным разделением BT или вертикальным разделением BT,
при этом тип режима указанных двух или более блоков яркости установлен на MODE_TYPE_INTRA или MODE_TYPE_INTER,
где M и N – положительные целые числа.
18. Способ сохранения битового потока видео, содержащий этапы, на которых:
определяют, для узла дерева кодирования видео, схему для разделения родительского блока яркости узла дерева кодирования на один или более блоков яркости одним или более разделениями, для разделения родительского блока цветности узла дерева кодирования на один или более блоков цветности одним или более разделениями и для предсказания указанного одного или более блоков яркости и указанного одного или более блоков цветности;
вырабатывают битовый поток согласно указанной схеме; и
сохраняют битовый поток видео на энергонезависимом машиночитаемом носителе информации,
причем первая схема применяется к узлу дерева кодирования для первого цветового формата, а
вторая схема, отличная от первой схемы, применяется к узлу дерева кодирования для второго цветового формата, отличного от первого цветового формата, в случае, когда узел дерева кодирования удовлетворяет заданному условию, относящемуся к размеру родительского блока яркости, и
во второй схеме для узла дерева кодирования с типом слайса, представляющим собой слайс I, с цветовым форматом 4:2:0 и с родительским блоком яркости, имеющим заданный размер M×N, родительский блок яркости разрешено разделить на два или более блоков яркости с горизонтальным разделением двоичного дерева (BT) или вертикальным разделением BT, а родительский блок цветности узла дерева кодирования запрещено разделять горизонтальным разделением BT или вертикальным разделением BT,
при этом тип режима указанных двух или более блоков яркости установлен на MODE_TYPE_INTRA или MODE_TYPE_INTER,
где M и N – положительные целые числа.
Zhi-Yi Lin et al, CE3-2.1.1 and CE3-2.1.2: Removing 2x2, 2x4, and 4x2 chroma CBs, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 15th Meeting: Gothenburg, SE, 3-12 July 2019, [Найдено 25.04.2023] в Интернет URL http://phenix.int-evry.fr/jvet/doc_end_user/documents/15_Gothenburg/wg11/JVET-O0050-v4.zip, |
Авторы
Даты
2024-01-15—Публикация
2020-08-06—Подача