RU2806548C2 - Способ импульсно-кодовой модуляции для обработки видео - Google Patents

Способ импульсно-кодовой модуляции для обработки видео Download PDF

Info

Publication number
RU2806548C2
RU2806548C2 RU2021116881A RU2021116881A RU2806548C2 RU 2806548 C2 RU2806548 C2 RU 2806548C2 RU 2021116881 A RU2021116881 A RU 2021116881A RU 2021116881 A RU2021116881 A RU 2021116881A RU 2806548 C2 RU2806548 C2 RU 2806548C2
Authority
RU
Russia
Prior art keywords
indication
video
pcm
mode
block
Prior art date
Application number
RU2021116881A
Other languages
English (en)
Other versions
RU2021116881A (ru
Inventor
Ли ЧЖАН
Кай Чжан
Хунбинь Лю
Цзичжэн СЮЙ
Юэ Ван
Original Assignee
Бейджин Байтдэнс Нетворк Текнолоджи Ко., Лтд.
Байтдэнс Инк.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Бейджин Байтдэнс Нетворк Текнолоджи Ко., Лтд., Байтдэнс Инк. filed Critical Бейджин Байтдэнс Нетворк Текнолоджи Ко., Лтд.
Publication of RU2021116881A publication Critical patent/RU2021116881A/ru
Application granted granted Critical
Publication of RU2806548C2 publication Critical patent/RU2806548C2/ru

Links

Abstract

Изобретение относится к области кодирования и декодирования изображений и видео. Технический результат заключается в повышении эффективности кодирования. Это достигается за счёт того, что определяют, для текущего блока видео, что активизирован по меньшей мере один из первого режима кодирования, в котором используется импульсно-кодовая модуляция (ИКМ), и второго режима кодирования, в котором используется внутрикадровое прогнозирование на основе множества опорных строк, и выполняют, на основе первого режима кодирования или второго режима кодирования, преобразование между текущим блоком и представлением видео в виде потока битов данных, причем первое указание, указывающее использовать первый режим кодирования, и/или второе указание, указывающее использовать второй режим кодирования, включены в представление в виде потока битов данных согласно правилу упорядочения. 4 н. и 11 з.п. ф-лы, 28 ил., 2 табл.

Description

Область техники, к которой относится изобретение
Настоящий патентный документ относится к области кодирования и декодирования изображений и видео.
Уровень техники
В сети Интернет и в других цифровых сетях связи применяются цифровые видео аккаунты для обеспечения работы в наиболее широкой полосе частот. Поскольку число присоединенных пользовательских устройств, способных принимать и представлять видео на дисплее, увеличивается, можно ожидать, что требования к ширине полосы частот будут продолжать расти.
Раскрытие сущности изобретения
Предлагаемая технология может быть использована в различных вариантах устройств видео декодирования или видео кодирования в процессе декодирования или кодирования видео с применением кодирования видео и изображений с внутрикадровым прогнозированием, где используются несколько опорных строк.
В одном из примеров вариантов предложен способ обработки видео. Этот способ содержит определение, для текущего блока видео, что активизировано использование по меньшей мере одного из режимов – первого режима кодирования, в котором применяется импульсно-кодовая модуляция (ИКМ (pulse code modulation (PCM))), или второго режима кодирования, в котором применяются внутрикадровое прогнозирование на основе нескольких опорных строк (multiple reference line based intra prediction (MRLIP)); и осуществление, на основе первого режима кодирования и второго режима кодирования, преобразования между текущим блоком и представлением рассматриваемого видео в форме потока битов данных, где в это представление в форме потока битов данных в соответствии с правилом упорядочения вставлена первая индикация, указывающая использование первого режима кодирования, и/или вторая индикация, указывающая использование второго режима кодирования.
В другом примере вариантов предложен способ обработки видео. Способ содержит определение, для преобразования между текущим блоком видео и представлением этого видео в форме потока битов данных, на основе представления видео в форме цветовых составляющих, по меньшей мере одного флага, ассоциированного с режимом кодирования, на основе импульсно-кодовой модуляции текущего блока; и осуществление преобразования, на основе этого определения.
Еще в одном другом примере варианта предложен способ обработки видео. Способ содержит осуществление преобразования между текущим блоком видео, находящимся в области видео, и представлением этого видео в форме потока битов данных, где это представление в форме потока битов данных форматируют в соответствии с правилом относительно применимости импульсно-кодовой модуляции (ИКМ (PCM)) к текущему блоку и где это правило указывает, что следует исключить индикацию модуляции ИКМ на уровне текущего блока после определения, что на уровне области видео вставлена индикация отключения ИКМ.
Еще в одном другом примере варианта предложен способ обработки видео. Этот способ содержит принятие решения, на основе размера текущего блока видео, относительно активизации режима кодирования с импульсно-кодовой модуляцией (ИКМ) для текущего блока; и осуществление, на основе этого решения, преобразования между текущим блоком видео и его представлением в форме потока битов данных.
Еще в одном другом примере варианта предложен способ обработки видео. Способ содержит определение, для преобразования между текущим блоком видео и представлением этого видео в форме потока битов данных, минимально допустимой величины для высоты или ширины текущего блока, так что минимально допустимую величину для высоты сообщают посредством сигнализации или выводят отдельно от минимально допустимой величины для ширины; и осуществление преобразования на основе результата этого определения.
Еще в одном другом примере варианта предложен способ обработки видео. Этот способ содержит конфигурирование, в ответ на определение, что в составе представления видео в форме потока битов данных сообщена индикация, что текущий блок видео кодирован в режиме кодирования с импульсно-кодовой модуляцией (ИКМ), представления видео в форме цветовых составляющих; и осуществление, на основе этого конфигурирования, преобразования между текущим блоком видео и его представлением в форме потока битов данных.
Еще в одном другом примере варианта предложен способ обработки видео. Способ содержит определение, для преобразования между текущим блоком видео и его представлением в форме потока битов данных, что отключен широкоугольный режим для преобразования из-за использования режима несоседних опорных строк для преобразования; и осуществление, на основе результата этого определения, преобразования, где режим несоседних опорных строк использует несоседние пиксели из опорной строки видео для преобразования текущего блока, и где широкоугольный режим содержит применение направления внутрикадрового прогнозирования вне угла от 45 градусов до -135 градусов для направления внутрикадрового прогнозирования в режиме с обычным углом.
Еще в одном другом примере варианта предложен способ обработки видео. Способ содержит принятие решения, на основе формата субдискретизации цветовой составляющей видео для преобразования между текущим блоком видео и его представлением в форме потока битов данных, относительно того, активизирован ли режим кодирования с использованием нескольких опорных строк (MRL) для текущего блока, или сигнализация формата индексов одной или нескольких опорных строк используется для режима кодирования MRL; и осуществление преобразования на основе этого решения.
Еще в одном другом примере варианта предложен способ обработки видео. Этот способ содержит выбор, на основе определения, что режим междукадрового-внутрикадрового прогнозирования и режим внутрикадрового прогнозирования на основе нескольких опорных строк (MRLIP) активизированы для текущего блока видео, строки или столбца, являющихся несоседними для текущего блока для процедуры внутрикадрового прогнозирования в режиме междукадрового-внутрикадрового прогнозирования; и осуществление, на основе этой строки или этого столбца, преобразования между текущим блоком видео и его представлением в форме потока битов данных.
Еще в одном другом примере варианта предложен способ обработки видео. Этот способ содержит осуществление, для текущего блока видео, кодированного с использованием режима внутрикадрового прогнозирования на основе нескольких опорных строк (MRLIP), который использует строку, несоседнюю с текущим блоком, преобразования между текущим блоком видео и его представлением в форме потока битов данных, где режим прогнозирования MRLIP далее использует список наиболее вероятных режимов (most probable mode (MPM)), и где процедура осуществления преобразования содержит замену первого режима из списка режимов MPM на второй режим из списка режимов MPM.
Еще в одном другом примере варианта предложен способ обработки видео. Этот способ содержит осуществление, для текущего блока видео, кодированного с применением режима внутрикадрового прогнозирования на основе нескольких опорных строк (MRLIP), использующего строку, несоседнюю с текущим блоком, преобразования между текущим блоком видео и его представлением в форме потока битов данных, где это представление в форме потока битов данных содержит кодированный индекс режима в фиксированном списке кандидатов вместо кодированного индекса режима в списке наиболее вероятных режимов (MPM).
Еще в одном другом примере варианта предложен способ обработки видео. Этот способ содержит определение, для преобразования между текущим блоком видео и представлением этого видео в форме потока битов данных с применением режима кодирования с использованием нескольких опорных строк (MRL), что указанное представление в форме потока битов данных содержит первый индекс, соответствующий расположенным выше строкам, используемым при прогнозировании текущего блока, и второй индекс, соответствующий расположенным слева столбцам, используемым при прогнозировании; и осуществление преобразования на основе результатов этого определения.
Еще в одном другом примере аспекта предложена аппаратура кодирования видео, содержащая процессор, конфигурированный для осуществления описанного выше способа.
Еще в одном другом примере аспекта предложена аппаратура декодирования видео, содержащая процессор, конфигурированный для осуществления описанного выше способа.
Еще в одном другом примере аспекта предложен читаемый компьютером носитель информации. На этом читаемом компьютером носителе информации сохранен код. Когда этот код выполняется процессором, этот процессор осуществляет описанный выше способ.
В настоящем документе описаны эти и другие аспекты.
Краткое описание чертежей
Фиг. 1 показывает пример соседних блоков, используемых в режиме внутрикадрового прогнозирования.
Фиг. 2 показывает пример 67 режимов внутрикадрового прогнозирования.
Фиг. 3 иллюстрирует пример соседних блоков, используемых в процессе построения списка наиболее вероятных режимов (MPM).
Фиг. 4A и 4B показывает примеры опорных отсчетов для широкоугольного внутрикадрового прогнозирования.
Фиг. 5 иллюстрирует пример разрыва непрерывности в случае направлений за пределами 45 градусов.
Фиг. 6A − 6D иллюстрирует примеры отсчетов, используемых при зависящем от положения внутрикадровом прогнозировании.
Фиг. 7 показывает пример опорных строк для использования при внутрикадровом прогнозировании.
Фиг. 8 показывает пример позиций отсчетов, используемых при выводе параметров α и β.
Фиг. 9 показывает пример одного блока цветностной составляющей и соответствующего ему блока яркостной составляющей.
Фиг. 10 показывает пример режимов внутрикадрового прогнозирования с режимами по умолчанию.
Фиг. 11 − 22 представляют логические схемы примеров способов обработки видео.
Фиг. 23 представляет блок-схему примера аппаратной платформы для осуществления способов декодирования визуального медиа или кодирования визуального медиа, описываемых в настоящем документе.
Фиг. 24 представляет блок-схему примера системы обработки видео, в которой могут быть реализованы описываемые способы.
Осуществление изобретения
Настоящий документ предлагает различные способы, которые могут быть использованы устройством декодирования потоков битов данных видео для повышения качества расширенных или декодированных цифровых видео или изображений. Кроме того, устройство кодирования видео также может осуществить эти способы в процессе кодирования с целью восстановления декодированных кадров, используемых для дальнейшего кодирования.
Заголовки разделов используются в настоящем документе для облегчения понимания и никак не ограничивают варианты и способы только соответствующими разделами. Поэтому варианты из одного раздела можно комбинировать с вариантами из других разделов.
1. Введение
Настоящий документ относится к технологиям кодирования видео. В частности, он относится к внутрикадровому прогнозированию и, особенно, к внутрикадровому прогнозированию на основе нескольких опорных строк и импульсно-кодовой модуляции (ИКМ) в процессе кодирования изображений/видео. Это может быть применено к существующему стандарту кодирования видео, такому как высокоэффективное видео кодирование (HEVC) или к стандарту (универсальное видео кодирование (Versatile Video Coding (VVC))), который еще предстоит доработать. Это может быть также применено к стандартам кодирования видео или к видео кодекам будущего.
2. Первоначальные комментарии
Стандарты кодирования видео появились в первую очередь в результате разработки хорошо известных стандартов, выпущенных сектором по стандартизации телекоммуникаций в международном союзе по телекоммуникациям (ITU-T), и стандартов международной организации стандартизации/международной электротехнической комиссии (ISO/IEC). Сектор ITU-T выпустил стандарты H.261 и H.263, а организация ISO/IEC выпустила стандарты MPEG-1 и MPEG-4 Visual, и эти две организации совместно выпустили стандарты H.262/MPEG-2 Video, H.264/MPEG-4 Advanced Video Coding (AVC) (усовершенствованное видео кодирование) и H.265/HEVC. Начиная со стандарта H.262, стандарты кодирования видео основаны на гибридной структуре кодирования видео, в которое используется временное прогнозирование плюс кодирование с преобразованием. Для исследований в области технологий кодирования видео будущего, которые будут разработаны после технологии кодирования HEVC, группа экспертов по кодированию видео (VCEG) и группа экспертов по кинематографии (MPEG) в 2015 г. совместно основали Объединенную группу исследований в области видео (Joint Video Exploration Team (JVET)). С тех пор группа JVET разработала множество способов и ввела их в эталонное программное обеспечение, называемое Совместной исследовательской моделью (Joint Exploration Model (JEM)). В апреле 2018 г. группа VCEG (Q6/16) и отдел ISO/IEC JTC1 SC29/WG11 (MPEG) создали объединенную группу экспертов в области видео (Joint Video Expert Team (JVET)) для работ над стандартом VVC, имея целью добиться снижения требуемой скорости передачи битов данных на 50% по сравнению с кодированием HEVC.
Самую последнюю версию проекта стандарта кодирования VVC, т.е. «Универсальное видео кодирование (Проект 2)» (Versatile Video Coding (Draft 2)) можно найти по ссылке:
http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/11_Ljubljana/wg11/JVET-K1001-v7.zip
Самую последнюю версию эталонного программного обеспечения для кодирования VVC, называемую VTM, можно найти по ссылке:
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-3.0rc1
2.1 Внутрикадровое прогнозирование в стандарте HEVC/H.265
В изображении можно идентифицировать два вида избыточности: 1) Пространственная или временная избыточность, 2) Психо-визуальная избыточность. Для устранения пространственной избыточности применяется процесс прогнозирования. Внутрикадровое прогнозирование представляет собой процесс для прогнозирования пикселей в кадре изображения. Внутрикадровое прогнозирование использует расположенные по соседству пиксели для прогнозирования блока изображения. Прежде применения внутрикадрового прогнозирования кадр должен быть разделен. В стандарте кодирования HEVC, один кадр/срез/плитку можно разделить на несколько единиц дерева кодирования (coding tree unit (CTU)). В зависимости от таких параметров, как сложность текстуры, единицы CTU могут иметь размер: 64×64, 32×32 или 16×16. Единица дерева кодирования (Coding Tree Unit (CTU)) поэтому представляет собой логическую единицу кодирования, которую в свою очередь кодируют, преобразуя в поток битов данных по стандарту HEVC. Он составлен из трех блоков, а именно, блока яркостной составляющей (Y) и блоков двух цветностных составляющих (Cb и Cr). Если принять формат 4:2:0 цветности в качестве примера, яркостная составляющая содержит LxL отсчетов, а каждая цветностная составляющая содержит L/2xL/2 отсчетов. Каждый блок называется блоком дерева кодирования (Coding Tree Block (CTB)). Каждый блок CTB имеет такой же размер (LxL), как единица CTU (64×64, 32×32 или 16×16). Каждый блок CTB может быть многократно разделен в структуре дерева квадратов, от такого же размера, как блок CTB, до меньшего размера, такого как 8×8. Каждый блок, полученный в результате такого разделения, называется блоком кодирования (Coding Block (CB)) и становится точкой принятия решения о типе прогнозирования (межкадровое или внутрикадровое прогнозирование). Тип прогнозирования вместе с другими параметрами кодируют в единице кодирования (Coding Unit (CU)). Таким образом, единица CU является базовой единицей прогнозирования в стандарте кодирования HEVC, где каждую такую единицу прогнозируют на основе ранее кодированных данных. Каждая единица CU состоит из трех блоков CB (Y, Cb и Cr). Блоки CB могут быть слишком большими для сохранения векторов движения в режиме (межкадрового (временного) прогнозирования) или внутрикадрового (пространственного) прогнозирования. Поэтому введено понятие блока прогнозирования (Prediction Block (PB)). Каждый блок CB может быть разделен на блоки PB по-разному в зависимости от временной и/или пространственной прогнозируемости. Единицы CTU могут иметь размер: 32×32,16×16, 8×8 или 4×4.
Имеются два типа режимов внутрикадрового прогнозирования, а именно – режим ИКМ (импульсно-кодовая модуляция) и обычный режим внутрикадрового прогнозирования.
2.1.1 Импульсно-кодовая модуляция (PCM)
В режиме I_PCM пропускают этапы прогнозирования, преобразования, квантования и энтропийного кодирования. Кодирование отсчетов в блоке осуществляется путем прямого представления величин отсчетов без прогнозирования или применения преобразования.
В стандарте кодирования HEVC, режим I_PCM доступен только для единиц PU размером 2Nx2N. Максимальный и минимальный размер единиц CU для режима I_PCM передают в сообщении группы параметров последовательности SPS, легальные размеры единиц CU в режиме I_PCM равны 8x8, 16x16 и 32x32, выбираемые пользователем глубины отсчетов в битах для модуляции ИКМ сообщают в группе SPS параметров по отдельности для яркостной составляющей и для цветностных составляющих.
Принимая яркостные отсчеты в качестве примера, имеем: recSamplesL[ i, j ] = pcm_sample_luma[ ( nS * j ) + i ] << ( BitDepthY – PCMBitDepthY ). Кодирование становится кодированием без потерь, когда PCMBitDepthY=BitDepthY
Конструкция синтаксиса
7.3.2.2.1 Общий синтаксис группы параметров последовательности RBSP
Семантика
Флаг равный 0, специфицирует, что относящийся к модуляции ИКМ синтаксис (синтаксические элементы pcm_sample_bit_depth_luma_minus1, pcm_sample_bit_depth_chroma_minus1, log2_min_pcm_luma_coding_block_size_minus3, log2_diff_max_min_pcm_luma_coding_block_size, pcm_loop_filter_disabled_flag, pcm_flag, pcm_alignment_zero_bit и синтаксическая структура pcm_sample( )) не присутствует в кодированной видео последовательности (CVS).
Примечание 4 – Когда параметр MinCbLog2SizeY равен 6 и флаг pcm_enabled_flag равен 1, синтаксис, относящийся к отсчету данных с модуляцией ИКМ, (синтаксические элементы pcm_flag, pcm_alignment_zero_bit и синтаксическая структура pcm_sample( )) не присутствует в последовательности CVS, поскольку максимальный размер блока кодирования, который может передавать синтаксис, относящийся к отсчету данных с модуляцией ИКМ, ограничен величиной не больше Min(CtbLog2SizeY, 5). Следовательно, равный 6 параметр MinCbLog2SizeY и равный 1 флаг не являются подходящими настройками для передачи данных отсчетов с модуляцией ИКМ в последовательности CVS.
Параметр специфицирует число битов, используемых для представления величины каждого из отсчетов с модуляцией ИКМ для яркостной составляющей следующим образом:
PcmBitDepthY = pcm_sample_bit_depth_luma_minus1 + 1 (7-xx)
Величина параметра PcmBitDepthY должна быть не больше величины параметра BitDepthY.
Параметр специфицирует число битов, используемых для представления величины каждого из отсчетов с модуляцией ИКМ для цветностных составляющих следующим образом:
PcmBitDepthC = pcm_sample_bit_depth_chroma_minus1 + 1 (7-yy)
Величина параметра PcmBitDepthC должна быть не больше величины параметра BitDepthC. Когда параметр ChromaArrayType равен 0, параметр pcm_sample_bit_depth_chroma_minus1 не используется в процессе декодирования, так что декодирующие устройства должны игнорировать величину этого параметра.
Параметр plus 3 специфицирует минимальный размер блоков кодирования, когда флаг pcm_flag равен 1.
Переменную Log2MinIpcmCbSizeY устанавливают равной log2_min_pcm_luma_coding_block_size_minus3 + 3. Величина этой переменной Log2MinIpcmCbSizeY должна быть в диапазоне от Min( MinCbLog2SizeY, 5 ) до Min( CtbLog2SizeY, 5 ), включительно.
Параметр специфицирует разность между минимальным и максимальным размерами блоков кодирования, когда флаг pcm_flag равен 1.
Величину переменной Log2MaxIpcmCbSizeY устанавливают равной log2_diff_max_min_pcm_luma_coding_block_size + Log2MinIpcmCbSizeY. Величина этой переменной Log2MaxIpcmCbSizeY должна быть не больше величины Min( CtbLog2SizeY, 5 ).
Флаг специфицирует, выключен ли процесс контурной фильтрации применительно к реконструированным отсчетам в единице кодирования при равном 1 флаге pcm_flag, следующим образом:
– Если флаг pcm_loop_filter_disabled_flag равен 1, процессы деблокирующей фильтрации и адаптивной к отсчетам фильтрации «смещение» применительно к реконструированным отсчетам в единице кодирования с равным 1 флагом pcm_flag выключены.
– В противном случае (величина флага pcm_loop_filter_disabled_flag равна 0), процессы деблокирующей фильтрации и адаптивной к отсчетам фильтрации «смещение» применительно к реконструированным отсчетам в единице кодирования с равным 1 флагом pcm_flag не выключены.
Когда флаг pcm_loop_filter_disabled_flag не при утствует, считается, что он равен 0.
7.3.8.5 Синтаксис единицы кодирования
7.3.8.7 Синтаксис отсчета с модуляцией ИКМ
Семантика
Флаг , равный 1, специфицирует, что синтаксическая структура pcm_sample( ) присутствует, а синтаксическая структура transform_tree( ) не присутствует в единице кодирования, содержащей кодируемый блок яркости в позиции ( x0, y0 ). Флаг pcm_flag[ x0 ][ y0 ], равный 0, специфицирует, что синтаксическая структура pcm_sample( ) не присутствует. Когда флаг pcm_flag[ x0 ][ y0 ] не присутствует, он считается равным 0.
Величина флага pcm_flag[ x0 + i ][ y0 + j ] при i = 1..nCbS − 1, j = 1..nCbS − 1 считается равной pcm_flag[ x0 ][ y0 ].
2.1.2 Обычное внутрикадровое прогнозирование
Для яркостной составляющей имеются 35 режимов, включая режим планарного прогнозирования (Planar), режим DC-прогнозирования и 33 угловых режима прогнозирования для всех размеров блоков. Для лучшего кодирования в этих режимах прогнозирования яркостной составляющей сначала кодируют флаг одного наиболее вероятного режима (MPM) для индикации, выбран ли один из 3 режимов MPM. Если флаг режима MPM имеет значение «ложно», тогда кодируют остальные 32 режима в коде фиксированной длины.
Выбор группы из трех наиболее вероятных режимов основан на режимах для двух соседних единиц PU, – одной слева и одной сверху от текущей единицы PU. Пусть режимы внутрикадрового прогнозирования для единиц слева и сверху от текущей единицы PU обозначены A и B, соответственно, где эти два соседних блока изображены на фиг. 1.
Если соседняя единица PU не кодирована в режиме внутрикадрового прогнозирования или кодирована в режиме импульсно-кодовой модуляции (ИКМ), эта единица PU считается кодированной в DC-режиме прогнозирования. В дополнение к этому, предполагается, что режим B является DC-режимом прогнозирования, когда расположенная выше соседняя единица PU находится вне единицы CTU во избежание введения дополнительного буфера строк для реконструкции режима внутрикадрового прогнозирования.
Если A не равно B, первые два из наиболее вероятных режимов, обозначенные как MPM[0] и MPM[1], установлены равными A и B, соответственно, а третий наиболее вероятный режим, обозначенный как MPM[2], определяют следующим образом:
- Если ни режим A, ни режим B не является планарным режимом, в качестве MPM[2] устанавливают планарный режим.
- В противном случае, если ни режим A, ни режим B не является DC-режимом, в качестве режима MPM[2] устанавливают DC-режим.
- В противном случае (один из двух наиболее вероятных режимов является планарным, а другой – DC-режимом), в качестве режима MPM[2] устанавливают угловой режим 26 (прямо вертикально).
Если A равно B, указанные три наиболее вероятных режима определяют следующим образом. Если они не являются угловыми режимами (A и B меньше 2), тогда в качестве указанных трех наиболее вероятных режимов устанавливают планарный режим, DC-режим и угловой режим 26, соответственно. В противном случае (A и B не меньше 2), первый наиболее вероятный режим MPM[0] устанавливают равным A, а два остальных наиболее вероятных режима MPM[1] и MPM[2] устанавливают равными направлениям, соседним с A, и вычисляют как:
MPM[1] = 2 + ( ( A - 2 – 1 + 32 ) % 32 )
MPM[2] = 2 + ( ( A - 2 + 1 ) % 32 )
где символ % обозначает оператор взятия по модулю (т.е. запись a%b обозначает остаток от деления на b).
Для цветной составляющей используются 5 режимов, включая DM-режим, планарный (Planar) режим, DC-режим, горизонтальный (Horizontal) режим, вертикальный (Vertical) режим.
2.2 Внутрикадровое прогнозирование при кодировании VVC
2.2.1 Кодирование в режиме внутрикадрового прогнозирования с 67 режимами внутрикадрового прогнозирования
Для захвата произвольных направлений края, присутствующих в естественном видео, число направленных режимов внутрикадрового прогнозирования увеличено от 33, как использует стандарт кодирования HEVC, до 65. Дополнительные направленные режимы обозначены штриховыми линиями на фиг. 2, а планарный режим и DC-режим остаются теми же самыми. Эти более плотно распределенные режимы внутрикадрового прогнозирования применимы ко всем размерам блоков и к внутрикадровому прогнозированию для обоих типов составляющих – яркостной и цветностной составляющей.
Обычно направления углового внутрикадрового прогнозирования определены в интервале от 45 градусов до -135 градусов по часовой стрелке, как показано на фиг. 2. В программе VTM2, несколько обычных режимов углового внутрикадрового прогнозирования адаптивно заменены широкоугольными режимами внутрикадрового прогнозирования для неквадратных блоков. Сигнализацию о замененных режимах передают с использованием исходного способа и заново отображают эти замененные режимы на индексы широкоугольных режимов после синтаксического анализа. Общее число режимов внутрикадрового прогнозирования остается неизменным, т.е. равным 67, и кодирование в режиме внутрикадрового прогнозирования также остается неизменным.
Согласно стандарту кодирования HEVC, каждый блок, кодированный внутрикадровым способом, имеют форму квадрата с длиной стороны, равной степени 2. Таким образом, для генерации предиктора внутрикадрового прогнозирования с использованием DC-режима никакие операции деления не требуются. В варианте VVV2, блоки могут иметь прямоугольную форму, что, в общем случае, делает необходимым использование операций деления в каждом блоке. Чтобы избежать операции деления при прогнозировании в DC-режиме, только длинную сторону используют для вычисления среднего для неквадратных блоков.
Фиг. 2 иллюстрирует примеры 67 режимов внутрикадрового прогнозирования.
2.2.2 Кодирование в режиме внутрикадрового прогнозирования для яркостной составляющей с 6 режимами MPM
В эталонном программном обеспечении VTM3.0.rc1 для стандарта кодирования VVC, для генерации списка режимов MPM используют только режим внутрикадрового прогнозирования для соседних позиций A и B, обозначенных «Левый» (LEFT) и «Верхний» (ABOVE), как показано на фиг. 3. Для кодирования в одном из режимов MPM применяют усеченное двоичное кодирование.
Пусть режимы внутрикадрового прогнозирования для блоков слева и сверху от текущей единицы CU будут обозначены ModeA и ModeB, соответственно.
Если соседняя единица CU не кодирована в режиме внутрикадрового прогнозирования или кодирована в режиме импульсно-кодовой модуляции (ИКМ), эту единицу CU считают кодированной в режиме планарного прогнозирования. В дополнение к этому, предполагается, что режим ModeB является планарным режимом, когда расположенная сверху соседняя единица CU находится вне единицы CTU, чтобы избежать введения дополнительного буфера строк для реконструкции режима внутрикадрового прогнозирования.
Указанные 6 режимов MPM обозначены как MPM[i] (i равно 0…5). Следующие этапы выполняются по порядку:
1. Инициализация величин: MPM[6] = {ModeA, !ModeA, 50, 18, 46, 54};
2. Если параметр ModeA равен параметру ModeB, применяется следующее
- Если параметр ModeA больше 1 (не-DC/планарный), MPM[6] = {ModeA, планарный, DC, 2 + ( ( candIntraPredModeA + 62 ) % 65 ), 2 + ( ( candIntraPredModeA - 1 ) % 65, 2 + ( ( candIntraPredModeA + 61 ) % 65 ) )};
3. В противном случае (параметр ModeA равен параметру ModeB), применяется следующее:
- MPM[0] = ModeA, MPM[1] = ModeB
- Установление переменной biggerIdx следующим образом:
biggerIdx = candModeList[ 0 ] > candModeList[ 1 ] ? 0 : 1
- Если оба параметра ModeA и ModeB больше 1, MPM [ x ] при x = 2..5 определено следующим образом:
MPM [ 2 ] = INTRA_PLANAR
MPM [ 3 ] = INTRA_DC
- Если MPM[ biggerIdx ] – MPM[ ! biggerIdx ] не равно ни 64, ни 1, применяется следующее:
MPM [ 4 ] = 2 + ( ( MPM [ biggerIdx ] + 62 ) % 65 )
MPM [ 5 ] = 2 + ( ( MPM [ biggerIdx ] - 1 ) % 65 )
- В противном случае применяется следующее :
MPM [ 4 ] = 2 + ( ( MPM [ biggerIdx ] + 61 ) % 65 )
MPM [ 5 ] = 2 + ( candModeList[ biggerIdx ] % 65 )
- В противном случае, если сумма параметров ModeA и ModeB не меньше 2, применяется следующее:
MPM [ 2 ] = ! MPM [ ! biggerIdx ]
MPM [ 3 ] = 2 + ( ( MPM [ biggerIdx ] + 62 ) % 65 )
MPM [ 4 ] = 2 + ( ( MPM [ biggerIdx ] - 1 ) % 65 )
MPM [ 5 ] = 2 + ( ( MPM [ biggerIdx ] + 61 ) % 65 )
где % обозначает оператор взятия по модулю (т.е. a%b обозначает остаток от деления на b).
2.2.3 Широкоугольное внутрикадровое прогнозирование для неквадратных блоков
Обычные угловые направления внутрикадрового прогнозирования определены в диапазоне от 45 градусов до -135 градусов в направлении по часовой стрелке. В программе кодирования VTM2 несколько обычных угловых режимов внутрикадрового прогнозирования адаптивно заменены широкоугольными режимами внутрикадрового прогнозирования для неквадратных блоков. Сигнализацию о замененных режимах передают с использованием исходного способа и заново отображают на индексы широкоугольных режимов после синтаксического анализа. Общее число режимов внутрикадрового прогнозирования для некоторого блока остается неизменным, т.е. 67, и кодирование в режиме внутрикадрового прогнозирования остается неизменным.
Для поддержки этих направлений прогнозирования верхняя опора длиной 2W+1 и левая опора длиной 2H+1 определены, как показано на фиг. 4.
Номер замененного режима в варианте широкоугольного направленного режима зависит от коэффициента формы блока. Замененные режимы внутрикадрового прогнозирования иллюстрированы в таблице 1.
Таблица 1: Режимы внутрикадрового прогнозирования, замененные широкоугольными режимами
Условие Замененные режимы внутрикадрового прогнозирования
W / H == 2 Режимы 2,3,4,5,6,7
W / H > 2 Режимы 2,3,4,5,6,7,8,9,10,11
W / H == 1 Нет
H / W == 1/2 Режимы 61,62,63,64,65,66
H / W < 1/2 Режимы 57,58,59,60,61,62,63,64,65,66
Как показано на фиг. 5, два соседствующих по вертикали прогнозируемых отсчета могут, в случае широкоугольного внутрикадрового прогнозирования, использовать несоседние опорные отсчеты. Следовательно, к широкоугольному прогнозированию применяют фильтрацию опорных отсчетов в фильтре нижних частот и сглаживание края с целью уменьшения отрицательного эффекта от увеличения зазора ∆pα.
2.2.4 Комбинация внутрикадрового прогнозирования, зависимая от положения
В программе VTM2, результаты внутрикадрового прогнозирования в планарном режиме дополнительно модифицируют посредством способа зависимой от положения комбинации внутрикадрового прогнозирования (position dependent intra prediction combination (PDPC)). Этот способ комбинации PDPC представляет собой способ внутрикадрового прогнозирования, привлекающий комбинацию нефильтрованных граничных опорных отсчетов и внутрикадрового прогнозирования типа кодирования HEVC с фильтрованными граничными опорными отсчетами. Способ PDPC применяется к следующим режимам внутрикадрового прогнозирования без сигнализации: планарному режиму, DC-режиму, горизонтальному режиму, вертикальному режиму, нижнему левому угловому режиму и восьми соседних с ним угловым режимам, а также верхнему правому угловым режимам и восьми соседним с ним угловым режимам.
Прогнозируемый отсчет pred(x,y) получают с использованием режима внутрикадрового прогнозирования (DC-режима, планарного режима, углового режима) и линейной комбинации опорных отсчетов согласно приведенному ниже Уравнению:
pred(x,y)=(wL×R-1,y + wT×Rx,-1 – wTL ×R-1,-1+(64 – wL – wT+wTL)×pred(x,y) + 32 ) >> 6
где Rx,-1, R-1,y представляют опорные отсчеты, расположенные сверху и слева от текущего отсчета (x, y), соответственно, и R-1,-1 представляет опорный отсчет, расположенный в верхнем левом углу текущего блока.
Если способ комбинации PDPC применяется к DC-режиму, планарному режиму, горизонтальному режиму и вертикальному режиму внутрикадрового прогнозирования, дополнительные граничные фильтры не нужны, как это требуется в случае граничного фильтра DC-режима при кодировании в стандарте HEVC или в краевых фильтрах горизонтального/вертикального режимов в стандарте HEVC.
Фиг. 6A-6D иллюстрируют определение опорных отсчетов (Rx,-1, R-1,y и R-1,-1) для способа комбинации PDPC применительно к различным режимам прогнозирования. Прогнозируемый отсчет pred (x’, y’) расположен в точке (x’, y’) в пределах прогнозируемого блока. Координата x опорного отсчета Rx,-1 дана уравнением: x = x’ + y’ + 1, а координата y опорного отсчета R-1,y аналогично дана уравнением: y = x’ + y’ + 1.
На фиг. 6A-6D показан пример определения отсчетов, используемых способом комбинации PDPC применительно к диагональному и к соседнему угловым режимам внутрикадрового прогнозирования. Фиг. 6A показывает диагональный верхний-правый режим. Фиг. 6B показывает диагональный нижний-левый режим. Фиг. 6C показывает соседний диагональный верхний-правый режим. Фиг. 6D показывает пример соседнего нижнего-левого режима.
Весовые коэффициенты способа комбинации PDPC зависят от режимов прогнозирования и приведены в таблице 2.
Таблица 2: Пример весовых коэффициентов способа комбинации PDPC в соответствии с режимами прогнозирования
Режимы прогнозирования wT wL wTL
Диагональный верхний-правый 16 >> ( ( y’<<1 ) >> shift) 16 >> ( ( x’<<1 ) >> shift) 0
Диагональный нижний-левый 16 >> ( ( y’<<1 ) >> shift ) 16 >> ( ( x’<<1 ) >> shift ) 0
Соседний диагональный верхний-правый 32 >> ( ( y’<<1 ) >> shift ) 0 0
Соседний диагональный нижний-левый 0 32 >> ( ( x’<<1 ) >> shift ) 0
2.2.5 Внутрикадровое прогнозирование на основе нескольких опорных строк (MRLIP)
Вместо того, чтобы всегда использовать реконструированные отсчеты в соседнем слева столбце и соседней сверху строке (т.е. в опорной строке 0) для внутрикадрового прогнозирования, предлагается позволить использовать опорные отсчеты, расположенные на разных расстояниях.
Способ прогнозирования MRLIP имеет следующие характеристики:
- Сигнализация индекса опорной строки
- для опорной строки idx > 0, только для режимов из списка режимов MPM и только сигнализация индекса mpm без оставшегося режима;
- для опорной строки с индексом = 0, так же как в исходном варианте, могут быть выбраны все виды режимов внутрикадрового прогнозирования
- Для яркостного блока может быть выбрана одна из трех строк: опорная строка 0, 1, 3, как показано на фиг. 7.
- Ограничение верхней строки единицы CTU
- отключение режима с несколькими опорными строками (MRL) для первой строки блоков внутри единицы CTU
2.2.6 Кодирование цветностной составляющей
При кодировании цветностной составляющей согласно стандарту HEVC разрешены пять режимов (включая один режим прямого кодирования (direct mode (DM)) или DM–режим, представляющий собой режим внутрикадрового прогнозирования соответствующего верхнего-левого яркостного блока, и четыре режима по умолчанию) для цветностного блока. Указанные две цветовые составляющие совместно используют один и тот же режим внутрикадрового прогнозирования.
В отличие от стандарта кодирования HEVC, были предложены два новых способа, включая: режим прогнозирования с кросс-компонентной линейной моделью (cross-component linear model (CCLM)) и несколько DM-режимов.
2.2.6.1 Модель CCLM
Для уменьшения кросс-компонентной избыточности в модели JEM используется режим прогнозирования с кросс-компонентной линейной моделью (cross-component linear model (CCLM)), называемый также режимом LM, согласно которому цветностные отсчеты прогнозируют на основе реконструированных яркостных отсчетов в той же самой единице CU с использованием линейной модели следующим образом:
(1)
где представляет прогнозируемые цветностные отсчеты в единице CU, а представляет субдискретизированные реконструированные яркостные отсчеты для той же самой единицы CU для цветовых форматов 4:2:0 или 4:2:2, тогда как представляет реконструированные яркостные отсчеты той же самой единицы CU для цветового формата 4:4:4. Параметры и для модели CCLM получают путем минимизации ошибки регрессии между соседними реконструированными яркостными и цветностными отсчетами вокруг текущего блока следующим образом:
(2)
(3)
где представляет субдискретизированные (для цветовых форматов 4:2:0 или 4:2:2) или исходные (для цветового формата 4:4:4) верхний и левый соседние реконструированные яркостные отсчеты, представляет верхний и левый соседние реконструированные цветностные отсчеты, и величина равна удвоенной минимальной ширине и высоте текущего блока кодирования цветностной составляющей. Для блока кодирования квадратной формы приведенные выше два уравнения применяются непосредственно. Для неквадратного блока кодирования сначала осуществляют субдискретизацию соседних отсчетов вдоль более длинной границы для получения такого же числа отсчетов, как вдоль более короткой границы. На фиг. 6A-6D показано расположение реконструированных отсчетов слева и сверху и отсчета текущего блока, участвующего в прогнозировании в режиме CCLM.
Эти вычисления для минимизации ошибки регрессии осуществляются в качестве части процедуры декодирования, не только как операция поиска кодирующего устройства, так что никакой синтаксис не используется для передачи величин α и β.
Фиг. 8 показывает примеры расположений отсчетов, используемых для вывода величин α и β.
Режим прогнозирования с моделью CCLM также содержит прогнозирование между двумя цветностными составляющими, т.е. составляющую Cr прогнозируют на основе составляющей Cb. Вместо использования сигнала реконструированных отсчетов, прогнозирование от Cb-к-Cr составляющей согласно модели CCLM применяют в остаточной области. Это осуществляется путем добавления взвешенного реконструированного остатка составляющей Cb к исходному результату внутрикадрового прогнозирования составляющей Cr для получения окончательного результата прогнозирования составляющей Cr:
(4)
где представляет отсчет реконструированного остатка Cb в позиции (i,j).
Масштабный коэффициент выводят аналогично тому, как это делается при прогнозировании цветностной составляющей на основе яркостной составляющей согласно модели CCLM. Единственное отличие состоит в добавлении цены регрессии относительно величины по умолчанию к функции ошибки, так что полученный в итоге масштабный коэффициент оказывается смещен к величине по умолчанию, равной −0.5, следующим образом:
(5)
где представляет соседние реконструированные отсчеты составляющей Cb, представляет соседние реконструированные отсчеты составляющей Cr, и параметр равен .
Режим прогнозирования цветностной составляющей на основе яркостной составляющей согласно модели CCLM добавлен в качестве одного дополнительного режима внутрикадрового прогнозирования цветностной составляющей. На стороне кодирующего устройства добавлена еще одна проверка цены RD для цветностных составляющих с целью выбора режима внутрикадрового прогнозирования для цветностной составляющей. Когда для цветностных составляющих в единице CU использованы режимы внутрикадрового прогнозирования, отличные от прогнозирования цветностной составляющей на основе яркостной составляющей согласно модели CCLM, для прогнозирования составляющей Cr используют прогнозирование от Cb-к-Cr составляющей согласно модели CCLM.
2.2.6.2 Кодирование цветностной составляющей в стандарте кодирования VVC
В программе VTM-2.0 в качестве модели JEM применяется модель CCLM. Однако модель MM-CCLM, используемая в модели JEM, не применяется в программе VTM-2.0.
Для кодирования цветностной составляющей с использованием внутрикадрового прогнозирования сначала определяют список режимов-кандидатов внутрикадрового прогнозирования цветностной составляющей, в который могут быть включены три части:
- один режим прямого кодирования (DM-режим), в качестве которого установлен один из режимов прогнозирования яркостной составляющей, ассоциированный с яркостным блоком CB, охватывающим расположенную здесь же центральную позицию (CR на фиг. 9) цветностного блока; Один из примеров показан на фиг. 9, где эта расположенная вместе (здесь же) позиция обозначена литерами TL.
- один режим с использованием кросс-компонентной линейной модели (CCLM)
– четыре режима по умолчанию (DC-режим, планарный, горизонтальный и вертикальный режимы, как выделено на фиг. 1). Если один из четырех режимов по умолчанию идентичен DM-режиму, его заменяют режимом внутрикадрового прогнозирования с наибольшим индексом режима, т.е. обозначенным штриховой линии на фиг. 10.
3. Недостатки существующих вариантов
В текущей конфигурации внутрикадрового прогнозирования с использованием строк MRL в стандарте кодирования VVC имеются следующие проблемы.
1) В программе VTM3.0-rc1, флаг ИКМ кодируют после индекса опорной строки, используемой для процедуры внутрикадрового прогнозирования. Поэтому, даже если модуляция ИКМ может быть использована для кодирования одного блока, все равно передают в составе сигнализации индекс опорной строки, что ведет к непроизводительному использованию (потере) битов, поскольку обычное внутрикадровое прогнозирование запрещено для блоков, кодированных с использованием модуляции ИКМ.
2) Для кодирования VVC вновь применен адаптивный контурный фильтр (adaptive loop filter (ALF)). Как использовать этот фильтр с модуляцией ИКМ, неизвестно.
3) В стандарте кодирования HEVC для принятия решения о фильтрации используется один флаг ИКМ для яркостного блока и двух соответствующих ему цветностных блоков. Однако когда используется отдельное дерево отсчеты яркостного блока и отсчеты цветностной составляющей могут выбрать разные флаги ИКМ, иными словами, один яркостной блок может быть кодирован с применением модуляции ИКМ, а соответствующий цветностный блок может быть кодирован без применения модуляции ИКМ, поэтому использование одного флага ИКМ при принятии решения о фильтрации нежелательно.
4) Прогнозирование MRLIP применяется только к яркостной составляющей. Однако это может также работать для цветностных составляющих, особенно для цветового формата 4:4:4.
5) Прогнозирование MRLIP не может быть применено к блокам, кодированным в режиме междукадрового-внутрикадрового прогнозирования, что может уменьшить производительность и другие характеристики кодирования.
6) Опорные строки с ненулевыми индексами более эффективны для угловых режимов. Когда индекс опорной строки больше 0, используются режимы из списка MPM. Однако имеется возможность, что в список режимов MPM может быть включен DC-режим/планарный режим, для которого прогнозирование MRLIP является менее эффективным.
7) В стандарте кодирования HEVC, наименьший размер единицы CU составляет 8x8, тогда как при кодировании VVC, наименьший размер единицы CU составляет 4x4. Поэтому, блоки размером 4x4, 4x8, 8x4 также должны применять режим модуляции ИКМ, тогда как сейчас это не разрешено. В дополнение к этому исходная конфигурация модуляции ИКМ применима только к квадратным единицам CU, тогда как при кодировании VVC рассматриваются неквадратные единицы CU.
4. Примеры вариантов и способов
Подробное описание способов, перечисленных ниже, следует рассматривать в качестве примеров для пояснения общих концепций. Эти способы не следует интерпретировать в узком смысле. Более того, эти способы можно комбинировать каким-либо образом.
1. Предлагается, флаг разрешения модуляции ИКМ кодировать прежде информации режима прогнозирования MRLIP.
a. В одном из примеров, если модуляция ИКМ для рассматриваемого блока отключена, далее передают в виде сигнализации индекс опорной строки, используемой для прогнозирования MRLIP.
b. В одном из примеров, если модуляция ИКМ для рассматриваемого блока разрешена, передачу сигнализации индекса опорной строки, используемой для прогнозирования MRLIP, пропускают.
c. В альтернативном варианте, флаг модуляции ИКМ не передают, если информация режима прогнозирования MRLIP равна или не равна 0.
2. Когда один блок кодируют в режиме модуляции ИКМ, адаптивный контурный фильтр (ALF) для этого блока отключается автоматически.
a. Сигнализация флага включения/выключения фильтра ALF может зависеть от флага включения/выключения модуляции ИКМ. В альтернативном варианте, сигнализация флага включения/выключения модуляции ИКМ может зависеть от флага включения/выключения фильтра ALF.
b. Если имеется один блок с размером, равным размеру единицы CTU, флаг модуляции ИКМ может быть передан первым, прежде флага включения/выключения фильтра ALF. Когда флаг модуляции ИКМ имеет значение «истинно», флаг фильтра ALF больше не передают.
c. Если имеется один блок с размером, равным размеру единицы CTU, флаг модуляции ИКМ может быть передан первым, прежде флага включения/выключения адаптивного сдвига отсчета (SAO). Когда флаг модуляции ИКМ имеет значение «истинно», флаг сдвига SAO больше не передают.
d. В качестве альтернативы, более того, приведенные выше способы могут быть применены только тогда, когда флаг равен 1
3. Как именно сигнализировать/интерпретировать/использовать флаги включения/выключения модуляции ИКМ, может зависеть от цветовых составляющих.
a. В одном из примеров, как именно сигнализировать/интерпретировать/использовать флаги включения/выключения модуляции ИКМ, может зависеть от того, используются ли различные структуры дерева разбиения для разных цветовых составляющих.
b. В одном из примеров, когда применяются отдельные структуры дерева разбиения для яркостной и цветностной составляющих, может быть передана сигнализация первого флага для яркостного блока, а сигнализация второго флага для цветностного блока может быть передана независимо.
c. В одном из примеров, когда применяются отдельные структуры дерева разбиения для трех цветовых составляющих, сигнализация трех флагов может быть передана независимо.
d. В одном из примеров, в зависимости от цветовой составляющей, флаг включения/выключения модуляции ИКМ интерпретируют в виде различных переменных, например, флага pcm_luma и флага pcm_chroma, для управления последующей процедурой кодирования видео.
e. В процессе фильтрации (такой как применение деблокирующего фильтра, адаптивного контурного фильтра отсчетов, адаптивного контурного фильтра) выбор, следует ли фильтровать один блок цветовой составляющей, может зависеть от флага включения/выключения модуляции ИКМ, ассоциированного с этой цветовой составляющей.
f. В альтернативном варианте, даже если разрешены раздельные структуры дерева разбиений, сигнализацию флагов включения/выключения модуляции ИКМ передают только для яркостной составляющей, тогда как для цветностного блока этот флаг модуляции может быть получен («унаследован») из какой-либо позиции в пределах соответствующего яркостного блока (например, из центральной позиции соответствующего яркостного блока).
g. В качестве альтернативы, более того, сигнализация об ограничениях разрешенного размера кодированного блока с модуляцией ИКМ может быть передана по отдельности для разных цветовых составляющих или для яркостной и цветностной составляющих.
Например, принимая цветовой формат 4:2:0 в качестве примера, один яркостной блок размером 64x64 (размер единицы CTU равный 64x64) соответствует 2 цветностным блокам размером 32x32. Этот яркостной блок может быть разделен на 4 единицы CU в соответствии с разбиением дерева квадратов (имеются четыре яркостных единицы CU размером 32x32). В исходной конфигурации отдельных деревьев нет, кодируют только по одному флагу для каждой из единиц CU размером 32x32 и используют этот флаг для соответствующих блоков Cb/Cr размером 16x16, поскольку яркостная и цветностная составляющие совместно используют одну и ту же структуру разбиения. Всего могут быть кодированы 4 флага.
В одном из примеров вариантов предлагаемого нами способа, если применяются раздельные деревья, тогда цветностные блоки могут быть разбиты на 2 единицы CU в соответствии с разбиением двоичного дерева (имеются две единицы Cb CU размером 32x16 и две единицы Cr CU размером 32x16). В таких случаях может быть передана сигнализация о четырех флагах для четырех яркостных блоков размером 32x32 и о 2 флагах для 2 цветностных блоков размером 32x16.
Аналогично, в исходной конфигурации проверяют флаг модуляции ИКМ, ассоциированный с одним яркостным блоком и 2 цветностными блоками, в процессе фильтрации, тогда как согласно предлагаемому способу, флаг модуляции ИКМ для одного яркостного блока и флаг модуляции ИКМ для одного цветностного блока могут быть проверены независимо для определения процедур фильтрации.
1. Предлагается передавать флаг в составе сигнализации высокого уровня (по сравнению с уровнем единиц CU/блоков) для индикации, применима ли модуляция ИКМ или нет. Если модуляция ИКМ неприменима, сигнализацию флага включения/выключения модуляции ИКМ, передаваемую на низком уровне (таком как уровень блоков), всегда пропускают для всех блоков. Сигнализация этого флага может быть передана в составе группы параметров видео (VPS)/группы параметров изображения (PPS)/заголовка изображения/заголовка среза/заголовка группы плиток/плитки/строки единиц CTU/единицы CTU
2. Когда один блок кодирован с использованием несоседней опорной строки (например, индекс опорной строки > 0), широкоугольный режим может быть автоматически отключен.
a. В одном из примеров, отображение между сигнализируемыми режимами и индексами широкоугольных режимов после синтаксического анализа пропускают.
b. В альтернативном варианте, широкоугольный режим используют вместе с соседней опорной строкой независимо от сигнализированного индекса опорной строки.
3. Выбор, активизировать ли режим с использованием нескольких опорных строка (MRL), и как передавать индекс опорной строки, может зависеть от формата субдискретизации цветовой составляющей.
a. В одном из примеров, для цветового формата 4:4:4, режим с использованием MRL может быть активизирован для всех трех цветовых составляющих.
b. Индекс опорной строки может быть кодирован один раз для всех цветовых составляющих одного блока.
c. В альтернативном варианте, могут быть кодированы два индекса опорных строк, где один из индексов предназначен для яркостной цветовой составляющей (например, для 1-ой цветовой составляющей, которую нужно кодировать) и один предназначен для двух других цветовых составляющих.
d. В альтернативном варианте, могут быть кодированы три индекса опорных строк, где один из индексов предназначен для яркостной цветовой составляющей (например, для 1-ой цветовой составляющей, которую нужно кодировать) и два других предназначены для двух других цветовых составляющих.
e. В альтернативном варианте, когда нужно кодировать несколько индексов опорных строк, может быть применено кодирование с прогнозированием для кодирования разностей между индексами.
f. В альтернативном варианте, когда нужно кодировать несколько индексов опорных строк, может быть сначала передан в виде сигнализации один флаг, чтобы сообщить, что все эти индексы являются одинаковыми.
g. В одном из примеров, разные цветовые составляющие могут выбирать различные строки-кандидаты.
i. Например, составляющие Cb/Cr могут выбирать из первой и второй соседних строк.
ii. Информация об использовании нескольких строк MRL может быть кодирована различными способами для разных цветовых составляющих.
4. Для одного блока могут быть активизированы оба режима – режим междукадрового-внутрикадрового прогнозирования и режим прогнозирования MRLIP. В этом случае процедура внутрикадрового прогнозирования, используемая в режиме междукадрового-внутрикадрового прогнозирования, может опираться на одну строку/столбец, несоседний с текущим блоком.
a. В одном из примеров, если текущий блок кодируют в режиме междукадрового-внутрикадрового прогнозирования, сигнализация индексов опорных строк может быть передана дополнительно.
b. Такой способ применяется к определенным размерам, расположениям блоков.
c. Сигнализация о том, активизирован ли или отключен этот объединенный режим может быть передана в составе группы параметров последовательности (SPS)/группы VPS/группы PPS/заголовка изображения/заголовка среза/заголовка группы плиток/единиц CTU.
5. Когда прогнозирование MRLIP относится к несоседней опорной строке (например, индекс опорной строки > 0) и список режимов MPM содержит некоторый режим, обозначенный как M1, этот режим M1 может быть далее, в процессе декодирования, заменен другим режимом, обозначенным как M2.
a. В одном из примеров, указанный некоторый режим (с индексом K режима) определен как DC-режим или планарный режим или широкоугольный режим или какой-либо неугловой режим.
b. Режим, используемый в качестве замены, может быть выбран из остальных режимов в списке режимов MPM.
i. В одном из примеров, для выбора заменяющего режима может быть использован первый режим с индексом, неравным K, например, с индексом, равным (первый режим плюс M), где M, например, установлено равным 1.
ii. В одном из примеров, для выбора заменяющего режима может быть использован последний режим с индексом, неравным K, например, с индексом, равным (первый режим плюс M), где M, например, установлено равным 1.
6. Когда прогнозирование MRLIP относится к несоседним строкам (например, индекс опорной строки > 0), вместо кодирования индекса режима внутрикадрового прогнозирования, входящего в список режимов MPM, может быть использован фиксированный список режимов-кандидатов, и индекс к этому фиксированному списку режимов-кандидатов может быть передан посредством сигнализации.
a. В одном из примеров, фиксированный список режимов-кандидатов может быть составлен так, чтобы содержать, например, горизонтальные или вертикальные режимы.
b. В одном из примеров, этот фиксированный список режимов-кандидатов может быть определен заранее.
c.В альтернативном варианте, фиксированный список режимов-кандидатов может быть сигнализирован в составе группы SPS/группы VPS/группы PPS/заголовка изображения/заголовка среза/заголовка группы плиток/единиц CTU.
d. В альтернативном варианте, фиксированный список режимов-кандидатов может зависеть от размера блока.
2. Вместо использования одного и того же индекса опорной строки для расположенных сверху строк и расположенных слева столбцов, предлагается, чтобы сигнализация индекса расположенных сверху строк и расположенных слева столбцов могла быть передана по отдельности.
a. В одном из примеров, такой способ может быть добавлен в качестве нового режима. В таком случае, только когда этот режим активизирован, может быть применена сигнализация по отдельности.
b. В одном из примеров, для различных комбинаций опорных индексов расположенных сверху строк и расположенных слева столбцов могут быть использованы различные группы разрешенных режимов внутрикадрового прогнозирования.
c. Различные группы режимов внутрикадрового прогнозирования могут быть предварительно определены или переданы в составе сигнализации группы SPS/группы VPS/группы PPS/заголовка изображения/заголовка среза/заголовка группы плиток/единиц CTU.
3. Предлагается позволить блокам, содержащим меньше 64 отсчетов, активизировать режим модуляции ИКМ.
a. В одном из примеров, к размерам 4x4, 4x8 или 8x4 также могут быть применены режимы МКС-модуляции.
b. В одном из примеров, минимальный размер блока с равным 1 флагом pcm_flag устанавливают на (кодированная величина log2_min_pcm_luma_coding_block_size_minus2 плюс 2).
4. Предлагается позволить блокам, содержащим не меньше 64*64 отсчетов, активизировать режим модуляции ИКМ.
a. В альтернативном варианте, более того, такой способ активизирован только тогда, когда размер единицы LCU равен 128x128.
5. Предлагается передавать сигнализацию с индикациями максимального/минимального числа отсчетов в одном яркостном блоке, кодированном с применением модуляции ИКМ.
a. В одном из примеров, при передаче сигнализации с индикациями максимального числа отсчетов в пределах одного яркостного блока, кодированного с модуляцией ИКМ, могут быть переданы индикации разности между максимальной и минимальной величинами.
b. В одном из примеров, может быть передана сигнализация логарифма log2 максимального/минимального числа отсчетов в пределах одного яркостного блока, кодированного с модуляцией ИКМ.
c. В одном из примеров, при передаче сигнализации максимального числа отсчетов в пределах одного яркостного блока, кодированного с модуляцией ИКМ, может быть передана сигнализация величины логарифма log2 разности между максимальным и минимальным числами отсчетов.
6. Минимально разрешенный размер ширины блока и/или высоты блока может быть передан в виде сигнализации/выведен отдельно, причем эти размеры могут быть не равны один другому.
a. Максимально разрешенная ширина и/или высота блока могут быть переданы в виде сигнализации/выведены по отдельности.
b. В одном из примеров, не передают минимально разрешенный размер ширины блока и высоты блока в сигнализации, а «наследуют» такие же величины, как минимальные ширина и высота блока в единице, соответственно.
c. В одном из примеров, не передают сигнализацию максимально разрешенного размера ширины блока и высоты блока, а «наследуют» такие же величины как ширина и высота единицы LCU, соответственно.
d. Передавать ли сигнализацию флага включения/выключения модуляции ИКМ для блока, может зависеть от того, является ли одно из следующих условий истинным:
i. ширина текущего блока не меньше минимальной ширины блока, и ширина текущего блока не больше максимально разрешенной ширины блока.
ii. ширина текущего блока не меньше минимальной высоты блока, и ширина текущего блока не больше максимально разрешенной высоты блока.
e. Сигнализацию индикаций минимального размера ширины блока и высоты блока с модуляцией ИКМ, равных 1, можно передавать по отдельности.
f. Сигнализацию индикаций максимального размера ширины блока и высоты блока с модуляцией ИКМ, равных 1, можно передавать по отдельности.
7. Разные цветовые составляющие могут иметь различные ограничения того, когда следует передавать флаг модуляции ИКМ на уровне блоков.
a. В одном из примеров, сигнализацию разрешенных размеров (например, логарифм log2_min_pcm_luma_coding_block_size_minus3, логарифм log2_diff_max_min_pcm_luma_coding_block_size в 0) для разных цветовых составляющих можно передавать по отдельности.
b. Следует ли передавать сигнализацию по отдельности или только однажды для всех цветовых составляющих, может зависеть от формата субдискретизации цветовых составляющих (например, 4:2:0, 4:4:4).
5. Примеры вариантов
Изменения по сравнению с алгоритмом VTM-3.0rc1 выделены Удаленная часть маркирована
5.1 Вариант #1
Семантика
Флаг равный 0, специфицирует, что относящийся к модуляции ИКМ синтаксис (синтаксические элементы pcm_sample_bit_depth_luma_minus1, pcm_sample_bit_depth_chroma_minus1, log2_min_pcm_luma_coding_block_size_minus3, log2_diff_max_min_pcm_luma_coding_block_size, pcm_loop_filter_disabled_flag, pcm_flag, pcm_alignment_zero_bit и синтаксическая структура pcm_sample( )) не присутствует в последовательности CVS.
Примечание 4 – Когда параметр MinCbLog2SizeY равен и флаг pcm_enabled_flag равен 1, синтаксис данных, относящихся к отсчетам с модуляцией ИКМ, (синтаксические элементы pcm_flag, pcm_alignment_zero_bit и синтаксическая структура pcm_sample( )) не присутствует в последовательности CVS, поскольку максимальный размер блоков кодирования, которые могут нести синтаксис данных, относящихся к отсчетам с модуляцией ИКМ, ограничен так, чтобы быть не больше параметра Min( CtbLog2SizeY, ). Следовательно, параметр MinCbLog2SizeY, равный , при флаге pcm_enabled_flag, равном 1, не является подходящей настройкой для передачи данных отсчетов с модуляцией ИКМ в последовательности CVS.
Флаг специфицирует, отключена ли процедура контурной фильтрации применительно к реконструированным отсчетам в единице кодирования при флаге pcm_flag, равном 1, следующим образом:
– Если флаг pcm_loop_filter_disabled_flag равен 1, отключают процедуры фильтрации в деблокирующем фильтре, и в фильтре адаптивного сдвига отсчета применительно к реконструированным отсчетам в единице кодирования при флаге pcm_flag, равном 1.
– В противном случае (флаг pcm_loop_filter_disabled_flag value равен 0), процедуры фильтрации в деблокирующем фильтре, и в фильтре адаптивного сдвига отсчета применительно к реконструированным отсчетам в единице кодирования при флаге pcm_flag, равном 1 не отключают.
Когда флаг pcm_loop_filter_disabled_flag не присутствует, его «по наследству» считают равным 0.
5.2 Вариант #2
Когда для некоторой последовательности актифизированы и режим прогнозирования MRLIP, и модуляция ИКМ, может быть применимо следующее. В этом случае, первым кодируют флаг модуляции ИКМ прежде передачи индекса строки MRL.
Синтаксис единицы кодирования
В альтернативном варианте, сигнализация флага модуляции ИКМ может зависеть от того, удовлетворяет ли требуемая ширина или требуемая высота указанным условиям.
5.3 Вариант #3
В этом варианте флаги включения/выключения модуляции ИКМ могут быть ассоциированы с цветовой составляющей.
5.3.1 Передача сигнализации с флагом модуляции ИКМ
Сигнализацию флага включения/выключения кодируют по отдельности для яркостной и цветностной составляющей, когда используется раздельная структура дерева разбиений (также называется двойным деревом). Предлагаемые изменения .
5.3.1.1 С двумя разными синтаксическими элементами
5.3.1.2 С одним из разных синтаксических элементов, но с различной семантикой
Когда активизированы раздельные деревья, декодированную величину флага pcm_flag назначают флагу pcm_flag_luma и флагу pcm_flag_chroma по отдельности, в зависимости от параметра treeType.
Более конкретно,
- Если двойное дерево выключено, (например, параметр treeType равен SINGLE_TREE), декодированный флаг pcm_flag копируют в оба флага pcm_flag_luma и pcm_flag_chroma.
- В противном случае,
○ Если текущая процедура синтаксического анализа должна относиться к яркостной составляющей (например, параметр treeType равен DUAL_TREE_LUMA), декодированный флаг pcm_flag копируют в оба флага pcm_flag_luma
○ В противном случае (например, параметр treeType равен DUAL_TREE_LUMA), декодированный флаг pcm_flag копирают на флаг pcm_flag_chroma.
5.3.2 Использование флага модуляции ИКМ
Процедура фильтрации (например, деблокирующий фильтр, фильтр адаптивного сдвига отсчета, фильтр ALF) может зависеть от кодированного флага включения/выключения модуляции ИКМ, ассоциированного с цветовыми составляющими.
Более конкретно,
Если флаг pcm_loop_filter_disabled_flag равен 1 и флаг pcm_flag_luma[ xP0 ][ yP0 ] равен 1, отсчет яркостной составляющей, расположенный в точке (xP0, yP0), не фильтруют.
Если флаг pcm_loop_filter_disabled_flag равен 1 и флаг pcm_flag_chroma[ xP0 ][ yP0 ] равен 1, отсчет цветностной составляющей, расположенный в точке (xP0, yP0), не фильтруют.
Здесь некоторые примеры даны следующим образом:
Процедура фильтрации отсчета яркостной составляющей в деблокирующем фильтре
В качестве альтернативы, следующие изменения могут быть сделаны поверх спецификации кодирования HEVC:
8.7.2.5.7 Процедура фильтрации для отсчета яркостной составляющей
Когда параметр nDp больше 0 и одно или несколько из следующих условий являются истинными, этот параметр nDp устанавливают равным 0:
– флаг pcm_loop_filter_disabled_flag равен 1 и флаг равен 1.
– флаг cu_transquant_bypass_flag для единицы кодирования, содержащей блок кодирования, имеющий отсчет p0, равен 1.
Когда параметр nDq больше 0 и одно или несколько из следующих условий являются истинными, этот параметр nDq устанавливают равным 0:
– флаг pcm_loop_filter_disabled_flag равен 1 и флаг равен 1.
– флаг cu_transquant_bypass_flag для единицы кодирования, содержащей блок кодирования, имеющий отсчет q0, равен 1.
5.3.2.2 Процедура фильтрации отсчета цветностной составляющей в деблокирующем фильтре
В альтернативном варианте, следующие изменения могут быть сделаны поверх спецификации кодирования HEVC:
8.7.2.5.8 Процедура фильтрации для отсчета цветностной составляющей
Когда одно или несколько из следующих условий является истинным, величину фильтрованного отсчета p0′ заменяют величиной соответствующего входного отсчета p0:
– флаг pcm_loop_filter_disabled_flag равен 1 и флаг pcm_flag_ xP0 * SubWidthC ][ yP0 * SubHeightC ] равен 1.
– флаг cu_transquant_bypass_flag для единицы кодирования, содержащей блок кодирования, имеющий отсчет p0, равен 1.
– флаг palette_mode_flag для единицы кодирования, содержащей блок кодирования, имеющий отсчет p0, равен 1.
Когда одно или несколько из следующих условий является истинным, величину фильтрованного отсчета q0′ заменяют величиной соответствующего входного отсчета q0:
– флаг pcm_loop_filter_disabled_flag равен 1 и флаг pcm_flag xQ0 * SubWidthC ][ yQ0 * SubHeightC ] равен 1.
– флаг cu_transquant_bypass_flag для единицы кодирования, содержащей блок кодирования, имеющий отсчет q0, равен 1.
– флаг palette_mode_flag для единицы кодирования, содержащей блок кодирования, имеющий отсчет q0, равен 1.
Примечания: для всех приведенных выше вариантов может применяться следующее:
В некоторых примерах, параметр MinIpcmCbSizeX равен параметру MinIpcmCbSizeY. В альтернативном варианте, параметр MinIpcmCbSizeX не равен параметру MinIpcmCbSizeY.
В некоторых примерах, параметр MaxIpcmCbSizeX равен параметру MaxIpcmCbSizeY. В альтернативном варианте, параметр MaxIpcmCbSizeX не равен параметру MaxIpcmCbSizeY.
Параметры MinIpcmCbSizeX, MinIpcmCbSizeY, MaxIpcmCbSizeX, MaxIpcmCbSizeY могут быть выведены из синтаксических элементов, сигнализируемых в группе SPS/группе VPS/группе PPS и т.п.
На фиг. 11 представлена логическая схема способа 1100 для обработки видео. Способ 1100 содержит, на операции 1110, определение, для текущего блока видео, что активизирован по меньшей мере один из режимов – первый режим кодирования, в котором используется импульсно-кодовая модуляция (ИКМ), или второй режим кодирования, в котором используется внутрикадровое прогнозирование на основе нескольких опорных строк (MRLIP).
Этот способ 1100 содержит, на операции 1120, осуществление, на основе первого режима кодирования или второго режима кодирования, преобразования между текущим блоком и представлением видео в форме потока битов данных, где в это представление в форме потока битов данных включена, согласно правилу упорядочения, первая индикация, указывающая использование первого режима кодирования, и/или вторая индикация, указывающая использование второго режима кодирования.
На фиг. 12 представлена логическая схема способа 1200 для обработки видео. Способ 1200 содержит, на операции 1210, определение, для преобразования между текущим блоком видео и представлением этого видео в форме потока битов данных, на основе представления видео в форме цветовых составляющих, по меньшей мере одного флага, ассоциированного с режимом кодирования на основе импульсно-кодовой модуляции текущего блока.
Способ 1200 содержит, на операции 1220, осуществление указанного преобразования, на основе этого определения.
На фиг. 13 представлена логическая схема способа 1300 для обработки видео. Способ 1300 содержит, на операции 1310, осуществление преобразования между текущим блоком области видео и представлением этого видео в форме потока битов данных, где это представление в форме потока битов данных форматировано в соответствии с правилом относительно применимости импульсно-кодовой модуляции (ИКМ) к текущему блоку и правилом, специфицирующим, когда следует опустить индикацию модуляции ИКМ на уровне текущего блока после определения, что индикация отключения модуляции ИКМ вставлена на уровне области видео.
На фиг. 14 представлена логическая схема способа 1400 для обработки видео. Способ 1400 содержит, на операции 1410, принятие решения, на основе размера текущего блока видео, относительно активизации режима кодирования с импульсно-кодовой модуляцией (ИКМ) для текущего блока.
Способ 1400 содержит, на операции 1420, осуществление, на основе указанного решения, преобразования между текущим блоком и представлением рассматриваемого видео в форме потока битов данных.
На фиг. 15 представлена логическая схема способа 1500 для обработки видео. Способ 1500 содержит, на операции 1510, определение, для преобразования между текущим блоком видео и представлением этого видео в форме потока битов данных, минимально разрешенной величины для высоты или ширины текущего блока, минимально разрешенную величину для высоты сообщают посредством сигнализации или выводят отдельно от минимально разрешенной величины для ширины.
Способ 1500 содержит, на операции 1520, осуществление преобразования на основе этого определения.
На фиг. 16 представлена логическая схема способа 1600 для обработки видео. Способ 1600 содержит, на операции 1610, конфигурирование, после определения, что индикация текущего блока видео, кодированная в режиме кодирования с импульсно-кодовой модуляцией (ИКМ), сообщена в составе представления этого видео в форме потока битов данных, представления этого видео в форме цветовых составляющих.
Способ 1600 содержит, на операции 1620, осуществление, на основе указанного конфигурирования, преобразования между текущим блоком и представлением в форме потока битов данных.
На фиг. 17 представлена логическая схема способа 1700 для обработки видео. Способ 1700 содержит, на операции 1710, определение, для преобразования между текущим блоком видео и представлением этого видео в форме потока битов данных, что для этого преобразования широкоугольный режим отключен из-за использования для рассматриваемого преобразования режима с несоседними опорными строками.
Способ 1700 содержит, на операции 1720, осуществление, на основе указанного определения, преобразования, в режиме с несоседними опорными строками с использованием несоседних пикселей из опорной строки видео для преобразования текущего блока, и в широкоугольном режиме, содержащем направление внутрикадрового прогнозирования за пределами обычного углового диапазона направлений внутрикадрового прогнозирования от 45 градусов до -135 градусов.
На фиг. 18 представлена логическая схема способа 1800 для обработки видео. Способ 1800 содержит, на операции 1810, принятие решения, на основе формата субдискретизации цветовой составляющей видео для преобразования между текущим блоком видео и представлением этого видео в форме потока битов данных, относительно того, активизирован ли режим кодирования с несколькими опорными строками (MRL) для текущего блока, или для этого режима кодирования с несколькими строками MRL используется сигнализация формата для одного или нескольких индексов опорных строк.
Способ 1800 содержит, на операции 1820, осуществление преобразования на основе этого решения.
На фиг. 19 представлена логическая схема способа 1900 для обработки видео. Способ 1900 содержит, на операции 1910, выбор, после определения, что режим междукадрового-внутрикадрового прогнозирования и режим внутрикадрового прогнозирования на основе нескольких опорных строк (MRLIP) активизированы для текущего блока видео, строки или столбца, несоседнего с текущим блоком, для использования в процедуре внутрикадрового прогнозирования из режима междукадрового-внутрикадрового прогнозирования.
Способ 1900 содержит, на операции 1920, осуществления, на основе указанной строки или указанного столбца, преобразования между текущим блоком и представлением рассматриваемого видео в форме потока битов данных.
На фиг. 20 представлена логическая схема способа 2000 для обработки видео. Способ 2000 содержит, на операции 2010, осуществление, для текущего блока видео, кодированного с применением режима внутрикадрового прогнозирования на основе нескольких опорных строк (MRLIP), использующего строку, не являющуюся соседней с текущим блоком, преобразования между текущим блоком и представлением рассматриваемого видео в форме потока битов данных, это прогнозирование MRLIP далее использует список наиболее вероятных режимов (MPM) и осуществляет преобразование, содержащее замену первого режима (M1) из списка режимов MPM на второй режим (M2) из этого списка режимов MPM.
На фиг. 21 представлена логическая схема способа 2100 для обработки видео. Способ 2100 содержит, на операции 2110, осуществление, для текущего блока видео, кодированного с применением режима внутрикадровое прогнозирование на основе нескольких опорных строк (MRLIP), использующего строку, не являющуюся соседней с текущим блоком, преобразования между текущим блоком и представлением рассматриваемого видео в форме потока битов данных, где это представление в форме потока битов данных содержит кодированный индекс режима в фиксированном списке режимов-кандидатов, вместо кодированного индекса режима в списке наиболее вероятных режимов (MPM).
На фиг. 22 представлена логическая схема способа 2200 для обработки видео. Способ 2200 содержит, на операции 2210, определение, для преобразования между текущим блоком видео и представлением этого видео в форме потока битов данных с использованием режима кодирования с применением нескольких опорных строк (MRL), что указанное представление в форме потока битов данных содержит первый индекс, соответствующий расположенным выше строкам, используемым для прогнозирования текущего блока, и второй индекс, соответствующий расположенным слева столбцам, используемым при прогнозировании.
Способ 2200 содержит, на операции 2220, осуществление преобразования на основе указанного определения.
На фиг. 23 представлена блок-схема аппаратуры 2300 обработки видео. Эта аппаратура 2300 может быть использована для осуществления одного или нескольких описываемых здесь способов. Аппаратура 2300 может быть реализована в смартфоне, планшете, компьютере, приемнике Интернета вещей (Internet of Things (IoT)) и т.д. Аппаратура 2300 может содержать один или несколько процессоров 2302, одно или несколько запоминающих устройств 2304 и аппаратные средства 2306 для обработки видео. Процессор (ы) 2302 может быть конфигурирован для осуществления одного или нескольких способов, описываемых в настоящем документе. Запоминающее устройство (запоминающие устройства) 2304 может быть использовано для сохранения данных и кода, применяемого для осуществления способов и технологий, описываемых здесь. Аппаратные средства 2306 для обработки видео могут быть использованы для реализации, в аппаратной схеме, некоторых технологий, описываемых здесь.
В некоторых вариантах, способы кодирования видео могут быть осуществлены с использованием аппаратуры, реализованной на аппаратной платформе, как описано применительно к фиг. 23.
Некоторые варианты предлагаемой технологии содержат принятие решения или определение, что следует активизировать инструмент или режим обработки видео. В одном из примеров, когда инструмент или режим обработки видео активизирован, кодирующее устройство будет использовать или реализовывать указанный инструмент или режим при обработке блока видео, но может не обязательно модифицировать получаемый в результате поток битов данных на основе использования этого инструмента или режима. Иными словами, преобразование от блока видео к представлению этого видео в форме потока битов данных будет использовать указанный инструмент или способ обработки видео, когда он активизирован на основе упомянутого решения или определения. В другом примере, когда инструмент или режим обработки видео активизирован, декодирующее устройство будет обрабатывать поток битов данных, зная при этом, что этот поток битов данных был модифицирован на основе инструмента или режима обработки видео. Иными словами, преобразование от представления видео в форме потока битов данных к блоку видео будет осуществлено с использованием инструмента или режима обработки видео, который был активизирован на основе указанного решения или определения.
Некоторые варианты предлагаемой технологии содержат принятие решения или определение, что следует отключить инструмент или режим обработки видео. В одном из примеров, когда инструмент или режим обработки видео отключен, кодирующее устройство не будет использовать этот инструмент или режим при преобразовании блока видео в представление этого видео в форме потока битов данных. В другом примере, когда инструмент или режим обработки видео отключен, декодирующее устройство будет обрабатывать поток битов данных, зная при этом, что этот поток битов данных не был модифицирован на основе инструмента или режима обработки видео, который был активизирован на основе указанного решения или определения.
На фиг. 24 представлена блок-схема, показывающая пример системы 2400 обработки видео, в которой могут быть реализованы различные представляемые здесь технологии. Различные реализации могут содержать некоторые или все компоненты системы 2400. Система 2400 может содержать вход 2402 для приема видео контента. Этот видео контент может быть принят в исходном «сыром» или несжатом формате, например, многокомпонентные величины пикселей шириной 8 или 10 бит, либо может в сжатом или в кодированном формате. Вход 2402 может представлять собой сетевой интерфейс, интерфейс периферийных устройств или интерфейс запоминающих устройств. К примерам сетевого интерфейса относятся проводные интерфейсы, такие как Этернет, пассивная оптическая сеть (passive optical network (PON)) и т.п., а также беспроводные интерфейсы, такие как интерфейс Wi-Fi или сотовые интерфейсы.
Система 2400 может содержать кодирующий компонент 2404, который может осуществлять разнообразные способы декодирования или кодирования, описываемые в настоящем документе. Кодирующий компонент 2404 может уменьшить среднюю скорость передачи битов данных видео, поступающего от входа 2402 и передаваемого на выход этого кодирующего компонента 2404, для генерации кодированного представления видео. Технологии кодирования, поэтому, иногда называются технологиями сжатия видео или транскодирования видео. Выходной поток данных кодирующего компонента 2404 может быть либо сохранен, либо передан через присоединенную схему связи, представленную компонентом 2406. Сохраненное или сообщенное через схему связи представление видео, принятого на входе 2402, в форме потока битов данных (или в кодированной форме), может быть использовано компонентом 2408 для генерации величин пикселей или представляемого на дисплее видео, передаваемого интерфейсу 2410 дисплея. Процедура генерации просматриваемого пользователем видео на основе представления этого видео в форме потока битов данных иногда называется декомпрессией видео. Кроме того, хотя некоторые операции обработки видео, называются здесь операциями или инструментами «кодирования», должно быть понятно, что эти инструменты или операции кодирования используются в кодирующем устройстве, а соответствующие инструменты или операции декодирования, обращающиеся результаты кодирования, будут осуществляться в декодирующем устройстве.
К примерам интерфейса периферийных устройств или интерфейса дисплея могут относиться универсальная последовательная шина (universal serial bus (USB)) или мультимедийный интерфейс высокой четкости (high definition multimedia interface (HDM)) или интерфейс Displayport, и т.п. К примерам интерфейсов запоминающих устройств относятся последовательный интерфейс для подключения накопителей информации (SATA (serial advanced technology attachment)), интерфейс связи с периферийными устройствами (PCI), интерфейс интегрированных средств разработки (IDE) и другие подобные интерфейсы, Способы, описываемые в настоящем документе, могут быть реализованы в различных электронных устройствах, таких как мобильные телефоны, портативные компьютеры, смартфоны или другие устройства, способные осуществлять обработку цифровых данных и/или представление видео на дисплее.
Должно быть понятно, чтобы были описаны несколько способов, которые принесут выгоду вариантам видео кодирующих устройств и декодирующих устройств, входящих в устройства для обработки видео, такие как смартфоны, портативные компьютеры, настольные компьютеры и настольные компьютеры, разрешив использование инструмента внутрикадрового кодирования при кодировании или декодировании видео или изображений.
В некоторых вариантах могут быть реализованы следующие технические решения:
A1. Способ обработки видео, содержащий: определение, для текущего блока видео, что активизирован по меньшей мере один из режимов – первый режим кодирования, в котором используется импульсно-кодовая модуляция (ИКМ), или второй режим кодирования, в котором используется внутрикадровое прогнозирование на основе нескольких опорных строк (MRLIP); и осуществление, на основе первого режима кодирования или второго режима кодирования, преобразования между текущим блоком и представлением рассматриваемого видео в форме потока битов данных, где первая индикация, указывающая использование первого режима кодирования, и/или вторая индикация, указывающая использование второго режима кодирования, включена в представление в форме потока битов данных согласно правилу упорядочения.
A2. Способ согласно решению A1, где указанное правило упорядочения специфицирует, что первая индикация находится в составе представления в форме потока битов данных прежде второй индикации в порядке декодирования.
A3. Способ согласно решению A1, где указанное представление в форме потока битов данных опускает индекс опорной строки, используемый для второго режима кодирования, после определения, что первый режим кодирования активизирован.
A4. Способ согласно решению A1, где указанное представление в форме потока битов данных далее содержит индекс опорной строки, используемой для второго режима кодирования, после определения, что первый режим кодирования отключен.
A5. Способ согласно решению A1, где указанное представление в форме потока битов данных опускает первую индикацию после определения, что это представление в форме потока битов данных содержит вторую индикацию.
A6. Способ согласно решению A1, где процедура альтернативной контурной фильтрации (ALF) для текущего блока, отключается после определения, что активизирован первый режим кодирования.
A7. Способ согласно решению A6, где решение о том, вставить ли индикацию процедуры фильтрации ALF в представление в форме потока битов данных или нет, основано на указанной первой индикации.
A8. Способ согласно решению A6, где решение о том, вставить ли первую индикацию в представление в форме потока битов данных или нет, основано на индикации процедуры фильтрации ALF.
A9. Способ согласно решению A6, где первую индикацию сигнализируют в составе представления в форме потока битов данных прежде индикации процедуры фильтрации ALF после определения, что размер текущего блока равен размеру единицы дерева кодирования (CTU).
A10. Способ согласно решению A6, где первую индикацию сигнализируют в составе представления в форме потока битов данных прежде индикации процедуры адаптивного сдвига отсчета (sample adaptive offset (SAO)) после определения, что размер текущего блока равен размеру единицы дерева кодирования (CTU).
A11. Способ согласно какому-либо из решений A1 – A10, где флаг pcm_loop_filter_disabled_flag = 1.
A12. Способ обработки видео, содержащий: определение, для преобразования между текущим блоком видео и представлением этого видео в форме потока битов данных, на основе представления этого видео в форме цветовых составляющих, по меньшей мере одного флага, ассоциированного с режимом кодирования на основе импульсно-кодовой модуляции для текущего блока, и осуществление преобразования на основе этого определения.
A13. Способ согласно решению A12, где указанный по меньшей мере один флаг основан на том, используются ли раздельные структуры дерева разбиений для каждого компонента представления видео в форме цветовых составляющих.
A14. Способ согласно решению n A12, где указанный по меньшей мере один флаг содержит первый флаг для яркостной составляющей представления видео в форме цветовых составляющих, и где этот по меньшей мере один флаг далее содержит второй флаг для цветностной составляющей этого представления видео в форме цветовых составляющих.
A15. Способ согласно решению A12, где указанное представление видео в форме цветовых составляющих содержит три цветовых составляющих, и где указанный по меньшей мере один флаг содержит три флага для каждой из трех цветовых составляющих.
A16. Способ согласно решению A12, где указанный по меньшей мере один флаг содержит индикацию активизации импульсно-кодовой модуляции, что соответствует индикации активизации импульсно-кодовой модуляции для каждой составляющей представления видео в форме цветовых составляющих.
A17. Способ согласно решению A16, где процедура фильтрации для составляющей представления видео в форме цветовых составляющих основана на индикации активизации импульсно-кодовой модуляции для соответствующей составляющей этого представления видео в форме цветовых составляющих.
A18. Способ согласно решению A12, где указанный по меньшей мере один флаг содержит индикацию активизации импульсно-кодовой модуляции для яркостной составляющей представления видео в форме цветовых составляющих, и где индикацию активизации импульсно-кодовой модуляции для цветностной составляющей представления видео в форме цветовых составляющих выводят из местонахождения в пределах яркостной составляющей.
A19. Способ согласно решению A18, где указанное местонахождение представляет собой центральную позицию яркостной составляющей.
A20. Способ обработки видео, содержащий: осуществление преобразования между текущим блоком видео в области видео и представлением этого видео в форме потока битов данных, где это представление в форме потока битов данных форматируют согласно правилу относительно применимости импульсно-кодовой модуляции (ИКМ) к указанному текущему блоку, и где это правило специфицирует, что следует опустить индикацию модуляции ИКМ на уровне текущего блока после определения, что индикация отключения модуляции ИКМ вставлена на уровне области видео.
A21. Способ согласно решению A20, где индикацию модуляции ИКМ сигнализируют в группе параметров видео (video parameter set (VPS)), группе параметров изображения (picture parameter set (PPS)), заголовке изображения, заголовке среза, заголовке группы плиток, плитке, единице дерева кодирования (CTU) или в строке единиц CTU.
A22. Способ обработки видео, содержащий: принятие решения, на основе размера текущего блока видео, относительно активизации режима кодирования с импульсно-кодовой модуляцией (ИКМ) для текущего блока; и осуществление, на основе этого решения, преобразования между текущим блоком и представлением рассматриваемого видео в форме потока битов данных.
A23. Способ согласно решению A22, где режим кодирования с импульсно-кодовой модуляцией активизируют после определения, что текущий блок содержит меньше 64 отсчетов.
A24. Способ согласно решению A23, где размер текущего блока составляет 4×4, 4×8 или 8×4.
A25. Способ согласно решению A23, где минимальный размер текущего блока при флаге pcm_flag, равном 1, устанавливают равным ( log2_min_pcm_luma_coding_block_size_minus2 + 2 ).
A26. Способ согласно решению A22, где режим кодирования с модуляцией ИКМ активизируют после определения, что размер текущего блока не меньше 64×64.
A27. Способ согласно решению A22, где режим кодирования с модуляцией ИКМ активизируют после определения, что размер наибольшей единицы кодирования (largest coding unit (LCU)) равен 128×128.
A28. Способ согласно решению A22, где режим кодирования с модуляцией ИКМ активизирован, и где индикацию максимального или минимального числа отсчетов в текущем блоке передают в виде сигнализации в указанном представлении в форме потока битов данных.
A29. Способ согласно решению A28, где указанная индикация содержит разность между максимальным числом отсчетов и минимальным числом отсчетов.
A30. Способ согласно решению A28, где указанная индикация содержит логарифм по основанию 2 от максимального или минимального числа отсчетов.
A31. Способ согласно решению A28, где указанная индикация содержит логарифм по основанию 2 от разности между максимальным числом отсчетом и минимальным числом отсчетов.
A32. Способ обработки видео, содержащий: определение, для преобразования между текущим блоком видео и представлением этого видео в форме потока битов данных, минимально разрешенной величины для высоты или ширины текущего блока, где эту минимально разрешенную величину для высоты передают в виде сигнализации или выводят отдельно от минимально разрешенной величины для ширины; и осуществление преобразования на основе этого определения.
A33. Способ согласно решению A32, где указанное представление в форме потока битов данных далее содержит максимально разрешенную величину для высоты или ширины, и где максимально разрешенную величину для высоты передают в виде сигнализации или выводят отдельно от максимально разрешенной величины для ширины.
A34. Способ согласно решению A32, где указанное представление в форме потока битов данных опускает минимально разрешенную величину для высоты или ширины, и где эту минимально разрешенную величину выводят из минимального размера блока единицы кодирования (CU).
A35. Способ согласно решению A32, где указанное представление в форме потока битов данных опускает максимально разрешенную величину для высоты или ширины, и где эту максимально разрешенную величину выводят из максимального размера блока единицы кодирования (CU).
A36. Способ согласно какому-либо из решений A32 – A35, где высота отличается от ширины.
A37. Способ согласно решению A32, где указанное представление в форме потока битов данных содержит индикацию активизации режима кодирования с импульсно-кодовой модуляцией (ИКМ) для текущего блока на основе (a) того, что ширина текущего блока не меньше минимально разрешенной величины для ширины и не больше максимально разрешенной величины для ширины, или (b) того, что высота текущего блока не меньше минимально разрешенной величины для высоты и не больше максимально разрешенной величины для высоты.
A38. Способ согласно решению A32 или 33, где активизирован режим кодирования с импульсно-кодовой модуляцией (ИКМ) для текущего блока.
A39. Способ обработки видео, содержащий: конфигурирование, после определения, что индикацию того, что текущий блок видео кодирован с использованием режима кодирования с импульсно-кодовой модуляцией (ИКМ), передают в виде сигнализации в представлении рассматриваемого видео в форме потока битов данных, представления этого видео в форме цветовых составляющих; и осуществление, на основе этого конфигурирования, преобразования между текущим блоком и представлением в форме потока битов данных.
A40. Способ согласно решению A39, где разрешенный размер для каждой составляющей представления видео в форме цветовых составляющих сообщают в виде сигнализации по отдельности.
A41. Способ согласно решению A39, где указанное конфигурирование основано на формате субдискретизации цветовой составляющей для представления видео в форме цветовых составляющих.
A42. Способ согласно решению A41, где формат субдискретизации цветовой составляющей имеет вид 4:2:0 или 4:4:4.
A43. Способ согласно какому-либо из решений A1 – A42, где в результате указанного преобразования происходит генерация текущего блока из представления в форме потока битов данных.
A44. Способ согласно какому-либо из решений A1 – A42, где в результате указанного преобразования происходит генерация представления в форме потока битов данных из текущего блока.
A45. Способ согласно какому-либо из решений A1 – A42, где осуществление указанного преобразования содержит синтаксический анализ представления в форме потока битов данных на основе одного или нескольких правил декодирования.
A46. Аппаратура в видео системе содержит процессор и энергонезависимое запоминающее устройство с сохраненными в нем командами, где при выполнении этих команд процессор реализует способ согласно какому-либо одному из решений A1 – A45.
A47. Компьютерный программный продукт, сохраняемый на энергонезависимом читаемом компьютером носителе информации, этот компьютерный программный продукт содержит программный код для осуществления способа согласно какому-либо одному из решений A1 – A45.
В некоторых вариантах могут быть осуществлены следующие технические решения:
B1. Способ обработки видео, содержащий: определение, для преобразования между текущим блоком видео и представлением этого видео в форме потока битов данных, что для этого преобразования широкоугольный режим отключен из-за использования режима с несоседними опорными строками для преобразования; и осуществление, на основе указанного определения, преобразования, где режим с несоседними опорными строками использует несоседние пиксели из опорной строки видео для преобразования текущего блока, и где широкоугольный режим содержит направление внутрикадрового прогнозирования за пределами обычного углового диапазона направлений внутрикадрового прогнозирования от 45 градусов до -135 градусов.
B2. Способ согласно решению B1, где указанное преобразование пропускает отображение между сообщенным в виде сигнализации режимом и по меньшей мере одним индексом широкоугольного режима.
B3. Способ обработки видео, содержащий: принятие решения, на основе формата субдискретизации цветовой составляющей видео для преобразования между текущим блоком видео и представлением этого видео в форме потока битов данных, относительно того, активизирован ли режим кодирования с использованием нескольких опорных строк (MRL) для текущего блока, или для сигнализации формата одного или нескольких индексов опорных строк в режиме кодирования с использованием строк MRL; и осуществление преобразования на основе этого принятого решения.
B4. Способ согласно решению B3, где режим кодирования с использованием строк MRL активизируют для трех цветовых составляющих представления видео в форме цветовых составляющих после определения, что формат субдискретизации цветовой составляющей имеет вид 4:4:4.
B5. Способ согласно решению B3, где один индекс опорной строки из совокупности одного или нескольких индексов опорных строк кодируют для трех составляющих представления видео в форме цветовых составляющих.
B6. Способ согласно решению B3, где первый индекс опорной строки из совокупности одного или нескольких индексов опорных строк кодируют для яркостной составляющей представления видео в форме цветовых составляющих, и где второй индекс опорной строки кодируют для двух других цветовых составляющих представления видео в форме цветовых составляющих.
B7. Способ согласно решению B3, где совокупность указанных одного или нескольких индексов опорных строк содержит по меньшей мере два индекса опорных строк, кодированные с использованием прогнозирующего кодирования.
B8. Способ согласно решению B3, где представление в форме потока битов данных содержит один флаг, указывающий, что все из совокупности одного или нескольких индексов опорных строк являются идентичными.
B9. Способ согласно решению B3, где активизирован режим кодирования с использованием строк MRL, и где различные составляющие представления видео в форме цветовых составляющих выбирают различные строки-кандидаты из режима кодирования с использованием строк MRL.
B10. Способ согласно решению B9, где составляющие Cb и Cr из представления видео в форме цветовых составляющих выбирают строки-кандидаты из совокупности соседних первой и второй строк.
B11. Способ обработки видео, содержащий: выбор, после определения, что режим междукадрового-внутрикадрового прогнозирования и режим внутрикадрового прогнозирования на основе нескольких опорных строк (MRLIP) активизированы для текущего блока видео, строки или столбца, не являющегося соседним для текущего блока, для процедуры внутрикадрового прогнозирования из режима междукадрового-внутрикадрового прогнозирования; и осуществление, на основе указанной строки или указанного столбца, преобразования между текущим блоком и представлением рассматриваемого видео в форме потока битов данных.
B12. Способ согласно решению B11, где указанное представление в форме потока битов данных содержит индикацию выбранной строки или столбца.
B13. Способ согласно решению B11, где индикацию активизации режима междукадрового-внутрикадрового прогнозирования и режима прогнозирования MRLIP передают в виде сигнализации в группе параметров последовательности (SPS), группе параметров видео (VPS), группе параметров изображения (PPS), заголовке изображения, заголовке среза, заголовке группы плиток или единице дерева кодирования (CTU).
B14. Способ обработки видео, содержащий: осуществление, для текущего блока видео, кодированного с применением режима внутрикадрового прогнозирования на основе нескольких опорных строк (MRLIP), использующего строку, несоседнюю с текущим блоком, преобразования между текущим блоком и представлением рассматриваемого видео в форме потока битов данных, где режим прогнозирования MRLIP далее использует список наиболее вероятных режимов (MPM), и где процедура указанного преобразования содержит замену первого режима (M1) из списка режимов MPM на второй режим (M2) из этого списка режимов MPM.
B15. Способ согласно решению B14, где указанный первый режим представляет собой DC-режим, планарный режим, широкоугольный режим или какой-либо неугловой режим.
B16. Способ согласно решению B14, где выбор второго режима основан на оставшихся режимах в списке режимов MPM.
B17. Способ обработки видео, содержащий: осуществление, для текущего блока видео, кодированного с применением режима внутрикадрового прогнозирования на основе нескольких опорных строк (MRLIP), использующего строку, несоседнюю с текущим блоком, преобразования между текущим блоком и представлением рассматриваемого видео в форме потока битов данных, где это представление в форме потока битов данных содержит кодированный индекс режима в фиксированном списке режимов-кандидатов вместо кодированного индекса режима в списке наиболее вероятных режимов (MPM).
B18. Способ согласно решению B17, где фиксированный список режимов-кандидатов содержит горизонтальные режимы или вертикальные режимы.
B19. Способ согласно решению B17, где фиксированный список режимов-кандидатов является предварительно заданным.
B20. Способ согласно решению B17, где фиксированный список режимов кандидатов передают в виде сигнализации в группе параметров последовательности (SPS), группе параметров видео (VPS), группе параметров изображения (PPS), заголовке изображения, заголовке среза, заголовке группы плиток или единице дерева кодирования (CTU).
B21. Способ согласно решению B17, где указанный список режимов-кандидатов построен на основе высоты или ширины текущего блока.
B22. Способ обработки видео, содержащий: определение, для преобразования между текущим блоком видео и представлением этого видео в форме потока битов данных с использованием режима кодирования с несколькими опорными строками (MRL), что это представление в форме потока битов данных содержит первый индекс, соответствующий расположенным выше строкам, используемым при прогнозировании текущего блока, и второй индекс, соответствующий расположенным слева столбцам, используемым при прогнозировании; и осуществление преобразования на основе этого определения.
B23. Способ согласно решению B22, где разные величины первого индекса и второго индекса соответствуют различным группам разрешенных режимов внутрикадрового прогнозирования.
B24. Способ согласно решению B23, где указанные различные группы разрешенных режимов внутрикадрового прогнозирования заданы заранее.
B25. Способ согласно решению B23, где указанные различные группы разрешенных режимов внутрикадрового прогнозирования передают в виде сигнализации в группе параметров последовательности (SPS), группе параметров видео (VPS), группе параметров изображения (PPS), заголовке изображения, заголовке среза, заголовке группы плиток или единице дерева кодирования (CTU).
B26. Способ согласно какому-либо из решений B1 – B25, где указанное преобразование генерирует текущий блок из представления в форме потока битов данных.
B27. Способ согласно какому-либо из решений B1 – B25, где указанное преобразование генерирует представление в форме потока битов данных из текущего блока.
B28. Аппаратура в видео системе, содержащая процессор и энергонезависимое запоминающее устройство с сохраняемыми в нем командами, где при выполнении этих команд процессор осуществляет способ согласно какому-либо одному из решений B1 – B27.
B29. Компьютерный программный продукт, сохраняемый на энергонезависимом читаемом компьютером носителе информации, этот компьютерный программный продукт содержит программный код для осуществления способа согласно какому-либо одному из решений B1 – B27.
Различные правила, описываемые в настоящем документе, могут быть предварительно специфицированы и сохранены в вариантах изобретения в форме команд, кода или аппаратных схем. Представление текущего блока видео в форме потока битов данных может содержать смежные или несмежные биты, как это определено форматом для потока битов данных. Например, некоторая информация относительно текущего блока видео может быть сохранена в поле заголовка в представлении в форме потока битов данных.
Описываемые и другие технические решения, примеры, варианты, модули и функциональные операции, представленные в настоящем документе, могут быт реализованы в виде цифровой электронной схемы или в виде компьютерного загружаемого программного обеспечения, встроенного программного обеспечения или аппаратуры, включая структуры, представленные в настоящем документе, и их структурные эквиваленты, либо в виде комбинаций одного или нескольких перечисленных выше объектов. Представленные и другие варианты могут быть реализованы в виде одного или нескольких компьютерных программных продуктов, т.е. одного или нескольких модулей компьютерных программных команд, кодированных на читаемом компьютером носителе информации, для выполнения аппаратурой обработки данных или управления этой аппаратурой. Такой читаемый компьютером носитель информации может представлять собой машиночитаемое запоминающее устройство, подложку с машиночитаемым запоминающим устройством, запоминающее устройство, композицию объектов, влияющих на машиночитаемый распространяющийся сигнал, или комбинацию одного или нескольких из перечисленных объектов. Термин «аппаратура обработки данных» охватывает всю аппаратуру, устройства и машины для обработки данных, включая, в качестве примеров, программируемый процессор, компьютер, либо несколько процессоров или компьютеров. Аппаратура может содержать, в дополнение к аппаратным средствам, код, создающий среду для выполнения необходимых компьютерных программ, например, код, составляющий встроенное программное обеспечение процессора, стек протоколов, систему управления базами данных, операционную систему или комбинацию одного или нескольких перечисленных объектов. Распространяющийся сигнал представляет собой искусственно генерируемый сигнал, например, генерируемый машиной электрический, оптический или электромагнитный сигнал, формируемый для кодирования информации с целью передачи соответствующей приемной аппаратуре.
Компьютерная программа (также известная как программа, программное обеспечение, программное приложение, сценарий или код) может быть записана на каком-либо языке программирования, включая компилируемые или интерпретируемые языки, и может быть развернута в любой форме, включая автономную программу или в виде модуля, компонента, подпрограммы или другого блока, подходящего для использования в компьютерной среде. Компьютерная программа необязательно соответствует файлу в файловой системе. Программа может быть сохранена в части файла, содержащего также другие программы или данные (например, один или несколько сценариев, сохраненных в документе на языке разметки), в одном файле, специально выделенном для рассматриваемой программы, либо в нескольких скоординированных файлах (например, файлах, сохраняющих один или несколько модулей, подпрограмм или фрагментов кода). Компьютерная программа может быть развернута для выполнения на одном компьютере или на нескольких компьютерах, расположенных в одном пункте или распределенных по нескольким пунктам и соединенных сетью связи.
Процедуры и логические потоки, описываемые в настоящем документе, могут быть реализованы одним или несколькими программируемыми процессорами, выполняющими одну или несколько компьютерных программ, для осуществления функций путем оперирования над входными данными и генерации выходных данных. Эти процедуры и логические потоки могут также быть выполнены посредством и аппаратура может быть также реализована в виде логических схем специального назначения, например, в виде программируемой пользователем вентильной матрицы (FPGA (field programmable gate array)) или специализированной интегральной схемы (ASIC (application specific integrated circuit)).
К процессорам, подходящим для выполнения компьютерной программы, относятся, в качестве примеров, микропроцессоры, как общего, так и специального назначения, а также какие-либо один или несколько процессоров любого типа в цифровом компьютере. В общем случае, процессор будет принимать команды и данные из постоянного запоминающего устройства и/или запоминающего устройства с произвольной выборкой. Основными элементами компьютера являются процессор для выполнения команд и одно или несколько запоминающих устройств для сохранения команд и данных. В общем случае, компьютер может также содержать или быть оперативно связан для приема данных от и/или передачи данных к одному или нескольким запоминающим устройствам большой емкости для сохранения данных, например, магнитным дискам, магнитооптическим дискам или оптическим дискам. Однако компьютеру не обязательно иметь такие устройства. К читаемым компьютером носителям, подходящим для сохранения компьютерных программных команд и данных, относятся все формы энергонезависимых запоминающих устройств, носителей информации и других запоминающих устройств, включая в качестве примеров полупроводниковые запоминающие устройства, например, стираемые программируемые постоянные запоминающие устройства (EPROM), электрически стираемые программируемые постоянные запоминающие устройства (EEPROM) и устройства флэш-памяти; магнитные диски, например, внутренние жесткие диски или сменные диски; магнитооптические диски; а также диски CD ROM и DVD-ROM. Такие процессор и запоминающее устройство могут быть встроены в логические схемы специального назначения или дополнены ими.
Хотя настоящий патентный документ содержит много конкретных деталей, это не следует толковать как ограничения объема какого-либо предмета изобретения или того, что может быть заявлено в Формуле изобретения, а напротив, только в качестве описаний признаков, которые могут быть специфичны для конкретных вариантов конкретных способов. Некоторые признаки, описываемые в настоящем патентном документе в контексте отдельных вариантов, могут быть также реализованы в сочетании в одном варианте. Напротив, различные признаки, описываемые в контексте одного варианта, могут быть также реализованы в нескольких вариантах по отдельности или в какой-либо подходящей субкомбинации. Более того, хотя признаки могут быть описаны выше как действующие в некоторых комбинациях и даже первоначально заявлены в Формуле изобретения в таком качестве, один или несколько признаков какой-либо заявленной комбинации могут быть исключены из этой комбинации, а заявленная в Формуле комбинация может быть направлена на какую-либо субкомбинацию или вариацию какой-либо субкомбинации.
Аналогично, хотя операции изображены на чертежах в конкретном порядке, это не следует понимать как требование, чтобы такие операции осуществлялись в конкретном показанном порядке или в последовательном порядке, либо чтобы были выполнены все иллюстрируемые операции, для достижения желаемых результатов. Более того, разделение различных компонентов системы в вариантах, описываемых в настоящем патентном документе, не следует понимать как требование такого разделения во всех вариантах.
Здесь описаны только несколько реализаций и примеров, однако могут быть сделаны и другие реализации, усовершенствования и вариации на основе того, что содержится и иллюстрировано в настоящем патентном документе.

Claims (38)

1. Способ обработки данных видео, содержащий этап, на котором:
выполняют преобразование между текущим блоком видео для видео и потоком битов данных для указанного видео, причем текущий блок видео является яркостным блоком видео;
при этом одно из первого и второго указания используется для указания использования импульсно-кодовой модуляции (ИКМ) для текущего блока видео, а другое из первого и второго указания используется для указания информации о режиме внутрикадрового прогнозирования на основе множества опорных строк (MRLIP) для текущего блока видео, причем присутствие второго указания в потоке битов данных зависит от первого указания,
при этом в ответ на применение разбиения двойного дерева или разбиение одиночного дерева первое указание является указанием яркости и используется для указания использования модуляции ИКМ для текущего блока видео, а второе указание используется для указания информации о режиме прогнозирования MRLIP для текущего блока видео,
причем в ответ на первое указание, указывающее, что к текущему блоку видео применяется модуляция ИКМ, второе указание отсутствует в потоке битов данных;
при этом дополнительно используется указание модуляции ИКМ для цветности для указания, применять ли модуляцию ИКМ по меньшей мере к одной цветностной составляющей, и для указанной по меньшей мере одной цветностной составляющей не используется указание прогнозирования MRLIP для цветности независимо от значения указания модуляции ИКМ для цветности.
2. Способ по п. 1, в котором информация о режиме содержит индекс опорной строки.
3. Способ по п. 1, дополнительно содержащий этап, на котором:
применяют в процессе преобразования процедуру фильтрации к текущему блоку видео на основе первого указания.
4. Способ по п. 3, в котором процедура фильтрации представляет собой процедуру деблокирующей фильтрации.
5. Способ по п. 1, дополнительно содержащий этап, на котором:
применяют в процессе преобразования процедуру фильтрации к указанной по меньшей мере одной цветностной составляющей на основе указания модуляции ИКМ для цветности.
6. Способ по п. 5, в котором процедура фильтрации представляет собой процедуру деблокирующей фильтрации.
7. Способ по п. 1, в котором первое указание и указание модуляции ИКМ для яркости представляют собой флаги использования.
8. Способ по п. 1, в котором в ответ на применение прогнозирования MRLIP первое указание отсутствует в потоке битов данных.
9. Способ по п. 8, в котором в ответ на неприменение прогнозирования MRLIP первое указание присутствует в потоке битов данных.
10. Способ по п. 1, в котором на этапе преобразования кодируют текущий блок в поток битов данных.
11. Способ по п. 1, в котором на этапе преобразования декодируют текущий блок из потока битов данных.
12. Устройство для обработки данных видео, содержащее процессор и энергонезависимое запоминающее устройство с хранящимися в нем командами, причем команды при исполнении процессором вызывают выполнение процессором:
преобразования между текущим блоком видео для видео и потоком битов данных для указанного видео, причем текущий блок видео является яркостным блоком видео;
при этом одно из первого и второго указания используется для указания использования импульсно-кодовой модуляции (ИКМ) для текущего блока видео, а другое из первого и второго указания используется для указания информации о режиме внутрикадрового прогнозирования на основе множества опорных строк (MRLIP) для текущего блока видео, причем присутствие второго указания в потоке битов данных зависит от первого указания,
при этом в ответ на применение разбиения двойного дерева или разбиение одиночного дерева первое указание является указанием яркости и используется для указания использования модуляции ИКМ для текущего блока видео, а второе указание используется для указания информации о режиме прогнозирования MRLIP для текущего блока видео,
причем в ответ на первое указание, указывающее, что к текущему блоку видео применяется модуляция ИКМ, второе указание отсутствует в потоке битов данных;
при этом дополнительно используется указание модуляции ИКМ для цветности для указания, применять ли модуляцию ИКМ по меньшей мере к одной цветностной составляющей, и для указанной по меньшей мере одной цветностной составляющей не используется указание прогнозирования MRLIP для цветности независимо от значения указания модуляции ИКМ для цветности.
13. Устройство по п. 12, в котором информация о режиме содержит индекс опорной строки.
14. Энергонезависимый читаемый компьютером носитель для хранения информации, хранящий команды, которые вызывают выполнение процессором:
преобразования между текущим блоком видео для видео и потоком битов данных для указанного видео, причем текущий блок видео является яркостным блоком видео;
при этом одно из первого и второго указания используется для указания использования импульсно-кодовой модуляции (ИКМ) для текущего блока видео, а другое из первого и второго указания используется для указания информации о режиме внутрикадрового прогнозирования на основе множества опорных строк (MRLIP) для текущего блока видео, причем присутствие второго указания в потоке битов данных зависит от первого указания,
при этом в ответ на применение разбиения двойного дерева или разбиение одиночного дерева первое указание является указанием яркости и используется для указания использования модуляции ИКМ для текущего блока видео, а второе указание используется для указания информации о режиме прогнозирования MRLIP для текущего блока видео,
причем в ответ на первое указание, указывающее, что к текущему блоку видео применяется модуляция ИКМ, второе указание отсутствует в потоке битов данных;
при этом дополнительно используется указание модуляции ИКМ для цветности для указания, применять ли модуляцию ИКМ по меньшей мере к одной цветностной составляющей, и для указанной по меньшей мере одной цветностной составляющей не используется указание прогнозирования MRLIP для цветности независимо от значения указания модуляции ИКМ для цветности.
15. Способ сохранения потока битов данных видео, содержащий этапы, на которых:
генерируют поток битов данных видео из текущего блока видео для указанного видео, причем текущий блок видео является яркостным блоком видео; и
сохраняют поток битов данных видео в энергонезависимом читаемом компьютером носителе для хранения информации;
при этом одно из первого и второго указания используется для указания использования импульсно-кодовой модуляции (ИКМ) для текущего блока видео, а другое из первого и второго указания используется для указания информации о режиме внутрикадрового прогнозирования на основе множества опорных строк (MRLIP) для текущего блока видео, причем присутствие второго указания в потоке битов данных зависит от первого указания,
при этом в ответ на применение разбиения двойного дерева или разбиение одиночного дерева первое указание является указанием яркости и используется для указания использования модуляции ИКМ для текущего блока видео, а второе указание используется для указания информации о режиме прогнозирования MRLIP для текущего блока видео,
причем в ответ на первое указание, указывающее, что к текущему блоку видео применяется модуляция ИКМ, второе указание отсутствует в потоке битов данных;
при этом дополнительно используется указание модуляции ИКМ для цветности для указания, применять ли модуляцию ИКМ по меньшей мере к одной цветностной составляющей, и для указанной по меньшей мере одной цветностной составляющей не используется указание прогнозирования MRLIP для цветности независимо от значения указания модуляции ИКМ для цветности.
RU2021116881A 2018-11-22 2019-11-22 Способ импульсно-кодовой модуляции для обработки видео RU2806548C2 (ru)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNPCT/CN2018/116885 2018-11-22

Publications (2)

Publication Number Publication Date
RU2021116881A RU2021116881A (ru) 2022-12-12
RU2806548C2 true RU2806548C2 (ru) 2023-11-01

Family

ID=

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150264354A1 (en) * 2014-03-14 2015-09-17 Qualcomm Incorporated Quantization parameters for color-space conversion coding
RU2609094C2 (ru) * 2011-02-10 2017-01-30 Сони Корпорейшн Устройство и способ обработки изображений
KR20170110162A (ko) * 2010-05-25 2017-10-10 엘지전자 주식회사 신규한 평면 예측 모드
RU2647674C1 (ru) * 2012-07-02 2018-03-16 Самсунг Электроникс Ко., Лтд. Способ и устройство для кодирования видео и способ и устройство для декодирования видео, определяющие список опорных изображений внешнего прогнозирования в зависимости от размера блока
RU2647682C1 (ru) * 2010-11-26 2018-03-16 Нек Корпорейшн Устройство видеокодирования, устройство видеодекодирования, способ видеокодирования, способ видеодекодирования и программа
CN108293116A (zh) * 2015-11-24 2018-07-17 三星电子株式会社 视频解码方法及设备和视频编码方法及设备
WO2018205950A1 (en) * 2017-05-09 2018-11-15 Huawei Technologies Co., Ltd. Intra-prediction with multiple reference lines

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170110162A (ko) * 2010-05-25 2017-10-10 엘지전자 주식회사 신규한 평면 예측 모드
RU2647682C1 (ru) * 2010-11-26 2018-03-16 Нек Корпорейшн Устройство видеокодирования, устройство видеодекодирования, способ видеокодирования, способ видеодекодирования и программа
RU2609094C2 (ru) * 2011-02-10 2017-01-30 Сони Корпорейшн Устройство и способ обработки изображений
RU2647674C1 (ru) * 2012-07-02 2018-03-16 Самсунг Электроникс Ко., Лтд. Способ и устройство для кодирования видео и способ и устройство для декодирования видео, определяющие список опорных изображений внешнего прогнозирования в зависимости от размера блока
US20150264354A1 (en) * 2014-03-14 2015-09-17 Qualcomm Incorporated Quantization parameters for color-space conversion coding
CN106105205A (zh) * 2014-03-14 2016-11-09 高通股份有限公司 用于颜色空间转换译码的量化参数
CN108293116A (zh) * 2015-11-24 2018-07-17 三星电子株式会社 视频解码方法及设备和视频编码方法及设备
WO2018205950A1 (en) * 2017-05-09 2018-11-15 Huawei Technologies Co., Ltd. Intra-prediction with multiple reference lines

Similar Documents

Publication Publication Date Title
JP7425158B2 (ja) 映像処理におけるパルス符号変調技術
US11611757B2 (en) Position dependent intra prediction combination extended with angular modes
JP7343573B2 (ja) 逆量子化のための装置及び方法
US9924175B2 (en) Determining application of deblocking filtering to palette coded blocks in video coding
US10136141B2 (en) Determining quantization parameter (QP) values and delta QP values for palette coded blocks in video coding
CN113273203B (zh) 两步交叉分量预测模式
CN114208174B (zh) 预测过程中的调色板模式编解码
CA3020233A1 (en) Confusion of multiple filters in adaptive loop filtering in video coding
KR20210015819A (ko) 블록-기반 적응 루프 필터 (alf) 설계 및 시그널링
AU2016323040A1 (en) Palette predictor initialization and merge for video coding
US10623737B2 (en) Peak sample adaptive offset
CN112385234A (zh) 图像和视频译码的设备和方法
RU2806548C2 (ru) Способ импульсно-кодовой модуляции для обработки видео
RU2816845C2 (ru) Независимое кодирование индикации использования режима палитры