RU2806083C2 - Контекстно-ориентированное внутреннее предсказание - Google Patents

Контекстно-ориентированное внутреннее предсказание Download PDF

Info

Publication number
RU2806083C2
RU2806083C2 RU2021118930A RU2021118930A RU2806083C2 RU 2806083 C2 RU2806083 C2 RU 2806083C2 RU 2021118930 A RU2021118930 A RU 2021118930A RU 2021118930 A RU2021118930 A RU 2021118930A RU 2806083 C2 RU2806083 C2 RU 2806083C2
Authority
RU
Russia
Prior art keywords
samples
cclm
chroma samples
block
current video
Prior art date
Application number
RU2021118930A
Other languages
English (en)
Other versions
RU2021118930A (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 RU2021118930A publication Critical patent/RU2021118930A/ru
Application granted granted Critical
Publication of RU2806083C2 publication Critical patent/RU2806083C2/ru

Links

Abstract

Изобретение относится к технологиям, устройствам и системам для обработки видео. Техническим результатом является повышение эффективности кодирования видео. Результат достигается тем, что способ для обработки видео включает в себя выполнение понижающей дискретизации выборок цветности и яркости соседнего блока текущего блока видео; определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели (CCLM) на основании выборок цветности и яркости, подвергнутых понижающей дискретизации, полученных из понижающей дискретизации; применение CCLM на выборках яркости, расположенных в блоке яркости, соответствующем текущему блоку видео, для получения значений предсказания текущего блока видео; и выполнение преобразования на основании значений предсказания. 4 н. и 15 з.п. ф-лы, 50 ил.

Description

Область техники, к которой относится изобретение
Настоящее изобретение относится к технологиям, устройствам и системам для обработки видео.
Уровень техники
Несмотря на прогресс в области сжатия видео, цифровое видео до сих пор занимает наибольшую полосу пропускания в интернете и других цифровых коммуникационных сетях. По мере увеличения количества подключенных устройств пользователя, выполненных с возможностью принимать и отображать видео, ожидается продолжение увеличения запроса полосы пропускания для использования цифрового видео.
Раскрытие сущности изобретения
В настоящем раскрытии представлены описания устройств, систем и способов, относящихся к цифровой обработке видео, и, например, получение упрощенной линейной модели для режима межкомпонентного предсказания по линейной модели (CCLM) при кодировании видео. Описанные способы могут быть применены как к существующим стандартам кодирования видео (например, высокоэффективное кодирование видео (HEVC)), так и к перспективным стандартам кодирования видео (например, универсальное кодирование видео (VVC)) или к кодекам.
В одном типичном аспекте для обеспечения способа обработки видео может быть использована технология по настоящему раскрытию. Способ включает в себя определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели на основании двух выборок цветности из группы соседних выборок цветности, в котором выбираются две выборки цветности из группы на основании правила позиции; и выполнение преобразования на основании определения.
В одном типичном аспекте для обеспечения способа обработки видео может быть использована технология по настоящему раскрытию. Способ включает в себя определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели на основании выбранных выборок цветности на основании позиций выборок цветности, в котором выбираются выбранные выборки цветности из группы соседних выборок цветности, и выполнение преобразования на основании определения.
В другом типичном аспекте для обеспечения способа обработки видео может быть использована технология по настоящему раскрытию. Способ включает в себя определение для текущего блока видео группы соседних выборок цветности, используемая для получения набора значений для параметров линейной модели, в котором ширина и высота текущего блока видео являются W и H, соответственно, и в котором группа соседних выборок цветности содержит, по меньшей мере, одну выборку, которая расположена за пределами 2 × W верхних соседних выборок цветности или 2 × H левых соседних выборок цветности; и выполнение, основанное на линейной модели, преобразования между текущим блоком видео и кодированным представлением видео, включающим в себя текущий блок видео.
В другом типичном аспекте для обеспечения способа обработки видео может быть использована технология по настоящему раскрытию. Способ включает в себя: определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, множества наборов параметров, в котором каждый набор параметров определяет межкомпонентную линейную модель (CCLM) и получен из соответствующей группы выборок цветности на соответствующих позициях выборки цветности; определение, на основании множества наборов параметров, параметров для окончательного CCLM; и выполнение преобразования на основании окончательного CCLM.
В другом типичном аспекте для обеспечения способа обработки видео может быть использована технология по настоящему раскрытию. Способ включает в себя определение, для преобразования между текущим блоком видео и закодированным представлением видео, параметров межкомпонентной линейной модели (CCLM) на основании максимальных и минимальных значений выборок цветности и яркости N групп выборок цветности и яркости, выбранные из соседних выборок яркости и цветности текущего блока видео; и выполнение преобразования с использованием CCLM.
В другом типичном аспекте для обеспечения способа обработки видео может быть использована технология по настоящему раскрытию. Способ включает в себя определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели, которые полностью определяются двумя выборками цветности и соответствующими двумя выборками яркости; и выполнение преобразования на основании определения.
В другом типичном аспекте для обеспечения способа обработки видео может быть использована технология по настоящему раскрытию. Способ включает в себя определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели с использованием таблицы параметров, записи которой получают в соответствии с двумя значениями выборок цветности и двумя значениями выборки яркости; и выполнение преобразования на основании определения.
В другом типичном аспекте для обеспечения способа обработки видео может быть использована технология по настоящему раскрытию. Способ включает в себя определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, окончательного предсказания P (x, y) выборки цветности на позиции (x, y) в текущем блоке видео как комбинация результатов предсказания множества межкомпонентных линейных моделей (MCCLMs), в котором MCCLMs выбираются на основании позиции (x, y) выборки цветности; и выполнение преобразования на основании окончательного предсказания.
В другом типичном аспекте для обеспечения способа обработки видео может быть использована технология по настоящему раскрытию. Способ включает в себя выполнение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, первого определения относительно того, используется ли первая межкомпонентная линейная модель (CCLM), которая использует только левые соседние выборки, для предсказания выборок текущего блока видео, и/или второго определения в отношении того, используется ли вторая межкомпонентная линейная модель (CCLM), которая использует только верхние соседние выборки, для предсказания выборок текущего блока видео; и выполнение преобразования на основании первого определения и/или второго определения.
В другом типичном аспекте для обеспечения способа обработки видео может быть использована технология по настоящему раскрытию. Способ включает в себя определение, для преобразования между текущим блоком видео и закодированным представлением видео, контекста, который используется для кодирования флага с использованием арифметического кодирования в кодированном представлении текущего блока видео, в котором контекст основан на кодировании будь то верхнего или левого соседнего блока текущего блока видео с использованием режима межкомпонентного предсказания по линейной модели (CCLM); и выполнение преобразования на основании определения, в котором сигнализируются флаг для указания, применяется ли режим предсказания CCLM на текущем блоке видео и, в котором режим предсказания CCLM использует линейный режим для получения значений предсказания компоненты цветности из другой компоненты.
В другом типичном аспекте для обеспечения способа обработки видео может быть использована технология по настоящему раскрытию. Способ включает в себя определение, для преобразования между текущим блоком видео и кодированным представлением видео, порядка кодирования для одного или нескольких указаний производного режима (DM режим) и линейного режима (LM режим) на основании режима кодирования одного или нескольких соседних блоков текущего блока видео; и выполнение преобразования на основании определения, в котором LЕ режим использует линейный режим для получения значений предсказания компоненты цветности из другой компоненты, и DM режим получает режим внутреннего предсказания компоненты цветности из другой компоненты.
В другом типичном аспекте для обеспечения способа обработки видео может быть использована технология по настоящему раскрытию. Способ включает в себя определение, для преобразования между текущим блоком видео и кодированным представлением видео, параметров для предсказания линейной модели или межкомпонентного цветового предсказания на основании уточненных соседних выборок яркости и выборок цветности текущего блока видео; получение значений предсказания компонента цветности текущего блока видео на основании параметров и утонченных внутренних выборок яркости текущего блока видео; и выполнение преобразования на основании значений предсказания.
В другом типичном аспекте для обеспечения способа обработки видео может быть использована технология по настоящему раскрытию. Способ включает в себя определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров для предсказания линейной модели или межкомпонентного цветового предсказания на основании выбора соседних выборок на основании позиции наибольшей или наименьшей соседней выборки; получение значений предсказания выборок цветности текущего блока видео на основании параметров и внутренних выборок яркости текущего блока видео; и выполнение преобразования на основании значений предсказания.
В другом типичном аспекте для обеспечения способа обработки видео может быть использована технология по настоящему раскрытию. Способ включает в себя определение, для преобразования между текущим блоком видео и кодированным представлением видео, параметров для предсказания линейной модели или межкомпонентного цветового предсказания на основании основной цветовой компоненты и зависимой цветовой компоненты, основная цветовая компонента выбрана в качестве одной из цветовой компоненты яркости и цветовой компоненты цветности, и зависимая цветовая компонента выбрана в качестве другой цветовой компоненты яркости и цветовой компоненты цветности; и выполнение преобразования на основании значений предсказания.
В другом типичном аспекте для обеспечения способа обработки видео может быть использована технология по настоящему раскрытию. Способ содержит: выполнение понижающей дискретизации выборок цветности и яркости соседнего блока текущего блока видео; определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели (CCLM) на основании выборок цветности и яркости с понижающей дискретизацией, полученные из понижающей дискретизации; применение CCLM на выборках яркости, расположенных в блоке яркости, соответствующий текущему блоку видео, для получения значений предсказания текущего блока видео; применение CCLM на выборках яркости, расположенных в блоке яркости, соответствующий текущему блоку видео, для получения значений предсказания текущего блока видео; и выполнение преобразования на основании значений предсказания.
В другом типичном аспекте для обеспечения способа обработки видео может быть использована технология по настоящему раскрытию. Способ содержит: определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели (CCLM) на основании двух или более выборок цветности из группы соседних выборок цветности, в котором две или более выборки цветности выбираются на основании режима кодирования текущего блока видео; и выполнение преобразования на основании определения.
В другом типичном аспекте для обеспечения способа обработки видео может быть использована технология по настоящему раскрытию. Способ содержит: определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели (CCLM) на основании выборок цветности, которые выбираются на основании W доступных верхних соседних выборках, W является целым числом; и выполнение преобразования на основании определения.
В другом типичном аспекте для обеспечения способа обработки видео может быть использована технология по настоящему раскрытию. Способ содержит: определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели (CCLM) на основании выборок цветности, которые выбираются на основании H доступных левых соседних выборках текущего блока видео; и выполнение преобразования на основании определения.
В другом типичном аспекте для обеспечения способа обработки видео может быть использована технология по настоящему раскрытию. Способ содержит: определение, для преобразования между текущим блоком видео, которое представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели (CCLM) на основании двух или четырех выборок цветности и/или соответствующих выборок яркости; и выполнение преобразования на основании определения.
В другом типичном аспекте для обеспечения способа обработки видео может быть использована технология по настоящему раскрытию. Способ содержит: выбор, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, выборки цветности на основании правила позиции, выборки цветности используются для получения параметров межкомпонентной линейной модели (CCLM); и выполнение преобразования на основании определения, в котором правило позиции указывает выбрать выборки цветности, которые расположены в пределах верхней строки и/или левого столбца текущего блока видео.
В другом типичном аспекте для обеспечения способа обработки видео может быть использована технология по настоящему раскрытию. Способ содержит: определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, позиции, на которых выборки яркости подвергнуты понижающей дискретизации, в котором выборки яркости после понижающей дискретизации используются для определения параметров межкомпонентной линейной модели (CCLM) на основании выборок цветности и выборок яркости после понижающей дискретизации, в котором выборки яркости после понижающей дискретизации находятся на позициях, соответствующих позициям выборок цветности, которые используются для получения параметров CCLM; и выполнение преобразования на основании определения.
В другом типичном аспекте для обеспечения способа обработки видео может быть использована технология по настоящему раскрытию. Способ содержит: определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, способа для получения параметров межкомпонентной линейной модели (CCLM) с использованием выборок цветности и выборок яркости на основании условия кодирования, ассоциированного с текущим блоком видео; и выполнение преобразования на основании определения.
В другом типичном аспекте для обеспечения способа обработки видео может быть использована технология по настоящему раскрытию. Способ содержит: определение, для преобразования между текущим блоком видео, которое представляет собой блок цветности, и кодированным представлением видео, следует ли получать максимальные значения и/или минимальные значения компонента яркости и компонента цветности, которые используются для получения параметров межкомпонентной линейной модели (CCLM) на основании доступности левого соседнего блока и верхнего соседнего блока текущего блока видео; и выполнение преобразования на основании определения.
В другом типичном аспекте для обеспечения способа обработки видео может быть использована технология по настоящему раскрытию. Способ содержит определение, для преобразования между текущим блоком видео и кодированным представлением видео, параметров инструмента кодирования с использованием линейной модели на основании выбранных соседних выборок текущего блока видео и соответствующих соседних выборок опорного блока; и выполнение преобразования на основании определения.
В другом типичном аспекте для обеспечения способа обработки видео может быть использована технология по настоящему раскрытию. Способ содержит: определение, для преобразования между текущим блоком видео и кодированным представлением видео, параметров инструмента компенсации локальной подсветки (LIC) на основании N соседних выборок текущего блока видео и N соответствующих соседних выборок опорного блока, в котором N соседние выборки текущего блока видео выбираются на основании позиций N соседних выборок; и выполнение преобразования на основании определения, в котором LIC инструмент использует линейную модель изменений освещения в текущем блоке видео во время преобразования.
В другом типичном аспекте для обеспечения способа обработки видео может быть использована технология по настоящему раскрытию. Способ содержит определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели (CCLM) на основании выборок цветности и соответствующих выборок яркости; и выполнение преобразования на основании определения, в котором некоторые из выборок цветности получают с помощью операции заполнения, и выборки цветности и соответствующие выборки яркости сгруппированы в два массива G0 и G1, каждый массив включает в себя две выборки цветности и соответствующие выборки яркости.
В еще одном типичном аспекте вышеописанный способ реализован в форме исполняемого машинного кода и сохраняется на машиночитаемом носителе.
В еще одном типичном аспекте предложено устройство, выполненное с возможностью выполнять вышеописанный способ. Устройство может включать в себя процессор, который запрограммирован для реализации этого способа.
В еще одном типичном аспекте устройство видеодекодера может реализовать описанный в настоящем документе способ.
Описанные выше и другие аспекты и признаки раскрытой технологии более подробно изложены в описании и формуле изобретения со ссылкой на прилагаемые чертежи.
Краткое описание чертежей
Фиг. 1 показывает пример позиций выборок, используемых для получения весов линейной модели, используемой для межкомпонентного предсказания.
Фиг. 2 показывает пример классификации соседних выборок на две группы.
Фиг. 3А показывает пример выборки цветности и ее соответствующих выборок яркости.
Фиг. 3B показывает пример фильтрации вниз для межкомпонентной линейной модели (CCLM) в модели совместного исследования (JEM).
Фиг. 4A и 4B показывают примеры только верхних соседних и только левых соседних выборок, используемых для предсказания на основании линейной модели, соответственно.
Фиг. 5 показывает пример прямой линии между минимальными и максимальными значениями яркости как функция соответствующих выборок цветности.
Фиг. 6 показывает пример текущего блока цветности и его соседних выборок.
Фиг. 7 показывает пример разных частей блока цветности, предсказанного линейной моделью, используя только левые соседние выборки (LM-L) и линейной моделью с использованием только верхних соседних выборок (LM-A).
Фиг. 8 показывает пример верхнего левого соседнего блока.
Фиг. 9 показывает пример выборок, используемых для получения линейной модели.
Фиг. 10 показывает пример левого и нижне-левого столбцов и верхней и верхне-правой строк относительно текущего блока.
Фиг. 11 показывает пример текущего блока и его опорных выборок.
Фиг. 12 приведены примеры двух соседних выборок, когда доступны обе левая и верхняя соседние опорные выборки.
Фиг. 13 показывает примеры двух соседних выборок, когда доступны только верхние соседние опорные выборки.
Фиг. 14 показывает примеры двух соседних выборок, когда доступны только левые соседние опорные выборки.
Фиг. 15 показывает примеры четырех соседних выборок, когда доступны обе левая, так и верхняя соседние опорные выборок.
Фиг. 16 показывает пример таблиц поиска, используемых в производных LM.
Фиг. 17 показывает пример процесса получения LM параметра с 64 записями.
Фиг. 18 показывает блок-схему алгоритма примера способа для обработки видео на основании некоторых реализаций раскрытой технологии.
Фиг. 19A и 19B показывают блок-схемы алгоритма примеров способов обработки видео на основании некоторых реализаций раскрытой технологии.
Фиг. 20A и 20B показывают блок-схемы алгоритма другого примера способа для обработки видео на основании некоторых реализаций раскрытой технологии.
Фиг. 21 показывает блок-схему алгоритма другого примера способа для обработки видео на основании некоторых реализаций раскрытой технологии.
Фиг. 22 показывает блок-схему алгоритма примерного способа для обработки видео на основании некоторых реализаций раскрытой технологии.
Фиг. 23A и 23B показывают блок-схемы алгоритма примеров способов для обработки видео на основании некоторых реализаций раскрытой технологии.
Фиг. 24A-24E показывают блок-схемы алгоритма примеров способов для обработки видео на основании некоторых реализаций раскрытой технологии.
Фиг. 25A и 25B показывают блок-схемы алгоритма примеров способов для обработки видео на основании некоторых реализаций раскрытой технологии.
Фиг. 26A и 26B показывают блок-схемы алгоритма примеров способов для обработки видео на основании некоторых реализаций раскрытой технологии.
Фиг. 27A и 27B показывают блок-схемы алгоритма примеров способов для обработки видео на основании некоторых реализаций раскрытой технологии.
Фиг. 28A-28C показывают блок-схемы алгоритма примеров способов для обработки видео на основании некоторых реализаций раскрытой технологии.
Фиг. 29A-29C показывают блок-схемы алгоритма примеров способов для обработки видео на основании некоторых реализаций раскрытой технологии.
Фиг. 30A и 30B являются блок-схемами примеров аппаратных платформ для реализации технологии декодирования или кодирования визуальной медийной информации, описанной в настоящем документе.
Фиг. 31A и 31B показывают примеры процесса получения LM параметра с четырьмя записями. Фиг. 31А показывает пример, когда и верхняя, так и левая соседние выборки доступны, и фиг. 31B показывает пример, когда доступны только верхние соседние выборки и верхне-правая недоступна.
Фиг. 32 показывает примеры соседних выборок для получения LIC параметров.
Осуществление изобретения
Из-за увеличения потребности видео более высокого разрешения, в современных технологиях получили применение способы и технологии кодирования видео. Видеокодеки обычно включают в себя электронную цепь или программное обеспечение, которое сжимают или распаковывает цифровое видео и которые постоянно усовершенствуются для обеспечения более высокой эффективности кодирования. Видеокодек преобразует несжатое видео в сжатый формат или vice versa. Существуют сложные отношения между качеством видео, количеством данных, используемых для представления видео (определяется битовой скоростью), сложностью алгоритмов кодирования и декодирования, чувствительностью к потерям и ошибкам данных, простотой редактирования, произвольным доступом и сквозной задержкой (latency). Сжатый формат обычно соответствует стандартным спецификациям сжатия видео, например, стандарт высокоэффективного кодирования видео (HEVC) (также известный как H.265 или MPEG-H часть 2), стандарт универсального кодирования видео (VVC), который должен быть завершен, или другие текущие и/или перспективные стандарты кодирования видео.
Варианты осуществления раскрытой технологии могут применяться к существующим стандартам кодирования видео (например, HEVC, H.265) и перспективным стандартам для повышения производительности обработки. В настоящем документе для улучшения читаемости описания используются заголовки раздела и никоем образом описание или варианты осуществления (и/или реализации) не ограничиваются только соответствующими разделами.
1. Варианты осуществления межкомпонентного предсказания
Межкомпонентное предсказание представляет собой форму предсказания цветности к яркости, которое имеет хорошо сбалансированный компромисс между сложностью и повышением эффективности сжатия.
1.1 Примеры межкомпонентной линейной модели (CCLM)
В некоторых вариантах осуществления для уменьшения межкомпонентной избыточности, в JEM используется режим предсказания межкомпонентной линейной модели (CCLM) (также называемого как LM), для которого предсказываются выборки цветности на основании восстановленных выборок яркости того же CU с использованием линейной модели следующим образом:
… (1)
представляет собой предсказанные выборки цветности в CU и представляет собой восстановленные выборки яркости после понижающей дискретизации одинакового CU для цветовых форматов 4:2:0 или 4:2:2, где представляет собой восстановленные выборки яркости одного и того же CU для цветового формата 4:4:4. CCLM параметры α и β получены путем минимизации ошибок регрессии между соседними восстановленными выборками яркости и цветности вокруг текущего блока следующим образом:
… (2)
и … (3)
представляет собой исходные (для цветного формата 4:4:4) или с понижающей дискретизацией (для цветных форматов 4:2:0 или 4:2:2) верхние и левые соседние восстановленные выборки яркости или исходные и левые соседние восстановленные выборки яркости, представляет верхние и левые соседние восстановленные выборки цветности и значение равно удвоенной минимальной ширине и высоты текущего блока кодирования цветности.
В некоторых вариантах осуществления и для блока кодирования с квадратной формой напрямую применяются вышеприведенные два уравнения. В других вариантах осуществления и для неквадратного блока кодирования сначала выполняется субдискретизация соседних выборок более длинной границы для получения одинакового количества выборок, что и для более короткой границы. На фиг. 1 показано местоположение левой и верхней восстановленных выборок и выборка текущего блока, используемая в CCLM режиме.
В некоторых вариантах осуществления выполняется вычисление минимизации ошибок регрессии как часть процесса декодирования, не так же, как операция поиска кодера, поэтому синтаксис не используется для передачи значений α и β.
В некоторых вариантах осуществления CCLM режим предсказания также включает в себя предсказание между двумя компонентами цветности, например, компонент Cr (красный-разница) предсказывается из компонента Cb (голубой-разница). Вместо использования восстановленного сигнала выборки в остаточной области применяется CCLM Cb-to-Cr предсказание. Это реализуется путем добавления взвешенного восстановленного Cb остатка к исходному Cr внутреннему предсказанию для формирования окончательного Cr предсказания:
… (4)
представляет собой восстановленную Cb выборку остатка на позиции (i, j).
В некоторых вариантах осуществления коэффициент α масштабирования может быть получен аналогичным образом, как в CCLM предсказании яркости к цветности. Единственное отличие заключается в добавлении стоимости регрессии относительно значения α по умолчанию в функцию ошибки, так что полученный коэффициент масштабирования смещен к значению по умолчанию -0.5 следующим образом:
… (5)
представляет собой соседние восстановленные Сb выборки, представляет собой соседние восстановленные Cr выборки и λ равна .
В некоторых вариантах осуществления CCLM режим предсказания яркости к цветности добавляется в виде одного дополнительного режима внутреннего предсказания цветности. На стороне кодера для выбора режима внутреннего предсказания цветности добавляется еще одна RD проверка стоимости для компонентов цветности. Когда используются режимы внутреннего предсказания, отличные от CCLM режима предсказания яркости к цветности, для компонентов цветности CU, используется CCLM Cb-to-Cr предсказание для предсказания Cr компонента.
1.2 Примеры множественной модели CCLM
В JEM используют два CCLM режима: режим одной CCLM модели и режим множественной CCLM модели (MMLM). Как указано названием, для предсказания выборок цветности режим одной CCLM модели использует одну линейную модель из выборок яркости для всего CU, и MMLM может использовать две модели.
В MMLM соседние выборки яркости и соседние выборки цветности текущего блока классифицируются на две группы, каждая группа используется в качестве учебного набора для получения линейной модели (т.е. конкретные α и β получают для конкретной группы). Более того, выборки текущего блока яркости также классифицируются на основании того же правила для классификации соседних выборок яркости.
Фиг. 2 показывает пример классификации соседних выборок на две группы. Пороговое значение рассчитывается как среднее значение соседних восстановленных выборок яркости. Соседняя выборка с Rec′L[x,y] <= Пороговое значение классифицируется в группу 1; в то время как соседняя выборка с Rec′L[x,y] >Пороговое значение классифицируется в группу 2.
… (6)
1.3 Примеры фильтров понижающей дискретизации в CCLM
В некоторых вариантах осуществления и для выполнения межкомпонентного предсказания для формата 4:2:0 цветности, в котором 4 выборки яркости соответствуют 1 выборке цветности, восстановленный блок яркости должен быть подвергнут понижающей дискретизации для соответствия размеру сигнала цветности. Фильтр понижающей дискретизации по умолчанию, используемый в CCLM режиме, заключается в следующем:
… (7)
Понижающая дискретизация предполагает фазовые отношения «типа 0», как показано на фиг. 3А для позиций выборок цветности относительно позиций выборок яркости, например, совместная выборка по горизонтали и интерстициальная выборка по вертикали.
В качестве фильтра по умолчанию используется примерный 6-отводной фильтр понижающей дискретизации, определенный в (6), как для режима одной CCLM мидели, так и для режима множественной CCLM модели.
В некоторых вариантах осуществления и для MMLM режима кодер может альтернативно выбрать один из четырех дополнительных фильтров понижающей дискретизации яркости, которые будут применяться для предсказания в CU, и отправить индекс фильтра для указания, который из них используется. Четыре выбранных фильтра понижающей дискретизации для MMLM режима, как показано на фиг. 3В, представляют собой следующие:
… (8)
… (9)
… (10)
… (11)
1.4 Многонаправленная LM (MDLM)
Данная используемая реализация предлагает многонаправленную LM (MDLM). В MDLM используются два дополнительных CCLM режима: LM-A, в котором параметры линейной модели получают только на основании верхних соседних (или выше соседних) выборок, как показано на фиг. 4А, и LM-L, в котором параметры линейной модели получают только на основании левых соседних выборок, как показано на фиг. 4В.
1.5 Упрощение межкомпонентной линейной модели
Данная используемая реализация предлагает заменить LMS алгоритм параметров α и β линейной модели путем уравнения прямой, так называемого двухточечного способа. 2 точки (пара яркости и цветности) (A, B) являются минимальными и максимальными значениями внутри набора соседних выборок яркости, как показано на фиг. 5
Здесь параметры α и β линейной модели получают в соответствии со следующим уравнением:
В некоторых вариантах осуществления следует не выполнять операцию разделения, необходимую при получении α, и следует заменить умножениями и сдвигами, как показано ниже:
а= 0;
iShift = 16;
int shift = (uiInternalBittDepth> 8)? uiInternalBitDepth - 9: 0;
int add = shift? 1 << (shift - 1): 0;
int diff = (MaxLuma- MinLuma + add) >> shift;
if(diff> 0)
{
int div = ((MaxChroma- MinChroma) * g_aiLMDivTableLow [diff - 1] + 32768) >> 16;
a = ((((MaxChroma- MinChroma) * g_aiLMDivTableHigh [diff - 1] + div + add) >> shift);
}
b = MinLuma [1] - ((a * MinLuma [0]) >> iShift);
Здесь S устанавливается равным iShift, α устанавливается равным a и β устанавливается равным b. Кроме того, g_aiLMDivTableLow и g_aiLMDivTablehigh являются двумя таблицами каждая с 512 записями, в котором каждая запись хранит 16-битное целое число.
Для получения предиктора цветности, что касается текущей VTM реализации, умножение заменяется целочисленной операцией как указано ниже:
Данная реализация также проще, чем текущая VTM реализация, поскольку shift S всегда имеет одинаковое значение.
1.6 Примеры CCLM в VVC
CCLM, как в JEM, принимается в VTM-2.0, но MM-CCLM в JEM не принимается в VTM-2.0. MDLM и упрощенная CCLM были приняты в VTM-3.0.
1.7 Примеры компенсации локальной подсветки в JEM
Компенсация локальной подсветки (LIC) основана на линейной модели для изменений освещения, используя коэффициент а масштабирования и смещение b. И используется или отключается адаптивно для каждого кодированного блока кодирования (CU) в режиме внешнего кодирования.
Когда LIC применяется для CU, используется способ наименьших квадратных ошибок для получения параметров а и b с использованием соседних выборок текущего CU и их соответствующих опорных выборок. Более конкретно, как показано на фиг. 32, используются субдискретизированные соседние выборки (2:1 субдискретизация) CU и соответствующие пиксели (идентифицированные информацией движения текущего CU или суб-CU) в опорном изображении. IC параметры получают и применяют для каждого направления предсказания отдельно.
Когда CU кодируется с использованием 2NX2N режима слияния, флаг LIC скопирован из соседних блоков аналогично копированию информации движения в режиме слияния; в противном случае, для CU сигнализируются флаг LIC для указания, применяется ли LIC или нет.
При использовании LIC для изображения требуется дополнительная проверка CU уровня RD для определения, применяется ли LIC или нет для CU. Когда LIC применяется для CU, используются сумма с удалением среднего значения абсолютной разности (MR-SAD) и сумма с удалением среднего значения абсолютной Адамара-преобразованной разности (MR-SATD), вместо SAD и SATD для поиска движения целочисленного пикселя и поиска движения дробного пикселя, соответственно.
С целью снижения сложности кодирования, в JEM применяется следующая схема кодирования: LIC отключен для всего изображения при отсутствии очевидного изменения освещения между текущим изображением и его опорными изображениями. Для идентификации данной ситуации, в кодере вычисляются гистограммы текущего изображения и каждого опорного изображения текущего изображения. Если разность гистограммы между текущим изображением и каждым опорным изображением текущего изображения меньше заданного порогового значения, LIC отключен для текущего изображения; в противном случае, LIC включен для текущего изображения.
2 Примеры недостатков в существующих реализациях
В JEM текущие реализации вводят двухточечный способ для замены LMS подхода LM режима. Хотя новый способ уменьшает количество дополнений и умножений в CCLM, но требуется решить следующие технические задачи:
1) для поиска минимальных и максимальных значений яркости, которые не являются дружескими к одной инструкции, требуется сравнение множества данных (SIMD) программного обеспечения.
2) введены две таблицы поиска с 1024 записями хранения 16-битных чисел, с требованием 2K ROM памяти, которые не желательны в аппаратном обеспечении.
3 Примерные способы для межкомпонентного предсказания при кодировании видео
Варианты осуществления настоящего изобретения решают технические задачи существующих реализаций, обеспечивая, тем самым, кодирование видео с более высокой эффективностью кодирования и более низкой вычислительной сложностью. Упрощенные линейные модели для межкомпонентного предсказания, основанные на раскрытой технологии, могут усовершенствовать как существующие, так и будущие стандарты кодирования видео, которые пояснены в следующих примерах, описанных для различных реализаций. Примеры раскрытой технологии, представленные ниже, объясняют общие концепции и не предназначены для интерпретации как ограничения. В примере, если явно не указано иное, различные описанные в этих примерах признаки могут быть объединены.
В следующих примерах и способах термин «LM способ» включает в себя, но не ограничивается, LM режим в JEM или VTM и MMLM режим в JEM, левый-LM режим, который использует только левые соседние выборки для получения линейной модели, верхний-LM режим, который использует только верхние соседние выборки для получения линейной модели или других видов способов, которые используют восстановленные выборки яркости для получения блоков предсказания цветности. Все LM режимы, которые не являются LM-L, ни LM-A, называются нормальными LM режимами.
В следующих примерах и способах Shift (x, s) определяется как и Signshift (x, s) определяется как
Здесь off является целым числом, таким как 0 или 2S-1.
Высота и ширина токового блока цветности обозначены H и W соответственно.
Фиг. 6 показывает пример соседних выборок текущего блока цветности. Допустим, координата верхней левой выборки текущего блока цветности будет обозначаться как (x, y). Затем соседние выборки цветности (как показано на фиг. 6) обозначены как:
A: верхняя выборка слева: [x-1, y],
B: верхняя средняя выборка слева: [x-1, y + H/2-1],
C: нижняя средняя выборка слева: [x-1, y + H/2],
D: нижняя выборка слева: [x-1, y + H-1],
E: продленная нижняя верхняя выборка слева: [x-1, y + H],
F: продленная нижняя верхняя средняя выборка слева: [x-1, y+ H + H/2-1],
G: продленная нижняя нижняя средняя выборка слева: [x-1, y + H + H/2],
I: продленная нижняя нижняя выборка слева: [x-1, y + H + H-1],
J: левая выборка выше: [x, y-1],
K: левая средняя выборка выше: [x + W / 2-1, y-1],
L: правая средняя выборка выше: [x + W / 2, y-1],
M: правая выборка выше: [х + W-1, y-1],
N: продленная выше левая выборка выше: [x + W, y-1],
O: продленная выше средняя выборка выше: [x + W + W / 2-1, y-1],
P: продленная выше правая средняя выборка выше: [x + W + W / 2, y-1] и
Q: продленная выше правая выборка выше: [x + W + W-1, y-1].
Пример 1. Параметры α и β в LM способах получают из выборок цветности на двух или более конкретных позициях.
a. Получение также зависит от соответствующих выборок яркости с пониженной дискретизацией выбранных выборок цветности. В качестве альтернативы получение также зависит от соответствующих выборок яркости выбранных выборок цветности, таких как, 4:4:4 цветного формата.
b. Например, параметры α и β в CCLM получают из выборок цветности на 2S (например, S = 2 или 3) позициях, такие как:
i. Позиция {A, D, J, M};
ii. Позиция {A, B, C, D, J, K, L, M};
iii. Позиция {A, I, J, Q};
iv. Позиция {A, B, D, I, J, K, M, Q};
v. Позиция {A, B, D, F, J, K, M, O};
vi. Позиция {A, B, F, I, J, K, O, Q};
vii. Позиция {A, C, E, I, J, L, N, Q};
viii. Позиция {A, C, G, I, J, L, P, Q};
ix. Позиция {A, C, E, G, J, L, N, P};
x. Позиция {A, B, C, D};
xi. Позиция {A, B, D, I};
xii. Позиция {A, B, D, F};
xiii. Позиция {A, C, E, I};
xiv. Позиция {A, C, G, I};
xv. Позиция {A, C, E, G};
xvi. Позиция {J, K, L, M};
xvii. Позиция {J, K, M, Q};
xviii. Позиция {J, K, M, O};
хiх. Позиция {J, K, O, Q};
xx. Позиция {J, L, N, Q};
xxi. Позиция {J, L, P, Q};
xxii. Позиция {J, L, N, P};
xxiii. Позиция {A, B, C, E, E, F, G, I};
xxiv. Позиция {J, K, L, M, N, O, P, Q};
с. Например, параметры α и β в CCLM получают из выборок цветности на:
i. Любая комбинация между {A, B, C, D, E, F, G, I} и {J, K, L, M, N, O, P, Q}, таких как
(а) позиция A и J;
(b) позиция B и K;
(c) позиция C и L;
(d) позиция D и M;
(e) позиция E и N;
(f) позиция F и O;
(g) позиция G и P;
(h) позиция I и Q;
ii. Любые две разные позиции, извлеченные из {A, B, C, D, E, F, G}
(а) позиция A и B;
(b) позиция A и C;
(c) позиция A и D;
(d) позиция A и E;
(e) позиция A и F;
(f) позиция A и G;
(g) позиция A и I;
(h) позиция D и B;
(i) позиция D и C;
(j) позиция E и B;
(k) позиция E и C;
(l) позиция I и B;
(m) позиция I и C;
(n) позиция I и D;
(o) позиция I и E;
(p) позиция I и F;
(q) позиция I и G;
iii. Любые две разные позиции, извлекли из {J, K, L, M, N, O, P, Q}
(а) позиция J и K;
(b) позиция J и L;
(c) позиция J и M;
(d) позиция J и N;
(e) позиция J и O;
(f) позиция J и P;
(g) позиция J и Q;
(h) позиция M и K;
(i) позиция M и L;
(j) позиция N и K;
(k) позиция N и L;
(l) позиция Q и K;
(m) позиция Q и L;
(n) позиция Q и M;
(o) позиция Q и N;
(p) позиция Q и O;
(q) позиция Q и P;
(r) позиция Q и Q;
iv. В одном примере, если две выбранные позиции имеют одинаковое значение яркости, могут быть дополнительно проверены больше позиций.
d. Например, выполняется поиск не всех доступных выборок цветности для поиска минимального и максимального значений яркости для получения параметров α и β в CCLM с использованием двухточечного способа.
i. Одну выборку цветности из K выборок цветности (и их соответствующие выборки яркости с пониженной дискретизацией) включают в набор поиска. K может быть 2, 4, 6 или 8.
(а) Например, если Rec[x,y] является верхней соседней выборкой, то включена в набор поиска только в том случае, если x%K == 0. Если Rec[x,y] является левой соседней выборкой, то включена в набор поиска только в том случае, если y%K == 0.
ii. Только выборки цветности на конкретных позициях, таких как определенные в 1.a.i ~ 1.a.xxiv, включены в набор поиска.
е. Для режима LM-L все выбранные выборки должны быть левыми соседними выборками.
f. Для режима LM-A все выбранные выборки должны быть верхними соседними выборками.
g. Выбранные позиции могут быть зафиксированы, или они могут быть адаптивными.
i. В одном примере, какие позиции выбраны, может зависеть от ширины и высоты текущего блока цветности;
ii. В одном примере отображаются позиции, могут сигнализироваться из кодера в декодер, например, в VPS/SPS/PPS/ заголовок сегмента/заголовок группы плитки/плитка/CTU/CU/PU.
h. Выбранные выборки цветности используются для получения параметров α и β способом наименьших квадратов, как показано в уравнении (2) и уравнении (3). В уравнении (2) и уравнении (3) N является количеством выбранных выборок.
i. Пара выбранных выборок цветности используются для получения параметров α и β двухточечным способом.
j. В одном примере, как выбрать выборки могут зависеть от доступности соседних блоков.
i. Например, позиции A, D, J и M выбираются, если доступны как левые, так и верхние соседние блоки; позиции A и D выбираются, если доступен только левый соседний блок; и позиции J и M выбираются, если доступен только верхний соседний блок.
Пример 2. В первую очередь могут быть получены наборы параметров в CCLM режиме и затем объединены для формирования параметра окончательной линейной модели, используемой для кодирования одного блока. Предположим, что α1 и β1 получены из группы выборок цветности на конкретных позициях, обозначенных как группа 1, α2 и β2, полученные из группы выборок цветности на конкретных позициях, обозначенных как группа 2, ..., αn и βn полученные из группы выборок цветности на конкретных позициях, обозначаемых как группа N, то могут быть получены конечные α и β из (α1, β1), ... (αn, βn).
а. В одном примере α рассчитывается как среднее значение α1, ... αn и β рассчитывается как среднее значение β1, ... βN.
i. В одном примере α = SignsShift (α1 + α2, 1), β=SignShift(β1+ β2, 1).
ii. В одном примере α=Shift(α1+ α2, 1), β=Shift(β1+ β2, 1).
iii. Если (α1, β1) и (α2, β2) имеют разную точность, например, для получения CP предсказания цветности из его соответствующей выборки яркости с пониженной дискретизацией LR, рассчитывается как
с (α1, β1), но
с (α2, β2) Sh1 не равен Sh2, то параметры должны быть смещены до объединения. Предположим, что Sh1 > Sh2, затем до объединения параметры должны быть смещены как:
(a) . Затем окончательная точность равна (α2, β2).
(b) . Затем окончательная точность равна (α2, β2).
(с) . Затем окончательная точность равна (α1, β1)
b. Некоторые примеры позиций в группы 1 и группы 2:
i. Группа 1: Позиция A и D, группа 2: Позиция J и M.
ii. Группа 1: Позиция A и I, группа 2: Позиция J и Q.
iii. Группа 1: Позиция A и D, группа 2: Позиция E и I, где есть две группы, используемые для LM-L режима.
iv. Группа 1: Позиция J и M, группа 2: Позиция N и Q, где есть две группы, используемые для LM-A режима.
v. Группа 1: Позиция A и B, группа 2: Позиция C и D, где есть две группы, используемые для LM-L режима.
vi. Группа 1: Позиция J и K, группа 2: Позиция L и M, где есть две группы, используемые для LM-A режима.
Пример 3. Предположим, что два значения выборки цветности, обозначаемые в виде C0 и C1, и их соответствующие значения выборки яркости, обозначаемые как L0 и L1 (L0 <L1), являются входными значениями. Посредством выполнения двухточечного способа можно получить α и β с входными значениями, как
Битовые глубины выборок яркости и выборок цветности обозначены BL и BC. Одно или несколько упрощений для этой реализации включают в себя:
а. α выводится как 0, если L1 равно L0. Альтернативно, когда L1 равен L0, вместо использования конкретного режима внутреннего предсказания (например, DM режим, DC или планарный) используется с использованием CCLM режима, для получения блока предсказания.
b. Операция разделения заменяется другими операциями без таблицы поиска. log2 операция может быть реализована путем проверки позиции наиболее значимой цифры.
i. или
ii. или
iii. Пример i или пример ii может быть выбран на основании значения L1-L0.
(а) Например, пример i используется, если используется L1-L0 <T, в противном случае используется пример ii. Например, T может быть
(b) Например, пример i используется, если используется в противном случае пример ii.
(c) Например, пример i используется, если используется в противном случае пример ii.
с. Операция разделения заменяется одной таблицей поиска, обозначенной как M [k].
i. Размер таблицы поиска, обозначенный V, меньше 2p, в котором p является целым числом, таким как 5, 6 или 7.
ii. Каждая запись таблицы поиска хранит F-бит целое число, например, F = 8 или 16.
(a) В одном примере M [k-Z] = ((1 << S) + Off)/k, в котором S является целым числом, определяющим точность, например, S = F. Off является смещением, например, Off = (k + Z) >> 1. Z определяет начальную величину таблицы, например, Z = 1 или Z = 8 или Z = 32. Действительный ключ k запроса таблицы должен удовлетворять k> = Z.
iii. k=Shift(L1-L0, W) используется в качестве ключа для запроса таблицы поиска.
(а) В одном примере W зависит от BL, V и Z.
(b) В одном примере W также зависит от значения L1-L0.
iv. Если k не является действительным ключом для запроса таблицы поиска (k-Z <0 или k-Z> = V), α выводится как 0.
v. Например,
или
vi. Чтобы получить предсказание цветности CP из соответствующей (например, с понижающей дискретизацией для 4:2:0) выборки яркости LR, вычисляется, как
или
vii. Sh может быть фиксированным числом, или может зависеть от значений C0, C1, L0, L1, используемых для вычисления α и β.
(a) Sh может зависеть от BL, BC, V, S и D.
(b) D может зависеть от Sh.
viii. Размер таблицы поиска, обозначаемый V, равен 2P, в котором P является целым числом, таким как 5, 6, 7 или 8. В качестве альтернативы V установлено на 2P - M (например, M равен 0).
ix. Предположим, α = P/Q (например, Q = L1-L0, P = C1-C0 или они получают другими способами), то α рассчитывается с таблицей поиска в виде α = Shift(P×M[k−Z], D) или α = SignShift(P×M[k−Z], D), в котором k является ключом (индекс) для запроса записи в таблице поиска.
(a) В одном примере k получается из Q с функцией: k = f (Q).
(b) В одном примере k получается из Q и P, с функцией: k = f (Q, P).
(c) В одном примере k является действительным в конкретном диапазоне [kMin, kMax]. Например, kMin = Z и kMax = V + Z.
(d) в одном примере k = Shift (Q, W),
а. W может зависеть от BL, V и Z.
b. W может зависеть от значения Q.
с. В одном примере, когда k рассчитывается как Shift (Q, W), то α рассчитывается с таблицей поиска в виде
α = (Shift(P×M[k−Z], D)) << W или
α = (SignShift(P×M[k−Z], D)) << W
(e) В одном примере k получается по-разному с различными значениями Q.
а. Например, k = Q при Q <= kMax и k = Shift (Q, W) при Q> kMax. Например, W выбирается как наименьшее положительное целое число, что обеспечивает не превышение Shift (Q, W) над kMax.
b. Например, k = Min (kMax, Q).
с. Например, k = Max (kMin, Min (kMax, Q)).
(f) В одном примере, когда Q <0, -Q используется для замены Q в расчете. Тогда -α выводится.
(g) В одном примере, когда Q равно 0, то α устанавливается значением по умолчанию, такое как 0 или 1.
(h) В одном примере, когда Q равно 2E E> = 0, то α = Shift(P, E) или α = SignShift(P, E).
d. Все операции для получения LM параметров должны быть в пределах K битов, K может составлять 8, 10, 12, 16, 24 или 32.
i. Если переходная переменная может превышать диапазон, представленный ограниченным битом, то должно быть выполнено ограничение или смещение вправо для нахождения в пределах ограниченных битов.
Пример 4. Один из одного блока цветности может использовать множество линейных моделей и выбор множественной линейной модели зависит от позиции выборок цветности в пределах блока цветности.
а. В одном примере LM-L и LM-A режим можно комбинировать в одном блоке цветности.
b. В одном примере некоторые выборки предсказаны LM-L режимом и другие выборки предсказаны LM-A режимом.
i. Фиг. 7 показывает пример. Предположим, что верхняя левая выборка находится на позиции (0,0). Выборки на позиции (x, y) с x> y (или x> = y) предсказывают LM-A и другие выборки предсказаны LM-L.
с. Предположим, что предсказание LM-L и LM-A для выборки на позиции (x, y) обозначается как Р1 (x, y) и Р2 (x, y) соответственно, то конечное предсказание Р (x, y) рассчитывается как взвешенная сумма P1 (x, y) и Р2 (x, y).
i. P (x, y) = w1 * Р1 (x, y) + w2 * Р2 (x, y)
(а) w1 + w2 = 1.
ii. P (x, y) = (w1 * P1 (x, y) + w2 * P2 (x, y) + Offset) >> shift, в котором смещение может быть 0 или 1 << (shift-1) и Shift является целым числом, таким как 1, 2, 3 ....
(а) w1 + w2 = 1 << shift.
iii. P (x, y) = (w1 * P1 (x, y) + ((1 << shift) -w1) * P2 (x, y) + Offset) >> shift, в котором смещение может быть 0 или 1 << (shift-1) и shift является целым числом, таким как 1, 2, 3 ....
iv. w1 и w2 могут зависеть от позиции (x, y)
(а) Например, w1> w2 (например, w1 = 3, w2 = 1), если x <y,
(b) Например, w1 <w2 (например, w1 = 1, w2 = 3), если x> y,
(c) Например, w1 = w2 (например, w1 = 2, w2 = 2), если x == y,
(d) Например, w1 - w2 увеличивается, если y-x увеличивается, когда x <y,
(e) Например, w2 - w1 увеличивается, если x-y увеличивается, когда x> y.
Пример 5. Предложено, что соседние выборки (включающие в себя выборки цветности и их соответствующие выборки яркости, которые могут быть подвергнуты понижающей дискретизации), делятся на N групп. Максимальное значение яркости и минимальное значение яркости для k-ой группы (с k = 0, 1, ..., N-1) обозначается как MaxLk и MinLk и их соответствующие значения цветности обозначаются как MaxCk и MinCk соответственно.
а. В одном примере MахL рассчитывается как MaxL=f1(MaxLS0, MaxLS1, …, MaxLSm); MaxC is рассчитывается как MaxC=f2(MaxCS0, MaxCS1,…MaxCSm); MinL рассчитывается как MinL=f3(MinLS0, MinLS1,…MinLSm). MinC рассчитывается как MinC=f3(MinCS0, MinCS1, …, MinCSm). f1, f2, f3 и f4 являются функциями. Посредством выполнения двухточечного способа получают α и β с входом, как:
i. В одном примере f1, f2, f3 и f4 все представляют функцию усреднения.
ii. S0, S1, ... Sm являются индексами выбранных групп, которые используются для расчета α и β.
(1) Например, все группы используются, например, S0 = 0, S1 = 1, ... Sm = N-1.
(2) Например, используются две группы, например, m = 1, S0=0, S1 = N-1.
(3) Например, не все группы используются, например, m <N-1, S0 = 0, S1 = 2, S3 = 4, ...
b. В одном примере выборки (или выборки c пониженной дискретизацией), расположенные на верхних строках, могут быть классифицированы к одной группе и выборки (или выборки c пониженной дискретизацией), расположенные в левом столбце блока, можно классифицировать в другую группу.
c. В одном примере выборки (или выборки c пониженной дискретизацией) классифицируются на основании их местоположений или координат.
i. Для примеров, выборки могут быть классифицированы на две группы.
(1) Для выборки с координатой (x, y), расположенной на верхней строке, классифицируется в группу S0, если х% P = Q, в котором P и Q являются целыми числами, например, P = 2, Q = 1, P = 2, Q = 0 или P = 4, Q = 0; В противном случае, классифицируется в группу S1.
(2) Для выборки с координатой (x, y), расположенной в левом столбце, классифицируется в группу S0, если y% P = Q, в котором P и Q являются целыми числами, например, P = 2, Q = 1, P = 2, Q = 0 или P = 4, Q = 0; В противном случае, классифицируется в группу S1.
(3) Только выборки в одной группе, такой как S0, используются для поиска MахC и MахL. Например, MaxL= MaxLS0 и MaxC= MaxCS0.
d. В одном примере используются только частичные из соседних выборок (или выборки c пониженной дискретизацией), используются для разделенных на группы N.
e. Количество групп (например, N) и/или индексы выбранных групп и/или функции (f1/f2/f3/f4) могут быть предварительно определены или сигнализируются в SPS/VPS/PPS/заголовок изображений/заголовок сегмента/заголовок группы плитки/LCUs/LCU/CUs.
f. В одном примере, как выбрать выборки для каждой группы может зависеть от доступности соседних блоков.
i. Например, MaxL0 /MaxC0 и MinL0 /MinC0 определены из позиции A и D; MaxL1 /MaxC1 и MinL1 /MinC1 определены из позиции J и M, затем MaxL= (MaxL0 + MaxL1 )/ 2, MaxC= (MaxC0 + MaxC1 )/ 2, MinL= (MinL0 + MinL1 )/ 2, MinC= (MinC0 + MinC1 )/ 2, когда доступны как левые, так и верхние соседние блоки.
ii. Например, MaxL/MaxC и MinL/MinC непосредственно определены из позиции A и D, когда доступен только левый соседний блок.
(1) Альтернативно, α и β устанавливаются равными значениям по умолчанию, если верхний соседний блок недоступен. Например, α = 0 и β = 1 << (bitDepth -1), в котором bitDepth является битовой глубиной выборок цветности.
iii. Например, MaxL/MaxC и MinL/MinC непосредственно определены из позиции J и M, когда доступен только верхний соседний блок.
(1) Альтернативно, α и β устанавливаются равными значениям по умолчанию, если левый соседний блок недоступен. Например, α = 0 и β = 1 << (bitDepth -1), в котором bitDepth является битовой глубиной выборок цветности.
В одном примере, как выбрать выборки для каждой группы может зависеть от ширины и высоты блока.
h. В одном примере, как выбрать выборки для каждой группы может зависеть от значений выборок.
i, в одном примере, выбираются две выборки с наибольшим значением яркости и минимальным значением яркости для первой группы. И все остальные выборки находятся во второй группе.
Пример 6. Предлагается, что и как применить LM-L и LM-A режим, может зависеть от ширины (W) и высоты (H) текущего блока.
(а) Например, LM-L нельзя применять, если W> K × H. например, K = 2.
(b) Например, LM-A нельзя применять, если H> K × W, например, K = 2.
(c) Если один из LM-L и LM-A не может быть применен, не следует сигнализировать флаг для указания использования LM-L или LM-A.
Пример 7. Флаг сигнализируется для указания, применяется ли CCLM режим. Контекст, используемый в арифметическом кодировании кода флага, может зависеть от того, применяет ли верхний левый соседний блок, как показано на фиг. 8, CCLM режим или нет.
(a) В одном примере используется первый контекст, если верхний левый соседний блок применяет CCLM режим; и второй контекст используется, если верхний левый соседний блок не применяет CCLM режим.
(b) В одном примере, если верхний левый соседний блок недоступен, то рассматривается как не применение CCLM режима.
(c) В одном примере, если верхний левый соседний блок недоступен, то рассматривается как применение CCLM режима.
(d) В одном примере, если верхний левый соседний блок не является внутрикодированным, то рассматривается как не применение CCLM режима.
(е) В одном примере, если верхний левый соседний блок не является внутрикодированным, то рассматривается как применение CCLM режима.
Пример 8. Указания или кодовые слова DM и LM режимов могут быть закодированы в разных порядках от последовательности к последовательности/изображению к изображению/плитки к плитке/блока к блоку.
(a) Порядок кодирования указаний DM и LM (например, во-первых, код LM режима, если нет, то код DM режима; или, во-первых, код, будь то DM режим, если нет, то код LM режима) может быть зависеть от информации режима одного или нескольких соседних блоков.
(b) В одном примере, когда верхний левый блок текущего блока доступен и кодируется с помощью LM режима, то сначала кодируется указание LM режима.
(c) В качестве альтернативы, когда верхний левый блок текущего блока доступен и закодирован DM режимом, то сначала кодируется указание DM режима.
(d) Альтернативно, когда верхний левый блок текущего блока доступен и закодирован non-LM режимом (например, DM режим или другие режимы внутреннего предсказания, за исключением LM), то сначала кодируется указание DM режима.
(е) В одном примере указания порядка могут быть сигнализированы в SPS/VPS/PPS/ заголовке изображения/заголовке сегмента/заголовке группы плитки/LCUs/LCU/CUs.
Пример 9. В приведенных выше примерах выборки (или выборки с пониженной дискретизацией) могут быть расположены за пределами диапазона 2 × W верхних соседних выборок или 2 × H левых соседних выборок, как показано на фиг. 6.
(a) Посредством LM режима или LM-L режима может быть использована соседняя выборка RecC[x-1, y+d], в котором d находится в диапазоне [T, S]. T может быть меньше 0 и S может быть больше 2H-1. Например, Т = -4 и S = 3H. В другом примере T = 0, S = мах (2H, W + H). В еще одном примере, T = 0 и S = 4H.
(b) Посредством LM режима или LM-А режима может быть использована соседняя выборка RecC[x+d, y], в котором d находится в диапазоне [T, S]. Т может быть меньше 0 и S может быть больше 2 W-1. Например, T = -4 и S = 3W. В другом примере Т = 0, S = max (2W, W + H). В еще одном примере, T = 0 и S = 4W.
Пример 10. В одном примере соседние выборки цветности и их соответствующие выборки яркости (могут быть подвергнуты пониженной дискретизации) подвергаются пониженной дискретизации до получения параметров α и β линейной модели, как раскрыты в примерах 1-7. Предположим, что ширина и высота текущего блока цветности является W и H.
(a) В одном примере, следует ли и как выполнять процесс понижающей дискретизации может зависеть от W и H.
(b) В одном примере количество соседних выборок, используемых для получения параметров слева от текущего блока, и количество соседних выборок, используемых для получения параметров выше от текущего блока, должно быть одинаковым после процесса понижающей дискретизации.
(c) В одном примере соседние выборки цветности и их соответствующие выборки яркости (могут быть подвергнуты пониженной дискретизации) не подвергаются пониженной дискретизации, если W равно H.
(d) В одном примере соседние выборки цветности и их соответствующие выборки яркости (подвергаются пониженной дискретизации) слева от текущего блока, подвергаются пониженной дискретизации, если W <H.
(i) В одном примере одна выборка цветности в каждой выборке Н/W цветности выбирается для использования для получения α и β. Другие выборки цветности отбрасываются. Например, предположим, что R [0, 0] представляет верхнюю левую выборку текущего блока, затем R [-1, k * H/W], K от 0 до W-1, выбираются для использования для получения α и β.
(е) В одном примере соседние выборки цветности и их соответствующие выборки яркости (могут быть подвержены пониженной дискретизации) выше текущего блока, подвергаются пониженной дискретизации, если W> H.
(ii) В одном примере для получения α и β выбирается одна выборка цветности в каждой из выборок цветности W/H. Другие выборки цветности отбрасываются. Например, предположим, что R [0, 0] представляет верхнюю левую выборку текущего блока, затем для получения α и β выбираются R [K * W/H, -1], K из 0 до H-1.
(ii) Фиг. 9 показывает примеры выборок, которые должны быть выбраны, когда для получения α и β используются позиция D и позиция M на фиг. 6, и выполняется пониженная дискретизация, когда W> H.
Пример 11. Соседние исходно восстановленные выборки/с пониженной дискретизацией и/или исходно восстановленные выборки/с пониженной дискретизацией могут быть дополнительно уточнены перед использованием в процессе предсказания линейной модели или в процессе межкомпонентного цветового предсказания.
(а) «должны быть уточнены» может относиться к обработке фильтрации.
(b) «должны быть уточнены» может относиться к любой нелинейной обработке.
(c) Предлагается, что выбираются несколько соседних выборок (включающие в себя выборки цветности и их соответствующие выборки яркости, которые могут быть подвергнуты пониженной дискретизации) для расчета C1, C0, L1 и L0 для получения α и β, например, α = (C1-C0) / (L1-L0) и β = C0 - αL0.
(d) В одном примере S соседние выборки яркости (могут быть подвергнуты пониженной дискретизации), обозначаемые как Lх1, Lх2, ..., LxS и их соответствующие выборки цветности, обозначаемые как Cx1, Cx2, ... CхS, используются для получения C0 и L0, и Т соседние выборки яркости (могут быть подвергнуты пониженной дискретизации), обозначаемые как Ly1, Ly2, ..., LyT и их соответствующие выборки цветности, обозначаемые как Cy1, Cy2, ... CyT используются для получения C1 и L1 как:
(i) C0=f0(Cx1, Cx2, … CxS), L0=f1(Lx1, Lx2, … LxS), C1=f2(Cy1, Cy2, … CyT), L1=f4(Ly1, Ly2, … LyT). f0, f1, f2 и f3 являются любыми функциями.
(ii) В одном примере f0 идентична f1.
(iii) В одном примере f2 идентична f3.
(iv) В одном примере f0 f1 f2 f3 идентичны.
1. Например, все функции являются функцией усреднения.
(v) В одном примере S равна T.
1. В одном примере набор {x1, x2, ... xS} идентичен набору {y1, y2, ..., yТ}.
(vi) В одном примере Lх1, Lх2, ..., LхS выбираются в качестве наименьших выборок яркости группы выборок яркости.
1. Например, группа выборок яркости включает в себя все соседние выборки, используемые в VTM-3.0, для получения линейных параметров CCLM.
2. Например, группа выборок яркости включает в себя частичные соседние выборки, используемые в VTM-3.0 для получения линейных параметров CCLM.
а. Например, группа выборок яркости включает в себя четыре выборки, как показано на фиг. 2-5.
(vii) В одном примере Ly1, Ly2, ..., LyS выбираются в качестве самых больших выборок S яркости группы выборок яркости.
1. Например, группа выборок яркости включает в себя все соседние выборки, используемые в VTM-3.0, для получения линейных параметров CCLM.
2. Например, группа выборок яркости включает в себя частичные соседние выборки, используемые в VTM-3.0, для получения линейных параметров CCLM.
a. Например, группа выборок яркости включает в себя четыре выборки, как показано на фиг. 2-5.
Пример 12. Предлагается выбрать другие соседние или соседние выборки с пониженной дискретизацией на основании наибольшей соседней или соседней выборки с пониженной дискретизацией в данном наборе соседних или соседних выборок с пониженной дискретизацией.
(a) В одном примере обозначается наибольшая соседняя или соседняя выборка с пониженной дискретизацией, расположенная на позиции (x0, y0). Затем для выбора других выборок могут быть использованы выборки в области (x0-d1, y0), (x0, y0-d2), (x0 + d3, y0), (x0, y0 + d4). Число целых чисел {d1, d2, d3, d4} может зависеть от позиции (x0, y0). Например, если (x0, y0) находится слева от текущего блока, то d1 = d3 = 1 и d2 = d4 = 0. Если (x0, y0) находится выше текущего блока, то d1 = d3 = 0 и d2 = d4 = 1.
(b) В одном примере обозначают наименьшую соседнюю или соседнюю выборку с пониженной дискретизацией, расположенную на позиции (x1, y1). Затем для выбора других выборок могут быть использованы выборки в области (x1-d1, y1), (x1, y1-d2), (x1 + d3, y1), (x1, y1 + d4). Целые числа {d1, d2, d3, d4} могут зависеть от позиции (x1, y1). Например, если (x1, y1) находится слева от текущего блока, то d1 = d3 = 1 и d2 = d4 = 0. Если (x1, y1) находится выше текущего блока, то d1 = d3 = 0 и d2 = d4 = 1.
(c) В одном примере верхние выборки представляют выборки одной цветовой компоненты (например, цветовой компоненты яркости). Выборки, используемые в CCLM/межкомпонентной цвета процессе, могут быть получены соответствующими координатами второй цветовой компоненты.
(d) Аналогичный способ можно использовать для получения наименьших выборок.
Пример 13: В приведенных выше примерах яркость и цветность могут быть переключены. Альтернативно, цветной компонент яркости может быть заменен основным цветовым компонентом (например, G) и цветовой компонент цветности может быть заменен на зависимый цветовой компонент (например, В или R).
Пример 14. Выбор местоположений выборок цветности (и/или соответствующих выборок яркости) может зависеть от закодированной информации режима.
(a) В качестве альтернативы, кроме того, может зависеть от доступности соседних выборок, таких как левый столбец или верхняя строка или верхняя правая строка или нижний левый столбец. Фиг. 10 изображает концепции левого столбца/верхней строки/верхней правой строки/нижнего левого столбца относительно блока.
(b) В качестве альтернативы, кроме того, может зависеть от доступности выборок, расположенных на конкретных позициях, таких как 1-а верхняя правая выборка и/или 1-я нижняя левая выборка.
(c) В качестве альтернативы, кроме того, может зависеть от размеров блока.
(i) Альтернативно, кроме того, может зависеть от соотношения между шириной и высотой текущего блока цветности (и/или яркости).
(ii) В качестве альтернативы, кроме того, может зависеть от того, равна ли ширина и/или высота K (например, k = 2).
(d) В одном примере, когда текущий режим представляет собой нормальный LM режим, можно применять следующие способы выбора выборок цветности (и/или выборок яркости с пониженной дискретизацией или без таковой):
(i) Если доступны как левый столбец, так и верхняя строка, то могут быть выбраны две выборки левого столбца и две верхние строки. Они могут быть расположены на (предположим, верхняя левая координата текущего блока равна (x, y)):
1. (x-1, y), (x, y-1), (x-1, y+H-1) и (x + W-1, y-1)
2. (x-1, y), (x, y-1), (x-1, y + H - H/W -1) и (x + W-1, y-1). Например, когда H больше, чем W.
3. (x-1, y), (x, y-1), (x-1, y + H -1) и (x + W - W/H-1, y-1). Например, когда H меньше, чем W.
4. (x-1, y), (x, y-1), (x-1, y + H – max(1, H/W)) и (x + W- max(1, W/H), y-1).
(ii) Если доступна только верхняя строка, то выбраны выборки только из верхней строки.
1. Например, могут быть выбраны четыре выборки верхней строки.
2. Например, могут быть выбраны две выборки.
3. Как выбрать выборки могут зависеть от ширины/высоты. Например, четыре выборки выбираются, когда W> 2 и две выборки выбираются при W = 2.
4. Выбранные выборки могут быть расположены на (предположим, что верхняя левая координата текущего блока равна (x, y)):
a. (x, y-1), (x + W/4, y-1), (x + 2*W/4, y-1), (x + 3*W/4, y – 1)
b. (x, y-1), (x + W/4, y-1), (x + 3*W/4, y – 1), (x + W-1, y -1)
c. (x, y-1), (x + (2W)/4, y-1), (x + 2*(2W)/4, y-1), (x + 3*(2W)/4, y – 1).
Например, когда доступна верхняя правая строка, или когда доступна 1-я верхняя правая выборка.
d. (x, y-1), (x + (2W)/4, y-1), (x + 3*(2W)/4, y – 1), (x + (2W)-1, y -1)
Например, когда доступна верхняя правая строка или, когда доступна 1-я верхняя правая выборка.
(iii) Если доступен только левый столбец, выбраны только выборки из левого столбца.
1. Например, могут быть выбраны четыре выборки левого столбца;
2. Например, могут быть выбраны две выборки левого столбца;
3. Как выбрать выборки может зависеть от ширины/высоты. Например, четыре выборки выбираются при H> 2 и две выборки, когда H = 2.
4. Выбранные выборки могут быть расположены на:
a. (x-1, y), (x -1, y + H/4), (x -1, y + 2*H/4), (x -1, y + 3*H/4)
b. (x-1, y), (x - 1, y+ 2*H/4), (x -1, y + 3*H/4), (x -1, y + H-1)
c. (x-1, y), (x -1, y + (2H)/4), (x -1, y + 2*(2H)/4), (x -1, y + 3*(2H)/4).
Например, если доступен левый столбец или, когда будет доступна 1-я нижняя левая выборка.
d. (x-1, y), (x - 1, y+ 2*(2H)/4), (x -1, y + 3*(2H)/4), (x -1, y + (2H)-1).
Например, когда доступен нижний левый столбец или, когда доступна 1-я нижняя левая выборка.
(iv) Для приведенных выше примеров могут быть выбраны только две из четырех выборок.
(e) В одном примере, когда текущий режим представляет собой LM режим-A, то можно выбрать выборки в соответствии с примером 11 (d) (ii).
(f) в одном примере, когда текущий режим представляет собой LM-L режим, то можно выбрать выборки в соответствии с примером 11 (d) (iii).
(g) выбранные выборки яркости (например, в соответствии с выбранными местоположениями цветности) могут быть сгруппированы в 2 группы, одна имеет наибольшее значение и наименьшее значение всех выбранных выборок, другая группа состоит из всех оставшихся выборок.
(i) Два максимальных значения 2 групп усредняются как максимальное значение в 2-точечном способе; два минимальных значения 2 групп усредняются как минимальное значение в 2-точечном способе для получения LM параметров.
(ii) Когда выбраны только 4 выборки, усреднены два наибольших значения выборок, усреднены два наименьших значения выборки и усредненные значения используются в качестве входных значений в 2-точечного способа для получения LM параметров.
Пример 15. В приведенных выше примерах яркость и цветность могут быть переключены. Альтернативно, цветной компонент яркости может быть заменен основным цветовым компонентом (например, G) и цветной компонент цветности может быть заменен на зависимую цветовую компоненту (например, B или R).
Пример 16. Предлагается выбрать верхние соседние выборки цветности (и/или их соответствующие выборки яркости, которые могут быть подвержены понижающей дискретизации) на основании первого значения смещения позиции (обозначена как F) и значение шага (обозначено как S). Предположим, что ширина доступных верхних соседних выборок для использования равна W.
а. В одном примере W может быть установлена на ширину текущего блока.
b. В одном примере W может быть установлена значение (L * ширина текущего блока), в котором L представляет собой целое значение.
с. В одном примере, когда доступны как верхние, так и левые блоки, W может быть установлена на ширину текущего блока.
i. В качестве альтернативы, когда левый блок недоступен, W может быть установлена на (L * ширина текущего блока), в котором L является целочисленным значением.
ii. В одном примере L может зависеть от доступности верхнего правого блока. Альтернативно, L может зависеть от доступности одной верхней левой выборки.
d. В одном примере W может зависеть от кодированного режима.
i. В одном примере W может быть установлена на ширину текущего блока, если текущий блок закодирован как LM режим;
ii. W может быть установлена на (L * ширина текущего блока), в которой L является целочисленным значением, если текущий блок кодируется как LM-A режим.
(а) L может зависеть от доступности верхнего правого блока. Альтернативно, L может зависеть от доступности одной верхней левой выборки.
e. Предположим, что верхняя левая координата текущего блока равна (x0, y0), затем выбираются верхние соседние выборки на позициях (x0+F+K×S, y0-1) с K =0, 1, 2,…kMax.
f. В одном примере F= W/P. P является целым числом.
i. Например, Р = 2i, в котором i является целым числом, таким как 1 или 2.
ii. В качестве альтернативы, F = W/P + offset.
g. В одном примере S = W/Q. Q является целым числом.
i. Например, Q = 2j, в котором j является целым числом, таким как 1 или 2.
h. Например, F = S/R. R является целым числом.
i. Например, R = 2M, в котором M является целым числом, таким как 1 или 2.
i. В одном примере S = F/Z. Z является целым числом.
i. Например, Z = 2n, в котором n представляет собой целое число, такое как 1 или 2.
j. kMax и/или F и/или S и/или offset могут зависеть от режима предсказания (например, LM, LM-A или LM-L) текущего блока;
k. kMax и/или F и/или S и/или offset могут зависеть от ширины и/или высоты текущего блока.
l. kMax и/или F и/или S и/или offset могут зависеть от доступности соседних выборок.
m. kMax и/или F и/или S и/или offset могут зависеть от W.
n. Например, kMax = 1, F = W/4, S = W/2, offset= 0. Альтернативно, кроме того, настройки выполняются, если текущий блок кодируется LM, доступны, как левая, так и верхняя соседние выборки, и W> = 4.
о. Например, kMax = 3, F = W/8, S = W/4, offset = 0. В качестве альтернативы, кроме того, настройки выполняются, если текущий блок должен закодировать LM, доступны только верхние соседние выборки и W> = 4
р. Например, kМax = 3, F = W/8, S= W/4, offset = 0. Альтернативно, кроме того, настройки выполняются, если текущий блок является LM-A закодированным и W> = 4.
q. Например, kMax = 1, F = 0, S = 1, offset = 0. Альтернативно, кроме того, настройки выполняются, если W равно 2.
Пример 17. Предлагается выбрать левые соседние выборки цветности (и/или их соответствующие выборки яркости, которые могут быть подвергнуты пониженной дискретизации) на основании первого значения смещения позиции (обозначено, как F) и значение шага (обозначено, как S). Предположим, что высота доступных левых соседних выборок, которые следует использовать, равна H.
а. В одном примере H может быть установлена на высоту текущего блока.
b. В одном примере H можно установить на (L * высоту текущего блока), в котором L представляет собой целочисленное значение.
с. В одном примере, когда доступны как верхние, так и левые блоки, H может быть установлена на высоту текущего блока.
i. В качестве альтернативы, когда верхний блок НЕ доступен, H может быть установлено на (L * высоту текущего блока), в котором L представляет собой целое число.
ii. В одном примере L может зависеть от доступности нижнего левого блока. В качестве альтернативы L может зависеть от доступности одной нижней левой выборки.
iii. Альтернативно, H может быть установлена на (высота текущего блока + ширина текущего блока), если необходимо доступность верхних правых соседних блоков.
(a) В одном примере та же H верхних соседних выборок выбирается для LM-A режима и LM режима, когда левые соседние выборки недоступны.
d. В одном примере H может зависеть от кодированного режима.
i. В одном примере Н может быть установлена на высоту текущего блока, если текущий блок закодирован как LM режим;
ii. W может быть установлена на (L * Высота текущего блока), в котором L является целочисленным значением, если текущий блок закодирован как LM-L режим.
(a) L может зависеть от доступности нижнего левого блока. Альтернативно, L может зависеть от доступности одной верхней левой выборки.
(b). Альтернативно, W может быть установлена на (высота текущего блока + ширина текущего блока), если требуемые нижние левые соседние блоки доступны.
(c) В одном примере одинаковая W левых соседних выборок выбираются для LM-L режима и LM режима, когда выше соседние выборки недоступны.
е. Предположим, что верхняя левая координата текущего блока составляет (x0, y0), затем выбираются левые соседние выборки на позициях (x0-1, y0+F+K×S) с K =0, 1, 2,…kMax
f. В одном примере F = H/P. P является целым числом.
i. Например, Р = 2i, в котором i является целым числом, таким как 1 или 2.
ii. Альтернативно, F = H/P + offset.
g. В одном примере S = H/Q. Q является целым числом.
i. Например, Q = 2J, в котором j является целым числом, так, bv как 1 или 2.
h. В одном примере F = S/R. R является целым числом.
i. Например, R = 2M, в котором M является целым числом, так, bv как 1 или 2.
i. В одном примере S = F/Z. Z является целым числом.
i. Например, Z = 2n, в котором n представляет собой целое число, такое как 1 или 2.
j. kMax и/или F и/или S и/или offset могут зависеть от режима предсказания (например, LM, LM-A или LM-L) текущего блока;
k. kMax и/или F и/или S и/или offset могут зависеть от ширины и/или высоты текущего блока.
l. kMax и/или F и/или S и/или offset могут зависеть от H.
m. kMax и/или F и/или S и/или offset могут зависеть от доступности соседних выборок.
n. Например, kMax=1, F= H/4, S= H/2, offset = 0. Альтернативно, кроме того, настройки выполняются, если текущий блок кодируется LM, доступны как левые, так и верхние соседние выборки и H> = 4.
о. Например, kMax=3, F= H/8, S= H/4, offset = 0. В качестве альтернативы, кроме того, настройки выполняются, если текущий блок кодируется LM, доступны только верхние соседние выборки и H> = 4
р. Например, kMax=3, F= H/8, S= H/4, offset = 0. Альтернативно, кроме того, настройки выполняются, если текущий блок кодируется LM-L и H> = 4.
q. Например, kMax=1, F= 0, S= 1, offset = 0, если H равно 2.
Пример 18. Предложим, что для получения параметров линейной модели выбираются две или четырех соседних выборки цветности (и/или их соответствующие выборки яркости, которые могут быть подвержены понижающей дискретизации).
а. В одном примере получают maxY/maxC и minY/minC из двух или четырех соседних выборок цветности (и/или их соответствующих выборок яркости, которые могут быть подвержены понижающей дискретизации, и затем используются для получения параметров линейной модели с применением 2-точечного подхода.
b. В одном примере, при наличии двух соседних выборок цветности (и/или их соответствующих выборок яркости, которые могут быть подвержены понижающей дискретизации), которые выбираются для получения maxY/maxC и minY/minC, minY устанавливается на наименьшее значение выборки яркости и minC является соответствующим значением выборки цветности; maxY устанавливается на наибольшее значение выборки яркости и maxC является его соответствующим значением выборки цветности.
с. В одном примере, при наличии четырех соседних выборок цветности (и/или их соответствующих выборок яркости, которые могут быть подвержены понижающей дискретизации), которые выбираются для получения maxY/maxC и minY/minC, выборки яркости и их соответствующие выборки цветности разделены на два массива G0 и G1, каждый из которых содержит две выборки яркости и их соответствующие выборки яркости.
i. Предположим, что четыре выборки яркости и их соответствующие выборки цветности обозначаются как S0, S1, S2, S3, и они могут быть разделены на две группы в любом порядке. Например:
(a) G0={S0, S1}, G1={S2, S3};
(b) G0={ S1, S0}, G1={S3, S2};
(c) G0={S0, S2}, G1={S1, S3};
(d) G0={S2, S0}, G1={S3, S1};
(e) G0={S1, S2}, G1={S0, S3};
(f) G0={S2, S1}, G1={S3, S0};
(g) G0={S0, S3}, G1={S1, S2};
(h) G0={S3, S0}, G1={S2, S1};
(i) G0={S1, S3}, G1={S0, S2};
(j) G0={S3, S1}, G1={S2, S0};
(k) G0={S3, S2}, G1={S0, S1};
(l) G0={S2, S3}, G1={S1, S0};
(m) G0 и G1 могут быть переменны.
ii. В одном примере значение выборки яркости G0 [0] и G0 [1] сравниваются, если значение выборки яркости G0 [0] больше, чем значение выборки яркости G0 [1], то выборки яркости и его соответствующая выборка цветности G0 [0] поменяются с G0 [1].
(a) Альтернативно, если значение выборки яркости G0 [0] превышает или равно значению выборки яркости G0 [1], то выборка яркости и его соответствующее значение цветности G0 [0] взаимно заменяются с G0 [1]
(b) Альтернативно, если значение выборки яркости G0 [0] меньше значения выборки яркости G0 [1], то выборка яркости и его соответствующее значение цветности G0 [0] взаимно заменяются с G0 [1]
(c) В качестве альтернативы, если значение выборки яркости G0 [0] меньше или равно величине выборки яркости G0 [1], выборка яркости и его соответствующая выборка цветности G0 [0] поменяются с G0 [1].
iii. В одном примере значение выборки яркости G1 [0] и G1 [1] сравниваются, если значение выборки яркости G1 [0] больше, чем значение выборки яркости G1 [1], выборки яркости и его соответствующая выборка цветности G1 [0] поменяются с G1 [1].
(a) Альтернативно, если значение выборки яркости G0 [0] превышает или равно значению выборки яркости G1 [1], то выборка яркости и его соответствующее значение цветности G1 [0] взаимно заменяются с G1 [1]
(b) Альтернативно, если значение выборки яркости G1 [0] меньше значения выборки яркости G1 [1], то выборка яркости и его соответствующее значение цветности G1 [0] взаимно заменяются с G1 [1]
(c) В качестве альтернативы, если значение выборки яркости G1 [0] меньше или равно величине выборки яркости G1 [1], выборка яркости и его соответствующая выборка цветности G1 [0] поменяются с G1 [1].
iv. В одном примере сравнивается значение выборки яркости G0 [0] и G1 [1], если значение выборки яркости G0 [0] больше, чем (или меньше, чем или не больше, чем, или не меньше, чем) значение выборки яркости G1 [1], то G0 и G1 поменяются.
(a) В одном примере значение выборки яркости G0 [0] и G1 [0] сравниваются, если значение выборки яркости G0 [0] больше, чем (или меньше, чем или не больше, чем или не меньше, чем) значение выборки яркости G1 [0], затем G0 и G1 поменяются.
(b) В одном примере сравнивается значение выборки яркости G0 [1] и G1 [0], если значение выборки яркости G0 [1] больше, чем (или меньше, чем или не больше, чем или не меньше) значение выборки яркости G1 [0], затем G0 и G1 поменяются.
(c) В одном примере сравнивается значение выборки яркости G0 [1] и G1 [1], если значение выборки яркости G0 [1] больше, чем (или меньше, чем или не больше, чем или не меньше, чем) значение выборки яркости G1 [1], затем G0 и G1 поменяются.
v. В одном примере значение выборки яркости G0 [0] и G1 [1] сравниваются, если значение выборки яркости G0 [0] больше, чем (или меньше, чем или не больше, чем или не меньше) значение выборки яркости G1 [1], затем G0 [0] и G1 [1] поменяются.
(a) В одном примере значение выборки яркости G0 [0] и G1 [0] сравниваются, если значение выборки яркости G0 [0] больше, чем (или меньше, чем или не больше, чем или не меньше, чем) значение выборки яркости G1 [0], затем G0 [0] и G1 [0] поменяются.
(b) В одном примере сравнивается значение выборки яркости G0 [1] и G1 [0], если значение выборки яркости G0 [1] больше, чем (или меньше, чем или не больше, чем или не меньше) значения выборки яркости G1 [0], затем G0 [1] и G1 [0] поменяются.
(c) В одном примере сравнивается значение выборки яркости G0 [1] и G1 [1], если значение выборки яркости G0 [1] больше, чем (или меньше, чем или не больше, чем или не меньше, чем) значение выборки яркости G1 [1], затем G0 [1] и G1 [1] поменяются.
vi. В одном примере maxY рассчитывается как в среднем значения выборки яркости G0 [0] и G0 [1], maxC рассчитывается как среднее значение значений выборки цветности G0 [0] и G0 [1].
(a) В качестве альтернативы maxY рассчитывается как среднее значение выборки яркости G1 [0] и G1 [1], maxC рассчитывается как среднее значение значений выборки цветности G1 [0] и G1 [1].
vii. В одном примере minY рассчитывается как среднее значение выборки яркости G0 [0] и G0 [1], minC рассчитывается как среднее значение значений выборки цветности G0 [0] и G0 [1].
В качестве альтернативы minY рассчитывается как среднее значение выборки яркости G1 [0] и G1 [1], minC рассчитывается как среднее значение выборки цветности G1 [0] и G1 [1].
d. В одном примере, при наличии только двух соседних выборок цветности (и/или их соответствующих выборок яркости, которые могут быть подвергнуты понижающей дискретизации), они сначала заполняются для получения четырех выборок цветности (и/или их соответствующих выборок яркости), затем четыре выборки цветности (и/или их соответствующие выборки яркости) используются для получения CCLM параметров.
i. В одном примере две заполненные выборки цветности (и/или их соответствующие выборки яркости) скопированы из двух доступных соседних выборок цветности (и/или их соответствующих выборок яркости, которые могут быть подвергнуты понижающей дискретизации).
Пример 19. Во всех приведенных выше примерах выбранные выборки цветности должны быть расположены в пределах верхней строки (то есть с W выборок), как показано на фиг. 10, и/или в левом столбце (то есть с H выборок), в котором W и H представляют собой ширину и высоту текущего блока.
а. Альтернативно, вышеуказанное ограничение может быть применено, когда текущий блок закодирован нормальным LM режимом.
b. Альтернативно, выбранные выборки цветности должны быть расположены в пределах верхней строки (то есть с W выборок) и верхней правой строки с H выборок.
i. Альтернативно, кроме того, вышеприведенное ограничение может быть применено, когда текущий блок кодируется с помощью LM-A режима.
ii. Альтернативно, кроме того, вышеприведенное ограничение может быть применено, когда текущий блок закодирован с помощью LM-A режима или нормальным LM режимом с доступной верхней строкой, но с недоступным левым столбцом.
с. Альтернативно, выбранные выборки цветности должны быть расположены в левом столбце (т.е. с H выборками) и нижнем левом столбце с W выборок.
i. Альтернативно, кроме того, вышеприведенное ограничение может применяться, когда текущий блок закодирован LM-L режимом.
ii. Альтернативно, кроме того, вышеприведенное ограничение может быть применено, когда текущий блок кодируется с помощью LM-L режима или нормальным LM режимом с недоступной верхней строкой, но доступным левым столбцом.
Пример 20
В одном примере необходимо выполнить понижающую дискретизацию только соседних выборок яркости на позициях, где требуются соответствующие выборки цветности для получения CCLM параметров.
Пример 21
Как выполнять способы, раскрытые в этом документе, могут зависеть от цветового формата (например, 4:2:0 или 4:4:4).
а. В качестве альтернативы, как выполнять способы, раскрытые в этом документе, могут зависеть от битовой глубины (например, 8-бит или 10-бит).
b. В качестве альтернативы, как выполнять способы, раскрытые в этом документе, могут зависеть от способа цветного представления (например, RGB или YCbCr).
с. В качестве альтернативы, как выполнять способы, раскрытые в этом документе, могут зависеть от способа цветного представления (например, RGB или YCbCr).
d. В качестве альтернативы, как проводить способы, раскрытые в этом документе, могут зависеть от местоположения нисходящей дискретизации цветности.
Пример 22
Независимо от того, следует ли получать максимальные/минимальные значения компоненты яркости и цветности, используемых для получения CCLM параметров, может зависеть от доступности соседних выборок. Например, максимальные/минимальные значения для компонентов яркости и цветности, используемые для получения CCLM параметров, не могут быть получены, если оба левые, так и верхние соседние блоки недоступны.
а. Следует ли получать максимальные/минимальные значения компонентов яркости и цветности, используемых для получения CCLM параметров, могут зависеть от количества доступных соседних выборок. Например, максимальные/минимальные значения для компоненты яркости и цветности, используемые для получения CCLMM параметров, не могут быть получены, если numSampL == 0 и numSampT == 0. В другом примере максимальные/минимальные значения для компонентов яркости и цветности используются для получения CCLM параметров не могут быть получены, если if numSampL + numSampT == 0. В двух примерах numSampL и numSampT являются количеством доступных соседних выборок слева и выше соседних блоков.
b. Следует ли получить максимальные/минимальные значения компонентов яркости и цветности, используемые для получения CCLM параметров, может зависеть от количества выбранных выборок, используемых для получения параметров. Например, максимальные/минимальные значения для компонентов яркости и цветности, используемые для получения CCLM параметров, не могут быть получены, если cntL == 0 и cntT == 0. В другом примере максимальные/минимальные значения для компонентов яркости и цветности используются для получения CCLM параметров не могут быть получены, если cntL + cntT == 0. В двух примерах cntL и cntT являются количеством избранных выборок слева и выше соседних блоков.
Пример 23
В одном примере предлагаемый способ получения параметров, используемых в CCLM, может использоваться для получения параметров, используемых в LIC или других инструментах кодирования, которые применяют линейную модель.
а. Описанные выше пункты могут применяться к LIC, например, путем замены «соседних выборок цветности» на «соседние выборки текущего блока» и заменой «соответствующих выборок яркости» «соседними выборками опорного блока».
b. В одном примере выборки, используемые для получения LIC параметра, могут исключать выборки определенных позиций в верхней строке и/или левом столбце.
i. В одном примере выборки, используемые для получения LIC параметра, могут исключить первую одну в верхней строке.
(a) Предположим, что координата верхней левой выборки является (x0, y0), предложено исключить (x0, y0-1) для использования LIC параметров.
ii. В одном примере выборки, используемые для получения LIC параметра, могут исключить первую одну в левом столбце.
(a) Предположим, что координата верхней левой выборки представляет собой (x0, y0), предложено исключить (x0-1, y0) для использования LIC параметров.
iii. Следует ли применять вышеописанные способы и/или как определить конкретные позиции, может зависеть от доступности левой столбца/верхней строки.
iv. Следует ли применять вышеописанные способы и/или как определить конкретные позиции, может зависеть от размера блока.
с. В одном примере N соседние выборки (которые могут быть подвергнуты понижающей дискретизации) текущего блока и N соответствующих соседних выборок (которые могут быть соответственно подвергнуты понижающей дискретизации) опорного блока, могут быть использованы для получения параметров, используемых для LIC.
i. Например, N равен 4.
ii. В одном примере N соседние выборки могут быть определены как N/2 выборки из верхней строки; и N/2 выборки из левой столбца.
(a) В качестве альтернативы N соседних выборок могут быть определены как N выборки из верхней строки или левого столбца.
iii. В другом примере N равен min (L, T), в котором Т является общим количеством доступных соседних выборок (которые могут подвергнуты понижающей дискретизации) текущего блока.
(а) в одном примере L установлен на 4
iv. В одном примере выбор координат N выборок может следовать правилу для выбора N выборок в CCLM процессе.
v. В одном примере выбор координат N выборок может следовать правилу для выбора N выборок в LM-A процессе.
vi. В одном примере выбор координат N выборок может следовать правилу для выбора N выборок в LM-L процессе.
vii. В одном примере, как выбрать N выборки может зависеть от доступности верхней строки/левого столбца.
d. В одном примере могут быть выбраны N соседние выборки (которые могут подвергнуты понижающей дискретизации) текущего блока и соответствующие соседние выборки (которые могут соответственно подвергнуты понижающей дискретизации) опорного блока, используемые для получения параметров, для использования в LIC, на основании позиций выборок.
i. Способ выбора может зависеть от ширины и высоты текущего блока.
ii. Способ выбора может зависеть от доступности соседних блоков.
iii. Например, соседние выборки K1 могут быть выбраны из левых соседних выборок и соседние выборки K2 выбирают из верхних соседних выборок, если доступны как верхние, так и левые соседние выборки. Например. K1 = К2 = 2.
iv. Например, соседние выборки K1 могут быть выбраны из левых соседних выборок, если доступны только левые соседние выборки. Например, K1 = 4.
v. Например, соседние выборки K2 могут быть выбраны из верхних соседних выборок, если доступны только верхние соседние выборки. Например, K2 = 4.
vi. Например, верхние выборки могут быть выбраны с первым значением смещения позиции (обозначены как F) и значением шага (обозначено как S), которые могут зависеть от измерения текущего блока и доступности соседних блоков.
(a) Например, способы, раскрытые в пункте 13, могут быть применены для получения F и S.
vii. Например, левые выборки могут быть выбраны с первым значением смещения позиции (обозначены как F) и значением шага (обозначено как S), которые могут зависеть от измерения текущего блока и доступности соседних блоков.
(а) Например, способы, раскрытые в пункте 14, могут быть применены для получения F и S.
е. В одном примере предлагаемый способ получения параметров, используемых в CCLM, также может быть использован для получения параметров, используемых в LIC, когда текущий блок является аффинно-кодированным.
f. Вышеуказанные способы могут быть использованы для получения параметров, используемых в других инструментах кодирования, которые опираются на линейную модель.
В другом примере предлагается режим межкомпонентного предсказания, в котором выборки цветности предсказаны с соответствующими восстановленными выборками яркости в соответствии с моделью предсказания, как показано в уравнении 12. В уравнении 12 PredC(x, y) обозначает предсказание выборки цветности. α и β являются двумя параметрами модели. Rec’L(x, y) являются выборками яркости с пониженной дискретизацией.
… (12)
Для процесса понижающей дискретизации яркости применяется шестиотводной фильтр для блока A на фиг. 11, как показано в уравнении 13
… (13)
Верхние окружающие опорные выборки яркости, затененные на фиг. 11, не подвергаются процессу понижающей дискретизации с помощью 3-отводного фильтра, как показано в уравнении 14. Левые окружающие опорные выборки яркости подвергаются понижающей дискретизации согласно уравнению (15) Если левая или верхняя выборки недоступны, будет использоваться 2-отводной фильтр, определенный в уравнении 16 и уравнении 17.
… (14)
… (15)
… (16)
… (17)
В частности, окружающие опорные выборки яркости подвергаются процессу понижающей дискретизации до одинакового размера опорных выборок цветности. Размер обозначается как ширина и высота. Для получения α и β используются только две или четыре соседние выборки. Таблица поиска применяется для необязательного выполнения операции разделения при получении α и β. Ниже проиллюстрированы способы получения.
3.1 Примерные способы до двух выборок
(1) Соотношение r ширины и высоты рассчитывается, как показано в уравнении 18
… (18)
(2) Если верхние и левые блоки доступны, выбираются 2 выборки, расположенные на posA первой верхней линии и posL первой левой линии. Для упрощения описания ширина предполагается как более длинная сторона. Получение posA и posL показано в уравнении 19 (индекс позиции начинается с 0). Фиг. 12 показывает некоторые примеры разной ширины и соотношения высоты (1, 2, 4 и 8 соответственно). Выбранные выборки затенены.
… (19)
(3) Если верхний блок доступен, когда левый блок недоступен, выбираются первая и posA точки верхней линии, как показано на фиг. 13
(4) если левый блок доступен, когда верхний блок недоступен, выбирается первая и posL точки левой линии, как показано на фиг. 14
(5) получают модель предсказания цветности в зависимости от значений яркости и цветности выбранных выборок.
(6) если не используется ни один из левых и верхних блоков, используется модель предсказания по умолчанию, с α равна 0, β равен 1 << (BitDepth-1), в котором BitDepth представляет собой битовую глубину выборок цветности.
3.2 Примерные способы до четырех выборок
(1) Соотношение r ширины и высоты рассчитывается по уравнению 18.
(2) Если верхние и левые блоки доступны, выбираются 4 выборки, расположенные на первой и posA первой верхней линии, первой и posL первой левой линии. Получение posA и posL иллюстрируется в управлении 19. Фиг. 15 показывает некоторые примеры различного соотношения ширины и высоты (1, 2, 4 и 8 соответственно). Выбранные выборки затенены.
(3) Если верхний блок доступен, когда левый блок недоступен, выбираются первая и posA точки верхней линии, как показано на фиг. 13.
(4) Если левый блок доступен, в то время как верхний блок недоступен, выбираются первая и posL точки левой линии, как показано на фиг. 14.
(5) Если не используется ни одна из левых и верхних блоков, используется модель предсказания по умолчанию, α равен 0, β равен 1 << (BitDepth-1), в котором BitDepth представляет собой битовую глубину выборки цветности.
3.3 Примерные способы, использующие таблицы поиска при LM получении
Фиг. 16 показывает пример таблиц поиска с 128, 64 и 32 записями и каждая запись представлена 16 битами. Процесс 2-точечного LM получения упрощается, как показано в таблице 1 и фиг. 17 с 64 записями. Следует отметить, что первая запись может не храниться в таблице.
Следует также отметить, что, хотя каждая запись в примерных таблицах имеет 16 бит, можно легко преобразовать в число с меньшими битами (например, 8 бит или 12 битов). Например, таблица записей с 8 битами может быть получена как:
g_aiLMDivTableHighSimp_64_8[i] = (g_aiLMDivTableHighSimp_64[i]+128) >> 8.
Например, таблица записей с 12 битами может быть получена как:
g_aiLMDivTableHighSimp_64_12[i] = (g_aiLMDivTableHighSimp_64[i]+8) >> 4.
Таблица 1. Упрощенный процесс LM получения
Следует отметить, что maxLuma и minLuma могут указывать максимальные и минимальные значения выборок яркости выбранных позиций. Альтернативно, они могут указывать функцию максимальной и минимальной выборки яркости выбранных позиций, таких как усреднение. Когда выбраны только 4 позиции, они также могут указывать среднее двух больших значений яркости и среднее двух меньших значений яркости. Дополнительно, как указано на фиг. 17, maxChroma и minChroma представляют значения цветности, соответствующих maxLuma и minLuma.
3.3 Способ № 4 до четырех выборок
Предположим, что ширина блока и высота текущего блока представляет собой W и H соответственно. И верхняя левая координата текущего блока цветности составляет [0, 0].
Если верхние и левые блоки являются доступными и текущий режим является нормальным LM режимом (исключающий LM-A и LM-L), выбираются 2 выборки цветности, расположенные в верхней строке и 2 выборки цветности, расположенные в левом столбце.
Координаты двух верхних выборок являются [floor(W/4), -1] and [floor (3*W/4), -1].
Координаты двух левых выборок равны [-1, floor(H/4)] and [-1, floor (3*H/4)].
Выбранные выборки окрашены в красном, как показано на фиг. 31А.
Впоследствии 4 выборки сортируются в соответствии с интенсивностью выборки яркости и классифицированы на 2 группы. Две большие выборки и две малые выборки соответственно усреднены. Модель межкомпонентного предсказания получается с 2 усредненными точками. Альтернативно, для получения LM параметров используются максимальное и минимальное значение четырех выборок.
Если верхний блок доступен, когда левый блок недоступен, выбираются четыре выборки цветности из верхнего блока, когда W > 2 и 2 выборки цветности выбираются при W = 2.
Координаты четырех выбранных верхних выборок являются [[W/8, -1], [W/8 + W/4, -1], [W/8 + 2*W/4, -1] и [W/8 + 3*W/4, -1].
Выбранные выборки окрашены в красный цвет, как показано на фиг. 31B.
Если левый блок доступен, когда верхний блок недоступен, выбираются четыре выборки цветности из левого блока, когда H> 2 и 2 выборки цветности, когда H = 2.
Координаты выбранных четверых левых выборок равны [-1, H/8], [-1, H/8 + H/4], [-1, H/8 + 2*H/4, -1] и [-1, H/8 + 3*H/4 ].
Если ни один из левый и верхний блоков не доступен, используется предсказание по умолчанию, с α равен 0, β равен 1 << (BitDepth-1), в котором BitDepth представляет собой битовую глубину выборок цветности.
Если текущий режим представляет собой LM-A режим, выбираются четыре выборки цветности из верхнего блока, когда W' > 2 и 2 выборки цветности выбираются при W' = 2. W' является доступным количеством верхних соседних выборок, которое может быть 2 * W.
Координаты четырех выбранных верхних выборок являются [W’/8, -1], [W’/8 + W’/4, -1], [W’/8 + 2*W’/4, -1] и [W’/8 + 3*W’/4, -1].
Если текущий режим представляет собой LM-L режим, выбираются четыре выборки цветности из левого блока, когда выбираются выборки цветности при H'=2. H' является доступным количеством левых соседних выборок, которое может быть 2 * Н.
Координаты четырех выбранных верхних выборок являются [-1, H’/8], [-1, H’/8 + H’/4], [-1, H’/8 + 2*H’/4, -1] и [-1, H’/8 + 3*H’/4 ].
3.5 Пример варианта осуществления для модификации текущего VVC стандарта для использования CCLM предсказания.
8.3.4.2.8 Спецификация INTRA_LT_CCLM, INTRA_L_CCLM и INTRA_T_CCLM режим внутреннего предсказания
Уравнения описаны в этом разделе, используя нумерацию уравнений, соответствующие уравнения, которые используются в текущем проекте VVC стандарта.
Входные данные в процессе:
- режим внутреннего предсказания predModeIntra.
- местоположение выборки (xTbC, yTbC ) верхней левой выборки текущего блока преобразования относительно верхней левой выборки текущего изображения,
- переменная nTbW, указывающая ширину блока преобразования,
- переменная nTbH, указывающая высоту блока преобразования,
- соседние выборки цветности p [x][y], с x = −1, y = 0..2 * nTbH − 1 и x = 0.. 2 * nTbW − 1, y = − 1.
Выходные данные этого процесса являются предсказанные выборки predSamples[ x ][ y ] с x = 0..nTbW − 1, y = 0..nTbH − 1
Текущее местоположение яркости (xTbY, yTbY) получено следующим образом:
(xTbY, yTbY) = (xTbC << 1, yTbC << 1 ) … (8-155)
Переменные availL, availT и availTL получены следующим образом:
...
- Если PredModeIntra равно INTRA_LT_CCLM, применяется следующее:
numSampT = availT ? nTbW : 0 … (8-156)
numSampL = availL ? nTbH : 0 … (8-157)
- В противном случае применяется следующее:
numSampT = (availT && predModeIntra = = INTRA_T_CCLM ) ? (nTbW + numTopRight ):0 … (8-158)
numSampL = (availL && predModeIntra = = INTRA_L_CCLM ) ? ( nTbH + numLeftBelow ): 0 … (8-159)
Переменная bCTUboundary получена следующим образом:
bCTUboundary = (yTbC & (1 << ( CtbLog2SizeY − 1 ) − 1 ) = = 0 ) ? TRUE: FALSE. … (8-160)
Выборки предсказания predSamples[ x ][ y ] with x = 0..nTbW − 1, y = 0..nTbH − 1 получены следующим образом:
- Если оба numSampL and numSampT равны 0, применяется следующее:
predSamples[ x ][ y ] = 1 << ( BitDepthC − 1 ) … (8 161)
- В противном случае применяются следующие упорядоченные этапы:
1. ... [[Нет изменений в текущей спецификации]
2. ...
3. ...
4. ...
5. ...
6. ...... [Нет изменений в текущей спецификации]
7. Переменные minY, maxY, minC и maxC получены следующим образом:
- Переменная minY устанавливается равным 1 << (BitDEpthy) + 1 и переменная maxY устанавливается равной -1.
- Если availL равен TRUE и predModeIntra равен INTRA_LT_CCLM, переменная aboveIs4 устанавливается равной 0; в противном случае устанавливается равным 1.
- Если availT равен TRUE и predModeIntra равен INTRA_LT_CCLM, переменная LeftIs4 устанавливается равной 0; в противном случае устанавливается равным 1.
- Переменные массивов startPos[] и pickStep[] получены следующим образом:
˗ startPos[0] = actualTopTemplateSampNum >> (2 + aboveIs4);
˗ pickStep[0] = std::max(1, actualTopTemplateSampNum >> (1 + aboveIs4));
˗ startPos[1] = actualLeftTemplateSampNum >> (2 + leftIs4);
˗ pickStep[1] = std::max(1, actualLeftTemplateSampNum >> (1 + leftIs4));
- Переменная cnt устанавливается равной 0.
- Если predModeIntra равна INTRA_LT_CCLM, переменная nSX устанавливается равной nTbW, nSY устанавливается равным nTbH;; В противном случае nSX устанавливается, равным numSampLT и nSY устанавливается равным numSampL.
- Если availT равно TRUE и predModeIntra не равно INTRA_L_CCLM, переменные selectLumaPix, selectChromaPix получены следующим образом:
- При startPos[0]+cnt* pickStep[0] < nSX and cnt < 4, применяется следующее:
˗ selectLumaPix[cnt] = pTopDsY[ startPos[0]+cnt* pickStep[0]];
˗ selectChromaPix[cnt]= p[startPos[0]+cnt* pickStep[0]][ −1 ];
˗ cnt++;
- Если availL равен TRUE и predModeIntra не равен INTRA_T_CCLM, переменные selectLumaPix, selectChromaPix получены следующим образом:
˗ При startPos[1]+cnt* pickStep[1] < nSY and cnt < 4, применяется следующее:
˗ selectLumaPix[cnt] = pLeftDsY [ startPos[1]+cnt* pickStep[1] ];
˗ selectChromaPix[cnt]= p[-1][ startPos[1]+cnt* pickStep[1]];
˗ cnt++;
- Если cnt равно 2, применяется следующее:
- Если selectLumaPix[0] > selectLumaPix[1], minY устанавливается равным selectLumaPix[1], minC устанавливается равным selectChromaPix[1], maxY устанавливается равным selectLumaPix[0] и maxC устанавливается равным selectChromaPix[0]; в противном случае, maxY устанавливается равным selectLumaPix[1], maxC устанавливается равным selectChromaPix[1], minY устанавливается равным selectLumaPix[0] и minC устанавливается равным selectChromaPix[0].
- В противном случае, если cnt равно 4, применяется следующее:
- Переменные массивы minGrpIdx и maxGrpIdx инициализируются как:
- minGrpIdx[0] = 0, minGrpIdx[1] = 1, maxGrpIdx[0] = 2, maxGrpIdx[1] = 3;
- применяется следующее
- Если selectLumaPix[minGrpIdx[0]] > selectLumaPix[minGrpIdx[1]], заменить minGrpIdx[0] и minGrpIdx[1];
- Если selectLumaPix[maxGrpIdx[0]] > selectLumaPix[maxGrpIdx[1]], заменить maxGrpIdx[0] и maxGrpIdx[1];
- Если selectLumaPix[minGrpIdx[0]] > selectLumaPix[maxGrpIdx[1]], заменить minGrpIdx и maxGrpIdx;
- Если selectLumaPix[minGrpIdx[1]] > selectLumaPix[maxGrpIdx[0]], заменить minGrpIdx[1] и maxGrpIdx[0];
- maxY, maxC, minY and minC получены следующим образом:
˗ maxY =(selectLumaPix[maxGrpIdx[0]]+selectLumaPix[maxGrpIdx[1]]+1)>>1;
˗ maxC =(selectChromaPix[maxGrpIdx[0]]+selectChromaPix[maxGrpIdx[1]]+1)
>>1;
˗ maxY =(selectLumaPix[minGrpIdx [0]]+selectLumaPix[minGrpIdx [1]]+1)>>1;
˗ maxC =(selectChromaPix[minGrpIdx[0]]+ selectChromaPix [minGrpIdx [1]]+1)>>1;
˗
8. Переменные a, b и k получают следующим образом:
[окончание изменения]
3.6 Другой примерный рабочий проект по предложенному CCLM предсказанию
В этом разделе описан еще один примерный вариант осуществления, который показывает модификации, которые могут быть сделаны в текущем рабочем проекте VVC стандарта. Номера уравнения здесь относятся к соответствующим номерам уравнения в VVC стандарте.
Спецификация INTRA_LT_CCLM, INTRA_L_CCLM и INTRA_T_CCLM режима внутреннего предсказания.
[Добавить в текущий рабочий проект VVC, как показано ниже]
Количество доступных соседних выборок цветности на верхнем и верхнем правом numTopSamp и количество доступных соседних выборок цветности слева и лево-ниже nLeftSamp получены следующим образом:
- Если PredModeIntra равно INTRA_LT_CCLM, применяется следующее:
numSampT = availT ? nTbW : 0 … (8-157)
numSampL = availL ? nTbH : 0 … (8-158)
- В противном случае применяется следующее:
numSampT = ( availT && predModeIntra = = INTRA_T_CCLM ) ?
( nTbW + Min( numTopRight, nTbH )) : 0 … … (8-159)
numSampL = ( availL && predModeIntra = = INTRA_L_CCLM ) ?
( nTbH + Min( numLeftBelow, nTbW )) : 0 … … (8-160)
Переменная bCTUboundary получена следующим образом:
bCTUboundary = ( yTbC & ( 1 << ( CtbLog2SizeY − 1 ) − 1 ) = = 0 ) ? TRUE : FALSE. … (8-161)
Переменная cntN и массив pickPosN[] с N, замененным на L и T, получены следующим образом:
˗ Переменная numIs4N устанавливается равной ((availN && predModeIntra == INTRA_LT_CCLM ) ? 0 : 1).
˗ Переменная startPosN устанавливается равной numSampN >> ( 2 + numIs4N ).
- Переменная pickStepN устанавливается равной Max(1, numSampN >> ( 1 + numIs4N )).
˗ Если availN равна TRUE и predModeIntra равна INTRA_LT_CCLM или INTRA_N_CCLM, cntN устанавливается равным ( 1 + numIs4N ) << 1, и pickPosN[ pos ] устанавливается равным (startPosN + pos * pickStepN), с pos = 0..( cntN – 1 ).
- В противном случае cntN устанавливается равным 0.
Выборки предсказания predSamples[ x ][ y ] с x = 0..nTbW − 1, y = 0..nTbH − 1 получены следующим образом:
- Если оба numSampL и numSampT равны 0, применяется следующее:
predSamples[ x ][ y ] = 1 << ( BitDepthC − 1 ) … (8-162)
- В противном случае применяются следующие упорядоченные этапы:
1. Совместно расположенные выборки яркости pY[ x ][ y ] with x = 0..nTbW * 2 − 1, y= 0..nTbH * 2 − 1 устанавливаются равными восстановленным выборкам яркости перед процессом фильтрации деблокинга на местоположениях ( xTbY + x, yTbY + y ).
2. Соседние выборки яркости pY[ x ][ y ] получены следующим образом:
- Когда numSampL больше 0, соседние левые выборки яркости pY[ x ][ y ] с x = −1..−3, y = 0..2 * numSampL − 1, устанавливаются равными восстановленным выборкам яркости до процесса фильтрации деблокинга на местоположениях ( xTbY + x , yTbY +y ).
- Когда numSampT больше 0, соседние верхние выборки яркости pY[ x ][ y ] с x = 0..2 * numSampT − 1, y = −1, −2, устанавливаются равными восстановленным выборкам яркости до процесса фильтрации деблокинга на местоположениях ( xTbY+ x, yTbY + y ).
- Когда availTL равно TRUE, соседние верхние левые выборки яркости pY[ x ][ y ] с x = −1, y = −1, −2 устанавливаются равными восстановленным выборкам яркости до процесса фильтрации деблокинга на местоположениях ( xTbY+ x, yTbY + y ).
3. Совместно расположенные выборки яркости после понижающей дискретизации pDsY[ x ][ y ] с x = 0..nTbW − 1, y = 0..nTbH – 1 получены следующим образом:
˗ Если sps_cclm_colocated_chroma_flag равен 1, применяется следующее:
˗ pDsY[ x ][ y ] с x = 1..nTbW − 1, y = 1..nTbH − 1 получено следующим образом:
pDsY[ x ][ y ] = ( pY[ 2 * x ][ 2 * y − 1 ] + pY[ 2 * x − 1 ][ 2 * y ] + 4 * pY[ 2 * x ][ 2 * y ] + pY[ 2 * x + 1 ][ 2 * y ] + … (8-163)
pY[ 2 * x ][ 2 * y + 1 ] + 4 ) >> 3
˗ Если availL равно TRUE, pDsY[ 0 ][ y ] с y = 1..nTbH − 1 получено следующим образом:
pDsY[ 0 ][ y ] = ( pY[ 0 ][ 2 * y − 1 ] + pY[ −1 ][ 2 * y ] + 4 * pY[ 0 ][ 2 * y ] + pY[ 1 ][ 2 * y ] + … (8-164)
pY[ 0 ][ 2 * y + 1 ] + 4 ) >> 3
˗ В противном случае, pDsY[ 0 ][ y ] с y = 1..nTbH − 1 получено следующим образом:
pDsY[ 0 ][ y ] = ( pY[ 0 ][ 2 * y − 1 ] + 2 * pY[ 0 ][ 2 * y ] + pY[ 0 ][ 2 * y + 1 ] + 2 ) >> 2 .. (8-165)
˗ Если availT равно TRUE, pDsY[ x ][ 0 ] с x = 1..nTbW − 1 получено следующим образом:
˗ pDsY[ x ][ 0 ] = ( pY[ 2 * x ][ −1 ] + pY[ 2 * x − 1 ][ 0 ] + 4 * pY[ 2 * x ][ 0 ] + pY[ 2 * x + 1 ][ 0 ] + … (8-166)
pY[ 2 * x ][ 1 ] + 4 ) >> 3
˗ Иначе, pDsY[ x ][ 0 ] с x = 1..nTbW − 1 получено следующим образом:
pDsY[ x ][ 0 ] = ( pY[ 2 * x − 1 ][ 0 ] + 2 * pY[ 2 * x ][ 0 ] + pY[ 2 * x + 1 ][ 0 ] + 2 ) >> 2 … (8-167)
˗ Если availL равно TRUE и availT равно TRUE, pDsY[ 0 ][ 0 ] получено следующим образом:
˗ pDsY[ 0 ][ 0 ] = ( pY[ 0 ][ −1 ] + pY[ −1 ][ 0 ] + 4 * pY[ 0 ][ 0 ] + pY[ 1 ][ 0 ] + … (8-168)
pY[ 0 ][ 1 ] + 4 ) >> 3
˗ В противном случае, если availL равно TRUE и availT равно FALSE, pDsY[ 0 ][ 0 ] получено следующим образом:
˗ pDsY[ 0 ][ 0 ] = ( pY[ −1 ][ 0 ] + 2 * pY[ 0 ][ 0 ] + pY[ 1 ][ 0 ] + 2 ) >> 2 … (8-169)
˗ В противном случае, если availL равно FALSE и availT равно TRUE, pDsY[ 0 ][ 0 ] получено следующим образом:
pDsY[ 0 ][ 0 ] = ( pY[ 0 ][ −1 ] + 2 * pY[ 0 ][ 0 ] + pY[ 0 ][ 1 ] + 2 ) >> 2 … (8-170)
˗ В противном случае (availL равно FALSE и availT равно FALSE), pDsY[ 0 ][ 0 ] получено следующим образом:
˗ pDsY[ 0 ][ 0 ] = pY[ 0 ][ 0 ] … (8-171)
˗ Иначе, применяется следующее:
˗ pDsY[ x ][ y ] с x = 1..nTbW − 1, y = 0..nTbH − 1 получено следующим образом:
˗ pDsY[ x ][ y ] = ( pY[ 2 * x − 1 ][ 2 * y ] + pY[ 2 * x − 1 ][ 2 * y + 1 ] +
2* pY[ 2 * x ][ 2 * y ] + 2*pY[ 2 * x ][ 2 * y + 1 ] + … (8-172)
pY[ 2 * x + 1 ][ 2 * y ] + pY[ 2 * x + 1 ][ 2 * y + 1 ] + 4 ) >> 3
˗ Если availL равно TRUE, pDsY[ 0 ][ y ] с y = 0..nTbH − 1 получено следующим образом:
˗ pDsY[ 0 ][ y ] = ( pY[ −1 ][ 2 * y ] + pY[ −1 ][ 2 * y + 1 ] + 2* pY[ 0 ][ 2 * y ] + 2*pY[ 0 ][ 2*y + 1 ] + … (8-173)
pY[ 1 ][ 2 * y ] + pY[ 1 ][ 2 * y + 1 ] + 4 ) >> 3
˗ В противном случае, pDsY[ 0 ][ y ] с y = 0..nTbH − получено следующим образом:
˗ pDsY[ 0 ][ y ] = ( pY[ 0 ][ 2 * y ] + pY[ 0 ][ 2 * y + 1 ] + 1 ) >> 1 … (8-174)
4. Когда numSampL превышает 0, выбранные соведние левые выборки цвета pSelC[idx] устанавливаются равными p[ -1 ][ pickPosL[ idx ]] с idx = 0..(cntL – 1), и выбранные соседние левые выборки яркости после понижающей дискретизации pSelDsY[ idx ] с idx = 0..(cntL-1) получены следующим образом:
- переменная y устанавливается равной pickPosL[ idx ].
- если sps_cclm_colocated_chroma_flag равен 1, то применяется следующее:
- если y > 0 || availTL == TRUE,
pSelDsY[ idx ] = ( pY[ −2 ][ 2 * y − 1 ] + pY[ −3 ][ 2 * y ] + 4 * pY[ −2 ][ 2 * y ] + pY[ −1 ][ 2 * y ] + … (8-175)
pY[ −2][ 2 * y + 1 ] + 4 ) >> 3
- в противном случае,
pSelDsY[ idx ] = ( pY[ −3 ][ 0 ] + 2 * pY[ −2 ][ 0 ] + pY[ −1 ][ 0 ] + 2 ) >> 2 … (8-177)
- в противном случае, применяется слудующее:
pSelDsY[ idx ] = ( pY[ −1 ][ 2 * y ] + pY[ −1 ][ 2 * y + 1 ] + 2* pY[ −2 ][ 2 * y ] + 2*pY[ −2 ][ 2 * y + 1 ] + … (8-178)
pY[ −3 ][ 2 * y ] + pY[ −3 ][ 2 * y + 1 ] + 4 ) >> 3
5. Когда numSampT больше 0, выбранные соседние верхние выборки цветности pSelC[idx] устанавливаются равными p[ pickPosT[ idx ]][ -1 ] с idx = 0..( cntT – 1 ), и соседние верхние выборки яркости после понижающей дискретизации pSelDsY[ idx ] с idx = cntL..(cntL + cntT – 1) определены, как ниже указано:
- переменная x установлена равной pickPosT[ idx - cntL ].
- если sps_cclm_colocated_chroma_flag равен 1, то применяется следующее:
- если x > 0:
- если bCTUboundary равен FALSE, то применяется следующее:
pSelDsY[ idx ] = ( pY[ 2 * x ][ −3 ] + pY[ 2 * x − 1 ][ −2 ] + 4 * pY[ 2 * x ][ −2 ] + pY[ 2 * x + 1 ][ −2 ] + … (8-179)
pY[ 2 * x ][ −1 ] + 4 ) >> 3
- в противном случае (bCTUboundary равно TRUE), применяется следующее:
pSelDsY[ idx ] = ( pY[ 2 * x − 1 ][ −1 ] + 2* pY[ 2 * x ][ −1 ] + … (8-180)
pY[ 2 * x + 1 ][ −1 ] + 2 ) >> 2
- в противном случае:
- если availTL равен TRUE и bCTUboundary равен FALSE, то применяется следующее:
pSelDsY[ idx ] = ( pY[ 0 ][ −3 ] + pY[ −1 ][ −2 ] + 4 * pY[ 0 ][ −2 ] + pY[ 1 ][ −2 ] + … (8-181)
pY[ 0 ][ −1 ] + 4 ) >> 3
- в противном случае, если availTL равен TRUE и bCTUboundary равен TRUE, то применяется следующее:
pSelDsY[ idx ] = ( pY[ −1 ][ −1 ] + 2* pY[ 0 ][ −1 ] + … (8-182)
pY[ 1 ][ −1 ] + 2 ) >> 2
- иначе, если availTL равен FALSE и bCTUboundary равен FALSE, то применяется следующее:
pSelDsY[ idx ] = ( pY[ 0 ][ −3 ] + 2 * pY[ 0 ][ −2 ] + pY[ 0 ][ −1 ] + 2 ) >> 2 … (8-183)
- в противном случае (availTL равен FALSE и bCTUboundary равен TRUE), применяется следующее:
pSelDsY[ idx ] = pY[ 0 ][ −1 ] … (8-184)
- в противном случае, применяется следующее:
- если x > 0:
- если bCTUboundary равен FALSE, то применяется следующее:
pSelDsY[ idx ] = ( pY[ 2 * x − 1 ][ −2 ] + pY[ 2 * x − 1 ][ −1 ] + 2* pY[ 2 * x ][ −2 ] + 2*pY[ 2 * x ][ −1 ] + … (8-185)
pY[ 2 * x + 1 ][ −2 ] + pY[ 2 * x + 1 ][ −1 ] + 4 ) >> 3
-иначе (bCTUboundary равно TRUE), то применяется следующее:
pSelDsY[ idx ] = ( pY[ 2 * x − 1 ][ −1 ] + 2* pY[ 2 * x ][ −1 ] + … (8-186)
pY[ 2 * x + 1 ][ −1 ] + 2 ) >> 2
- иначе:
- если availTL равно TRUE и bCTUboundary равно FALSE, то применяется следующее:
pSelDsY[ idx ] = ( pY[ − 1 ][ −2 ] + pY[ − 1 ][ −1 ] + 2* pY[ 0 ][ −2 ] + 2*pY[ 0 ][ −1 ] + … (8-187)
pY[ 1 ][ −2 ] + pY[ 1 ][ −1 ] + 4 ) >> 3
- в противном случае, если availTL равно TRUE и bCTUboundary равно TRUE, то применяется следующее:
pSelDsY[ idx ] = ( pY[ − 1 ][ −1 ] + 2* pY[ 0 ][ −1 ] + … (8-188)
pY[ 1 ][ −1 ] + 2 ) >> 2
-в противном случае, если availTL равно FALSE и bCTUboundary равно FALSE, то применяется следующее:
pSelDsY[ idx ] = ( pY[ 0 ][ −2 ] + pY[ 0 ][ −1 ] + 1 ) >> 1 … (8-189)
-в противном случае (availTL равно FALSE и bCTUboundary равно TRUE), применяется следующее:
pSelDsY[ idx ] = pY[ 0 ][ −1 ] … (8-190)
6. Переменные minY, maxY, minC and maxC получены слудующим образом:
-
- когда cntT+cntL равно 2, set pSelC[idx + 2] = pSelC[idx] and pSelDsY[idx + 2] = pSelDsY[idx], с idx = 0 и 1.
- массивы minGrpIdx[] и maxGrpIdx[] установлены как: minGrpIdx[0] = 0, minGrpIdx[1] = 1, maxGrpIdx[0] = 2, maxGrpIdx[1] = 3.
-если pSelDsY[minGrpIdx[0]] > pSelDsY[minGrpIdx[1]], менять (minGrpIdx[0], minGrpIdx[1]).
-если pSelDsY[maxGrpIdx[0]] > pSelDsY[maxGrpIdx[1]], менять (maxGrpIdx[0], maxGrpIdx[1]).
-если pSelDsY[minGrpIdx[0]] > pSelDsY[maxGrpIdx[1]], менять (minGrpIdx, maxGrpIdx ).
-если pSelDsY[minGrpIdx[1]] > pSelDsY[maxGrpIdx[0]], менять (minGrpIdx[1], maxGrpIdx[0]).
-maxY = ( pSelDsY[maxGrpIdx[0]] + pSelDsY[maxGrpIdx[1]] + 1 ) >> 1.
-maxC = ( pSelC[maxGrpIdx[0]] + pSelC[maxGrpIdx[1]] + 1 ) >> 1.
-minY = ( pSelDsY[minGrpIdx[0]] + pSelDsY[minGrpIdx[1]] + 1 ) >> 1.
-minC = ( pSelC[minGrpIdx[0]] + pSelC[minGrpIdx[1]] + 1 ) >> 1.
7. Переменные a, b и k получены следующим образом:
˗ Если numSampL равен 0 и numSampT равен 0, применяется следующее:
k = 0 … (8-208)
a = 0 … (8-209)
b = 1 << ( BitDepthC − 1) … (8-210)
˗ В противном случае, применяется следующее:
diff = maxY − minY … (8-211)
˗ Если diff не равно 0, применяется следующее:
˗ diffC = maxC − minC … (8-212)
x = Floor( Log2( diff ) ) … (8-213)
normDiff = ( ( diff << 4 ) >> x ) & 15 … (8-214)
x += ( normDiff != 0 ) ? 1 : 0 … (8-215)
y = Floor( Log2( Abs ( diffC ) ) ) + 1 … (8-216)
a = ( diffC * ( divSigTable[ normDiff ] | 8 ) + 2y − 1 ) >> y … (8-217)
k = ( ( 3 + x − y ) < 1 ) ? 1 : 3 + x − y … (8-218)
a = ( ( 3 + x − y ) < 1 ) ? Sign( a ) * 15 : a … (8-219)
b = minC − ( ( a * minY ) >> k ) … (8-220)
где divSigTable[ ] указано согласно:
divSigTable[ ] = { 0, 7, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 1, 1, 0 } … (8-221)
˗ в противном случае (diff равен 0), применяется следующее:
˗ k = 0 … (8-222)
a = 0 … (8-223)
b = minC … (8-224)
8. Выборки предсказания predSamples[ x ][ y ] с x = 0..nTbW − 1, y = 0.. nTbH − 1 получены следующим образом:
predSamples[ x ][ y ] = Clip1C( ( ( pDsY[ x ][ y ] * a ) >> k ) + b ) … (8-225)
[завершение примера варианта осуществления]
3.7 Еще один примерный рабочий проект по предложенному CCLM предсказанию
В этом разделе описан еще один примерный вариант осуществления, который показывает модификации, которые могут быть сделаны в текущем рабочем проекте VVC стандарта. Номера уравнения здесь относятся к соответствующим номерам уравнений в VVC стандарте.
Спецификация INTRA_LT_CCLM, INTRA_L_CCLM и INTRA_T_CCLM режима внутреннего предсказания
...
Количество доступных соседних выборок цветности на верхней и верхней правой numTopSamp и количество доступных выборок соседних цветности левой и лево-нижней nLeftSamp получены следующим образом:
- если predModeIntra равен INTRA_LT_CCLM, применяется следующее:
numSampT = availT ? nTbW : 0 … (8-157)
numSampL = availL ? nTbH : 0 … (8-158)
- в противном случае, применяется следующее:
numSampT = ( availT && predModeIntra = = INTRA_T_CCLM ) ?
( nTbW + Min( numTopRight, nTbH )) : 0 … (8-159)
numSampL = ( availL && predModeIntra = = INTRA_L_CCLM ) ?
( nTbH + Min( numLeftBelow, nTbW )) : 0 … (8-160)
Переменная bCTUboundary получена следующим образом:
bCTUboundary = (yTbC & (1 << ( CtbLog2SizeY − 1 ) − 1 ) = = 0 ) ? TRUE: FALSE. … (8-161)
Переменная cntN и массив pickPosN[] с N, замененный на L и T, получена следующим образом:
-Переменная numIs4N установлена равной (( availN && predModeIntra == INTRA_LT_CCLM ) ? 0 : 1).
- Переменная startPosN установлена равной numSampN >> ( 2 + numIs4N ).
-Переменная pickStepN установлена равной Max( 1, numSampN >> ( 1 + numIs4N )).
- если availN равна TRUE и predModeIntra равен INTRA_LT_CCLM или INTRA_N_CCLM, cntN установлена равной Min( numSampN, ( 1 + numIs4N ) << 1 ), и pickPosN[ pos ] установлена равной (startPosN + pos * pickStepN), с pos = 0..( cntN – 1 ).
- иначе, cntN установлена равной 0.
Выборки предсказания predSamples[ x ][ y ] с x = 0..nTbW − 1, y = 0..nTbH − 1 получены следующим образом:
- если обе numSampL и numSampT равны 0, применяется следующее:
predSamples[ x ][ y ] = 1 << ( BitDepthC − 1 ) … (8-162)
- в противном случае, применяются следующие упорядоченные этапы:
1.Совместно размещенные выборки яркости pY[ x ][ y ] с x = 0..nTbW * 2 − 1, y= 0..nTbH * 2 − 1 устанавливаются равными восстановленным выборкам яркости до выполнения процесса фильтрации деблокинга на местоположениях ( xTbY + x, yTbY + y ).
2.Соседние выборки яркости pY[ x ][ y ] получают следующим образом:
- когда numSampL больше 0, соседние левые выборки яркости pY[ x ][ y ] с x = −1..−3, y = 0..2 * numSampL − 1 установлены равными восстановленным выборкам яркости до выполнения процесса фильтрации деблокинга на местоположениях ( xTbY + x, yTbY +y ).
- когда numSampT больше 0, соседние верхние выборки яркости pY[ x ][ y ] с x = 0..2 * numSampT − 1, y = −1, −2, установлены равными восстановленным выборкам яркости до выполнения процесса фильтрации деблокинга на местоположениях ( xTbY+ x, yTbY + y ).
- когда availTL равно TRUE, соседние верхние левые выборки яркости pY[ x ][ y ] с x = −1, y = −1, −2, установлены равными восстановленным выборкам яркости до выполнения процесса фильтрации деблокинга на местоположениях ( xTbY+ x, yTbY + y ).
3. Совместно размещенные выборки яркости после понижающей дискретизации pDsY[ x ][ y ] с x = 0..nTbW − 1, y = 0..nTbH − 1 получены следующим образом:
- если sps_cclm_colocated_chroma_flag равен 1, применяется следующие:
- pDsY[ x ][ y ] с x = 1..nTbW − 1, y = 1..nTbH − 1 описаны как ниже указано:
pDsY[ x ][ y ] = ( pY[ 2 * x ][ 2 * y − 1 ] + pY[ 2 * x − 1 ][ 2 * y ] + 4 * pY[ 2 * x ][ 2 * y ] + pY[ 2 * x + 1 ][ 2 * y ] + … (8-163)
pY[ 2 * x ][ 2 * y + 1 ] + 4 ) >> 3
- если availL равен TRUE, pDsY[ 0 ][ y ] с y = 1..nTbH − 1 получено следующим образом:
pDsY[ 0 ][ y ] = ( pY[ 0 ][ 2 * y − 1 ] + pY[ −1 ][ 2 * y ] + 4 * pY[ 0 ][ 2 * y ] + pY[ 1 ][ 2 * y ] + … (8-164)
pY[ 0 ][ 2 * y + 1 ] + 4 ) >> 3
- в противном случае, pDsY[ 0 ][ y ] с y = 1..nTbH − 1 получено следующим образом:
pDsY[ 0 ][ y ] = ( pY[ 0 ][ 2 * y − 1 ] + 2 * pY[ 0 ][ 2 * y ] + pY[ 0 ][ 2 * y + 1 ] + 2 ) >> 2 … (8-165)
- если availT равен TRUE, pDsY[ x ][ 0 ] с x = 1..nTbW − 1 получено следующим образом:
pDsY[ x ][ 0 ] = ( pY[ 2 * x ][ −1 ] + pY[ 2 * x − 1 ][ 0 ] + 4 * pY[ 2 * x ][ 0 ] + pY[ 2 * x + 1 ][ 0 ] + … (8-166)
pY[ 2 * x ][ 1 ] + 4 ) >> 3
- в противном случае, pDsY[ x ][ 0 ] с x = 1..nTbW − 1 получено следующим образом:
pDsY[ x ][ 0 ] = ( pY[ 2 * x − 1 ][ 0 ] + 2 * pY[ 2 * x ][ 0 ] + pY[ 2 * x + 1 ][ 0 ] + 2 ) >> 2 … (8-167)
- если availL равен TRUE и availT равен TRUE, pDsY[ 0 ][ 0 ] получено следующим образом:
pDsY[ 0 ][ 0 ] = ( pY[ 0 ][ −1 ] + pY[ −1 ][ 0 ] + 4 * pY[ 0 ][ 0 ] + pY[ 1 ][ 0 ] + … (8-168)
pY[ 0 ][ 1 ] + 4 ) >> 3
- в противном случае, если availL равно TRUE и availT равно FALSE, pDsY[ 0 ][ 0 ] получено следующим образом:
pDsY[ 0 ][ 0 ] = ( pY[ −1 ][ 0 ] + 2 * pY[ 0 ][ 0 ] + pY[ 1 ][ 0 ] + 2 ) >> 2 … (8-169)
- в противном случае, если availL равен FALSE и availT равен TRUE, pDsY[ 0 ][ 0 ] получено следующим образом:
pDsY[ 0 ][ 0 ] = ( pY[ 0 ][ −1 ] + 2 * pY[ 0 ][ 0 ] + pY[ 0 ][ 1 ] + 2 ) >> 2 … (8-170)
- в противном случае, (availL равен FALSE и availT равен FALSE), pDsY[ 0 ][ 0 ] получено следующим образом:
pDsY[ 0 ][ 0 ] = pY[ 0 ][ 0 ] … (8-171)
- в противном случае, применяется следующее:
pDsY[ x ][ y ] с x = 1..nTbW − 1, y = 0..nTbH − 1 получено следующим образом:
pDsY[ x ][ y ] = ( pY[ 2 * x − 1 ][ 2 * y ] + pY[ 2 * x − 1 ][ 2 * y + 1 ] + 2* pY[ 2 * x ][ 2 * y ] + 2*pY[ 2 * x ][ 2 * y + 1 ] + … (8-172)
pY[ 2 * x + 1 ][ 2 * y ] + pY[ 2 * x + 1 ][ 2 * y + 1 ] + 4 ) >> 3
- если availL равен TRUE, pDsY[ 0 ][ y ] с y = 0..nTbH − 1 получено следующим образом:
pDsY[ 0 ][ y ] = ( pY[ −1 ][ 2 * y ] + pY[ −1 ][ 2 * y + 1 ] + 2* pY[ 0 ][ 2 * y ] + 2*pY[ 0 ][ 2*y + 1 ] + … (8-173)
pY[ 1 ][ 2 * y ] + pY[ 1 ][ 2 * y + 1 ] + 4 ) >> 3
- в противном случае, pDsY[ 0 ][ y ] с y = 0..nTbH − 1 получено следующим образом:
pDsY[ 0 ][ y ] = ( pY[ 0 ][ 2 * y ] + pY[ 0 ][ 2 * y + 1 ] + 1 ) >> 1 … (8-174)
4. Когда numSampL больше 0, выбранные соседние левые выборки цветности pSelC[idx] устанавливаются равными p[ -1 ][ pickPosL[ idx ]] с idx = 0..(cntL – 1) и выбранные соседние левые выборки яркости после понижающей дискретизации pSelDsY[ idx ] с idx = 0..(cntL-1) получено следующим образом:
- переменная y установлена равной pickPosL[ idx ].
- если sps_cclm_colocated_chroma_flag равен 1, применяется следующее:
- если y > 0 || availTL == TRUE,
pSelDsY[ idx ] = ( pY[ −2 ][ 2 * y − 1 ] + pY[ −3 ][ 2 * y ] + 4 * pY[ −2 ][ 2 * y ] + pY[ −1 ][ 2 * y ] + … (8-175)
pY[ −2][ 2 * y + 1 ] + 4 ) >> 3
- в противном случае,
pSelDsY[ idx ] = ( pY[ −3 ][ 0 ] + 2 * pY[ −2 ][ 0 ] + pY[ −1 ][ 0 ] + 2 ) >> 2 … (8-177)
- в противном случае, применяется следующее:
pSelDsY[ idx ] = ( pY[ −1 ][ 2 * y ] + pY[ −1 ][ 2 * y + 1 ] + 2* pY[ −2 ][ 2 * y ] + 2*pY[ −2 ][ 2 * y + 1 ] + … (8-178)
pY[ −3 ][ 2 * y ] + pY[ −3 ][ 2 * y + 1 ] + 4 ) >> 3
5. Когда numSampT больше 0, выбранные соседние верхние выборки цветности pSelC[idx] устанавливаются равными p[ pickPosT[ idx ]][ -1 ] с idx = 0..( cntT – 1 ), и соседние верхние выборки яркости после понижающей дискретизации pSelDsY[ idx ] с idx = cntL..(cntL + cntT – 1) указаны следующим образом:
- переменная x устанавливается равной pickPosT[ idx - cntL ].
- если sps_cclm_colocated_chroma_flag равен 1, применяется следующее:
- если x > 0:
- если bCTUboundary равно FALSE применяется следующее:
pSelDsY[ idx ] = ( pY[ 2 * x ][ −3 ] + pY[ 2 * x − 1 ][ −2 ] + 4 * pY[ 2 * x ][ −2 ] + pY[ 2 * x + 1 ][ −2 ] + … (8-179)
pY[ 2 * x ][ −1 ] + 4 ) >> 3
- в противном случае (bCTUboundary равна TRUE), применяется следующее:
pSelDsY[ idx ] = ( pY[ 2 * x − 1 ][ −1 ] + 2* pY[ 2 * x ][ −1 ] + … (8-180)
pY[ 2 * x + 1 ][ −1 ] + 2 ) >> 2
- в противном случае:
- если availTL равно TRUE и bCTUboundary равно FALSE, применяется следующее:
pSelDsY[ idx ] = ( pY[ 0 ][ −3 ] + pY[ −1 ][ −2 ] + 4 * pY[ 0 ][ −2 ] + pY[ 1 ][ −2 ] + … (8-181)
pY[ 0 ][ −1 ] + 4 ) >> 3
- в противном случае, если availTL равно TRUE и bCTUboundary равно TRUE, применяется следующее:
pSelDsY[ idx ] = ( pY[ −1 ][ −1 ] + 2* pY[ 0 ][ −1 ] + … (8-182)
pY[ 1 ][ −1 ] + 2 ) >> 2
- в противном случае, если availTL равно FALSE и bCTUboundary равно FALSE, применяется следующее:
pSelDsY[ idx ] = ( pY[ 0 ][ −3 ] + 2 * pY[ 0 ][ −2 ] + pY[ 0 ][ −1 ] + 2 ) >> 2 … (8-183)
- в противном случае (availTL равно FALSE и bCTUboundary равно TRUE), применяется следующее:
pSelDsY[ idx ] = pY[ 0 ][ −1 ] … (8-184)
- в противном случае, применяется следующее:
- если x > 0:
- если bCTUboundary равно FALSE, применяется следующее:
pSelDsY[ idx ] = ( pY[ 2 * x − 1 ][ −2 ] + pY[ 2 * x − 1 ][ −1 ] + 2* pY[ 2 * x ][ −2 ] + 2*pY[ 2 * x ][ −1 ] + … (8-185)
pY[ 2 * x + 1 ][ −2 ] + pY[ 2 * x + 1 ][ −1 ] + 4 ) >> 3
- иначе, (bCTUboundary равно TRUE), применяется следующее:
pSelDsY[ idx ] = ( pY[ 2 * x − 1 ][ −1 ] + 2* pY[ 2 * x ][ −1 ] + … (8-186)
pY[ 2 * x + 1 ][ −1 ] + 2 ) >> 2
- в противном случае:
- если availTL равно TRUE и bCTUboundary равно FALSE, применяется следующее:
pSelDsY[ idx ] = ( pY[ − 1 ][ −2 ] + pY[ − 1 ][ −1 ] + 2* pY[ 0 ][ −2 ] + 2*pY[ 0 ][ −1 ] + … (8-187)
pY[ 1 ][ −2 ] + pY[ 1 ][ −1 ] + 4 ) >> 3
- в противном случае, если availTL равно TRUE и bCTUboundary равно TRUE, применяется следующее:
pSelDsY[ idx ] = ( pY[ − 1 ][ −1 ] + 2* pY[ 0 ][ −1 ] + … (8-188)
pY[ 1 ][ −1 ] + 2 ) >> 2
- в противном случае, если availTL равно FALSE и bCTUboundary равно FALSE, применяется следующее:
pSelDsY[ idx ] = ( pY[ 0 ][ −2 ] + pY[ 0 ][ −1 ] + 1 ) >> 1 … (8-189)
- в противном случае (availTL равно FALSE и bCTUboundary равно TRUE), применяется следующее:
pSelDsY[ idx ] = pY[ 0 ][ −1 ] … (8-190)
6. Когда cntT+ cntL не равно 0, переменные minY, maxY, minC and maxC получают следующим образом:
-
- когда cntT+cntL равен 2, устанавливают pSelComp[3] равен pSelComp [0], pSelComp[2] равен pSelComp[1], pSelComp[0] равен pSelComp [1] и pSelComp[1] равен pSelComp[3] с Comp заменённым на DsY и C.
- массивы minGrpIdx[] и maxGrpIdx[] установлены как: minGrpIdx[0] = 0, minGrpIdx[1] = 1, maxGrpIdx[0] = 2, maxGrpIdx[1] = 3.
- если pSelDsY[minGrpIdx[0]] > pSelDsY[minGrpIdx[1]], поменять (minGrpIdx[0], minGrpIdx[1]).
- если pSelDsY[maxGrpIdx[0]] > pSelDsY[maxGrpIdx[1]], поменять (maxGrpIdx[0], maxGrpIdx[1]).
- если pSelDsY[minGrpIdx[0]] >pSelDsY[maxGrpIdx[1]], поменять (minGrpIdx, maxGrpIdx ).
- если pSelDsY[minGrpIdx[1]] > pSelDsY[maxGrpIdx[0]], поменять (minGrpIdx[1], maxGrpIdx[0]).
- maxY = ( pSelDsY[maxGrpIdx[0]] + pSelDsY[maxGrpIdx[1]] + 1 ) >> 1.
- maxC = ( pSelC[maxGrpIdx[0]] + pSelC[maxGrpIdx[1]] + 1 ) >> 1.
- minY = ( pSelDsY[minGrpIdx[0]] + pSelDsY[minGrpIdx[1]] + 1 ) >> 1.
- minC = ( pSelC[minGrpIdx[0]] + pSelC[minGrpIdx[1]] + 1 ) >> 1.
7. переменные a, b и k получены следующим образом:
- если numSampL равен 0 и numSampT равен 0, применяется следующее:
k = 0 … (8-208)
a = 0 … (8-209)
b = 1 << ( BitDepthC − 1) … (8-210)
- в противном случае, применяется следующее:
diff = maxY − minY … (8-211)
- если diff не равен 0, применяется следующее:
diffC = maxC − minC … (8-212)
x = Floor( Log2( diff ) ) … (8-213)
normDiff = ( ( diff << 4 ) >> x ) & 15 … (8-214)
x += ( normDiff != 0 ) ? 1 : 0 … (8-215)
y = Floor( Log2( Abs ( diffC ) ) ) + 1 … (8-216)
a = ( diffC * ( divSigTable[ normDiff ] | 8 ) + 2y − 1 ) >> y … (8-217)
k = ( ( 3 + x − y ) < 1 ) ? 1 : 3 + x − y … (8-218)
a = ( ( 3 + x − y ) < 1 ) ? Sign( a ) * 15 : a … (8-219)
b = minC − ( ( a * minY ) >> k ) … (8-220)
где divSigTable[ ] определяется следующим образом:
divSigTable[ ] = { 0, 7, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 1, 1, 0 } … (8-221)
-иначе (diff равно 0), применяется следующее:
k = 0 … (8-222)
a = 0 … (8-223)
b = minC … (8-224)
8. Выборки предсказания predSamples[ x ][ y ] с x = 0..nTbW − 1, y = 0.. nTbH − 1 получены следующим образом:
predSamples[ x ][ y ] = Clip1C( ( ( pDsY[ x ][ y ] * a ) >> k ) + b ) … (8-225)
3.8 Альтернативный рабочий проект по предлагаемому CCLM предсказанию
В этом разделе описан альтернативный примерный вариант осуществления, который показывает другие модификации, которые могут быть выполнены в текущем рабочем проекте VVC стандарта. Номера уравнения здесь относятся к соответствующим номерам уравнения в VVC стандарте.
Спецификация INTRA_LT_CCLM, INTRA_L_CCLM и INTRA_T_CCLM режима внутреннего предсказания
...
Количество доступных соседних выборок цветности на верхней и верхней правой numTopSamp и количество доступных соседних выборок цветности левой и левой нижней nLeftSamp получены следующим образом:
- если predModeIntra равен INTRA_LT_CCLM, применяется следующее:
numSampT = availT ? nTbW : 0 … (8-157)
numSampL = availL ? nTbH : 0 … (8-158)
- в противном случае, применяется следующее:
numSampT = ( availT && predModeIntra = = INTRA_T_CCLM ) ?
( nTbW + Min( numTopRight, nTbH )) : 0 … (8-159)
numSampL = ( availL && predModeIntra = = INTRA_L_CCLM ) ?
( nTbH + Min( numLeftBelow, nTbW )) : 0 … (8-160)
Переменная bCTUboundary получена следующим образом:
bCTUboundary = (yTbC & (1 << (CtbLog2SizeY − 1) − 1) = = 0) ? TRUE: FALSE. … (8-161)
Переменная cntN и массив pickPosN[] с N заменным на L and T, получены следующим образом:
- переменная numIs4N установлена равным (( availT && availL && predModeIntra == INTRA_LT_CCLM ) ? 0 : 1).
- переменная startPosN установлена равным numSampN >> ( 2 + numIs4N ).
- переменная pickStepN установлена равным Max( 1, numSampN >> ( 1 + numIs4N )).
- если availN равно TRUE и predModeIntra равен INTRA_LT_CCLM or INTRA_N_CCLM, cntN установлена равным Min( numSampN, ( 1 + numIs4N ) << 1 ) и pickPosN[ pos ] установлена равным (startPosN + pos * pickStepN), с pos = 0..( cntN – 1 ).
- в противном случае, cntN установлена равным 0.
Выборки предсказания predSamples[ x ][ y ] с x = 0..nTbW − 1, y = 0..nTbH − 1 получены следующим образом:
- если обе numSampL и numSampT равны 0, применятся следующее:
predSamples[ x ][ y ] = 1 << ( BitDepthC − 1 ) … (8-162)
- в противном случае, применяются следующие упорядоченные этапы:
1.Совместно расположенные выборки яркости pY[ x ][ y ] с x = 0..nTbW * 2 − 1, y= 0..nTbH * 2 − 1 установлены равными восстановленным выборкам яркости до выполнения процесса фильтрации деблокинга на местоположениях ( xTbY + x, yTbY + y ).
2. Соседние выборки яркости pY[ x ][ y ] получены следующим образом:
- когда numSampL больше 0, соседние левые выборки яркости pY[ x ][ y ] с x = −1..−3, y = 0..2 * numSampL – 1 установлены равными восстановленным выборкам яркости до выполнения процесса фильтрации деблокинга на местоположениях ( xTbY + x, yTbY +y ).
- когда numSampT больше 0, соседние верхние выборки яркости pY[ x ][ y ] с x = 0..2 * numSampT − 1, y = −1, −2, установлены равными восстановленным выборкам яркости до выполнения процесса фильтрации деблокинга на местоположениях ( xTbY+ x, yTbY + y ).
- когда availTL равен TRUE, соседние верхние левые выборки яркости pY[ x ][ y ] с x = −1, y = −1, −2 установлены равными восстановленным выборкам яркости до выполнения процесса фильтрации деблокинга на местоположениях ( xTbY+ x, yTbY + y ).
3. Соседние выборки яркости после понижающей дискретизации pDsY[ x ][ y ] с x = 0..nTbW − 1, y = 0..nTbH − 1 получены следующим образом:
- если sps_cclm_colocated_chroma_flag равен 1, применяется следующее:
pDsY[ x ][ y ] с x = 1..nTbW − 1, y = 1..nTbH − 1 получено следующим образом:
pDsY[ x ][ y ] = ( pY[ 2 * x ][ 2 * y − 1 ] + pY[ 2 * x − 1 ][ 2 * y ] + 4 * pY[ 2 * x ][ 2 * y ] + pY[ 2 * x + 1 ][ 2 * y ] + … (8-163)
pY[ 2 * x ][ 2 * y + 1 ] + 4 ) >> 3
- если availL равно TRUE, pDsY[ 0 ][ y ] с y = 1..nTbH − 1 получено следующим образом:
pDsY[ 0 ][ y ] = ( pY[ 0 ][ 2 * y − 1 ] + pY[ −1 ][ 2 * y ] + 4 * pY[ 0 ][ 2 * y ] + pY[ 1 ][ 2 * y ] + … (8-164)
pY[ 0 ][ 2 * y + 1 ] + 4 ) >> 3
- в противном случае, pDsY[ 0 ][ y ] with y = 1..nTbH − 1 получено следующим образом:
pDsY[ 0 ][ y ] = ( pY[ 0 ][ 2 * y − 1 ] + 2 * pY[ 0 ][ 2 * y ] + pY[ 0 ][ 2 * y + 1 ] + 2 ) >> 2 … (8-165)
- если availT равен TRUE, pDsY[ x ][ 0 ] с x = 1..nTbW − 1 получено следующим образом:
pDsY[ x ][ 0 ] = ( pY[ 2 * x ][ −1 ] + pY[ 2 * x − 1 ][ 0 ] + 4 * pY[ 2 * x ][ 0 ] + pY[ 2 * x + 1 ][ 0 ] + … (8-166)
pY[ 2 * x ][ 1 ] + 4 ) >> 3
- в противном случае, pDsY[ x ][ 0 ] with x = 1..nTbW − 1 получено следующим образом:
pDsY[ x ][ 0 ] = ( pY[ 2 * x − 1 ][ 0 ] + 2 * pY[ 2 * x ][ 0 ] + pY[ 2 * x + 1 ][ 0 ] + 2 ) >> 2 … (8-167)
- если availL равен TRUE и availT равен TRUE, pDsY[ 0 ][ 0 ] получено следующим образом:
pDsY[ 0 ][ 0 ] = ( pY[ 0 ][ −1 ] + pY[ −1 ][ 0 ] + 4 * pY[ 0 ][ 0 ] + pY[ 1 ][ 0 ] + … (8-168)
pY[ 0 ][ 1 ] + 4 ) >> 3
- в противном случае, если availL равен TRUE и availT равен FALSE, pDsY[ 0 ][ 0 ] получено следующим образом:
pDsY[ 0 ][ 0 ] = ( pY[ −1 ][ 0 ] + 2 * pY[ 0 ][ 0 ] + pY[ 1 ][ 0 ] + 2 ) >> 2 … (8-169)
- в противном случае, если availL равен FALSE и availT равен TRUE, pDsY[ 0 ][ 0 ] получено следующим образом:
pDsY[ 0 ][ 0 ] = ( pY[ 0 ][ −1 ] + 2 * pY[ 0 ][ 0 ] + pY[ 0 ][ 1 ] + 2 ) >> 2 … (8-170)
- в противном случае (availL равен FALSE и availT равен FALSE), pDsY[ 0 ][ 0 ] получено следующим образом:
pDsY[ 0 ][ 0 ] = pY[ 0 ][ 0 ] … (8-171)
- в противном случае, применяется следующее:
pDsY[ x ][ y ] with x = 1..nTbW − 1, y = 0..nTbH − 1 получено следующим образом:
pDsY[ x ][ y ] = ( pY[ 2 * x − 1 ][ 2 * y ] + pY[ 2 * x − 1 ][ 2 * y + 1 ] + 2* pY[ 2 * x ][ 2 * y ] + 2*pY[ 2 * x ][ 2 * y + 1 ] + … (8-172)
pY[ 2 * x + 1 ][ 2 * y ] + pY[ 2 * x + 1 ][ 2 * y + 1 ] + 4 ) >> 3
- если availL равно TRUE, pDsY[ 0 ][ y ] with y = 0..nTbH − 1 получено следующим образом:
pDsY[ 0 ][ y ] = ( pY[ −1 ][ 2 * y ] + pY[ −1 ][ 2 * y + 1 ] + 2* pY[ 0 ][ 2 * y ] + 2*pY[ 0 ][ 2*y + 1 ] + … (8-173)
pY[ 1 ][ 2 * y ] + pY[ 1 ][ 2 * y + 1 ] + 4 ) >> 3
- в противном случае, pDsY[ 0 ][ y ] с y = 0..nTbH − 1 получено следующим образом:
pDsY[ 0 ][ y ] = ( pY[ 0 ][ 2 * y ] + pY[ 0 ][ 2 * y + 1 ] + 1 ) >> 1 … (8-174)
4. Когда numSampL больше 0, выбранные соседние левые выборки цветности pSelC[idx] установлены равные p[ -1 ][ pickPosL[ idx ]] с idx = 0..(cntL – 1), и выбранные соседние левые выборки яркости после понижающей дискретизации pSelDsY[ idx ] with idx = 0..(cntL-1) получены следующим образом:
- переменная y is устанавливается равной pickPosL[ idx ].
- если sps_cclm_colocated_chroma_flag равен 1, применяется следующее:
- если y > 0 || availTL == TRUE,
pSelDsY[ idx ] = ( pY[ −2 ][ 2 * y − 1 ] + pY[ −3 ][ 2 * y ] + 4 * pY[ −2 ][ 2 * y ] + pY[ −1 ][ 2 * y ] + … (8-175)
pY[ −2][ 2 * y + 1 ] + 4 ) >> 3
- в противном случае,
pSelDsY[ idx ] = ( pY[ −3 ][ 0 ] + 2 * pY[ −2 ][ 0 ] + pY[ −1 ][ 0 ] + 2 ) >> 2 … (8-177)
- в противном случае, применяется следующее:
pSelDsY[ idx ] = ( pY[ −1 ][ 2 * y ] +pY[ −1 ][ 2 * y + 1 ] + 2* pY[ −2 ][ 2 * y ] + 2*pY[ −2 ][ 2 * y + 1 ] + … (8-178)
pY[ −3 ][ 2 * y ] + pY[ −3 ][ 2 * y + 1 ] + 4 ) >> 3
5. Когда numSampT больше 0, выбранные соседние верхние выборки цветности pSelC[ idx ] устанавливаются равными p[ pickPosT[ idx – cntL ]][ -1 ] с idx = cntL..( cntL + cntT – 1 ), и соседние верхние выборки яркости после понижающей дискретизации pSelDsY[ idx ] с idx = cntL..( cntL + cntT – 1) указаны следующим образом:
- переменная x установлена равной pickPosT[ idx – cntL ].
- если sps_cclm_colocated_chroma_flag равен 1, применяется следующее:
- если x > 0:
- если bCTUboundary равно FALSE, применяется следующее:
pSelDsY[ idx ] = ( pY[ 2 * x ][ −3 ] + pY[ 2 * x − 1 ][ −2 ] + 4 * pY[ 2 * x ][ −2 ] + pY[ 2 * x + 1 ][ −2 ] + … (8-179)
pY[ 2 * x ][ −1 ] + 4 ) >> 3
- иначе, (bCTUboundary равно TRUE), применяется следующее:
pSelDsY[ idx ] = ( pY[ 2 * x − 1 ][ −1 ] + 2* pY[ 2 * x ][ −1 ] + … (8-180)
pY[ 2 * x + 1 ][ −1 ] + 2 ) >> 2
- в противном случае:
- если availTL равно TRUE и bCTUboundary равно FALSE, применяется следующее:
pSelDsY[ idx ] = ( pY[ 0 ][ −3 ] + pY[ −1 ][ −2 ] + 4 * pY[ 0 ][ −2 ] + pY[ 1 ][ −2 ] + … (8-181)
pY[ 0 ][ −1 ] + 4 ) >> 3
- иначе, если availTL равно TRUE и bCTUboundary равно TRUE, применяется следующее:
pSelDsY[ idx ] = ( pY[ −1 ][ −1 ] + 2* pY[ 0 ][ −1 ] + … (8-182)
pY[ 1 ][ −1 ] + 2 ) >> 2
- иначе, если availTL равен FALSE и bCTUboundary равен FALSE, применяется следующее:
pSelDsY[ idx ] = ( pY[ 0 ][ −3 ] + 2 * pY[ 0 ][ −2 ] + pY[ 0 ][ −1 ] + 2 ) >> 2 … (8-183)
- иначе (availTL равна FALSE и bCTUboundary равна TRUE), применяется следующее:
pSelDsY[ idx ] = pY[ 0 ][ −1 ] … (8-184)
- иначе, применяется следующее:
- если x > 0:
- если bCTUboundary равно FALSE, применяется следующее:
pSelDsY[ idx ] = ( pY[ 2 * x − 1 ][ −2 ] + pY[ 2 * x − 1 ][ −1 ] + 2* pY[ 2 * x ][ −2 ] + 2*pY[ 2 * x ][ −1 ] + … (8-185)
pY[ 2 * x + 1 ][ −2 ] + pY[ 2 * x + 1 ][ −1 ] + 4 ) >> 3
- иначе, (bCTUboundary равно TRUE), применяется следующее:
pSelDsY[ idx ] = ( pY[ 2 * x − 1 ][ −1 ] + 2* pY[ 2 * x ][ −1 ] + … (8-186)
pY[ 2 * x + 1 ][ −1 ] + 2 ) >> 2
- иначе:
- если availTL равно TRUE и bCTUboundary равно FALSE, применяется следующее:
pSelDsY[ idx ] = ( pY[ − 1 ][ −2 ] + pY[ − 1 ][ −1 ] + 2* pY[ 0 ][ −2 ] + 2*pY[ 0 ][ −1 ] + … (8-187)
pY[ 1 ][ −2 ] + pY[ 1 ][ −1 ] + 4 ) >> 3
- иначе, если availTL равно TRUE и bCTUboundary равно TRUE, применяется следующее:
pSelDsY[ idx ] = ( pY[ − 1 ][ −1 ] + 2* pY[ 0 ][ −1 ] + … (8-188)
pY[ 1 ][ −1 ] + 2 ) >> 2
- иначе, если availTL равно FALSE и bCTUboundary равно FALSE, применяется следующее:
pSelDsY[ idx ] = ( pY[ 0 ][ −2 ] + pY[ 0 ][ −1 ] + 1 ) >> 1 … (8-189)
- иначе, (availTL равно FALSE и bCTUboundary равно TRUE), применяется следующее:
pSelDsY[ idx ] = pY[ 0 ][ −1 ] … (8-190)
6. Когда cntT+ cntL не равно 0, переменные minY, maxY, minC and maxC получены как ниже указано:
-
- когда cntT+cntL равен 2, установить pSelComp[3] равным pSelComp [0], pSelComp[2] равным pSelComp[1], pSelComp[0] равным pSelComp [1] и pSelComp[1] равным pSelComp[3] с Comp замененный DsY и C.
- массивы minGrpIdx[] и maxGrpIdx[] установлены как: minGrpIdx[0] = 0, minGrpIdx[1] = 2, maxGrpIdx[0] = 1, maxGrpIdx[1] = 3.
- если pSelDsY[minGrpIdx[0]] > pSelDsY[minGrpIdx[1]], Swap(minGrpIdx[0], minGrpIdx[1]).
- если pSelDsY[maxGrpIdx[0]] > pSelDsY[maxGrpIdx[1]], Swap(maxGrpIdx[0], maxGrpIdx[1]).
- если pSelDsY[minGrpIdx[0]] > pSelDsY[maxGrpIdx[1]], Swap(minGrpIdx, maxGrpIdx ).
- если pSelDsY[minGrpIdx[1]] > pSelDsY[maxGrpIdx[0]], Swap(minGrpIdx[1], maxGrpIdx[0]).
- maxY = ( pSelDsY[maxGrpIdx[0]] + pSelDsY[maxGrpIdx[1]] + 1 ) >> 1.
- maxC = ( pSelC[maxGrpIdx[0]] + pSelC[maxGrpIdx[1]] + 1 ) >> 1.
- minY = ( pSelDsY[minGrpIdx[0]] + pSelDsY[minGrpIdx[1]] + 1 ) >> 1.
- minC = ( pSelC[minGrpIdx[0]] + pSelC[minGrpIdx[1]] + 1 ) >> 1.
7. Переменные a, b и k получены следующим образом:
- если numSampL равно 0 и numSampT равно 0, применяется следующее:
k = 0 … (8-208)
a = 0 … (8-209)
b = 1 << ( BitDepthC − 1) … (8-210)
- в противном случае, применяется следующее:
diff = maxY − minY … (8-211)
- если diff не равно 0, применяется следующее:
diffC = maxC − minC … (8-212)
x = Floor( Log2( diff ) ) … (8-213)
normDiff = ( ( diff << 4 ) >> x ) & 15 … (8-214)
x += ( normDiff != 0 ) ? 1 : 0 … (8-215)
y = Floor( Log2( Abs ( diffC ) ) ) + 1 … (8-216)
a = ( diffC * ( divSigTable[ normDiff ] | 8 ) + 2y − 1 ) >> y … (8-217)
k = ( ( 3 + x − y ) < 1 ) ? 1 : 3 + x − y … (8-218)
a = ( ( 3 + x − y ) < 1 ) ? Sign( a ) * 15 : a … (8-219)
b = minC − ( ( a * minY ) >> k ) … (8-220)
когда divSigTable[ ] указано как:
divSigTable[ ] = { 0, 7, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 1, 1, 0 } … (8-221)
- в противном случае, (diff равно 0), применяется следующее:
k = 0 … (8-222)
a = 0 … (8-223)
b = minC … (8-224)
8. Выборки предсказания predSamples[ x ][ y ] с x = 0..nTbW − 1, y = 0.. nTbH − 1 получены следующим образом:
predSamples[ x ][ y ] = Clip1C( ( ( pDsY[ x ][ y ] * a ) >> k ) + b ) … (8-225)
Приведенные выше примеры могут быть добавлены в контекст способов, описанных ниже, например, способы 1800-2930, которые могут быть реализованы в кодере и/или декодере видео.
Фиг. 18 показывает блок-схему алгоритма примерного способа для обработки видео. Способ 1800 включает в себя этап 1802 определения, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели на основании двух выборок цветности из группы соседних выборок цветности, в котором два выборки цветности выбираются из группы на основании правила позиции. Способ 1800 дополнительно включает в себя на этапе 1804 выполнения преобразования на основании определения.
Фиг. 19А показывает блок-схему алгоритма примерного способа для обработки видео. Способ 1900 включает в себя этап 1902 определения, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели на основании выбранных выборок цветности на основании позиций выборок цветности, в котором выбранные выборки цветности выбираются из группы соседних выборок цветности. Способ 1900 дополнительно включает в себя этап 1904 выполнения преобразования на основании определения.
Фиг. 19B показывает блок-схему алгоритма примерного способа для обработки видео. Способ 1910 включает в себя этап 1912 определения, для текущего блока видео, группы соседних выборок цветности, используемые для получения набора значений для параметров линейной модели, в котором ширина и высота текущего блока видео является W и H, соответственно, и, в котором группа соседних выборок цветности содержит, по меньшей мере, одну выборку, которая расположена за пределами 2 × W верхних соседних выборок цветности или 2 × H левых соседних выборок цветности. Способ 1910 дополнительно включает в себя этап 1914 выполнения, на основании линейной модели, преобразования между текущим блоком видео и кодированным представлением видео, включающий в себя текущий блок видео.
Фиг. 20А показывает блок-схему алгоритма примерного способа для обработки видео. Способ 2000 включает в себя этап 2002 определения, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, множества наборов параметров, в котором каждый набор параметров определяет межкомпонентную линейную модель (CCLM) и получен из соответствующей группы выборок цветности на соответствующих позициях выборки цветности. Способ 2000 дополнительно включает в себя этап 2004 определения, на основании множества наборов параметров, параметров для окончательного CCLM. Способ 2000 дополнительно включает в себя этап 2006 выполнения преобразование на основании окончательного CCLM.
Фиг. 20В показывает блок-схему алгоритма примерного способа для обработки видео. Способ 2010 включает в себя этап 2012 определения, для преобразования между текущим блоком видео и кодированным представлением видео, параметров межкомпонентной линейной модели (CCLM) на основании максимальных и минимальных значений выборок цветности и яркости N групп выборок цветности и яркости, выбранные из соседних выборок яркости и цветности текущего блока видео. Способ 2010 дополнительно включает в себя этап 2014 выполнения преобразования с использованием CCLM.
Фиг. 21 показывает блок-схему алгоритма примерного способа для обработки видео. Способ 2100 включает в себя этап 2102 определения, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели, которые полностью определяются двумя выборками цветности и соответствующими двумя выборками яркости. Способ 2100 дополнительно включает в себя этап 2104 выполнения преобразования на основании определения.
Фиг. 22 показывает блок-схему последовательности операций примерного способа для обработки видео. Способ 2200 включает в себя этап 2202 определения, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели с использованием таблицы параметров, чьи записи получены в соответствии с двумя значениями выборки цветности и двумя значениями выборки яркости. Способ 220 дополнительно включает в себя этап 2204 выполнения преобразования на основании определения.
Фиг. 23А показывает блок-схему алгоритма примерного способа для обработки видео. Способ 2310 включает в себя этап 2312 определения, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, окончательного предсказания P (x, y) выборки цветности на позиции (x, y) в текущем блоке видео в качестве комбинации результатов предсказания множества межкомпонентных линейных моделей (MCCLMs), в котором MCCLMs выбираются на основании позиции (x, y) выборки цветности. Способ 2310 дополнительно включает в себя этап 2314 выполнения преобразования на основании окончательного предсказания.
Фиг. 23В показывает блок-схему алгоритма примерного способа для обработки видео. Способ 2320 включает в себя этап 2322 выполнения, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, первого определения относительно того, используется ли первая межкомпонентная линейная модель (CCLM), которая используют только левые соседние выборки, для предсказания выборок текущего блока видео и/или второго определения в отношении того, используется ли вторая межкомпонентная линейная модель (CCLM), которая использует только верхние соседние выборки, для предсказания выборок текущего блока видео. Способ 2320 дополнительно включает в себя этап 2324 выполнения преобразования на основании первого определения и/или второго определения.
Фиг. 24А показывает блок-схему последовательности операций примерного способа для обработки видео. Способ 2410 включает в себя этап 2412 определения для преобразования между текущим блоком видео и кодированным представлением видео контекста, который используется для кодирования флага с использованием арифметического кодирования в кодированном представлении текущего блока видео, в котором контекст основан на том, закодирован ли верхний левый соседний блок текущего блока видео с использованием режима межкомпонентного предсказания линейной модели (CCLM). Способ 2410 включает в себя этап 2414 выполнения преобразования на основании определения. В некоторых реализациях, в котором флаг сигнализируется для указания, применяется ли режим предсказания CCLM на текущем блоке видео, и в котором режим предсказания CCLM использует линейный режим для получения значений предсказания компоненты цветности из другой компоненты.
Фиг. 24В показывает блок-схему алгоритма примерного способа для обработки видео. Способ 2420 включает в себя этап 2422 определения для преобразования между текущим блоком видео и кодированным представлением видео порядка кодирования для одного или нескольких указаний полученного режима (DM режим) и линейного режима (LM режим) на основании режима кодирования одного или нескольких соседних блоков текущего блока видео. Способ 2420 включает в себя этап 2424 выполнения преобразования на основании определения. В некоторых реализациях линейный режим используется для получения значений предсказания компоненты цветности из другой компоненты и DM режим используется для получения режима внутреннего предсказания компоненты цветности из другой компоненты.
Фиг. 24С показывает блок-схему алгоритма примерного способа для обработки видео. Способ 2430 включает в себя этап 2432 определения, для преобразования между текущим блоком видео и кодированным представлением видео, параметров для предсказания линейной модели или межкомпонентного цветового предсказания на основании уточненных соседних выборок яркости и цветности текущего блока видео. Способ 2430 включает в себя этап 2434 получения значений предсказания компоненты цветности текущего блока видео на основании параметров и уточненных внутренних выборок яркости текущего блока видео. Способ 2430 включает в себя этап 2436 выполнения преобразования на основании значений предсказания.
Фиг. 24D показывает блок-схему последовательности операций примерного способа для обработки видео. Способ 2440 включает в себя этап 2442 определения, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров для предсказания линейной модели или межкомпонентного цветового предсказания на основании выбора соседних выборок на основании позиции наибольшей или наименьшей соседней выборки. Способ 2440 дополнительно включает в себя этап 2444 получения значений предсказания выборок цветности текущего блока видео на основании параметров и внутренних выборок яркости текущего блока видео. Способ 2440 дополнительно включает в себя этап 2446 выполнения преобразования на основании значений предсказания.
Фиг. 24Е показывает блок-схему последовательности операций примерного способа для обработки видео. Способ 2450 включает в себя этап 2452 определения, для преобразования между текущим блоком видео и кодированным представлением видео, параметров для предсказания линейной модели или межкомпонентного цветового предсказания на основании основной цветовой компоненты и зависимой цветовой компоненты, основная цветовая компонента выбрана в качестве одной из цветовой компоненты яркости и цветовой компоненты цветности, и зависимая цветовая компонента, выбрана в качестве другой цветовой компоненты яркости и цветовой компоненты цветности. Способ 2450 дополнительно включает в себя этап 2454 выполнения преобразования на основании определения.
Фиг. 25А показывает блок-схему последовательности операций примерного способа для обработки видео. Способ 2510 включает в себя этап 2512 выполнения понижающей дискретизации выборок цветности и яркости соседнего блока текущего блока видео. Способ 2510 дополнительно включает в себя этап 2514 определения, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели (CCLM) на основании выборок цветности и яркости после понижающей дискретизации, полученные из понижающей дискретизации. Способ 2510 дополнительно включает в себя этап 2516 применения CCLM на выборках яркости, расположенных в блоке яркости, соответствующем текущему блок видео, для получения значений предсказания текущего блока видео. Способа 2015 дополнительно включает в себя этап 2518 выполнения преобразования на основании значений предсказания.
Фиг. 25В показывает блок-схему алгоритма примерного способа для обработки видео. Способ 2520 включает в себя этап 2522 определения, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели (CCLM) на основании двух или более выборок цветности из группы соседних выборок цветности, в котором две или более выборки цветности выбираются на основании режима кодирования текущего блока видео. Способ 2520 дополнительно включает в себя этап 2524 применения CCLM на выборках яркости, расположенных в блоке яркости, соответствующем текущему блок видео, для получения значений предсказания текущего блока видео. Способ 2520 дополнительно включает в себя этап 2526 выполнения преобразования на основании значений предсказания.
Фиг. 26А показывает блок-схему последовательности операций примерного способа для обработки видео. Способ 2610 включает в себя этап 2612 определения, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели (CCLM) на основании выборок цветности, которые выбираются на основании W доступных верхних соседних выборок, W является целым числом. Способ 2610 дополнительно включает в себя этап 2614 выполнения преобразования на основании определения.
Фиг. 26B показывает блок-схему примерного способа для обработки видео. Способ 2620 включает в себя этап 2622 определения, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели (CCLM) на основании выборок цветности, которые выбираются на основании H доступных левых соседних выборок текущего блока видео. Способ 2620 дополнительно включает в себя этап 2622 выполнения преобразования на основании определения.
Фиг. 27А показывает блок-схему алгоритма примерного способа для обработки видео. Способ 2710 включает в себя этап 2712 определения, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели (CCLM) на основании двух или четырех выборок цветности и/или соответствующих выборок яркости. Способ 2710 дополнительно включает в себя этап 2714 выполнения преобразования на основании определения.
Фиг. 27B показывает блок-схему алгоритма примерного способа для обработки видео. Способ 2720 включает в себя этап 2722 выбора, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, выборок цветности на основании правила позиции, выборки цветности, используемые для получения параметров межкомпонентной линейной модели (CCLM). Способ 2720 дополнительно включает в себя этап 2724 выполнения преобразования на основании определения. В этом примере правило позиции указывает выбрать выборки цветности, которые расположены в пределах верхней строки и/или левого столбца текущего блока видео.
Фиг. 28А показывает блок-схему алгоритма примерного способа для обработки видео. Способ 2810 включает в себя этап 2812 определения, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, позиций, на которых выборки яркости подвержены понижающей дискретизации, в котором выборки яркости после понижающей дискретизации используются для определения параметров межкомпонентной линейной модели (CCLM) на основании выборок цветности и выборок яркости, подверженных понижающей дискретизации, в котором выборки яркости, подверженные понижающей дискретизации, находятся на позициях, соответствующих позициям выборок цветности, которые используются для получения CCLM параметров. Способ 2810 дополнительно включает в себя этап 2814 выполнения преобразования на основании определения.
Фиг. 28B показывает блок-схему последовательности операций примерного способа для обработки видео. Способ 2820 включает в себя этап 2822 определения, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, способа для получения параметров межкомпонентной линейной модели (CCLM) с использованием выборок цветности и выборок яркости, на основании состояния кодирования, ассоциированного с текущим блоком видео. Способ 2820 дополнительно включает в себя этап 2824 выполнения преобразования на основании определения.
Фиг. 28C показывает блок-схему последовательности операций примерного способа для обработки видео. Способ 2830 включает в себя этап 2832 определения, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, следует ли получать максимальные значения и/или минимальные значения компоненты яркости и компоненты цветности, которые используются для получения параметров межкомпонентной линейной модели (CCLM) на основании доступности левого соседнего блока и верхнего соседнего блока текущего блока видео. Способ 2830 дополнительно включает в себя этап 2834 выполнения преобразования на основании определения.
Фиг. 29А показывает блок-схему алгоритма примерного способа для обработки видео. Способ 2910 включает в себя этап 2912 определения, для преобразования между текущим блоком видео и кодированным представлением видео, параметров инструмента кодирования с использованием линейной модели, на основании выбранных соседних выборок текущего блока видео и соответствующих соседних выборок опорного блока. Способ 2910 дополнительно включает в себя этап 2914 выполнения преобразования на основании определения.
Фиг. 29B показывает блок-схему последовательности операций примерного способа для обработки видео. Способ 2920 включает в себя этап 2922 определения, для преобразования между текущим блоком видео и кодированным представлением видео, параметров инструмента компенсации локальной подсветки (LIC) на основании N соседних выборок текущего блока видео и N соответствующих соседних выборок опорного блока, в котором N соседние выборки текущего блока видео выбираются на основании позиций N соседних выборок. Способ 2920 дополнительно включает в себя этап 2924 выполнения преобразования на основании определения. Инструмент LIC использует линейную модель изменений освещения в текущем блоке видео во время преобразования.
Фиг. 29C показывает блок-схему алгоритма примерного способа для обработки видео. Способ 2930 включает в себя этап 2932 определения, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели (CCLM) на основании выборок цветности и соответствующих выборок яркости. Способ 2930 дополнительно включает в себя этап 2934 выполнения преобразования на основании определения. В этом примере некоторые выборки цветности получают путем операции заполнения, и выборки цветности и соответствующие выборки яркости сгруппированы в два массива G0 и G1, каждый массив включает в себя две выборки цветности и соответствующие выборки яркости.
4 Пример реализаций представленной технологии
Фиг. 30А является блок-схемой устройства 3000. Устройство 3000 может использоваться для реализации одного или нескольких способов, описанных в настоящем документе. Устройство 3000 может быть воплощено в смартфоне, планшете, компьютере, приемнике интернета вещах (IоT) и т.д. Устройство 3000 может включать в себя один или несколько процессоров 3002, одну или несколько памяти 3004 и схему 3006 обработки видео. Процессор (процессоры) 3002 может быть выполнен с возможностью реализации одного или нескольких способов (включающий в себя, но не ограничиваясь, способы, как показано на фиг. 18-29C), описанных в настоящем документе. Память (памяти) 3004 могут использоваться для хранения данных и кода, используемых для реализации способов и технологий, описанных в настоящем документе. Схема 3006 обработки видео может использоваться для реализации, в форме аппаратных схем, некоторых описанных в настоящем документе технологий.
Фиг. 30B является еще одним примером блок-схемы системы обработки видео, в которой могут быть реализованы раскрытые технологии. Фиг. 30B является блок-схемой, показывающей примерную систему 3100 обработки видео, в которой могут быть реализованы различные способы, раскрытые в данном документе. Различные реализации могут включать в себя некоторые или все компоненты системы 3100. Система 3100 может включать в себя вход 3102 для приема контента видео. Контент видео может быть принят в необработанном или несжатом формате, например, 8 или 10 битных значений многокомпонентных пикселей, или может быть принят в сжатом или кодированном формате. Вход 3102 может представлять сетевой интерфейс, интерфейс периферической шины или интерфейс хранения. Примеры сетевого интерфейса включают в себя проводные интерфейсы, такие как Ethernet, пассивная оптическая сеть (PON) и т.д., и беспроводные интерфейсы, такие как Wi-Fi или сотовые интерфейсы.
Система 3100 может включать в себя компонент 3104 кодирования, который может реализовывать различные способы кодирования или шифрования, описанные в настоящем документе. Компонент 3104 кодирования может снизить среднюю битовую скорость видео от входа 3102 к выходу компонента 3104 кодирования для получения кодированного представления видео. Поэтому технологии кодирования иногда называют технологиями сжатия видео или транскодирования видео. Выходные данные компонента 3104 кодирования могут быть либо храниться, либо передаваться посредством коммуникации, подключенной, как представлена компонентом 3106. Сохраненный или сообщенный битовый поток (или кодированный) представления видео, принятый на входе 3102, может использоваться компонентом 3108 для генерирования значений пикселей или отображаемого видео, которое отправляется в интерфейс 3110 отображения. Процесс генерирования видео для просмотра пользователем из представления битового потока иногда называют распаковкой видео. Кроме того, в то время как некоторые операции обработки видео называются операциями или инструментами «кодирования», очевидно, что инструменты или операции кодирования используются в кодере и соответствующих инструментах или операциями декодирования, которые являются обратными кодированию, которые будут выполняться декодером.
Примеры интерфейса периферийной шины или интерфейса дисплея могут включать в себя универсальную последовательную шину (USB) или мультимедийный интерфейс высокой четкости (HDMI) или DisplayPort и так далее. Примеры интерфейсов хранения включают в себя SATA (последовательные передовые технологии вложения), интерфейс PCI, IDE и тому подобное. Технологии, описанные в настоящем документе, могут быть воплощены в различных электронных устройствах, таких как мобильные телефоны, ноутбуки, смартфоны или другие устройства, которые выполнены с возможностью выполнять цифровую обработку данных и/или видео.
В некоторых вариантах осуществления способы кодирования видео могут быть реализованы с использованием устройства, которое реализовано на аппаратной платформе, как описано со ссылкой на фиг. 30А или фиг. 30В.
Различные технологии и варианты осуществления могут быть описаны с использованием следующего формата на основании пунктов условий.
Первый набор пунктов описывает конкретные признаки и аспекты описанных технологий, перечисленных в предшествующем разделе, включающий в себя, например, пример 1 a-d и j.
(1) Способ обработки видео, содержащий: определение для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели на основании двух выборок цветности из группы соседних выборок цветности, в котором две выборки цветности выбираются из группы на основании правила позиции; и выполнение преобразования на основании определения.
(2) Способ по (1), в котором параметры имеют значения, которые определяются на основании выборок яркости двух выборок цветности.
(3) Способ по (2), в котором выборки яркости подвергаются понижающей дискретизации, используемые для получения параметров межкомпонентной линейной модели.
(4) Способ по (1), в котором параметры имеют значения, определяемые на основании выборок цветности на 2S позициях, S являются целым числом.
(5) Способ по (1), в котором верхняя левая выборка блока цветности представляет собой (x, y), в котором ширина и высота блока цветности представляют собой W и H соответственно, и в котором группа соседних выборок цветности содержит: выборку A с координатами (x - 1, y), выборку В с координатами (x - 1, y + Н/2 - 1), выборку С с координатами (x - 1, y + Н/2), выборку D с координатами (x - 1, y + Н - 1), выборку Е с координатами (x - 1, y + Н), выборку F с координатами (x - 1, y + Н + Н/2 - 1), выборку G с координатами (x - 1, y + Н + Н/2), выборку I с координатами (x - 1, y + Н + Н - 1), выборку J с координатами (x, y - 1), выборку K с координатами (x + W/2 - 1, y - 1), выборку L с координатами (x + W/2, y - 1), выборку M с координатами (x + W - 1, y - 1), выборку N с координатами (x + W, y - 1), выборку O с координатами (x + W + W/2 - 1, y - 1), выборку P с координатами (x + W + W/2, y - 1) и выборку Q с координатами (x + W + W - 1, y - 1).
(6) Способ по (5), в котором правило позиции указывает, что выбираются две выборки цветности из выборок A, D, J и M.
(7) Способ по (5), в котором правило позиции указывает, что выбираются две выборки цветности из выборок A, B, C, D, J, K, L и M.
(8) Способ по (5), в котором правило позиции указывает, что выбираются две выборки цветности из выборок A, I, J и Q.
(9) Способ по (5), в котором правило позиции указывает, что выбираются две выборки цветности из выборок A, B, D, I, J, K, M и Q.
(10) Способ по (5), в котором правило позиции указывает, что выбираются две выборки цветности из выборок A, B, D, F, J, K, M и O.
(11). Способ по (5), в котором правило позиции указывает, что выбираются две выборки цветности из выборок A, C, G, I, J, L, P и Q.
(12) Способ по (5), в котором правило позиции указывает, что выбираются две выборки цветности из выборок A, C, E, G, J, L, N и P.
(13) Способ по (5), в котором правило позиции указывает, что выбираются две выборки цветности из выборок J, K, L и M.
(14) Способ по (5), в котором правило позиции указывает, что выбираются две выборки цветности из выборок J, L, N и Q.
(15) Способ по (5), в котором правило позиции указывает, что выбираются две выборки цветности из выборок J, K, L, M, N, O, P и Q.
(16) Способ по (5), в котором правило позиции указывает, что выбираются две выборки цветности из выборок A, B, C, D, E, F, G и I.
(17) Способ по (5), в котором правило позиции указывает, что выбираются две выборки цветности из выборок J, K, L, M, N, O, P и Q.
(18) Способ по (5), в котором правило позиции указывает, что выбирается одна из двух выборок цветности из выборок A, B, C, D, E, F, G и I и другая из двух выборок цветности выбирается из выборок J, K, L, M, N, O, P и Q.
(19) Способ по любому (5)-(18), в котором две выборки цветности имеют одинаковые соответствующие значения яркости, способ дополнительно включает в себя проверку дополнительной выборки цветности.
(20) Способ по (1), в котором выполняется поиск выборок цветности в группе соседних выборок цветности для поиска двух выборок цветности с минимальными и максимальными соответствующими значениями яркости для определения первого набора значений для параметров.
(21) Способ по (1), в котором верхняя соседняя выборка с координатами (x, y) находится в группе только в том случае, если x%K= 0, K равно 2, 4, 6 или 8 и % является оператором модуля.
(22) Способ по (1), в котором левая соседняя выборка с координатами (x, y) находится в группе только в том случае, если y%K = 0, K равно 2, 4, 6 или 8 и %, является оператором модуля.
(23) Способ по (1), в котором выбираются две выборки цветности на основании доступности соседних блоков.
(24) Способ по любому из (1)-(23), в котором выполнение преобразования включает в себя генерирование кодированного представления из текущего блока.
(25) Способ по любому из (1)-(23), в котором выполнение преобразования включает в себя генерирование текущего блока из кодированного представления.
(26) Устройство в видеосистеме, содержащее процессор и постоянную память с инструкциями на ней, в котором инструкции при выполнении процессором побуждают процессор реализовать способ по любому из (1)-(25).
(27) Компьютерный программный продукт, хранящийся на постоянном машиночитаемом носителе, компьютерный программный продукт включает в себя программный код для выполнения способа по любому из (1)-(25).
Второй набор пунктов описывает конкретные признаки и аспекты раскрытых технологий, перечисленных в предшествующем разделе, включающие в себя, например, пример 1.e-i и пример 9.
(1) Способ для обработки видео, содержащий: определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели на основании выбранных выборок цветности на основании позиций выборок цветности, в котором выбранные выборки цветности выбираются из группы соседних выборок цветности; и выполнение преобразования на основании определения.
(2) Способ по (1), в котором, по меньшей мере, одна соседняя выборка цветности не принадлежит к выбранным выборкам цветности.
(3) Способ по (1), в котором все выбранные соседние выборки цветности являются левыми к текущему блоку в случае, когда режим предсказания текущего блока видео является первым линейным режимом, который использует только левые соседние выборки.
(4) Способ по (1), в котором все выбранные соседние выборки цветности являются верхними к текущему блоку в случае, когда режим предсказания текущего блока видео является вторым линейным режимом, который использует только верхние соседние выборки.
(5) Способ по любому из (1)-(4), в котором позиции выборок цветности выбираются на основании ширины или высоты блока цветности.
(6) Способ по (1), в котором позиции выборок цветности соответствуют сигнализации в наборе параметров видео (VPS), наборе параметров последовательности (SPS), наборе параметров изображения (PPS), заголовке сегмента, заголовке группы плитки, плитке, блоке кодирования (CU), блоке дерева кодирования (CTU) или блоке предсказания (PU).
(7) Способ по (1), в котором определение параметров дополнительно основано на способе наименьших средних квадратов.
(8) Способ по (1), в котором определение параметров дополнительно основано на двухточечном способе.
(9) Способ для обработки видео, содержащий: определение, для текущего блока видео, группы соседних выборок цветности, используемую для получения набора значений для параметров линейной модели, в котором ширина и высота текущего блока видео представляют собой W и H, соответственно, и, в котором группа соседних выборок цветности содержит, по меньшей мере, одну выборку, которая расположена за пределами 2 × W выше соседних выборок цветности или 2 × H левее соседних выборок цветности; и выполнение, на основании линейной модели, преобразования между текущим блоком видео и кодированным представлением видео, включающее в себя текущий блок видео.
(10) Способ по (8), в котором текущий блок видео кодируется с использованием линейного режима внутреннего предсказания, в котором верхняя левая выборка текущего блока видео равна (x, y), в котором, по меньшей мере, одна выборка равна (x - 1, y + d), в котором d представляет собой целое число в диапазоне [T, S] и, в котором T и S являются целыми числами.
(11) Способ по (9), в котором T <0 и S> (2 × H-1).
(12) Способ по (9), в котором T = -4 и S = 3 × H.
(13) Способ по (9), в котором T = 0 и S = max (2 × W, W + H).
(14) Способ по (9), в котором T = 0 и S = 4 × H.
(15) Способ по (8), в котором текущий блок видео кодируется с использованием линейного режима внутреннего предсказания, в котором верхняя левая выборка текущего блока видео равна (x, y), в котором, по меньшей мере, одна выборка равна (x + d, y-1), в котором d представляет собой целое число в диапазоне [T, S], и в котором T и S являются целыми числами.
(16) Способ по (15), в котором T <0 и S> (2 × W-1).
(17) Способ по (15), в котором T = -4 и S = 3 × W.
(18) Способ по (15), в котором T = 0 и S = max (2 × W, W + H).
(19) Способ по (15), в котором T = 0 и S = 4 × W.
(20) Способ по любому из (1) – (19), в котором выполнение преобразования включает в себя генерирование кодированного представления из текущего блока.
(21) Способ по любому из (1) – (19), в котором выполнение преобразования включает в себя генерирование текущего блока из закодированного представления.
(22) Устройство в системе видео, содержащее процессор и постоянную память с инструкциями, в котором инструкции при выполнении процессором побуждают процессор выполнить способ по любому из (1) – (21).
(23) Компьютерный программный продукт, хранящийся на постоянном машиночитаемом носителе, компьютерный программный продукт включает в себя программный код для выполнения способа по любому из (1) – (21).
Третий набор пунктов описывает конкретные признаки и аспекты раскрытых технологий, перечисленных в предшествующем разделе, включающие в себя, например, пример 2 и пример 5.
(1) Способ для обработки видео, содержащий: определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, множество наборов параметров, в котором каждый набор параметров определяет межкомпонентную линейную модель (CCLM) и получено из соответствующей группы выборок цветности на соответствующих позициях выборки цветности; определение, на основании множества наборов параметров, параметров для окончательной CCLM; и выполнение преобразования на основании окончательной CCLM.
(2) Способ по (1), в котором параметры для окончательной CCLM определяются как среднее значение соответствующих параметров во множестве наборов параметров.
(3) Способ по (1), в котором множество наборов параметров включат в себя первый набор (α1, β1) и второй набор (α2, β2), и предсказание цветности рассчитывается на основании параметров α1, β1, α2, β2.
(4) Способ по (1), в котором множество наборов параметров смещаются и объединяются для формирования окончательной CCLM.
(5) Способ по (1), в котором множество наборов параметров включает в себя первый набор (α1, β1), который получен из первой группы выборок цветности и второй набор (α2, β2), который получен из второй группы выборок цветности, первая группа и вторая группа соответствуют различным позициям выборки цветности друг от друга.
(6) Способ по (5), в котором верхняя левая выборка блока цветности представляет собой (x, y) и ширина и высота блока цветности представляют собой W и H, соответственно, и в котором группа выборок цветности содержит, по меньшей мере, одну из:
Выборку с координатами (x - 1, y),
Выборку B с координатами (x - 1, y + Н/2 - 1),
Выборку C с координатами (x - 1, y + Н/2),
Выборку D с координатами (x - 1, y + Н - 1),
Выборку Е с координатами (x - 1, y + Н),
Выборку F с координатами (x - 1, y + Н + Н/2 - 1),
Выборку G с координатами (x - 1, y + Н + Н/2),
Выборку I с координатами (x - 1, y + Н + Н - 1),
Выборку J с координатами (x, y - 1),
Выборку K с координатами (x + W/2 - 1, y - 1),
Выборку L с координатами (x + W/2, y - 1),
Выборку M с координатами (x + W - 1, y - 1),
Выборку N с координатами (x + W, y - 1),
Выборку O с координатами (x + W + W/2 - 1, y - 1),
Выборку P с координатами (x + W + W/2, y - 1) или
Выборку Q с координатами (x + W + W - 1, y - 1).
(7) Способ по (6), в котором первая группа включает в себя выборки A и D и вторая группа включает в себя выборки J и M или выборки E и I.
(8) Способ по (6), в котором первая группа включает в себя выборки A и I и вторая группа включает в себя выборки J и Q.
(9) Способ по (6), в котором первая группа включает в себя выборки A и B и вторая группа включает в себя выборки C и D.
(10) Способ по (6), в котором первая группа включает в себя J и M и вторая группа включает в себя N и Q.
(11) Способ по (6), в котором первая группа включает в себя J и K и вторая группа включает в себя L и M.
(12) Способ обработки видео, содержащий: определение, для преобразования между текущим блоком видео и кодированным представлением видео, параметров межкомпонентной линейной модели (CCLM) на основании максимального и минимального значений выборок цветности и яркости N групп выборок цветности и яркости, выбранные из соседних выборок яркости и цветности текущего блока видео; и выполнение преобразования с использованием CCLM.
(13) Способ по (12), в котором N групп выборок цветности и яркости содержит S0, S1, … , Sm и, в котором 1 ≤ m ≤ N−1, в котором m и N являются неотрицательными целыми числами, в котором максимальное значение яркости рассчитывается как maxL = f1(maxLS0, maxLS1,…, maxLSm), в котором f1 представляет собой первую функцию и maxLSi представляет собой максимальное значение яркости группы Si множества групп, в котором максимальное значение цветности рассчитывается как maxC = f2(maxCS0, maxCS1,…, maxCSm), в котором f2 представляет собой вторую функцию и maxCSi является значением цветности группы Si, соответствующее maxLSi, в котором минимальное значение яркости рассчитывается как minL = f3(minLS0, minLS1,…, minLSm), в котором f3 является третьей функцией, и minLSi является минимальным значением яркости группы Si, в котором минимальное значение цветности рассчитывается как minC = f4(minCS0, minCS1,…, minCSm), в котором f4 представляет собой четвертую функцию и minCSi является значением цветности группы Si, соответствующее minLSi и, в котором параметры линейной модели содержат б и в, которые рассчитываются как б = ( maxC − minC ) / ( maxL − minL ) and в = minC − бЧminL.
(14) Способ по (13), в котором f1, f2, f3 и f4 являются усредняющими функциями.
(15) Способ по (13) или (14), в котором m = N-1.
(16) Способ по (13) или (14), в котором m = 1 и в котором S1 = SN−1.
(17) Способ по (13) или (14), в котором m = 0.
(18) Способ по (13) или (14), в котором S0 содержит выборки из верхней строки текущего блока видео, и в котором S1 содержит выборки из левой строки текущего блока видео.
(19) Способ по (13) или (14), в котором выборки из верхней строки текущего блока видео имеют координаты (x, y), в котором S0 содержит первую часть выборок, в котором каждый выборка первой части удовлетворяет x%P = Q, в котором S1 содержит вторую часть выборок, в котором каждая выборка второй части удовлетворяет x%P ≠ Q, и в котором % является оператором модуля, и P и Q являются положительными целыми числами.
(20) Способ по (13) или (14), в котором выборки из левой строки текущего блока видео имеют координаты (x, y), в котором S0 содержит первую часть выборок, в котором каждая выборка первой части удовлетворяет y% P = Q, в котором S1 содержит вторую часть выборок, в котором каждая выборка второй части удовлетворяет y% P ≠ Q, и в котором % является оператором модуля и P и Q являются положительными целыми числами.
(21) Способ по (19) или (20), в котором P = 2 и Q = 1 или P = 2 и Q = 0 или P = 4 и Q = 0.
(22) Способ по любому из (12)-(14), в котором выборки цветности и яркости содержат только часть выборок цветности и яркости соседнего блока.
(23) Способ по любому из (13)-(22), в котором N является заданным значением.
(24) Способ по любому из (13)-(23), в котором N сигнализируется на наборе параметров последовательности (SPS), наборе параметров видео (VPS), наборе параметров изображения (PPS), заголовке изображения, заголовке сегмента, заголовке группы плитки, одном или нескольких наибольших блоков кодирования или одном или нескольких блоках кодирования.
(25) Способ по (12), в котором выборки цветности и яркости для каждой группы выбираются на основании доступности соседнего блока текущего блока видео.
(26) Способ по (12), в котором выборки цветности и яркости для каждой группы выбираются на основании ширины и высоты текущего блока видео.
(27) Способ по (12), в котором выборки цветности и яркости для каждой группы выбираются на основании значений выборок цветности и яркости.
(28) Способ по любому из (1)-(27), в котором выполнение преобразования включает в себя генерирование кодированного представления из текущего блока.
(29) Способ по любому из (1)-(27), в котором выполнение преобразования включает в себя генерирование текущего блока из закодированного представления.
(30) Устройство в системе видео, содержащее процессор и постоянную память с инструкциями, в котором инструкции при выполнении процессором побуждают процессор выполнить способ по любому из (1)-(29).
(31) Компьютерный программный продукт, хранящийся на постоянном машиночитаемом носителе, компьютерный программный продукт включает в себя программный код для выполнения способа по любому из (1)-(29).
Четвертый набор пунктов описывает конкретные признаки и аспекты раскрытых технологий, перечисленных в предшествующем разделе, включающие в себя, например, пример 3.a-b и 3.d.
(1) Способ обработки видео, содержащий: определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели, которые полностью определяются двумя выборками цветности и соответствующими двумя выборками яркости; и выполнение преобразования на основании определения.
(2) Способ по (1), в котором две выборки цветности обозначаются как C0 и C1, соответствующие выборки яркости обозначаются как L0 и L1, параметры межкомпонентной линейной модели обозначены α и β, и α и β определяются уравнениями: α = (C1 - C0) / (L1 - L0) и β = C0 - α × L0.
(3) Способ по (2), в котором если L1 равен L0, то α = 0.
(4) Способ по (2), в котором если L1 равно L0, используется другой режим внутреннего предсказания, чем режим межкомпонентной линейной модели.
(5) Способ по (2), в котором α определяется путем исключения операции разделения.
(6) Способ по (2), в котором α определяется с использованием операции таблицы поиска, операции исключения операции разделения.
(7) Способ по (2), в котором параметры межкомпонентной линейной модели имеют значения, которые определяются на основании значения (L1-L0).
(8) Способ по (2), в котором α = Shift( C1 − C0, Floor( log2( L1 − L0 ) ) ), в котором Shift( x, s ) = ( x + off ) >> s и off является целым числом, в котором Floor( x ) является функцией округления до ближайшего целого в меньшую сторону, которая выводит целую часть х.
(9) Способ по (2), в котором α = Shift( C1 − C0, Ceiling( log2( L1 − L0 ) ) ), в котором Shift( x, s ) = ( x + off ) >> s и off является целым числом, в котором Ceiling( x ) является функцией верхнего округления, которая выводит наименьшее целое число, которое больше или равно x.
(10) Способ по (8) или (9), в котором операция для получения значения log2 (x) выполняется путем проверки позиции наиболее значимой цифры x.
(11) Способ по (1), в котором определение параметров выполняется в пределах K битов, K равно 8, 10, 12, 16, 24 или(32)
(12) Способ по (11), в котором промежуточная переменная ограничивается или сдвигается вправо, чтобы быть в K битах.
(13) Способ по любому из (1)-(12), в котором выполнение преобразования включает в себя генерирование кодированного представления из текущего блока.
(14) Способ по любому из (1)-(12), в котором выполнение преобразования включает в себя генерирование текущего блока из закодированного представления.
(15) Устройство в системе видео, содержащее процессор и постоянную память с инструкциями на ней, в котором инструкции при выполнении процессором побуждают процессор выполнить способ по любому из (1)-(14).
(16) Компьютерный программный продукт, хранящийся на постоянном машиночитаемом носителе, компьютерный программный продукт включает в себя программный код для выполнения способа по любому из (1)-(14).
Пятый набор пунктов описывает конкретные признаки и аспекты раскрытых технологий, перечисленных в предшествующем разделе, включающие в себя, например, пример 3.с.
(1) Способ обработки видео, содержащий: определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели с использованием таблицы параметров, записи которой получают в соответствии с двумя значениями выборки цветности и двумя значениями выборки яркости; и выполнение преобразования на основании определения.
(2) Способ по (1), в котором таблица параметров имеет размер V, который составляет менее 2P, P является целым числом.
(3) Способ по (1), в котором таблица параметров имеет записи, каждая запись хранит F-битовый целочисленный номер и F равно 8 или 16.
(4) Способ по (1), в котором таблица M [k] параметров удовлетворяет M[ k-Z ]=( (1<<S)+Off )/k, S является целым числом, определяющим точность, Off указывает смещение, Z является первым значением таблицы параметров.
(5) Способ по (1), в котором две выборки цветности обозначаются как C0 и C1, и выборки яркости обозначаются как L0 и L1, параметры межкомпонентной линейной модели обозначены α и β, α и β определяются уравнениями: α = ( C1 − C0 ) / ( L1 − L0 ) и β = C0 − α×L0.
(6) Способ по (5), в котором k = Shift( L1 − L0, W) и k используется для запроса записи в таблице параметров и, в котором Shift( x, s ) = ( x + off ) >> s, off является целым числом, и W является шириной текущего блока видео.
(7) Способ по (6), в котором α равно нулю при k-Z <0 или k-Z ≥ V, V указывает размер таблицы параметров и Z указывает первое значение таблицы параметров.
(8) Способ по (5), в котором или, в котором или
в котором Shift( x, s ) = ( x + off ) >> s и SignShift (x, s) = ( x + off ) >> s, если x≥0, или -( -x + off ) >> s, если x <0, off является целым числом и k указывает индекс для запроса записи в таблице параметров.
(9) Способ по (8), в котором k получен на основании значения (L1-L0), а не на основании значения (C1-C0).
(10) Способ по (8), в котором k получен на основании обоих значений (L1-L0), так и (C1-C0).
(11) Способ по (6), в котором k является действительным в диапазоне между kМin и kМax.
(12) Способ по (8), в котором k = Shift( L1 − L0, W) и k является индексом для запроса записи в таблице параметров, и в котором Shift( x, s ) = ( x + off ) >> s, off является целым числом и W является шириной текущего блока видео.
(13) Способ по (8), в котором k является действительным в диапазоне между kMin and kMax, и k = L1-L0, если (L1-L0) ≤ kMax и k = Shift ( L1-L0, W ) если (L1=L0) > kMax.
(14) Способ по (8), в котором k является действительным в диапазоне между kMin и kMax, и k = Min (kMax, L1-L0) или k = Max (kMin, Min (kMax, L1-L0)).
(15) Способ по (5), в котором (L1-L0) <0 и выполняется определение для получения значения «-α» вместо α.
(16) Способ по (5), в котором (L1-L0) = 0 и α устанавливается на значение по умолчанию, которое равно 0 или 1.
(17) Способ по (5), в котором (L1-L0) = 2E, E≥0, α = Shift ( (C1-C0), E) или Singshift ( (C1-C0), E), и в котором Shift( x, s ) = ( x + off ) >> s и SignShift (x, s) = ( x + off ) >> s, если x≥0, или -( -x + off ) >> s, если x <0.
(18) Способ по любому из (1)-(17), в котором выполнение преобразования включает в себя генерирование кодированного представления из текущего блока.
(19) Способ по любому из (1)-(17), в котором выполнение преобразования включает в себя генерирование текущего блока из закодированного представления.
(20) Устройство в системе видео, содержащее процессор и постоянную память с инструкциями, в котором инструкции при выполнении процессором побуждают процессор выполнить способ по любому из (1)-(19).
(21) Компьютерный программный продукт, хранящийся на постоянном машиночитаемом носителе, компьютерный программный продукт включает в себя программный код для выполнения способа по любому из (1)-(19).
Шестой набор пунктов описывает конкретные признаки и аспекты раскрытых технологий, перечисленных в предшествующем разделе, включающий в себя, например, пример 4 и пример 6.
(1) Способ обработки видео, содержащий: определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, окончательного предсказания P (x, y) выборки цветности на позиции (x, y) в текущем блок видео в качестве комбинации результатов предсказания множества межкомпонентных линейных моделей (MCCLMs), в котором MCCLMs выбираются на основании позиции (x, y) выборки цветности; и выполнение преобразования на основании окончательного предсказания.
(2) Способ по (1), в котором множество межкомпонентных линейных моделей включает в себя первую линейную модель, параметры которой получают только из левых соседних выборок, и вторую линейную модель, параметры которой получают только из верхних выборок.
(3) Способ по (1), в котором некоторые выборки цветности предсказаны на основании только левых соседних выборках, и некоторые выборки цветности предсказаны на основании только верхних соседних выборок.
(4) Способ по (2) или (3), в котором окончательное предсказание P (x, y) выборки цветности основано на средневзвешенном предсказании P1 (x, y) первой линейной моделью и предсказании P2 (x, y) второй линейной моделью.
(5) Способ по (4), в котором P (x, y) = w1×P1(x, y) + w2×P2(x, y), в котором w1 и w2 являются весами, ограниченными w1+w2=1.
(6) Способ по (4), в котором P (x, y) = (w1*P1(x, y) + w2*P2(x, y)+Offset)>>shift, где offset является целым числом, включающим в себя 0 или 1<<(shift-1), shift является целым числом и w1 and w2 являются весами, ограниченными w1+w2=1<<shift.
(7) Способ по (4), в котором P (x, y) = (w1*P1(x, y) + ((1<<shift)-w1) * P2(x, y) + Offset)>>shift, где offset является целым числом, включающим в себя 0 или 1<<(shift-1), shift, и w1 и w2 являются весами.
(8) Способ по любому из (5)-(7), в котором значения w1 и w2 зависят от позиции (x, y).
(9) Способ по любому из (5)-(7), в котором если x> y, то w1 <w2, в котором если x <y, w1> w2, и, в котором, если x = y, то w1 = w2.
(10) Способ по любому из (5)-(7), в котором для случая x <y, значение (w1-w2) увеличивается, если значение (y-x) увеличивается.
(11) Способ по любому из (5)-(7), в котором для случая x>y значение (w2-w1) увеличивается, если значение (x-y) увеличивается.
(12) Способ обработки видео, содержащий: выполнение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, первого определения относительно того, используется ли первая межкомпонентная линейная модель (CCLM), использующая только левые соседние выборки, для предсказания выборок текущего блока видео и/или второго определения в отношении того, используется ли вторая межкомпонентная линейная модель (CCLM), которая использует только верхние соседние выборки, для предсказания выборок текущего блока видео; и выполнение преобразования на основании первого определения и/или второго определения.
(13) Способ по (12), в котором первая CCLM не применяется для случая, который удовлетворяет W> K × H, K является неотрицательным целым числом.
(14) Способ по (12), в котором вторая CCLE не применяется для случая, который удовлетворяет H> K × W, K является неотрицательным целым числом.
(15) Способ по (12), в котором флаг, указывающий на применение первой CCLM или второй CCLM, не сигнализируется для случая, когда одна из: первая CCLM и вторая CCLM не применяется.
(16) Способ по любому из (1)-(15), в котором выполнение преобразования включает в себя генерирование кодированного представления из текущего блока.
(17) Способ по любому из (1)-(15), в котором выполнение преобразования включает в себя генерирование текущего блока из закодированного представления.
(18) Устройство в системе видео, содержащее процессор и постоянную память с инструкциями, в котором инструкции при выполнении процессором, побуждают процессор выполнить способ по любому из (1)-(17).
(19) Компьютерный программный продукт, хранящийся на постоянном машиночитаемом носителе, компьютерный программный продукт включает в себя программный код для выполнения способа по любому из (1)-(17).
Седьмой набор пунктов описывает конкретные признаки и аспекты раскрытых технологий, перечисленных в предшествующем разделе, включающие в себя, например, примеры 7, 8, 11-13.
(1) Способ обработки видео, содержащий: определение, для преобразования между текущим блоком видео и кодированным представлением видео, контекста, который используется для кодирования флага с помощью арифметического кодирования в кодированном представлении из текущего блока видео, в котором контекст основан на том, кодирован ли верхний левый соседний блок текущего блока видео с использованием режима предсказания межкомпонентной линейной модели (CCLM); и выполнение преобразования на основании определения, в котором сигнализируются флаг для указания того, применяется ли режим предсказания CCLM на текущем блоке видео, и в котором режим предсказания CCLM использует линейный режим для получения значений предсказания компоненты цветности из другой компоненты.
(2) Способ по (1), в котором контекст содержит первый контекст верхнего левого соседнего блока, использует CCLM режим предсказания и содержит второй контекст, отличный от первого контекста, если верхний левый соседний блок не использует CCLM режим предсказания.
(3) Способ по (1), в котором верхний левый соседний блок недоступен, и в котором CCLM режим предсказания считается включенным.
(4) Способ по (1), в котором верхний левый соседний блок недоступен, и в котором CCLM режим предсказания считается отключенным.
(5) Способ по (1), в котором верхний левый соседний блок является внутри кодированным, и в котором CCLM режим предсказания считается включенным.
(6) Способ по (1), в котором верхний левый соседний блок является внутри кодированным, и в котором CCLM режим предсказания считается отключенным.
(7) Способ обработки видео, содержащий: определение, для преобразования между текущим блоком видео и закодированным представлением видео, порядка кодирования для одного или нескольких указаний полученного режима (DM режим) и линейный режим (LM режим) на основании режима кодирования одного или нескольких соседних блоков текущего блока видео; и выполнение преобразования на основании определения, в котором LM режим использует линейный режим для получения значений предсказания компоненты цветности из другого компонента, и DM режим получает режим внутреннего предсказания компоненты цветности из другого компонента.
(8) Способ по (7), в котором верхний левый соседний блок одного или нескольких соседних блоков кодируется с помощью LM режима, и в котором указание LM режима кодируется в первую очередь.
(9) Способ по (7), в котором верхний левый соседний блок одного или нескольких соседних блоков кодируется с помощью DM режима, и в котором указание DM режима кодируется первым.
(10) Способ по (7), в котором верхний левый соседний блок одного или нескольких соседних блоков кодируется с помощью режима кодирования, который отличается от LM режима, и в котором указание DM режима кодируется первым.
(11) Способ по любому из (7)-(10), в котором одно или несколько указаний сигнализируются в наборе параметров последовательности (SPS), наборе параметров видео (VPS), наборе параметров изображения (PPS), заголовке изображения, заголовке сегмента, заголовке группы плитки, одном или нескольких больших блоков кодирования или одном или нескольких блоков кодирования.
(12) Способ обработки видео, содержащий: определение, для преобразования между текущим блоком видео и кодированным представлением видео, параметров для предсказания линейной модели или межкомпонентного цветового предсказания на основании уточненных соседних выборках яркости и выборках цветности текущего блока видео; получение значений предсказания компоненты цветности текущего блока видео на основании параметров и уточненных внутренних выборок яркости текущего блока видео; и выполнение преобразования на основании значений предсказания.
(13) Способ по (12), в котором соседние выборки яркости и внутренние выборки яркости подвержены понижающей дискретизации перед процессом уточнения.
(14) Способ по (12), в котором процесс уточнения содержит процесс фильтрации или нелинейный процесс.
(15) Способ по (12), в котором параметры для предсказания линейной модели представляют собой α и β, в котором α = (C1−C0) / (L1−L0) и β = C0 − αL0 в котором C0 и C1 получены из соседних выборок цветности, и в котором L0 и L1 получают из соседних выборок яркости.
(16) Способ по (15), в котором C0 и L0 основаны на S соседних выборках цветности и яркости, обозначены {Cx1, Cx2, ..., CхS} и {Lх1, Lх2, ..., LхS} соответственно, в котором C1 и L1 основаны на Т соседних выборках цветности и яркости, обозначаемые {Сy1, Сy2, ..., СyТ} и {Ly1, Ly2, ..., LyT} соответственно, в котором {Сx1, Сx2, ..., СxS} соответствуют {Lx1 , Lx2, ..., LxS}, в котором {Cy1, Cy2, ..., СyT} соответствуют {Ly1, Ly2, ..., LyT}, в котором C0 = f0 (Cx1, Cx2, ..., CxS), L0 = f1 (Lx1 , Lx2, ..., LxS), C1 = f2 (Cy1, Cy2, ..., CyT) и L1 = f1 (Ly1, Ly2, ..., LyT) и в котором f0, f1, f2 и f3 являются функциями.
(17) Способ по (16), в котором f0 и f1 являются первой функцией.
(18) Способ по (16), в котором f2 и f3 являются второй функцией.
(19) Способ по (17), в котором f0, f1, f2 и f3 являются третьей функцией.
(20) Способ по (19), в котором третья функция является усредняющей функцией.
(21) Способ по (16), в котором S = T.
(22) Способ по (16), в котором {Lx1, Lx2, ..., LxS} являются самыми наименьшими выборками группы выборок яркости.
(23) Способ по (16), в котором {Ly1, Ly2, ..., LyT} являются большими выборками группы выборок яркости.
(24) Способ по (22) или (23), в котором группа выборок яркости содержит все соседние выборки, используемые в VTM-3.0, для получения параметров предсказания линейной модели.
(25) Способ по (22) или (23), в котором группа выборок яркости содержит подмножество соседних выборок, используемых в VTM-3.0, для получения параметров предсказания линейной модели и, в котором подмножество не идентично всем соседним выборкам.
(26) Способ обработки видео, содержащий: определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров для предсказания линейной модели или межкомпонентного цветового предсказания на основании выбора соседних выборок на основании позиции наибольшей или наименьшей соседней выборки; получение значений предсказания выборок цветности текущего блока видео на основании параметров и внутренних выборок яркости текущего блока видео; и выполнение преобразования на основании значений предсказания.
(27) Способ по (26), в котором наибольшая соседняя выборка расположена на позиции (x0, y0), выборки в области (x0-d1, y0), (x0, y0-d2), (x0 + d3, y0), (x0, y0 + d4) используются для выбора соседних выборок и, в котором {d1, d2, d3, d4} зависят от позиции (x0, y0).
(28) Способ по (26), в котором наименьшая соседняя выборка расположена на позиции (x1, y1), выборки в области (x1-d1, y1), (x1, y1-d2), (x1 + d3, y1), (x1, y1 + d4) используются для выбора соседних выборок и в котором {d1, d2, d3, d4} зависят от позиции (x1, y1).
(29) Способ по любому из (26)-(28), в котором соседние выборки представляют собой цветовой компонент.
(30) Способ обработки видео, содержащий: определение, для преобразования между текущим блоком видео и кодированным представлением видео, параметров для предсказания линейной модели или межкомпонентного цветового предсказания на основании основного цветного компонента и зависимого цветового компонента, основной цветовой компонент, выбранный в виде одного из цветового компонента яркости и цветового компонента цветности и зависимого цветового компонента, выбранный в качестве другого цветового компонента яркости и цветового компонента цветности; и выполнение преобразования на основании определения.
(31) Способ по любому из (1)-(30), в котором выполнение преобразования включает в себя генерирование кодированного представления из текущего блока.
(32) Способ по любому из (1)-(30), в котором выполнение преобразования включает в себя генерирование текущего блока из закодированного представления.
(33) Устройство в системе видео, содержащее процессор и постоянную память с инструкциями на ней, в котором инструкции, выполняемые процессором, побуждают процессор выполнить способа по любому из (1)-(32).
(34) Компьютерный программный продукт, хранящийся на постоянном машиночитаемом носителе, компьютерный программный продукт включает в себя программный код для выполнения способа по любому из (1)-(32).
Восьмой набор пунктов описывают конкретные признаки и аспекты раскрытых технологий, перечисленных в предшествующем разделе, включающие в себя, например, примеры 10 и 14
(1) Способ обработки видео, содержащий: выполнение понижающей дискретизации выборок цветности и яркости соседнего блока текущего блока видео; определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели (CCLM) на основании выборок цветности и яркости, подвергнутых понижающей дискретизации, полученные из понижающей дискретизации; применение CCLM на выборках яркости, расположенных в блоке яркости, соответствующем текущему блоку видео, для получения значений предсказания текущего блока видео; и выполнение преобразования на основании значений предсказания.
(2) Способ по (1), в котором текущий блок видео имеет высоту (H) и ширину (W), и понижающая дискретизация основана на высоте или ширине.
(3) Способ по (1), в котором полученные выборки цветности и яркости после понижающей дискретизации, до получения параметров CCLM, включающие в себя α и β, и в котором α и β определяются уравнениями: α = (C1 - C0) / (L1 - L0) и β = C0 - α × L0.
(4) Способ по (1), в котором количество левых соседних выборок, используемых для получения параметров CCLM, является таким же, как количество верхних соседних выборок, используемых для получения параметров CCLM.
(5) Способ по (2), в котором W <H или W> H.
(6) Способ по (2), в котором, зависит ли понижающая дискретизация выборок цветности и яркости левого соседнего блока или верхнего соседнего блока от относительного размера W и H.
(7) Способ по (6), в котором понижающая дискретизация выполняется на выборках цветности и яркости левого соседнего блока в случае H> W.
(8) Способ по (6), в котором понижающая дискретизация выполняется на выборках цветности и яркости верхнего соседнего блока в случае W> H.
(9) Способ по (7), в котором верхняя левая выборка текущего блока видео представляет собой R [0, 0], в котором выборки цветности после понижающей дискретизации содержат выборки R [-1, k × H / W] и, в котором K является неотрицательным целым числом в диапазоне от 0 до W-1.
(10) Способ по (8), в котором верхняя левая выборка текущего блока видео представляет собой R [0, 0], в котором выборки цветности после понижающей дискретизации содержат выборки R [K × H/W, -1], и в котором K является неотрицательным целым числом в диапазоне от 0 до H-1.
(11) Способ обработки видео, содержащий: определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели (CCLM) на основании двух или более выборок цветности из группы соседних выборок цветности, в котором две или более выборки цветности выбираются на основании режима кодирования текущего блока видео; применение CCLM на выборках яркости, расположенные в блоке яркости, соответствующем текущему блоку видео, для получения значений предсказания текущего блока видео; и выполнение преобразования на основании значений предсказания.
(12) Способ по (11), в котором две или более выборок яркости, соответствующие двум или более выборкам цветности, используются для получения параметров межкомпонентной линейной модели.
(13) Способ по (12), в котором две или более выборки яркости подвержены понижающей дискретизации для получения параметров межкомпонентной линейной модели.
(14) Способ по (11), в котором две или более выборки цветности выбираются на основании доступных соседних выборок.
(15) Способ по (11), в котором две или более выборок цветности выбираются из одного или нескольких левого столбца, верхней строки, верхней правой строки или нижнего левого столбца относительно текущего блока видео.
(16) Способ по (11), в котором две или более выборок цветности выбираются на основании соотношения высоты текущего блока видео к ширине текущего блока видео.
(17) Способ по (11), в котором две или более выборок цветности выбираются на основании, равна ли ширина или высота текущего блока видео K, K является целым числом.
(18) Способ по (17), в котором K = 2.
(19) Способ по (11), в котором режим кодирования текущего блока видео является одним из первый линейный режим, который использует две выборки из левых соседних выборок и две выборки из верхних соседних выборок, второй линейный режим, который использует только левые соседние выборки, и третий линейный режим, который использует только верхние соседние выборки, в котором координаты верхней левой выборки текущего блока видео являются (x, y) и, в котором ширина и высота текущего блок видео является W и H, соответственно.
(20) Способ по (19), в котором две или более выборки цветности содержат выборки с координатами (x-1, y), (x, y-1), (x-1, y + Н - 1) и (х + W-1, у-1) в первом линейном режиме.
(21) Способ по (19), в котором две или более выборки цветности содержат выборки с координатами (x-1, y), (x, y-1), (x-1, y + Н - Н/W-1) и (x + W-1, y-1) в первом линейном режиме и в котором H> W.
(22) Способ по (19), в котором две или более выборки цветности содержат выборки с координатами (х-1, у), (x, y-1), (x - 1, y + Н -1) и (x + W - W/H-1, y-1) в первом линейном режиме и, в котором Н <W.
(23) Способ по (19), в котором две или более выборки цветности содержат выборки с координатами (х-1, у), (x, y-1), (x-1, y + Н - max (1, H/W)) и (x + W- max (1, W/H), y-1) в первом линейном режиме.
(24) Способ по (19), в котором две или более выборки цветности содержат выборки с координатами (x, y-1), (x + W/ 4, y-1), (x + 2 * W/4, y-1) и (x + 3 * W/4, y - 1) в третьем линейном режиме.
(25) Способ по (19), в котором две или более выборки цветности содержат выборки с координатами (x, y-1), (x + W/4, y-1), (x + 3 * W/4, y - 1) и (x + W-1, y -1) в третьем линейном режиме.
(26) Способ по (19), в котором две или более выборки цветности содержат выборки с координатами (x, y-1), (x + (2W) / 4, y-1), (x + 2 * 2W) / 4, y-1) и (x + 3 * (2W) / 4, y - 1) в третьем линейном режиме.
(27) Способ по (19), в котором две или более выборки цветности содержат выборки с координатами (x, y-1), (x + (2W)/4, y-1), (x + 3 * 2W) / 4, y - 1) и (x + (2W) -1, y-1) в третьем линейном режиме.
(28) Способ по (19), в котором две или более выборки цветности содержат выборки с координатами (x-1, y), (x -1, y + H/4), (x -1, y + 2 * H/4) и (x -1, y + 3 * H/4) во втором линейном режиме.
(29) Способ по (19), в котором две или более выборки цветности содержат выборки с координатами (х-1, у), (x - 1, у + 2 * H/4), (x -1, y + 3 * H/4) и (х -1, у + H-1) во втором линейном режиме.
(30) Способ по (19), в котором две или более выборки цветности содержат выборки с координатами (х-1, у), (x -1, y + (2H) / 4), (x -1, y + 2 * (2H) / 4) и (x -1, y + 3 * (2H) / 4) во втором линейном режиме.
(31) Способ по (19), в котором две или более выборки цветности содержат выборки с координатами (x-1, y), (x - 1, y + 2 * (2H) / 4), (x -1, у + 3 * (2H) / 4) и (x -1, y + (2H) -1) во втором линейном режиме.
(32) Способ по любому из (20)-(31), в котором выбираются точно две выборки для определения CCLM параметров.
(33) Способ по любому из (1)-(32), в котором выполнение преобразования включает в себя генерирование кодированного представления из текущего блока.
(34) Способ по любому из (1)-(32), в котором выполнение преобразования включает в себя генерирование текущего блока из закодированного представления.
(35) Устройство в системе видео, содержащее процессор и постоянную память с инструкциями, в котором инструкции при выполнении процессором побуждают процессор выполнить способ по любому из (1)-(34).
(36) Компьютерный программный продукт, хранящийся на машиночитаемом носителе, компьютерный программный продукт включает в себя программный код для выполнения способа по любому из (1)-(34).
Девятый набор пунктов описывает конкретные признаки и аспекты раскрытых технологий, перечисленных в предшествующем разделе, включающий в себя, например, примеры 16 и 17.
(1) Способ обработки видео, содержащий: определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели (CCLM) на основании выборок цветности, которые выбираются на основании W доступных верхних соседних выборок, W является целым числом; и выполнение преобразования на основании определения.
(2) Способ по (1), в котором W устанавливается на i) ширину текущего блока видео, ii) L раз ширины текущего блока видео, L быть целым числом, iii) сумму высоты текущего блока видео и ширины текущего блока видео или iv) сумму ширины текущего блока видео и количества доступных верхних правых соседних выборок.
(3) Способ по (1), в котором W зависит от доступности, по меньшей мере, одного из верхнего соседнего блока или левого соседнего блока текущего блока видео.
(4) Способ по (1), в котором W зависит от режима кодирования текущего блока видео.
(5) Способ по (2), в котором L имеет значение в зависимости от доступности верхнего правого блока или верхней левой выборки, которая расположена рядом с текущим блоком видео.
(6) Способ по (1), в котором выборки цветности выбираются на основании первого значения (F) смещения позиции и значения (S) шага, которые зависят от W.
(7) Способ по (6), в котором верхняя левая выборка имеет координату (x0, y0), и выбранные выборки цветности имеют координаты (x0 + F + K × S, y0-1), K является целым числом между 0 и kМax.
(8) Способ по (6), в котором F = W/P или F = W/P + offset, P является целым числом.
(9) Способ по (8), в котором F = W >> (2 + numIs4T), в котором numIs4T равен 1 в случае наличия четырех соседних выборок, выбранных в пределах верхней соседней строки и, в противном случае, numIs4T равен 0
(10) Способ по (6), в котором S = W Q, Q является целым числом.
(11) Способ по (6), в котором S не менее 1.
(12) Способ по (10) или (11), в котором S = Mах (1, W >> (1 + numIs4T)), в котором numIs4T равно 1 в случае наличия четырех соседних выборок, выбранных в пределах верхней соседней строки и, иначе numIs4T равно 0.
(13) Способ по (9) или (12), в котором numIs4T равен 1 в случае, когда доступны верхние соседние выборки, доступны левые соседние выборки и текущий блок видео кодируется нормальным CCLM, который отличается от первого CCLM, использующий только левые соседние выборки, и отличается от второго CCLM, используя только верхние соседние выборки.
(14) Способ по (6), в котором F = S/R, R является целым числом.
(15) Способ по (6), в котором S = F/Z, Z является целым числом.
(16) Способ по любому из (7)-(15), в котором, по меньшей мере, один из Kмах, F, S или сдвига зависит от режима предсказания текущего блока видео, который является одним из первым CCLM, использующий только левые соседние выборки, вторым CCLM с использованием только верхних соседних выборок, третьим CCLM с использованием как левых соседних, так и верхних соседних выборок, либо другими режимами, отличными от первого CCLM, второй CCLM и третьего CCLM.
(17) Способ по любому из (7)-(15), в котором, по меньшей мере, один из Kмах, F, S или сдвига зависит от ширины и/или высоты текущего блока видео.
(18) Способ по любому из (7)-(15), в котором, по меньшей мере, один из Kмах, F, S или сдвига зависит от доступности соседних выборок.
(19) Способ по любому из (7)-(15), в котором, по меньшей мере один из Kмах, F, S или сдвига зависит от W.
(20) Способ обработки видео, содержащий: определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели (CCLM) на основании выборок цветности, которые выбираются на основании H доступности левых соседних выборок текущего блока видео; и выполнение преобразования на основании определения.
(21) Способ по (20), в котором H устанавливается на один из i) высоту текущего блока видео, ii) L раз высоты текущего блока видео, L является целым числом, iii) сумму высоты текущего блока видео и ширины текущего блока видео или iv) сумму высоты текущего блока видео и количества доступных левых нижних соседних выборок.
(22) Способ по (20), в котором H зависит от доступности, по меньшей мере, одного из верхнего соседнего блока или левого соседнего блока текущего блока видео.
(23) Способ по (20), в котором Н зависит от режима кодирования текущего блока видео.
(24) Способ по (21), в котором L имеет значение в зависимости от доступности нижнего левого блока или нижней левой выборки, которая расположена рядом с текущим блоком видео.
(25) Способ по (20), в котором выборки цветности выбираются на основании первого значения (F) смещения позиции и значения (S) шага, которые зависят от H.
(26) Способ по (25), в котором верхняя левая выборка имеет координату (x0, y0) и выбранные выборки цветности имеют координаты (x0-1, y0 + F + K × S), K является целым числом между 0 и kМax.
(27) Способ по (25), в котором F = H/P или F = H/P + offset, P является целым числом.
(28) Способ по (27), в котором F = H >> (2 + numIs4L), в котором numIs4L равно 1 в случае наличия четырех выбранных соседних выборок в левом соседнем столбце; в противном случае равен 0.
(29) Способ по (25), в котором S = H/Q, Q является целым числом.
(30) Способ по (25), в котором S равен не менее 1.
(31) Способ по (29) или (30), в котором s = max (1, Н >> (1 + numIs4L)), в котором numIs4L равен 1 в случае наличия четырех выбранных соседних выборок в левом соседнем столбце и в противном случае, numIs4L равно 0.
(32) Способ по (28) или (31), в котором numIs4L равен 1 в случае, если доступны верхние соседние выборки, доступны левые соседние выборки и текущий блок видео кодируется нормальным CCLM, который отличается от первого CCLM, использующий только левые соседние выборки, и отличается от второго CCLM, использующий только верхние соседние выборки.
(33) Способ по (25), в котором F = S R, R является целым числом.
(34) Способ по (25), в котором S = F/Z, Z является целым числом.
(35) Способ по любому из (26)-(34), в котором, по меньшей мере, один из Kмах, F, S или сдвига зависит от режима предсказания текущего блока видео, который является одним из первым CCLM, использующий только левые соседние выборки, вторым CCLM с использованием только верхних соседних выборок, третьим CCLM с использованием, как левых соседних, так и верхних соседних выборок, либо другие режимы, отличные от первого CCLM, второй CCLM и третьего CCLM.
(36) Способ по любому из (26)-(34), в котором, по меньшей мере, один из Kмах, F, S или сдвига зависит от ширины и/или высоты текущего блока видео.
(37) Способ по любому из (26)-(34), в котором, по меньшей мере, один из Kмах, F, S или сдвига зависит от H.
(38) Способ по любому из (26)-(34), в котором, по меньшей мере, один из Kмах, F, S или сдвига зависит от доступности соседних выборок.
(39) Способ по (20), в котором H устанавливается на сумму высоты текущего блока видео и ширины текущего блока видео в случае доступности верхнего правого соседнего блока текущего блока видео.
(40) Способ по (20), в котором в случае, когда левые соседние выборки недоступны, выбранные выборки цветности имеют высоту H независимо от того, имеет ли текущий блок видео первый CCLM, используя только верхние соседние выборки или нет.
(41) Способ по (1), в котором W устанавливается на сумму высоты текущего блока видео и ширины текущего блока видео в случае наличия нижнего левого соседнего блока текущего блока видео.
(42) Способ по (1), в котором в случае недоступности верхних соседних выборок, выбранные выборки цветности имеют номер W, независимо от того, имеет ли текущий блок видео первый CCLM, используя только левые соседние выборки или нет.
(43) Способ по любому из (1)-(42), в котором выполнение преобразования включает в себя генерирование кодированного представления из текущего блока.
(44) Способ по любому из (1)-(42), в котором выполнение преобразования включает в себя генерирование текущего блока из закодированного представления.
(45) Устройство в системе видео, содержащее процессор и постоянную память с инструкциями, в котором инструкции при выполнении процессором побуждают процессор выполнить способ по любому из (1)-(44).
(46) Компьютерный программный продукт, хранящийся на постоянном машиночитаемом носителе, компьютерный программный продукт включает в себя программный код для выполнения способа по любому из (1)-(44).
Десятый набор пунктов описывает конкретные признаки и аспекты раскрытых технологий, перечисленных в предшествующем разделе, включающий в себя, например, примеры 18 и 19.
(1) Способ обработки видео, содержащий: определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели (CCLM) на основании двух или четырех выборок цветности и/или соответствующих выборок яркости; и выполнение преобразования на основании определения.
(2) Способ по (1), в котором соответствующие выборки яркости получают посредством понижающей дискретизации.
(3) Способ по (1), в котором параметры CCLM включают в себя MaxY/MaxC и MinY/MinC.
(4) Способ по (3), в котором две выборки цветности выбраны для получения MaxY/MaxC и MinY/MinC, и в котором MinY устанавливается на меньшее значение выборки яркости, MinС является его соответствующим значением выборки цветности, MaxY установлено на наибольшее значение выборки яркости и MaxC является его соответствующим значением выборки цветности.
(5) Способ по (3), в котором четыре выборки цветности выбираются для получения MaxY/MaxC и MinY/MinC и, в котором четыре выборки цветности и соответствующие выборки яркости делятся на два массива G0 и G1, каждый массив включает в себя две выборки цветности и их соответствующие выборки яркости.
(6) Способ по (5), в котором два массива G0 и G1 включают в себя один из следующих наборов:
i) G0 = {S0, S1}, G1 = {S2, S3},
ii) G0 = {S1, S0}, G1 = {S3, S2},
iii) G0 = {S0, S2}, G1 = {S1, S3},
iv) G0 = {S2, S0}, G1 = {S3, S1},
v) G0 = {S1, S2}, G1 = {S0, S3},
vi) G0 = {S2, S1}, G1 = {S3, S0},
vii) G0 = {S0, S3}, G1 = {S1, S2},
viii) G0 = {S3, S0}, G1 = {S2, S1},
ix) G0 = {S1, S3}, G1 = {S0, S2},
x) G0 = {S3, S1}, G1 = {S2, S0},
xi) G0 = {S3, S2}, G1 = {S0, S1} или
xii) G0 = {S2, S3}, G1 = {S1, S0} и
в котором S0, S1, S2, S3 включают в себя четыре выборки цветности соответственно и дополнительно включают в себя соответствующие выборки яркости, соответственно.
(7) Способ по (6), в котором при сравнении двух значений выборки яркости G0 [0] и G0 [1], выборка цветности и ее соответствующая выборка яркости в G0 [0] заменяются на те же в G0 [1].
(8) Способ по (7), в котором выборка цветности и ее соответствующая выборка яркости G0 [0] заменяются на те же G0 [1] в случае, когда значение выборки яркости G0 [0] больше, чем значение выборки яркости G0 [1].
(9) Способ по (6), в котором при сравнении двух значений выборки яркости G1 [0] и G1 [1], выборка цветности и ее соответствующая выборка яркости в G1 [0] заменяются на те же G1 [1].
(10) Способ по (9), в котором выборка цветности и ее соответствующая выборка яркости G1 [0] заменяются на те же G1 [1] в случае, когда значение выборки яркости G1 [0] больше, чем значение выборки яркости G1 [1].
(11) Способ по (6), в котором при сравнении двух значений выборки яркости G0 [0] и G1 [1], выборки цветности и их соответствующие выборки яркости G0 [0] или G0 [1] заменяются на те же G1 [0] или G1 [1].
(12) Способ по (11), в котором выборки цветности и их соответствующие выборки яркости G0 [0] или G0 [1] заменяются на те же G1 [0] или G1 [1] в случае, когда значение выборки яркости G0 [0] больше, чем значение выборки яркости G1 [1].
(13) Способ по (6), в котором при сравнении двух значений выборки яркости G0 [1] и G1 [0], выборка цветности и ее соответствующая выборка яркости G0 [1] заменяется на ту же G1 [0].
(14) Способ по (13), в котором выборка цветности и ее соответствующая выборка яркости G0 [1] заменяются на ту же G1 [0] в случае, когда значение выборки яркости G0 [1] больше, чем значение выборки яркости G1 [0].
(15) Способ по (6), в котором при сравнении двух значений выборки яркости G0 [0], G0 [1], G1 [0] и G1 [1], последующие операции замены проводятся в порядке: i) операция замены выборки цветности и ее соответствующей выборки яркости G0 [0] на те же из G0 [1], ii) операция замены выборки цветности и ее соответствующей выборки яркости G1 [0] на те же G1 [1], iii) операция замены выборок цветности и их соответствующих выборок яркости G0 [0] или G0 [1] на те же G1 [0] или G1 [1] и iv) операция замены выборки цветности и ее соответствующей выборки яркости G0 [1] на те же G1 [0].
(16) Способ по (6), в котором maxY рассчитывается как среднее значений выборки яркости G0 [0] и G0 [1] или среднее значений выборки яркости G1 [0] и G1 [1], и мaxC рассчитывается как среднее значений выборки цветности G0 [0] и G0 [1] или среднее значений выборки цветности G1 [0] и G1 [1].
(17) Способ по (6), в котором minY рассчитывается как среднее значений выборки яркости G0 [0] и G0 [1] или среднее значений выборки яркости G1 [0] и G1 [1], и minC рассчитывается как среднее значений выборки цветности G0 [0] и G0 [1] или среднее значений выборки цветности G1 [0] и G1 [1].
(18) Способ по (16) или (17), в котором выполняются расчеты maxY и maxC или расчеты minY и minC после любой из операций замены, которые выполняются при сравнении двух значений выборки яркости G0 [0], G0 [1], G1 [0] и G1 [1], в котором операции замены включают в себя: i) операцию замены выборки цветности и ее соответствующей выборки яркости G1 [0] на те же в G1 [1], ii) операция замены выборок цветности и их соответствующих выборок яркости G0 [0] или G0 [1] на те же из G1 [0] или G1 [1] и iii) операция замены выборки цветности и ее соответствующей выборки яркости G0 [1] на ту же из G1 [0].
(19) Способ по (1), в котором в случае наличия только двух выборок цветности, на двух доступных выборках цветности выполняется заполнение для предоставления четырех выборок цветности.
(20) Способ по (19), в котором четыре выборки цветности включают в себя две доступные выборки цветности и две выборки цветности заполнения, которые скопированы из двух доступных выборок цветности.
(21) Способ по (6), в котором S0, S1, S2, S3 являются выборками цветности и соответствующие выборки яркости выбираются в заданном порядке в пределах верхней строки и/или левого столбца текущего блока видео.
(22) Способ обработки видео, содержащий: выбор, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, выборок цветности на основании правила позиции, выборки цветности используются для получения параметров межкомпонентной линейной модели (CCLM); и выполнение преобразования на основании определения, в котором правило позиции указывает выбрать выборки цветности, которые расположены в пределах верхней строки и/или левой столбца текущего блока видео.
(23) Способ по (22), в котором верхняя строка и левый столбец имеют W выборки и Н выборки, соответственно W и H, являются шириной и высотой текущего блока видео, соответственно.
(24) Способ по (22), в котором правило позиции применяется для текущего блока видео, закодированного нормальным CCLM режимом, отличающийся от первого CCLM режима, который использует только верхние соседние выборки для получения CCLM, и от второго CCLM режима, который использует только левые соседние выборки для получения CCLM.
(25) Способ по (22), в котором правило позиции указывает выбрать выборки цветности, которые расположены в пределах верхней строки и верхней правой строки текущего блока видео и, в котором верхняя строка и верхняя правая строка имеют W выборок и H выборок, соответственно, W и H являются шириной и высотой текущего блока видео, соответственно.
(26) Способ по (25), в котором выбираются только доступные выборки в пределах верхней строки и верхней правой строки.
(27) Способ по (25), в котором правило позиции применяется для текущего блока видео, кодированного первым CCLM режимом, который использует только верхние соседние выборки для получения CCLM.
(28) Способ по (25), в котором правило позиции применяется к случаю доступности верхней строки, и левый столбец недоступен, и что текущий блок видео закодирован нормальным CCLM режимом, который отличается от первого CCLM режима, который использует только верхние соседние выборки для получения CCLM, и от второго CCLM режима, который использует только в левые соседние выборки для получения CCLM.
(29) Способ по любому из (23)-(28), в котором numSampT устанавливается на основании правила, указывающего, что numSampT устанавливается равным nTbW в случае, когда доступны верхние соседние выборки, и numSampT устанавливается равным 0 в случае, когда верхние соседние выборки недоступны и, в котором numSampT представляет собой количество выборок цветности в пределах верхней соседней строки, используемой для получения параметров межкомпонентной линейной модели, и nTbW представляет собой ширину текущего блока видео.
(30) Способ по (29), в котором правило применяется для текущего блок видео, закодированного нормальным CCLM режимом, который отличается от первого CCLM режима, который использует только верхние соседние выборки для получения CCLM, и от второго CCLM режима, который использует только левые соседние выборки для получения CCLM.
(31) Способ по любому из (23)-(28), в котором numSampT устанавливается на основании правила, указывающего, что numSampT устанавливается равным nTbW + Min( numTopRight, nTbH ) в случае, если верхние соседние выборки доступны и текущий блок видео кодируется первым CCLM режимом, который использует только верхние соседние выборки для получения CCLM и, в противном случае, numSampT устанавливается равным 0 и, в котором numSampT представляет собой количество выборок цветности в пределах верхней соседней строки, используемой для получения параметров межкомпонентной линейной модели, nTbW и nTbH представляют собой ширину и высоту текущего блока, соответственно, и numTopRight представляет собой количество доступных верхних правых соседних выборок.
(32) Способ по (31), в котором правило применяется для текущего блока видео, не закодированного нормальным CCLM режимом, который отличается от первого CCLM режима, который использует только верхние соседние выборки для получения CCLM, и от второго CCLM режима, который использует только левые соседние выборки для получения CCLM.
(33) Способ по (22), в котором правило позиции указывает выбрать выборки цветности, которые расположены в левом столбце и в нижнем левом столбце текущего блока видео и, в котором левый столбец и нижний левый столбец имеют H выборок и W выборок, соответственно, W и H являются шириной и высотой текущего блока видео соответственно.
(34) Способ по (33), в котором выбираются только доступные выборки в левом столбце и нижнем левом столбце.
(35) Способ по (33), в котором правило позиции применяется для текущего блока видео, кодированного вторым CCLM режимом, который использует только левые соседние выборки для получения CCLM.
(36) Способ по (33), в котором правило позиции применяется к случаю, когда верхняя строка недоступна и левый столбец доступен и, что текущий блок видео кодируется нормальным CCLM режимом, который отличается от первого CCLM режима, который использует только верхние соседние выборки для получения CCLM, и от второго CCLM режима, который использует только левые соседние выборки для получения CCLM.
(37) Способ по любому из (33)-(36), в котором numSampL устанавливается на основании правила, указывающего, что numSampL устанавливается равным nTbH в случае, если левые соседние выборки доступны и, в противном случае, numSampL устанавливается равным 0 и, в котором numSampL представляет количество выборок цветности в левом соседнем столбце, используемом для получения параметров межкомпонентной линейной модели, и nTbH представляет собой высоту текущего блока видео.
(38) Способ по (37), в котором правило применяется для текущего блока видео, кодированного нормальным CCLM режимом, который отличается от первого CCLM режима, который использует только верхние соседние выборки для получения CCLM, и от второго CCLM режима, который использует только левые соседние выборки для получения CCLM.
(39) Способ по любому из (33)-(36), в котором numSampL установлен на основании правила, указывающее, что numSampL устанавливается равным nTbH + Min( numLeftBelow, nTbW ) в случае, когда левые соседние выборки доступны и текущий блок видео кодируется с помощью второго CCLM режима, который использует только левые соседние выборки для получения CCLM и, что в противном случае, numSampL устанавливается равным 0, и в которой numSampL представляет собой количество выборок цветности в левом соседнем столбце, используемого для получения параметров межкомпонентной линейной модели, nTbW и nTbH представляют собой ширину и высоту текущего блока, соответственно, и numLeftBelow представляет собой количество доступных нижних левых соседних выборок.
(40) Способ по (39), в котором правило применяется для текущего блока видео, не закодированного нормальным CCLM режимом, который отличается от первого CCLM режима, который использует только верхние соседние выборки для получения CCLM, и от второго CCLM режима, который использует только левые соседние выборки для получения CCLM.
(41) Способ по любого из (22)-(40), в котором выборки яркости, соответствующие выбранным выборкам цветности, используются для получения параметров межкомпонентной линейной модели.
(42) Способ по (41), в котором выборки яркости получают посредством понижающей дискретизации.
(43) Способ по любому из (1)-(42), в котором выполнение преобразования включает в себя генерирование кодированного представления из текущего блока.
(44) Способ по любому из (1)-(42), в котором выполнение преобразования включает в себя генерирование текущего блока из закодированного представления.
(45) Устройство в системе видео, включающее в себя процессор и постоянную память с инструкциями, в котором инструкции при выполнении процессором побуждают процессор выполнять способ по любому из (1)-(44).
(46) Компьютерный программный продукт, хранящийся на постоянном машиночитаемом носителе, компьютерный программный продукт включает в себя программный код для выполнения способа по любому из (1)-(44).
Одиннадцатый набор пунктов описывает конкретные признаки и аспекты раскрытых технологий, перечисленных в предшествующем разделе, включающий в себя, например, примеры 20, 21, 22.
(1) Способ обработки видео, содержащий: определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, позиций, на которых выборки яркости подвержены понижающей дискретизации, в котором выборки яркости после понижающей дискретизации используются для определения параметров межкомпонентной линейной модели (CCLM) на основании выборок цветности и выборок яркости после понижающей дискретизации, в котором выборки яркости после понижающей дискретизации находятся на позициях, соответствующие позициям выборок цветности, которые используются для получения CCLM параметров; и выполнение преобразования на основании определения.
(2) Способ по (1), в котором выборки яркости не подвержены понижающей дискретизации на позиции, которая находится вне текущего блока видео и не используется для определения CCLM параметров.
(3) Способ обработки видео, содержащий: определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, способа для получения параметров межкомпонентной линейной модели (CCLM) с использованием выборок цветности и выборок яркости на основании состояния кодирования, ассоциированного с текущим блоком видео; и выполнение преобразования на основании определения.
(4) Способ по (3), в котором состояние кодирования соответствует цветовому формату текущего блока видео.
(5) Способ по (4), в котором цветовой формат представляет собой 4:2:0 или 4:4:4.
(6) Способ по (3), в котором условие кодирования соответствует способу цветового представления текущего блока видео.
(7) Способ по (6), в котором способ цветового представления является RGB или YCbCr.
(8) Способ по (3), в котором выборки цветности подвержены понижающей дискретизации и определение зависит от местоположений выборок цветности после понижающей дискретизации.
(9) Способ по (3), в котором способ получения параметров содержит определение параметров CCLM на основании выборок цветности и выборок яркости, которые выбраны из группы соседних выборок цветности на основании правила позиции.
(10) Способ по (3), в котором способ получения параметров содержит определение параметров CCLM на основании максимальных и минимальных значений выборок цветности и выборок яркости.
(11) Способ по (3), в котором способ получения параметров содержит определение параметров CCLM, которые полностью определяются двумя выборками цветности и соответствующими двумя выборками яркости.
(12) Способ по (3), в котором способ получения параметров содержит определение параметров CCLM с использованием таблицы параметров, записи которой получают в соответствии с двумя значениями выборки цветности и двумя значениями выборки яркости.
(13) Способ обработки видео, содержащий: определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, следует ли получать максимальные значения и/или минимальные значения компонента яркости и компонента цветности, используемые для получения параметров межкомпонентной линейной модели (CCLM), на основании доступности левого соседнего блока и верхнего соседнего блока текущего блока видео; и выполнение преобразования на основании определения.
(14) Способ по (13), в котором максимальные значения и/или минимальные значения не получают в том случае, если левый соседний блок и верхний соседний блок недоступны.
(15) Способ по (13), в котором определение определений на основании количества доступных соседних выборок текущего блока видео и, в котором доступные соседние выборки используются для получения параметров межкомпонентной линейной модели.
(16) Способ по (15), в котором максимальные значения и/или минимальные значения не получают в случае numSampL == 0 и numSampT == 0, numSampL и numSampT указывают количество доступных соседних выборок из левого соседнего блока и количество доступных соседних выборок из верхнего блока, соответственно, и, в котором доступные соседние выборки из левого соседнего блока и доступные соседние выборки из верхнего соседнего блока используются для получения параметров межкомпонентной линейной модели.
(17) Способ по (15), в котором максимальные значения и/или минимальные значения не получают в случае numSampL + numSampT == 0, numSampL и numSampT указывают количество доступных соседних выборок из левого соседнего блока и количество доступных соседних выборок из верхнего соседнего блока, соответственно, и в котором доступные соседние выборки из левого соседнего блока и доступные соседние выборки из верхнего соседнего блока используются для получения параметров межкомпонентной линейной модели.
(18) Способ по любому из (1)-(17), в котором выполнение преобразования включает в себя генерирование кодированного представления из текущего блока.
(19) Способ по любому из (1)-(17), в котором выполнение преобразования включает в себя генерирование текущего блока из закодированного представления.
(20) Устройство в системе видео, содержащее процессор и постоянную память с инструкциями, в котором инструкции при выполнении процессором побуждают процессор выполнить способ по любому из (1)-(19).
(21) Компьютерный программный продукт, хранящийся на постоянном машиночитаемом носителе, компьютерный программный продукт включает в себя программный код для выполнения способа по любому из (1)-(19).
Двенадцатый набор пунктов описывает конкретные признаки и аспекты раскрытых технологий, перечисленных в предшествующем разделе, включающий в себя, например, пример 23.
(1) Способ обработки видео, содержащий: определение, для преобразования между текущим блоком видео и кодированным представлением видео, параметров инструмента кодирования с использованием линейной модели на основании выбранных соседних выборок текущего блока видео и соответствующих соседних выборках опорного блока; и выполнение преобразования на основании определения.
(2) Способ по (1), в котором инструмент кодирования представляет собой инструмент компенсации локальной подсветки (LIC), который включает в себя использование линейной модели изменений освещения в текущем блоке видео во время преобразования.
(3) Способ по (2), в котором соседние выборки текущего блока видео и соседние выборки опорного блока выбираются на основании правила позиции.
(4) Способ по (2), в котором параметры инструмента кодирования определяются на основании максимальных и минимальных значений соседних выборок текущего блока видео и соседних выборок опорного блока.
(5) Способ по (2), в котором параметры инструмента кодирования определяются с использованием таблицы параметров, записи которой получают в соответствии с двумя соседними выборками текущего блока видео и двумя соседними выборками опорного блока.
(6) Способ по (2), в котором соседние выборки текущего блока видео и соседние выборки опорного блока подвержены понижающей дискретизации для получения параметров инструмента кодирования.
(7) Способ по (2), в котором соседние выборки, используемые для получения параметров LIC инструмента, исключают выборки на конкретных позициях в верхней строке и/или левом столбце текущего блока видео.
(8) Способ по (2), в котором верхняя левая выборка текущего блока видео имеет координаты с (x0, y0), выборка с координатами (x0, y0-1) не используется для получения параметров LIC инструмента.
(9) Способ по (2), в котором верхняя левая выборка текущего блока видео имеет координаты (x0, y0), выборка с координатами (x0-1, y0) не используется для получения параметров LIC инструмента.
(10) Способ по (7), в котором конкретные позиции зависят от доступности верхней строки и/или левого столбца.
(11) Способ по (7), в котором конкретные позиции зависят от размера блока текущего блока видео.
(12) Способ по (1), в котором определение зависит от доступности верхней строки и/или левого столбца.
(13) Способ по (2), в котором N соседние выборки текущего блока видео и N соседние выборки опорного блока используются для получения параметров LIC инструмента.
(14) Способ по (13), в котором N равен 4.
(15) Способ по (13), в котором N соседних выборок текущего блока видео включает в себя N/2 выборок из верхней строки текущего блока видео и N/2 выборок из левого столбца текущего блока видео.
(16) Способ по (13), в котором N равен min (L, T), T является общим количеством доступных соседних выборок текущего блока видео и L является целым числом.
(17) Способ по (13), в котором N соседние выборки выбираются на основании того же правила, которое применяется для выбора выборок для получения параметров CCLM.
(18) Способ по (13), в котором N соседние выборки выбираются на основании того же правила, которое применяется для выбора выборок для получения параметров первого CCLM режима, который использует только верхние соседние выборки.
(19) Способ по (13), в котором N соседние выборки выбираются на основании того же правила, которое применяется для выбора выборок для получения параметров второго CCLM режима, который использует только в левые соседние выборки.
(20) Способ по (13), в котором N соседние выборки текущего блока видео выбираются на основании доступности верхней строки или левого столбца текущего блока видео.
(21) Способ обработки видео, содержащий: определение, для преобразования между текущим блоком видео и закодированным представлением видео, параметров инструмента компенсации локальной подсветки (LIC) на основании N соседних выборок текущего блока видео и N соответствующих соседних выборок опорного блока, в котором N соседние выборки текущего блока видео выбираются на основании позиций N соседних выборок; и выполнение преобразования на основании определения, в котором LIC инструмент использует линейную модель изменений освещения в текущем блоке видео во время преобразования.
(22) Способ по (21), в котором N соседние выборки текущего блока видео выбираются на основании ширины и высоты текущего блока видео.
(23) Способ по (21), в котором N соседние выборки текущего блока видео выбираются на основании доступных соседних блоков текущего блока видео.
(24) Способ по (21), в котором N соседние выборки текущего блока видео выбираются первым значением (F) смещения позиции и значением (S) шага, которые зависят от измерения текущего блока видео и доступности соседних блоков.
(25) Способ по любому из (1)-(24), в котором текущий блок видео является аффинно-кодированным.
(26) Способ обработки видео, содержащий: определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели (CCLM) на основании выборок цветности и соответствующих выборок яркости; и выполнение преобразования на основании определения, в котором некоторые из выборок цветности получают с помощью операции заполнения, и выборки цветности и соответствующие выборки яркости сгруппированы в два массива G0 и G1, каждый массив включает в себя две выборки цветности и соответствующие выборки яркости.
(27) Способ по (26), в котором в случае, если сумма cntT и cntL равна 2, последующие операции выполняются в порядке: i) pSelComp[ 3 ] устанавливается равным pSelComp[ 0 ], ii) pSelComp[ 2 ] устанавливается равным pSelComp[ 1 ], iii) pSelComp[ 0 ] устанавливается равным pSelComp[ 1 ] и iv) pSelComp[ 1 ] устанавливается равным pSelComp[ 3 ], в котором cntT и cntL указывают количество выборок, выбранных из выбранного соседнего блока и левого соседнего блока, соответственно и, в котором pSelComp[0]-pSelComp[3] указывают значения пикселей цветовых компонентов соответствующих выборок, которые выбраны.
(28) Способ по (26), в котором определение параметров включает в себя инициализирующие значения G0 [0], G0 [1], G1 [0] и G1 [1].
(29) Способ по (28), в котором G0 [0] = 0, G0 [1] = 2, G1 [0] = 1 и G1 [1] = 3.
(30) Способ по (28), в котором определение параметров дополнительно включает в себя, после инициализации значений, при сравнении двух значений выборки яркости G0 [0] и G0 [1], выборки цветности и их соответствующие выборки яркости G0 [0] меняются на те из G0 [1].
(31) Способ по (30), в котором выборка цветности и ее соответствующая выборка яркости G0 [0] заменена теми же из G0 [1] в случае, когда значение выборки яркости G0 [0] больше, чем значение выборки яркости G0 [1].
(32) Способ по (28), в котором определение параметров дополнительно включает в себя, после инициализации значений, при сравнении двух значений выборки яркости G1 [0] и G1 [1], замену выборки цветности и ее соответствующей выборки яркости G1 [0] на те же из G1 [1].
(33) Способ по (32), в котором выборка цветности и ее соответствующая выборка яркости G1 [0] заменены на те же из G1 [1] в случае, когда значение выборки яркости G1 [0] больше, чем значение выборки яркости G1 [1].
(34) Способ по (28), в котором определение параметров дополнительно включает в себя после инициализации значений, при сравнении двух значений выборки яркости G0 [0] и G1 [1], замену выборок цветности и соответствующие выборки яркости G0 [0] или G0 [1] на те же из G1 [0] или G1 [1].
(35) Способ по (34), в котором выборки цветности и ее соответствующие выборки яркости G0 [0] или G0 [1] заменяются на те же из G1 [0] или G1 [1] в случае, когда значение выборки яркости G0 [0] больше, чем значение выборки яркости G1 [1].
(36) Способ по (28), в котором определение параметров дополнительно включает в себя, после инициализации значений, при сравнении двух значений выборки яркости G0 [1] и G1 [0], замену выборки цветности и ее соответствующую выборку яркости G0 [1] на те из G1 [0].
(37) Способ по (36), в котором выборка цветности и ее соответствующая выборка яркости G0 [1] заменена на те же из G1 [0] в случае, когда значение выборки яркости G0 [1] больше, чем значение выборки яркости G1 [0].
(38) Способ по (28), в котором определение параметров дополнительно включает в себя, после инициализации значений при сравнении двух значений выборки яркости G0 [0], G0 [1], G1 [0] и G1 [1], выполнение следующих операций замены в порядке: i) операция замены выборки цветности и ее соответствующей выборки яркости G0 [0] на те же из G0 [1], ii) операция замены выборки цветности и ее соответствующей выборки яркости G1 [0] на те же из G1 [1], iii) операция замены выборок цветности и ее соответствующих выборок яркости G0 [0] или G0 [1] на таковые из G1 [0] или G1 [ 1] и iv) операция замены выборки цветности и ее соответствующей выборки яркости G0 [1] на те же из G1 [0].
(39) Способ по любому из (1)-(38), в котором выполнение преобразования включает в себя генерирование кодированного представления из текущего блока.
(40) Способ по любому из (1)-(38), в котором выполнение преобразования включает в себя генерирование текущего блока из закодированного представления.
(41) Устройство в системе видео, содержащее процессор и постоянную память с инструкциями на ней, в котором инструкции при выполнении процессором побуждают процессор выполнить способ по любому из (1)-(40).
(42) Компьютерный программный продукт, хранящийся на постоянном машиночитаемом носителе, компьютерный программный продукт включает в себя программный код для выполнения способа по любому из (1)-(40).
Как очевидно из вышеизложенного, в настоящем документе было приведено описание конкретных вариантов осуществления настоящего изобретения в целях иллюстрации, но могут быть осуществлены различные модификации в рамках объема настоящего изобретения. Соответственно, настоящее изобретение не ограничено, за исключением прилагаемой формулой изобретения.
Реализации предмета изобретения и функциональных операций, описанных в этом патентном документе, могут быть осуществлены в различных системах, цифровой электронной схеме или в компьютерном программном обеспечении, встроенной программе или аппаратном обеспечении, включающим в себя структуры, раскрытые в этой спецификации и их структурных эквивалентах, или в комбинациях одного или нескольких из них. Реализации описанного в этой спецификации предмета изобретения могут быть осуществлены в виде одного или нескольких компьютерных программных продуктов, т.е. одного или нескольких модулей компьютерных программных инструкций, закодированных на материальном и постоянном машиночитаемом носителе, для выполнения или для управления операцией, устройства обработки данных. Машиночитаемый носитель может быть машиночитаемым устройством хранения, машиночитаемой подложкой для хранения, устройством памяти, композицией, влияющей на машиночитаемый передаваемый сигнал или комбинацию одного или нескольких из них. Термин «блок обработки данных» или «устройство обработки данных» охватывает все устройства, приспособления и машины для обработки данных, включающие в себя в качестве примера программируемый процессор, компьютер или множество процессоров или компьютеров. Дополнительно к аппаратному обеспечению, устройство может включать в себя код, который формирует условия выполнения упомянутой компьютерной программы, например, код, который формирует встроенную программу процессора, стек протокола, систему управления базами данных, операционную систему или комбинацию одного или больше из них.
Компьютерная программа (также известная как программа, программное обеспечение, программное приложение, скрипт или код) может быть записана в любой форме языка программирования, включающей в себя скомпилированные или интерпретированные языки, и может быть развернута в любой форме, включающей в себя как автономную программу или модуль, компонент, подпрограмму или другой блок, подходящий для использования в вычислительной среде. Компьютерная программа не обязательно соответствует файлу в файловой системе. Программа может храниться в части файла, который содержит другие программы или данные (например, один или несколько скриптов, хранящихся в документе языка разметки), в одном файле, выделенном рассматриваемой программе, либо в нескольких скоординированных файлах (например, файлы, которые хранят один или несколько модулей, подпрограмм или части кода). Компьютерная программа может быть развернута для выполнения на одном компьютере или на нескольких компьютерах, которые расположены на одном месте или распределены на нескольких местах и взаимосвязаны с помощью сети связи.
Процессы и логические потоки, описанные в этой спецификации, могут выполняться одним или несколькими программируемыми процессорами, выполняющими одну или несколько компьютерных программ для выполнения функций, работающих на входных данных и генерирующих выходные данные. Процессы и логические потоки также могут быть выполнены, и устройство также может быть реализовано, как специальная логическая схема, например, FPGA (программируемая пользователем вентильная матрица) или ASIC (специализированная интегральная схема).
Процессоры, подходящие для выполнения компьютерной программы, включают в себя в качестве примера, как микропроцессоры общего назначения, так и специального назначения, и любой тип цифрового компьютера. Как правило, процессор принимает инструкции и данные из постоянной памяти или памяти произвольного доступа или обоих. Основные элементы компьютера являются процессором для выполнения инструкций и одним или несколькими устройствами памяти для хранения инструкций и данных. Как правило, компьютер также будет включать в себя или оперативно соединен с для приема данных или передачи данных, или оба, одно или несколько устройств хранения данных большого объема, например, магнитных, магнит-оптических дисков или оптических дисков. Однако компьютер не должен иметь такие устройства. Машиночитаемые носители, подходящие для хранения компьютерных программных инструкций и данных, включают в себя все формы постоянной память, устройств памяти и информации, включающие в себя, в качестве примера, полупроводниковые устройства памяти, например, EPROM, EЕPROM и устройства флэш-памяти. Процессор и память могут быть дополнены или включены в систему, логической схемой специального назначения.
Спецификация вместе с чертежами должна рассматриваться только в качестве примера, в котором примерный означает пример. Используемый в настоящем документе предлог «или» охватывает значение «и/или», если только контекст явно не указывает иное.
Настоящий патентный документ содержит множество отличительных признаков, но они не должны рассматриваться как ограничения объема любого изобретения или того, что может быть заявлено, но скорее как описания признаков, которые могут быть специфическими для конкретных вариантов осуществления конкретных изобретений. Конкретные признаки, которые описаны в этом патентном документе в контексте отдельных вариантов осуществления, также могут быть реализованы в комбинации в одном варианте осуществления. И наоборот, различные признаки, которые описаны в контексте одного варианта осуществления, также могут быть реализованы в нескольких вариантах осуществления отдельно или в любой подходящей подкомбинации. Более того, хотя описанные ранее признаки могут рассматриваться, как действующие в определенных комбинациях и, даже первоначально заявленные как таковые, один или несколько признаков из заявленной комбинации могут в некоторых случаях, могут быть исключены из комбинации, и заявляемая комбинация может быть использована в качестве подкомбинации или изменения подкомбинации.
Аналогично, в то время как на чертежах операции изображены в определенном порядке, не следует рассматривать данный порядок как требуемый для выполнения таковых операций, как указанный порядок или что все иллюстрированные операции должны быть выполнены для получения требуемых результатов. Более того, разделение различных компонентов системы в вариантах осуществления, описанных в этом патентном документе, не следует понимать, как требуемое разделение во всех вариантах осуществления.
Описаны только несколько реализаций и примеров, и могут быть осуществлены другие реализации, улучшения и вариации на основании описания и чертежей, которые приведены в настоящем патентном документе.

Claims (40)

1. Способ кодирования видео, содержащий этапы, на которых:
определяют, для преобразования между текущим блоком видео, который представляет собой блок цветности, и битовым потоком видео, параметры межкомпонентной линейной модели (CCLM) по меньшей мере на основании двух или более выборок цветности из соседних выборок цветности текущего блока видео, причем указанные две или более выборки цветности выбраны на основе режима CCLM текущего блока видео и доступности соседних выборок цветности;
применяют CCLM на выборках яркости, расположенных в блоке яркости, соответствующем текущему блоку видео, для получения значений предсказания текущего блока видео; и
выполняют преобразование на основании значений предсказания,
причем режим CCLM для текущего блока видео представляет собой один из первого режима CCLM, в котором параметры CCLM выделяют на основе левых соседних выборок цветности и верхних соседних выборок цветности, второго режима CCLM, в котором параметры CCLM выделяют на основе левых соседних выборок цветности и левых нижних соседних выборок цветности, или третьего режима CCLM, в котором параметры CCLM выделяют на основе верхних соседних выборок цветности и верхних правых соседних выборок цветности, причем ширина и высота текущего блока видео представляют собой W и H, соответственно, при этом
указанные две или более выборки цветности выбираются, дополнительно, на основе W и/или H, и выбирают ровно две выборки цветности из верхних соседних выборок цветности в ответ на то, что доступны только верхние соседние выборки цветности, режим CCLM для текущего блока видео является первым режимом CCLM, а W равно 2.
2. Способ по п. 1, в котором две выборки цветности выбираются из левых соседних выборок цветности, и другие две выборки цветности выбираются из верхних соседних выборок цветности, в ответ на то, что доступны как левые соседние выборки цветности, так и верхние соседние выборки цветности, а режим CCLM для текущего блока видео является первым режимом CCLM.
3. Способ по п. 1, в котором ровно две выборки цветности выбираются из левых соседних выборок цветности в ответ на то, что доступны только левые соседние выборки цветности, режим CCLM для текущего блока видео является первым режимом CCLM, а H является равным 2.
4. Способ по п. 1, в котором ровно четыре выборки цветности выбирают из верхних соседних выборок цветности в ответ на то, что доступны только верхние соседние выборки цветности, режим CCLM для текущего блока видео является первым режимом CCLM, а W больше 2.
5. Способ по п. 1, в котором ровно четыре выборки цветности выбирают из левых соседних выборок цветности в ответ на то, что доступны только левые соседние выборки цветности, режим CCLM для текущего блока видео является первым режимом CCLM, а H больше 2.
6. Способ по п. 1, в котором ровно четыре выборки цветности выбирают из левых соседних выборок цветности и левых нижних соседних выборок цветности в ответ на то, что доступны левые соседние выборки цветности и левые нижние соседние выборки цветности, а режим CCLM для текущего блока видео является вторым режимом CCLM.
7. Способ по п. 1, в котором ровно две выборки цветности выбирают из левых соседних выборок цветности в ответ на то, что доступны только левые соседние выборки цветности, режим CCLM для текущего блока видео является вторым режимом CCLM, а H равно 2.
8. Способ по п. 1, в котором ровно четыре выборки цветности выбирают из левых соседних выборок цветности в ответ на то, что доступны только левые соседние выборки цветности, режим CCLM для текущего блока видео является вторым режимом CCLM, а H больше 2.
9. Способ по п. 1, в котором ровно четыре выборки цветности выбирают из верхних соседних выборок цветности и верхних правых соседних выборок цветности в ответ на то, что доступны как верхние, так и верхние правые соседние выборки цветности, а режим CCLM для текущего блока видео является третьим режимом CCLM.
10. Способ по п. 1, в котором ровно две выборки цветности выбирают из верхних соседних выборок цветности в ответ на то, что доступны только верхние соседние выборки цветности, режим CCLM для текущего блока видео является третьим режимом CCLM, а W равно 2.
11. Способ по п. 1, в котором ровно четыре выборки цветности выбирают из верхних соседних выборок цветности в ответ на то, что доступны только верхние соседние выборки цветности, режим CCLM для текущего блока видео является третьим режимом CCLM, а W больше 2.
12. Способ по п. 1, дополнительно содержащий этап, на котором определяют две или более выборки яркости, соответствующие двум или более выборкам цветности.
13. Способ по п. 12, в котором в ответ на определение четырех выборок яркости, два максимальных значения из четырех выборок яркости усредняют для получения первого среднего значения яркости и два минимальных значения из четырех выборок яркости усредняют для получения второго среднего значения яркости, соответственно.
14. Способ по п. 13, в котором первое среднее значение яркости и второе среднее значение яркости используются для получения параметров модели CCLM.
15. Способ по п. 1, в котором этап выполнения преобразования включает в себя декодирование текущего блока видео из потока битов.
16. Способ по п. 1, в котором этап выполнения преобразования включает в себя кодирование текущего блока видео в поток битов.
17. Устройство кодирования видео, содержащее процессор и постоянную память, хранящую инструкции, вызывающие, при исполнении процессором, выполнение, указанным процессором:
определения, для преобразования между текущим блоком видео, который представляет собой блок цветности, и битовым потоком видео, параметров межкомпонентной линейной модели (CCLM) по меньшей мере на основании двух или более выборок цветности из соседних выборок цветности текущего блока видео, причем указанные две или более выборки цветности выбраны на основе режима CCLM текущего блока видео и доступности соседних выборок цветности;
применения CCLM на выборках яркости, расположенных в блоке яркости, соответствующем текущему блоку видео, для получения значений предсказания текущего блока видео; и
выполнения преобразования на основании значений предсказания,
причем режим CCLM для текущего блока видео представляет собой один из первого режима CCLM, в котором параметры CCLM выделяют на основе левых соседних выборок цветности и верхних соседних выборок цветности, второго режима CCLM, в котором параметры CCLM выделяют на основе левых соседних выборок цветности и левых нижних соседних выборок цветности, или третьего режима CCLM, в котором параметры CCLM выделяют на основе верхних соседних выборок цветности и верхних правых соседних выборок цветности, причем ширина и высота текущего блока видео представляют собой W и H, соответственно, при этом
указанные две или более выборки цветности выбираются, дополнительно, на основе W и/или H, и выбирают ровно две выборки цветности из верхних соседних выборок цветности в ответ на то, что доступны только верхние соседние выборки цветности, режим CCLM для текущего блока видео является первым режимом CCLM, а W равно 2.
18. Постоянный машиночитаемый носитель данных, хранящий инструкции, вызывающие выполнение процессором:
определения, для преобразования между текущим блоком видео, который представляет собой блок цветности, и битовым потоком видео, параметров межкомпонентной линейной модели (CCLM) по меньшей мере на основании двух или более выборок цветности из соседних выборок цветности текущего блока видео, причем указанные две или более выборки цветности выбраны на основе режима CCLM текущего блока видео и доступности соседних выборок цветности;
применения CCLM на выборках яркости, расположенных в блоке яркости, соответствующем текущему блоку видео, для получения значений предсказания текущего блока видео; и
выполнения преобразования на основании значений предсказания,
причем режим CCLM для текущего блока видео представляет собой один из первого режима CCLM, в котором параметры CCLM выделяют на основе левых соседних выборок цветности и верхних соседних выборок цветности, второго режима CCLM, в котором параметры CCLM выделяют на основе левых соседних выборок цветности и левых нижних соседних выборок цветности, или третьего режима CCLM, в котором параметры CCLM выделяют на основе верхних соседних выборок цветности и верхних правых соседних выборок цветности, причем ширина и высота текущего блока видео представляют собой W и H, соответственно, при этом
указанные две или более выборки цветности выбираются, дополнительно, на основе W и/или H, и выбирают ровно две выборки цветности из верхних соседних выборок цветности в ответ на то, что доступны только верхние соседние выборки цветности, режим CCLM для текущего блока видео является первым режимом CCLM, а W равно 2.
19. Способ сохранения битового потока видео, содержащий этапы, на которых:
определяют, для текущего блока видео, который представляет собой блок цветности, параметры межкомпонентной линейной модели (CCLM) по меньшей мере на основании двух или более выборок цветности из соседних выборок цветности текущего блока видео, причем указанные две или более выборки цветности выбраны на основе режима CCLM текущего блока видео и доступности соседних выборок цветности;
применяют CCLM на выборках яркости, расположенных в блоке яркости, соответствующем текущему блоку видео, для получения значений предсказания текущего блока видео;
генерируют битовый поток на основании значений предсказания; и
сохраняют битовый поток на постоянный машиночитаемый носитель данных,
причем режим CCLM для текущего блока видео представляет собой один из первого режима CCLM, в котором параметры CCLM выделяют на основе левых соседних выборок цветности и верхних соседних выборок цветности, второго режима CCLM, в котором параметры CCLM выделяют на основе левых соседних выборок цветности и левых нижних соседних выборок цветности, или третьего режима CCLM, в котором параметры CCLM выделяют на основе верхних соседних выборок цветности и верхних правых соседних выборок цветности, причем ширина и высота текущего блока видео представляют собой W и H, соответственно, при этом
указанные две или более выборки цветности выбираются, дополнительно, на основе W и/или H, и выбирают ровно две выборки цветности из верхних соседних выборок цветности в ответ на то, что доступны только верхние соседние выборки цветности, режим CCLM для текущего блока видео является первым режимом CCLM, а W равно 2.
RU2021118930A 2018-12-07 2019-12-05 Контекстно-ориентированное внутреннее предсказание RU2806083C2 (ru)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
CNPCT/CN2018/119709 2018-12-07
CNPCT/CN2018/125412 2018-12-29
CNPCT/CN2019/070002 2019-01-01
CNPCT/CN2019/075874 2019-02-22
CNPCT/CN2019/075993 2019-02-24
CNPCT/CN2019/076195 2019-02-26
CNPCT/CN2019/079396 2019-03-24
CNPCT/CN2019/079431 2019-03-25
CNPCT/CN2019/079769 2019-03-26

Publications (2)

Publication Number Publication Date
RU2021118930A RU2021118930A (ru) 2022-12-29
RU2806083C2 true RU2806083C2 (ru) 2023-10-25

Family

ID=

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2601843C2 (ru) * 2011-06-09 2016-11-10 Квэлкомм Инкорпорейтед Расширенная сигнализация режима внутреннего предсказания для кодирования видео, использующего режим соседства
WO2017199800A1 (ja) * 2016-05-20 2017-11-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
WO2018116802A1 (ja) * 2016-12-22 2018-06-28 シャープ株式会社 画像復号装置、画像符号化装置、及び画像予測装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2601843C2 (ru) * 2011-06-09 2016-11-10 Квэлкомм Инкорпорейтед Расширенная сигнализация режима внутреннего предсказания для кодирования видео, использующего режим соседства
WO2017199800A1 (ja) * 2016-05-20 2017-11-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
WO2018116802A1 (ja) * 2016-12-22 2018-06-28 シャープ株式会社 画像復号装置、画像符号化装置、及び画像予測装置

Similar Documents

Publication Publication Date Title
JP7422757B2 (ja) 位置ベースのイントラ予測
AU2019391197B2 (en) Context-based intra prediction
WO2020169102A1 (en) Parameter derivation for intra prediction
US20210344902A1 (en) Parameter derivation for intra prediction
JP2022521698A (ja) イントラ予測のための隣接サンプル選択
RU2806083C2 (ru) Контекстно-ориентированное внутреннее предсказание
RU2810900C2 (ru) Выбор соседней выборки для внутреннего предсказания
RU2777779C1 (ru) Получение параметра для внутрикадрового предсказания