ПОЛУЧЕНИЕ ПАРАМЕТРА ДЛЯ ВНУТРИКАДРОВОГО ПРЕДСКАЗАНИЯ
OBTAINING A PARAMETER FOR IN-FRAME PREDICTION

Область техники, к которой относится изобретение
Настоящее изобретение относится к технологиям, устройствам и системам для обработки видео.
Уровень техники
Несмотря на прогресс в области сжатия видео, цифровое видео до сих пор занимает наибольшую полосу пропускания в интернете и других цифровых коммуникационных сетях. По мере увеличения количества подключенных устройств пользователя, выполненных с возможностью принимать и отображать видео, ожидается продолжение увеличения запроса полосы пропускания для использования цифрового видео.
Раскрытие сущности изобретения
В настоящем раскрытии представлены описания устройств, систем и способов, относящихся к цифровой обработке видео, и, например, получение упрощенной линейной модели для режима предсказания межкомпонентной линейной модели (CCLM) при кодировании видео. Описанные способы могут быть применены как к существующим стандартам кодирования видео (например, высокоэффективное кодирование видео (HEVC)), так и к перспективным стандартам кодирования видео (например, универсальное кодирование видео (VVC)) или к кодекам.
В одном типичном аспекте для обеспечения способа обработки видео может быть использована технология по настоящему раскрытию. Способ содержит определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров режима предсказания межкомпонентной линейной модели (CCLM) на основании выборок цветности, которые выбираются на основании W доступных верхних соседних выборках, W является целым числом; и выполнение преобразования на основании определения.
В другом типичном аспекте для обеспечения способа обработки видео может быть использована технология по настоящему раскрытию. Способ содержит: определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров режима предсказания межкомпонентной линейной модели (CCLM) на основании выборок цветности, которые выбираются на основании H доступных левых соседних выборках текущего блока видео; и выполнение преобразования на основании определения.
В другом типичном аспекте для обеспечения способа обработки видео может быть использована технология по настоящему раскрытию. Способ содержит: определение, для преобразования между текущим блоком видео, которое представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели (CCLM) на основании двух или четырех выборок цветности и/или соответствующих выборок яркости; и выполнение преобразования на основании определения.
В другом типичном аспекте для обеспечения способа обработки видео может быть использована технология по настоящему раскрытию. Способ содержит: выбор, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, выборки цветности на основании правила позиции, выборки цветности используются для получения параметров межкомпонентной линейной модели (CCLM); и выполнение преобразования на основании определения, в котором правило позиции указывает выбрать выборки цветности, которые расположены в пределах верхней строки и/или левого столбца текущего блока видео.
В другом типичном аспекте для обеспечения способа обработки видео может быть использована технология по настоящему раскрытию. Способ содержит: определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, позиции, на которых выборки яркости подвергнуты понижающей дискретизации, в котором выборки яркости после понижающей дискретизации используются для определения параметров межкомпонентной линейной модели (CCLM) на основании выборок цветности и выборок яркости после понижающей дискретизации, в котором выборки яркости после понижающей дискретизации находятся на позициях, соответствующих позициям выборок цветности, которые используются для получения параметров CCLM; и выполнение преобразования на основании определения.
В другом типичном аспекте для обеспечения способа обработки видео может быть использована технология по настоящему раскрытию. Способ содержит: определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, способа для получения параметров межкомпонентной линейной модели (CCLM) с использованием выборок цветности и выборок яркости на основании условия кодирования, ассоциированного с текущим блоком видео; и выполнение преобразования на основании определения.
В другом типичном аспекте для обеспечения способа обработки видео может быть использована технология по настоящему раскрытию. Способ содержит: определение, для преобразования между текущим блоком видео, которое представляет собой блок цветности, и кодированным представлением видео, следует ли получать максимальные значения и/или минимальные значения компонента яркости и компонента цветности, которые используются для получения параметров межкомпонентной линейной модели (CCLM) на основании доступности левого соседнего блока и верхнего соседнего блока текущего блока видео; и выполнение преобразования на основании определения.
В еще одном типичном аспекте вышеописанный способ реализован в форме исполняемого машинного кода и сохраняется на машиночитаемом носителе.
В еще одном типичном аспекте предложено устройство, выполненное с возможностью выполнять вышеописанный способ. Устройство может включать в себя процессор, который запрограммирован для реализации этого способа.
В еще одном типичном аспекте устройство видеодекодера может реализовать описанный в настоящем документе способ.
Описанные выше и другие аспекты, и признаки раскрытой технологии более подробно изложены в описании и формуле изобретения со ссылкой на прилагаемые чертежи.
Краткое описание чертежей
Фиг.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А и фиг.18В показывает блок-схему алгоритма примера способа для обработки видео на основании некоторых реализаций раскрытой технологии.
Фиг.19A и 19B показывают блок-схемы алгоритма примеров способов обработки видео на основании некоторых реализаций раскрытой технологии.
Фиг.20A-20С показывают блок-схемы алгоритма другого примера способа для обработки видео на основании некоторых реализаций раскрытой технологии.
Фиг.21A и 21B являются блок-схемами примеров аппаратных платформ для реализации технологии декодирования или кодирования визуальной медийной информации, описанной в настоящем документе.
Фиг.22A и 22B показывают примеры процесса получения LM параметра с четырьмя записями. Фиг.22А показывает пример, когда и верхняя, так и левая соседние выборки доступны, и фиг.31B показывает пример, когда доступны только верхние соседние выборки и верхне-правая недоступна.
Фиг.23 показывает примеры соседних выборок для получения LIC параметров.
Осуществление изобретения
Из-за увеличения потребности видео более высокого разрешения, в современных технологиях получили применение способы и технологии кодирования видео. Видеокодеки обычно включают в себя электронную цепь или программное обеспечение, которое сжимают или распаковывает цифровое видео и которые постоянно усовершенствуются для обеспечения более высокой эффективности кодирования. Видеокодек преобразует несжатое видео в сжатый формат или vice versa. Существуют сложные отношения между качеством видео, количеством данных, используемых для представления видео (определяется битовой скоростью), сложностью алгоритмов кодирования и декодирования, чувствительностью к потерям и ошибкам данных, простотой редактирования, произвольным доступом и сквозной задержкой (latency). Сжатый формат обычно соответствует стандартным спецификациям сжатия видео, например, стандарт высокоэффективного кодирования видео (HEVC) (также известный как H.265 или MPEG-H часть 2), стандарт универсального кодирования видео (VVC), который должен быть завершен, или другие текущие и/или перспективные стандарты кодирования видео.
Варианты осуществления раскрытой технологии могут применяться к существующим стандартам кодирования видео (например, HEVC, H.265) и перспективным стандартам для повышения производительности обработки. В настоящем документе для улучшения читаемости описания используются заголовки раздела и никоем образом описание или варианты осуществления (и/или реализации) не ограничиваются только соответствующими разделами.
1. Варианты осуществления межкомпонентного предсказания
Межкомпонентное предсказание представляет собой форму предсказания цветности к яркости, которое имеет хорошо сбалансированный компромисс между сложностью и повышением эффективности сжатия.
1.1 Примеры межкомпонентной линейной модели (CCLM)
В некоторых вариантах осуществления для уменьшения межкомпонентной избыточности, в JEM используется режим предсказания межкомпонентной линейной модели (CCLM) (также называемого как LM), для которого предсказываются выборки цветности на основании восстановленных выборок яркости того же CU с использованием линейной модели следующим образом:
представляет собой предсказанные выборки цветности в CU и  представляет собой восстановленные выборки яркости после понижающей дискретизации одинакового CU для цветовых форматов 4:2:0 или 4:2:2, где  представляет собой восстановленные выборки яркости одного и того же CU для цветового формата 4:4:4. CCLM параметры α и β получены путем минимизации ошибок регрессии между соседними восстановленными выборками яркости и цветности вокруг текущего блока следующим образом:
представляет собой исходные (для цветного формата 4:4:4) или с понижающей дискретизацией (для цветных форматов 4:2:0 или 4:2:2) верхние и левые соседние восстановленные выборки яркости или исходные и левые соседние восстановленные выборки яркости,  представляет верхние и левые соседние восстановленные выборки цветности и значение  равно удвоенной минимальной ширине и высоты текущего блока кодирования цветности.
В некоторых вариантах осуществления и для блока кодирования с квадратной формой напрямую применяются вышеприведенные два уравнения. В других вариантах осуществления и для неквадратного блока кодирования сначала выполняется субдисретизация соседних выборок более длинной границы для получения одинакового количества выборок, что и для более короткой границы. На фиг.1 показано местоположение левой и верхней восстановленных выборок и выборка текущего блока, используемая в CCLM режиме.
В некоторых вариантах осуществления выполняется вычисление минимизации ошибок регрессии как часть процесса декодирования, не так же, как операция поиска кодера, поэтому синтаксис не используется для передачи значений α и β.
В некоторых вариантах осуществления CCLM режим предсказания также включает в себя предсказание между двумя компонентами цветности, например, компонент Cr (красный-разница) предсказывается из компонента Cb (голубой-разница). Вместо использования восстановленного сигнала выборки в остаточной области применяется CCLM Cb-to-Cr предсказание. Это реализуется путем добавления взвешенного восстановленного Cb остатка к исходному Cr внутреннему предсказанию для формирования окончательного Cr предсказания:
представляет собой восстановленную Cb выборку остатка на позиции (i, j).
В некоторых вариантах осуществления коэффициент α масштабирования может быть получен аналогичным образом, как в CCLM предсказании яркости к цветности. Единственное отличие заключается в добавлении стоимости регрессии относительно значения α по умолчанию в функцию ошибки, так что полученный коэффициент масштабирования смещен к значению по умолчанию -0.5 следующим образом:
представляет собой соседние восстановленные Сb выборки,  представляет собой соседние восстановленные Cr выборки и λ равна .
В некоторых вариантах осуществления CCLM режим предсказания яркости к цветности добавляется в виде одного дополнительного режима внутрикадрового предсказания цветности. На стороне кодера для выбора режима внутрикадрового предсказания цветности добавляется еще одна RD проверка стоимости для компонентов цветности. Когда используются режимы внутрикадрового предсказания, отличные от CCLM режима предсказания яркости к цветности, для компонентов цветности CU, используется CCLM Cb-to-Cr предсказание для предсказания Cr компонента.
1.2 Примеры множественной модели CCLM
В JEM используют два CCLM режима: режим одной CCLM модели и режим множественной CCLM модели (MMLM). Как указано названием, для предсказания выборок цветности режим одной CCLM модели использует одну линейную модель из выборок яркости для всего CU, и MMLM может использовать две модели.
В MMLM соседние выборки яркости и соседние выборки цветности текущего блока классифицируются на две группы, каждая группа используется в качестве учебного набора для получения линейной модели (т.е. конкретные α и β получают для конкретной группы). Более того, выборки текущего блока яркости также классифицируются на основании того же правила для классификации соседних выборок яркости.
L
L
Фиг.2 показывает пример классификации соседних выборок на две группы. Пороговое значение рассчитывается как среднее значение соседних восстановленных выборок яркости. Соседняя выборка с Rec′[x,y] <= Пороговое значение классифицируется в группу 1; в то время как соседняя выборка с Rec′[x,y] > Пороговое значение классифицируется в группу 2.
1.3 Примеры фильтров понижающей дискретизации в CCLM
В некоторых вариантах осуществления и для выполнения межкомпонентного предсказания для формата 4:2:0 цветности, в котором 4 выборки яркости соответствуют 1 выборке цветности, восстановленный блок яркости должен быть подвергнут понижающей дискретизации для соответствия размеру сигнала цветности. Фильтр понижающей дискретизации по умолчанию, используемый в CCLM режиме, заключается в следующем:
Понижающая дискретизация предполагает фазовые отношения «типа 0», как показано на фиг.3А для позиций выборок цветности относительно позиций выборок яркости, например, совместная выборка по горизонтали и интерстициальная выборка по вертикали.
В качестве фильтра по умолчанию используется примерный 6-отводной фильтр понижающей дискретизации, определенный в (6), как для режима одной CCLM мидели, так и для режима множественной CCLM модели.
В некоторых вариантах осуществления и для MMLM режима кодер может альтернативно выбрать один из четырех дополнительных фильтров понижающей дискретизации яркости, которые будут применяться для предсказания в CU, и отправить индекс фильтра для указания, который из них используется. Четыре выбранных фильтра понижающей дискретизации для MMLM режима, как показано на фиг.3В, представляют собой следующие:
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 и их соответствующих опорных выборок. Более конкретно, как показано на фиг.23, используются субдискретизированные соседние выборки (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) определяется как
S-1
Здесь off является целым числом, таким как 0 или 2.
Высота и ширина токового блока цветности обозначены 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 цветного формата.
S
b. Например, параметры α и β в CCLM получают из выборок цветности на 2 (например, 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 выбираются, если доступен только верхний соседний блок.
1
1
2
2
n
n
1
1
n
n
Пример 2. В первую очередь могут быть получены наборы параметров в CCLM режиме и затем объединены для формирования параметра окончательной линейной модели, используемой для кодирования одного блока. Предположим, что α и β получены из группы выборок цветности на конкретных позициях, обозначенных как группа 1, α и β, полученные из группы выборок цветности на конкретных позициях, обозначенных как группа 2, ..., αи β полученные из группы выборок цветности на конкретных позициях, обозначаемых как группа N, то могут быть получены конечные α и β из (α, β), ... (α, β).
1
n
1
N
а. В одном примере α рассчитывается как среднее значение α, ... α и β рассчитывается как среднее значение β, ... β.
1
2
1
2
i. В одном примере α = SignsShift (α + α, 1), β = SignShift (β+ β, 1).
1
2
1
2
ii. В одном примере α=Shift (α+ α, 1), β = Shift(β+ β, 1).
1
1
2
2
iii. Если (α, β) и (α, β) имеют разную точность, например, для получения CP предсказания цветности из его соответствующей выборки яркости с пониженной дискретизацией LR, рассчитывается как
1
1
с (α, β), но
2
2
1
2
1
2
с (α, β) Sh не равен Sh, то параметры должны быть смещены до объединения. Предположим, что Sh > Sh, затем до объединения параметры должны быть смещены как:
2
2
. Затем окончательная точность равна (α, β).
2
2
Затем окончательная точность равна (α, β).
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].
p
i. Размер таблицы поиска, обозначенный V, меньше 2, в котором p является целым числом, таким как 5, 6 или 7.
ii. Каждая запись таблицы поиска хранит F-бит целое число, например, F = 8 или 16.
В одном примере 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.
P
P
viii. Размер таблицы поиска, обозначаемый V, равен 2, в котором P является целым числом, таким как 5, 6, 7 или 8. В качестве альтернативы V установлено на 2 - 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.
E
(h) В одном примере, когда Q равно 2 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.
k
k
k
k
Пример 5. Предложено, что соседние выборки (включающие в себя выборки цветности и их соответствующие выборки яркости, которые могут быть подвергнуты понижающей дискретизации), делятся на N групп. Максимальное значение яркости и минимальное значение яркости для k-ой группы (с k = 0, 1, ..., N-1) обозначается как MaxL и MinL и их соответствующие значения цветности обозначаются как MaxC и MinC соответственно.
S0
S1
Sm
S0
S1
Sm
S0
S1
Sm
S0
S1
Sm
а. В одном примере MахL рассчитывается как MaxL=f1(MaxL, MaxL, …, MaxL); MaxC is рассчитывается как MaxC=f2(MaxC, MaxC,…MaxC); MinL рассчитывается как MinL=f3(MinL, MinL,…MinL). MinC рассчитывается как MinC=f3(MinC, MinC, …, MinC). 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. В одном примере, как выбрать выборки для каждой группы может зависеть от доступности соседних блоков.
0
0
0
0
1
1
1
1
0
1
0
1
0
1
0
1
i. Например, MaxL /MaxC и MinL /MinC определены из позиции A и D; MaxL /MaxC и MinL /MinC определены из позиции J и M, затем MaxL= (MaxL + MaxL)/ 2, MaxC= (MaxC + MaxC)/ 2, MinL= (MinL + MinL)/ 2, MinC= (MinC + MinC)/ 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 является битовой глубиной выборок цветности.
g. В одном примере, как выбрать выборки для каждой группы может зависеть от ширины и высоты блока.
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
i. Например, Р = 2, в котором i является целым числом, таким как 1 или 2.
ii. В качестве альтернативы, F = W/P + offset.
g. В одном примере S = W/Q. Q является целым числом.
j
i. Например, Q = 2, в котором j является целым числом, таким как 1 или 2.
h. Например, F = S/R. R является целым числом.
M
i. Например, R = 2, в котором M является целым числом, таким как 1 или 2.
i. В одном примере S = F/Z. Z является целым числом.
n
i. Например, Z = 2, в котором 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
i. Например, Р = 2, в котором i является целым числом, таким как 1 или 2.
ii. Альтернативно, F = H/P + offset.
g. В одном примере S = H/Q. Q является целым числом.
J
i. Например, Q = 2, в котором j является целым числом, таким как 1 или 2.
h. В одном примере F = S/R. R является целым числом.
M
i. Например, R = 2, в котором M является целым числом, таким как 1 или 2.
i. В одном примере S = F/Z. Z является целым числом.
n
i. Например, Z = 2, в котором 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) Например, способы, раскрытые в примере 16, могут быть применены для получения F и S.
vii. Например, левые выборки могут быть выбраны с первым значением смещения позиции (обозначены как F) и значением шага (обозначено как S), которые могут зависеть от измерения текущего блока и доступности соседних блоков.
(а) Например, способы, раскрытые в примере 17, могут быть применены для получения F и S.
е. В одном примере предлагаемый способ получения параметров, используемых в CCLM, также может быть использован для получения параметров, используемых в LIC, когда текущий блок является аффинно-кодированным.
f. Вышеуказанные способы могут быть использованы для получения параметров, используемых в других инструментах кодирования, которые опираются на линейную модель.
C
В другом примере предлагается режим межкомпонентного предсказания, в котором выборки цветности предсказаны с соответствующими восстановленными выборками яркости в соответствии с моделью предсказания, как показано в уравнении 12. В уравнении 12 Pred(x, y) обозначает предсказание выборки цветности. α и β являются двумя параметрами модели. Rec’L(x, y) являются выборками яркости с пониженной дискретизацией.
(12)
Для процесса понижающей дискретизации яркости применяется шестиотводной фильтр для блока A на фиг.11, как показано в уравнении 13
(13)
Верхние окружающие опорные выборки яркости, затененные на фиг.11, не подвергаются процессу понижающей дискретизации с помощью 3-отводного фильтра, как показано в уравнении 14. Левые окружающие опорные выборки яркости подвергаются понижающей дискретизации согласно уравнению 15. Если левая или верхняя выборки недоступны, будет использоваться 2-отводной фильтр, определенный в уравнении 16 и уравнении 17.
В частности, окружающие опорные выборки яркости подвергаются процессу понижающей дискретизации до одинакового размера опорных выборок цветности. Размер обозначается как ширина и высота. Для получения α и β используются только две или четыре соседние выборки. Таблица поиска применяется для необязательного выполнения операции разделения при получении α и β. Ниже проиллюстрированы способы получения.
3.1 Примерные способы до двух выборок
(1) Соотношение r ширины и высоты рассчитывается, как показано в уравнении 18
(2) Если верхние и левые блоки доступны, выбираются 2 выборки, расположенные на posA первой верхней линии и posL первой левой линии. Для упрощения описания ширина предполагается как более длинная сторона. Получение posA и posL показано в уравнении 19 (индекс позиции начинается с 0). Фиг.12 показывает некоторые примеры разной ширины и соотношения высоты (1, 2, 4 и 8 соответственно). Выбранные выборки затенены.
(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)].
Выбранные выборки окрашены в красном, как показано на фиг.22А.
Впоследствии 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].
Выбранные выборки окрашены в красный цвет, как показано на фиг.22B.
Если левый блок доступен, когда верхний блок недоступен, выбираются четыре выборки цветности из левого блока, когда 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 : 0numSampL = availL ? nTbH : 0
(8-156)(8-157)
- В противном случае применяется следующее:
Переменная 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 << (BitDepth<sub>C</sub> − 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 << (BitDepth<sub>C</sub> − 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] +pY[2 * x][2 * y + 1] + 4) >> 3
(8-163)
- Если availL равно TRUE, pDsY[0][y] с y = 1..nTbH − 1 получено следующим образом:
- В противном случае, 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] с 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] +pY[0][1] + 4) >> 3
(8-168)
- В противном случае, если 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] + pY[2 * x + 1][2 * y] +pY[2 * x + 1][2 * y + 1] + 4) >> 3
(8-172)
- Если availL равно TRUE, pDsY[0][y] с y = 0..nTbH − 1 получено следующим образом:
- В противном случае, pDsY[0][y] с y = 0..nTbH − получено следующим образом:
- pDsY[0][y] = (pY[0][2 * y] + pY[0][2 * y + 1] + 1) >> 1 (8-174)
4. When 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] + pY[−2][2 * y + 1] + 4) >> 3
(8-175)
- в противном случае,
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
(8-178)
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, то применяется следующее:
- в противном случае (bCTUboundary равно TRUE), применяется следующее:
pSelDsY[idx] = (pY[2 * x − 1][−1] +2* pY[2 * x][−1] + pY[2 * x + 1][−1] + 2) >> 2
(8-180)
- в противном случае:
- если availTL равен TRUE и bCTUboundary равен FALSE, то применяется следующее:
pSelDsY[idx] = (pY[0][−3] +pY[−1][−2] + 4 * pY[0][−2] + pY[1][−2] +pY[0][−1] + 4) >> 3
(8-181)
- в противном случае, если availTL равен TRUE и bCTUboundary равен TRUE, то применяется следующее:
pSelDsY[idx] = (pY[−1][−1] +2* pY[0][−1] + pY[1][−1] + 2) >> 2
(8-182)
- иначе, если 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] + pY[2 * x + 1][−2] + pY[2 * x + 1][−1] + 4) >> 3
(8-185)
- иначе (bCTUboundary равно TRUE), то применяется следующее:
pSelDsY[idx] = (pY[2 * x − 1][−1] +2* pY[2 * x][−1] +pY[2 * x + 1][−1] + 2) >> 2
(8-186)
- иначе:
- если availTL равно TRUE и bCTUboundary равно FALSE, то применяется следующее:
pSelDsY[idx] = (pY[− 1][−2] + pY[− 1][−1] +2* pY[0][−2] + 2*pY[0][−1] + pY[1][−2] + pY[1][−1] + 4) >> 3
(8-187)
- в противном случае, если availTL равно TRUE и bCTUboundary равно TRUE, то применяется следующее:
pSelDsY[idx] = (pY[− 1][−1] +2* pY[0][−1] +pY[1][−1] + 2) >> 2
(8-188)
- в противном случае, если 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 << (BitDepth<sub>C</sub> − 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) + 2<sup>y − 1</sup>) >> 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] +pY[2 * x][2*y + 1] + 4) >> 3
(8-163)
- если 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] +  pY[0][2*y + 1] + 4) >> 3
(8-164)
- в противном случае, 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] +pY[2 * x][1] + 4) >> 3
(8-166)
- в противном случае, 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] +pY[0][1] + 4) >> 3
(8-168)
- в противном случае, если 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] +pY[2 * x + 1][2 * y] + pY[2 * x + 1][2 * y + 1] + 4) >> 3
(8-172)
- если 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] + pY[1][2 * y] + pY[1][2 * y + 1] + 4) >> 3
(8-173)
- в противном случае, 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] + pY[−2][2* y + 1] + 4) >> 3
(8-175)
- в противном случае,
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] + pY[−3][2 * y] + pY[−3][2 * y + 1] + 4) >> 3
(8-178)
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] + pY[2* x][−1] + 4) >> 3
(8-179)
- в противном случае (bCTUboundary равна TRUE), применяется следующее:
pSelDsY[idx]=(pY[2*x−1]−1] + 2*pY[2 * x][−1] + pY[2*x + 1][−1] + 2) >> 2
(8-180)
- в противном случае:
- если availTL равно TRUE и bCTUboundary равно FALSE, применяется следующее:
pSelDsY[idx]=(pY[0][−3]+pY[−1][−2] + 4* pY[0][−2] + pY[1][−2] + pY[0][−1] + 4) >> 3
(8-181)
-в противном случае, если availTL равно TRUE и bCTUboundary равно TRUE, применяется следующее:
pSelDsY[idx]=(pY[−1][−1]+        2*pY[0][−1] + pY[1][−1] +2) >> 2
(8-182)
- в противном случае, если 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] +pY[2*x + 1][−2] + pY[2*x + 1][−1] + 4) >> 3
(8-185)
- иначе, (bCTUboundary равно TRUE), применяется следующее:
pSelDsY[idx]=(pY[2*x−1][−1]+ 2*pY[2 * x][−1] + pY[2*x + 1][−1] + 2) >> 2
(8-186)
- в противном случае:
- если availTL равно TRUE и bCTUboundary равно FALSE, применяется следующее:
pSelDsY[idx]=(pY[−1][−2]+pY[−1][−1]+     2*pY[0][−2] +2*pY[0][−1] + pY[1][−2] +pY[1][−1] + 4) >> 3
(8-187)
- в противном случае, если availTL равно TRUE и bCTUboundary равно TRUE, применяется следующее:
pSelDsY[idx]=(pY[−1][−1]+ 2*pY[0][−1] + pY[1][−1] + 2) >> 2
(8-188)
- в противном случае, если 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)
- в противном случае, применяется следующее:
Переменная 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] +  pY[2* x][2 * y + 1] + 4) >> 3
(8-163)
- если 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] + pY[0][2*y + 1] + 4) >> 3
(8-164)
- в противном случае, 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] +  pY[2* x][1] + 4) >> 3
(8-166)
- в противном случае, 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] +  pY[0][1] + 4) >> 3
(8-168)
- в противном случае, если 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] +  pY[2* x + 1][2* y] + pY[2* x + 1][2*y + 1] + 4) >> 3
(8-172)
- если 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] +  pY[1][2 * y] + pY[1][2 * y + 1] + 4) >> 3
(8-173)
- в противном случае, 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] +  pY[−2][2* y + 1] + 4) >> 3
(8-175)
- в противном случае,
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] + pY[−3][2* y] + pY[−3][2*y +1] +4)  >> 3
(8-178)
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] +pY[2* x][−1] + 4) >> 3
(8-179)
- иначе, (bCTUboundary равно TRUE), применяется следующее:
pSelDsY[idx]=(pY[2*x−1][−1] + 2* pY[2*x][−1] + pY[2* x + 1][−1] + 2) >> 2
(8-180)
- в противном случае:
- если availTL равно TRUE и bCTUboundary равно FALSE, применяется следующее:
pSelDsY[idx]=(pY[0][−3] + pY[−1][−2] + 4 * pY[0][−2] + pY[1][−2] +  pY[0][−1] + 4) >> 3
(8-181)
- иначе, если availTL равно TRUE и bCTUboundary равно TRUE, применяется следующее:
pSelDsY[idx]=(pY[−1][−1] + 2* pY[0][−1] + pY[1][−1] + 2) >> 2
(8-182)
- иначе, если 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] + pY[2 * x + 1][−2] + pY[2 * x + 1][−1] + 4) >> 3
(8-185)
-иначе, (bCTUboundary равно TRUE), применяется следующее:
pSelDsY[idx]=(pY[2*x−1][−1] + 2* pY[2 * x][−1] +  pY[2 * x + 1][−1] + 2) >> 2
(8-186)
- иначе:
- если availTL равно TRUE и bCTUboundary равно FALSE, применяется следующее:
pSelDsY[idx]=(pY[−1][−2]+pY[−1][−1] + 2*pY[0][−2] + 2*pY[0][−1] + pY[1][−2] + pY[1][−1] + 4) >> 3
(8-187)
- иначе, если availTL равно TRUE и bCTUboundary равно TRUE, применяется следующее:
pSelDsY[idx]=(pY[−1][−1] + 2* pY[0][−1] +  pY[1][−1] + 2) >> 2
(8-188)
- иначе, если 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, 1900 и 2000 которые могут быть реализованы в кодере и/или декодере видео.
Фиг.18 показывает блок-схему алгоритма примерного способа для обработки видео. Способ 1800 включает в себя этап 1812 определения, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели (CCLM) на основании выборок цветности, которые выбираются на основании W доступных верхних соседних выборок, W является целым числом. Способ 1810 дополнительно включает в себя этап 1814 выполнения преобразования на основании определения.
Фиг.18B показывает блок-схему примерного способа для обработки видео. Способ 1820 включает в себя этап 1822 определения, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров режима предсказания межкомпонентной линейной модели (CCLM) на основании выборок цветности, которые выбираются на основании H доступных левых соседних выборок текущего блока видео. Способ 1820 дополнительно включает в себя этап 1824 выполнения преобразования на основании определения.
Фиг.19А показывает блок-схему алгоритма примерного способа для обработки видео. Способ 1910 включает в себя этап 1912 определения, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели (CCLM) на основании двух или четырех выборок цветности и/или соответствующих выборок яркости. Способ 1910 дополнительно включает в себя этап 1914 выполнения преобразования на основании определения.
Фиг.19B показывает блок-схему алгоритма примерного способа для обработки видео. Способ 1920 включает в себя этап 1922 выбора, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, выборок цветности на основании правила позиции, выборки цветности, используемые для получения параметров межкомпонентной линейной модели (CCLM). Способ 1920 дополнительно включает в себя этап 1924 выполнения преобразования на основании определения. В этом примере правило позиции указывает выбрать выборки цветности, которые расположены в пределах верхней строки и/или левого столбца текущего блока видео.
Фиг.20А показывает блок-схему алгоритма примерного способа для обработки видео. Способ 2010 включает в себя этап 2012 определения, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, позиций, на которых выборки яркости подвержены понижающей дискретизации, в котором выборки яркости после понижающей дискретизации используются для определения параметров межкомпонентной линейной модели (CCLM) на основании выборок цветности и выборок яркости, подверженных понижающей дискретизации, в котором выборки яркости, подверженные понижающей дискретизации, находятся на позициях, соответствующих позициям выборок цветности, которые используются для получения CCLM параметров. Способ 2010 дополнительно включает в себя этап 2024 выполнения преобразования на основании определения.
Фиг.20B показывает блок-схему последовательности операций примерного способа для обработки видео. Способ 2020 включает в себя этап 2022 определения, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, способа для получения параметров межкомпонентной линейной модели (CCLM) с использованием выборок цветности и выборок яркости, на основании состояния кодирования, ассоциированного с текущим блоком видео. Способ 2020 дополнительно включает в себя этап 2024 выполнения преобразования на основании определения.
Фиг.20C показывает блок-схему последовательности операций примерного способа для обработки видео. Способ 2030 включает в себя этап 2032 определения, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, следует ли получать максимальные значения и/или минимальные значения компоненты яркости и компоненты цветности, которые используются для получения параметров межкомпонентной линейной модели (CCLM) на основании доступности левого соседнего блока и верхнего соседнего блока текущего блока видео. Способ 2030 дополнительно включает в себя этап 2034 выполнения преобразования на основании определения.
4 Пример реализаций представленной технологии
Фиг.21А является блок-схемой устройства 3000. Устройство 3000 может использоваться для реализации одного или нескольких способов, описанных в настоящем документе. Устройство 3000 может быть воплощено в смартфоне, планшете, компьютере, приемнике интернета вещах (IоT) и т.д. Устройство 3000 может включать в себя один или несколько процессоров 3002, одну или несколько памяти 3004 и схему 3006 обработки видео. Процессор (процессоры) 3002 может быть выполнен с возможностью реализации одного или нескольких способов (включающий в себя, но не ограничиваясь, способы, как показано на фиг.18-29C), описанных в настоящем документе. Память (памяти) 3004 могут использоваться для хранения данных и кода, используемых для реализации способов и технологий, описанных в настоящем документе. Схема 3006 обработки видео может использоваться для реализации, в форме аппаратных схем, некоторых описанных в настоящем документе технологий.
Фиг.21B является еще одним примером блок-схемы системы обработки видео, в которой могут быть реализованы раскрытые технологии. Фиг.21B является блок-схемой, показывающей примерную систему 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 и тому подобное. Технологии, описанные в настоящем документе, могут быть воплощены в различных электронных устройствах, таких как мобильные телефоны, ноутбуки, смартфоны или другие устройства, которые выполнены с возможностью выполнять цифровую обработку данных и/или видео.
В некоторых вариантах осуществления способы кодирования видео могут быть реализованы с использованием устройства, которое реализовано на аппаратной платформе, как описано со ссылкой на фиг.21А или фиг.21В.
Различные технологии, предпочтительно включенные в некоторые варианты осуществления, могут быть описаны с использованием следующего формата на основании пунктов условий.
Первый набор пунктов описывает конкретные признаки и аспекты описанных технологий, перечисленных в предшествующем разделе, включающий в себя, например, примеры 16 и 17.
1. Способ обработки видео, содержащий: определение для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров режима предсказания межкомпонентной линейной модели на основании выборок цветности, которые выбираются на основании W доступных верхних соседних выборок, W является целым числом; и выполнение преобразования на основании определения.
2. Способ по п. 1, в котором CCLM режим предсказания использует линейный режим для получения значений предсказания компонента цветности из другого компонента.
3. Способ по п. 1, в котором W устанавливается на i) ширину текущего блока видео, ii) L раз ширины текущего блока видео, L быть целым числом, iii) сумму высоты текущего блока видео и ширины текущего блока видео или iv) сумму ширины текущего блока видео и количества доступных верхних правых соседних выборок.
4. Способ по п. 1, в котором W зависит от доступности, по меньшей мере, одного из верхнего соседнего блока или левого соседнего блока текущего блока видео.
5. Способ по п. 1, в котором W зависит от режима кодирования текущего блока видео.
6. Способ по п. 3, в котором L имеет значение в зависимости от доступности верхнего правого блока или верхней левой выборки, которая расположена рядом с текущим блоком видео.
7. Способ по п. 1, в котором выборки цветности выбираются на основании первого значения (F) смещения позиции и значения (S) шага, которые зависят от W.
8. Способ по п. 7, в котором верхняя левая выборка имеет координату (x0, y0), и выбранные выборки цветности имеют координаты (x0 + F + K × S, y0-1), K является целым числом между 0 и kМax.
9. Способ по п. 8, в котором F = W/P или F = W/P + offset, P является целым числом.
10. Способ по п. 9, в котором F = W >> (2 + numIs4T), в котором numIs4T равен 1 в случае наличия четырех соседних выборок, выбранных в пределах верхней соседней строки и, в противном случае, numIs4T равен 0, в котором символ >> означает арифметический сдвиг символа вправо.
11. Способ по п. 7, в котором S = W Q, Q является целым числом.
12. Способ по п. 7, в котором S не менее 1.
13. Способ по п. 11 или 12, в котором S = Mах (1, W >> (1 + numIs4T)), в котором numIs4T равно 1 в случае наличия четырех соседних выборок, выбранных в пределах верхней соседней строки и, иначе numIs4T равно 0, в котором символ >> означает арифметический сдвиг символа вправо.
14. Способ по п. 10 или 13, в котором numIs4T равен 1 в случае, когда доступны верхние соседние выборки, доступны левые соседние выборки и текущий блок видео кодируется нормальным CCLM, который отличается от первого CCLM, использующий только левые соседние выборки, и отличается от второго CCLM, используя только верхние соседние выборки.
15. Способ по п. 7 в котором F = S/R, R является целым числом.
16. Способ по п. 7, в котором S = F/Z, Z является целым числом.
17. Способ по любому из пп. 8-16, в котором, по меньшей мере, один из Kмах, F, S или offset зависит от режима предсказания текущего блока видео, который является одним из: первым CCLM, использующий только левые соседние выборки, вторым CCLM с использованием только верхних соседних выборок, нормальным CCLM с использованием как левых соседних, так и верхних соседних выборок, либо другими режимами, отличными от первого CCLM, второй CCLM и нормального CCLM.
18. Способ по любому из пп. 8-16, в котором, по меньшей мере, один из Kмах, F, S или offset зависит от ширины и/или высоты текущего блока видео.
19. Способ по любому из пп. 8-16, в котором, по меньшей мере, один из Kмах, F, S или offset зависит от доступности соседних выборок.
20. Способ по любому из пп. 8-16, в котором, по меньшей мере один из Kмах, F, S или offset зависит от W.
21. Способ обработки видео, содержащий: определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров режима предсказания межкомпонентной линейной модели (CCLM) на основании выборок цветности, которые выбираются на основании H доступности левых соседних выборок текущего блока видео; и выполнение преобразования на основании определения.
22. Способ по п. 21, в котором CCLM режим предсказания использует линейный режим для получения значений предсказания компонента цветности из другого компонента.
23. Способ по п. 21, в котором H устанавливается на один из i) высоту текущего блока видео, ii) L раз высоты текущего блока видео, L является целым числом, iii) сумму высоты текущего блока видео и ширины текущего блока видео или iv) сумму высоты текущего блока видео и количества доступных левых нижних соседних выборок.
24. Способ по п. 21, в котором H зависит от доступности, по меньшей мере, одного из верхнего соседнего блока или левого соседнего блока текущего блока видео.
25. Способ по п. 21, в котором Н зависит от режима кодирования текущего блока видео.
26. Способ по п. 23, в котором L имеет значение в зависимости от доступности нижнего левого блока или нижней левой выборки, которая расположена рядом с текущим блоком видео.
27. Способ по п. 21, в котором выборки цветности выбираются на основании первого значения (F) смещения позиции и значения (S) шага, которые зависят от H.
28. Способ по п. 27, в котором верхняя левая выборка имеет координату (x0, y0) и выбранные выборки цветности имеют координаты (x0-1, y0 + F + K × S), K является целым числом между 0 и kМax.
29. Способ по п. 27, в котором F = H/P или F = H/P + offset, P является целым числом.
30. Способ по п. 29, в котором F = H >> (2 + numIs4L), в котором numIs4L равно 1 в случае наличия четырех выбранных соседних выборок в левом соседнем столбце; в противном случае равен 0.
31. Способ по п. 27, в котором S = H/Q, Q является целым числом.
32. Способ по п. 27, в котором S равен не менее 1.
33. Способ по п. 31 или 32, в котором s = max (1, Н >> (1 + numIs4L)), в котором numIs4L равен 1 в случае наличия четырех выбранных соседних выборок в левом соседнем столбце и в противном случае, numIs4L равно 0.
34. Способ по п. 30 или 33, в котором numIs4L равен 1 в случае, если доступны верхние соседние выборки, доступны левые соседние выборки и текущий блок видео кодируется нормальным CCLM, который отличается от первого CCLM, использующий только левые соседние выборки, и отличается от второго CCLM, использующий только верхние соседние выборки.
35. Способ по п. 27, в котором F = S R, R является целым числом.
36. Способ по п. 27, в котором S = F/Z, Z является целым числом.
37. Способ по любому из пп. 28-36, в котором, по меньшей мере, один из Kмах, F, S или offset зависит от режима предсказания текущего блока видео, который является одним из: первым CCLM, использующий только левые соседние выборки, вторым CCLM с использованием только верхних соседних выборок, нормальным CCLM с использованием, как левых соседних, так и верхних соседних выборок, либо другие режимы, отличные от первого CCLM, второй CCLM и нормального CCLM.
38. Способ по любому из пп. 28-36, в котором, по меньшей мере, один из Kмах, F, S или offset зависит от ширины и/или высоты текущего блока видео.
39. Способ по любому из пп. 28-36, в котором, по меньшей мере, один из Kмах, F, S или offset зависит от H.
40. Способ по любому из пп. 28-36, в котором, по меньшей мере, один из Kмах, F, S или offset зависит от доступности соседних выборок.
41. Способ по п. 21, в котором H устанавливается на сумму высоты текущего блока видео и ширины текущего блока видео в случае доступности верхнего правого соседнего блока текущего блока видео.
42. Способ по п. 21, в котором в случае, когда левые соседние выборки недоступны, выбранные выборки цветности имеют высоту H независимо от того, имеет ли текущий блок видео первый CCLM, используя только верхние соседние выборки или нет.
43. Способ по п. 1, в котором W устанавливается на сумму высоты текущего блока видео и ширины текущего блока видео в случае наличия нижнего левого соседнего блока текущего блока видео.
44. Способ по п. 1, в котором в случае недоступности верхних соседних выборок, выбранные выборки цветности имеют номер W, независимо от того, имеет ли текущий блок видео первый CCLM, используя только левые соседние выборки или нет.
45. Способ по любому из пп. 1-44, в котором выполнение преобразования включает в себя генерирование кодированного представления из текущего блока.
46. Способ по любому из пп. 1-44, в котором выполнение преобразования включает в себя генерирование текущего блока из закодированного представления.
47. Устройство в системе видео, содержащее процессор и постоянную память с инструкциями, в котором инструкции при выполнении процессором побуждают процессор выполнить способ по любому из пп. 1-46.
48. Компьютерный программный продукт, хранящийся на постоянном машиночитаемом носителе, компьютерный программный продукт включает в себя программный код для выполнения способа по любому из пп. 1-46.
Второй набор пунктов описывает конкретные признаки и аспекты раскрытых технологий, перечисленных в предшествующем разделе, включающий в себя, например, примеры 18 и 19.
1. Способ обработки видео, содержащий: определение, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, параметров межкомпонентной линейной модели (CCLM) на основании двух или четырех выборок цветности и/или соответствующих выборок яркости; и выполнение преобразования на основании определения.
2. Способ по п. 1, в котором соответствующие выборки яркости получают посредством понижающей дискретизации.
3. Способ по п. 1, в котором прежде всего получают MaxY/MaxC, MinY и MinC и используются для получения параметров.
4. Способ по п. 3, в котором параметры получают на основании 2-точечного похода.
5. Способ по п. 3, в котором две выборки цветности выбраны для получения MaxY/MaxC и MinY/MinC, и в котором MinY устанавливается на меньшее значение выборки яркости, MinС является его соответствующим значением выборки цветности, MaxY установлено на наибольшее значение выборки яркости и MaxC является его соответствующим значением выборки цветности.
6. Способ по п. 3, в котором четыре выборки цветности выбираются для получения MaxY/MaxC и MinY/MinC и, в котором четыре выборки цветности и соответствующие выборки яркости делятся на два массива G0 и G1, каждый массив включает в себя две выборки цветности и их соответствующие выборки яркости.
7. Способ по п. 6, в котором два массива 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 включают в себя четыре выборки цветности соответственно и дополнительно включают в себя соответствующие выборки яркости, соответственно.
8. Способ по п. 7, в котором при сравнении двух значений выборки яркости G0 [0] и G0 [1], выборка цветности и ее соответствующая выборка яркости в G0 [0] заменяются на те же в G0 [1].
9. Способ по п. 8, в котором выборка цветности и ее соответствующая выборка яркости G0 [0] заменяются на те же G0 [1] в случае, когда значение выборки яркости G0 [0] больше, чем значение выборки яркости G0 [1].
10. Способ по п. 7, в котором при сравнении двух значений выборки яркости G1 [0] и G1 [1], выборка цветности и ее соответствующая выборка яркости в G1 [0] заменяются на те же G1 [1].
11. Способ по п. 10, в котором выборка цветности и ее соответствующая выборка яркости G1 [0] заменяются на те же G1 [1] в случае, когда значение выборки яркости G1 [0] больше, чем значение выборки яркости G1 [1].
12. Способ по п. 6, в котором при сравнении двух значений выборки яркости G0 [0] и G1 [1], выборки цветности и их соответствующие выборки яркости G0 заменяются на те же G1.
13. Способ по п. 12, в котором выборки цветности и их соответствующие выборки яркости G0 заменяются на те же G1 в случае, когда значение выборки яркости G0 [0] больше, чем значение выборки яркости G1 [1].
14. Способ по п. 7, в котором при сравнении двух значений выборки яркости G0 [1] и G1 [0], выборка цветности и ее соответствующая выборка яркости G0 [1] заменяется на ту же G1 [0].
15. Способ по п. 14, в котором выборка цветности и ее соответствующая выборка яркости G0 [1] заменяются на ту же G1 [0] в случае, когда значение выборки яркости G0 [1] больше, чем значение выборки яркости G1 [0].
16. Способ по п. 7, в котором при сравнении двух значений выборки яркости G0 [0], G0 [1], G1 [0] и G1 [1], последующие операции замены проводятся выборочно в порядке: i) операция замены выборки цветности и ее соответствующей выборки яркости G0 [0] на те же из G0 [1], ii) операция замены выборки цветности и ее соответствующей выборки яркости G1 [0] на те же G1 [1], iii) операция замены выборок цветности и их соответствующих выборок яркости G0 на те же G1 и iv) операция замены выборки цветности и ее соответствующей выборки яркости G0 [1] на те же G1 [0].
17. Способ по п. 7 или 16, в котором maxY рассчитывается на основании суммы значений выборки яркости G1 [0] и G1 [1] и maxC рассчитывается на основании суммы значений выборки яркости G1 [0] и G1 [1].
18. Способ по п. 7 или 16, в котором maxY рассчитывается как среднее значений выборки яркости G0 [0] и G0 [1] и maxC рассчитывается как среднее значений выборки цветности G0 [0] и G0 [1] или среднее значений выборки цветности G1 [0] и G1 [1].
19. Способ по п. 7 или 16, в котором minY рассчитывается на основании суммы значений выборки яркости G0 [0] и G0 [1] и minC рассчитывается суммы значений выборки G0 [0] и G0 [1].
20. Способ по п. 7 или 16, в котором minY вычисляется на основании среднего значений выборки яркости G0 [0] и G0 [1] и minC рассчитывается на основании значений выборки цветности G0 [0] и G0 [1]
21. Способ по пп. 17-20, в котором 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] или iv) операция замены выборки цветности и соответствующих выборок яркости G0 [0] на G0 [1].
22. Способ по п. 1, в котором в случае наличия только двух выборок цветности, на двух доступных выборках цветности выполняется заполнение для предоставления четырех выборок цветности и также выполненная на двух соответствующих доступных выборок яркости для предоставления четырех выборок яркости.
23. Способ по п. 22, в котором четыре выборки цветности включают в себя две доступные выборки цветности и две выборки цветности заполнения, которые скопированы из двух доступных выборок цветности и четыре соответствующих выборок яркости включают в себя две доступные выборки яркости и две выборки заполнения яркости, которые скопированы из двух доступных выборок яркости.
24. Способ по п. 7, в котором S0, S1, S2, S3 являются выборками цветности и соответствующие выборки яркости выбираются в заданном порядке в пределах верхней строки и/или левого столбца текущего блока видео.
25. Способ для обработки видео, содержащий: выбор, для преобразования между текущим блоком видео, который представляет собой блок цветности, и кодированным представлением видео, выборок цветности на основании правила позиции, выборки цветности используются для получения параметров межкомпонентной линейной модели (CCLM); и выполнение преобразования на основании определения, в котором правило позиции указывает выбрать выборки цветности, которые расположены в пределах верхней строки и/или левой столбца текущего блока видео.
26. Способ по п. 25, в котором верхняя строка и левый столбец имеют W выборки и Н выборки, соответственно W и H, являются шириной и высотой текущего блока видео, соответственно.
27. Способ по п. 26, в котором правило позиции применяется для текущего блока видео, закодированного нормальным CCLM режимом, отличающийся от первого CCLM режима, который использует только верхние соседние выборки для получения параметров межкомпонентной линейной модели и от второго CCLM режима, который использует только левые соседние выборки для получения параметров межкомпонентной линейной модели.
28. Способ по п. 26, в котором правило позиции указывает выбрать выборки цветности, которые расположены в пределах верхней строки и верхней правой строки текущего блока видео.
29. Способ по п. 28, в котором верхняя строка и верхняя правая строка имеют W выборок и H выборок, соответственно, W и H являются шириной и высотой текущего блока видео, соответственно.
30. Способ по п. 28, в котором выбираются только доступные выборки в пределах верхней строки и верхней правой строки.
31. Способ по п. 28, в котором правило позиции применяется для текущего блока видео, кодированного первым CCLM режимом, который использует только верхние соседние выборки для получения параметров межкомпонентной линейной модели.
32. Способ по п. 28, в котором правило позиции применяется к случаю доступности верхней строки, и левый столбец недоступен, и что текущий блок видео закодирован нормальным CCLM режимом, который отличается от первого CCLM режима, который использует только верхние соседние выборки для получения параметров CCLM, и от второго CCLM режима, который использует только в левые соседние выборки для получения параметров межкомпонентной линейной модели.
33. Способ по любому из пп. 26-32, в котором numSampT устанавливается на основании правила, указывающего, что numSampT устанавливается равным nTbW в случае, когда доступны верхние соседние выборки, и numSampT устанавливается равным 0 в случае, когда верхние соседние выборки недоступны и, в котором numSampT представляет собой количество выборок цветности в пределах верхней соседней строки, используемой для получения параметров межкомпонентной линейной модели, и nTbW представляет собой ширину текущего блока видео.
34. Способ по п. 33, в котором правило применяется для текущего блок видео, закодированного нормальным CCLM режимом, который отличается от первого CCLM режима, который использует только верхние соседние выборки для получения CCLM, и от второго CCLM режима, который использует только левые соседние выборки для получения параметров межкомпонентной линейной модели.
35. Способ по любому из пп. 26-32, в котором numSampT устанавливается на основании правила, указывающего, что numSampT устанавливается равным nTbW + Min(numTopRight, nTbH) в случае, если верхние соседние выборки доступны и текущий блок видео кодируется первым CCLM режимом, который использует только верхние соседние выборки для получения параметров межкомпонентной линейной модели и, в противном случае, numSampT устанавливается равным 0 и, в котором numSampT представляет собой количество выборок цветности в пределах верхней соседней строки, используемой для получения параметров межкомпонентной линейной модели, nTbW и nTbH представляют собой ширину и высоту текущего блока, соответственно, и numTopRight представляет собой количество доступных верхних правых соседних выборок.
36. Способ по п. 25, в котором правило позиции указывает выбрать выборки цветности, которые расположены в левом столбце и в нижнем левом столбце текущего блока видео.
37. Способ по п. 36, и, в котором левый столбец и нижний левый столбец имеют H выборок и W выборок, соответственно, W и H являются шириной и высотой текущего блока видео соответственно.
38. Способ по п. 36, в котором выбираются только доступные выборки в левом столбце и нижнем левом столбце.
39. Способ по п. 36, в котором правило позиции применяется для текущего блока видео, кодированного вторым CCLM режимом, который использует только левые соседние выборки для получения параметров межкомпонентной линейной модели.
40. Способ по п. 36, в котором правило позиции применяется к случаю, когда верхняя строка недоступна и левый столбец доступен и, что текущий блок видео кодируется нормальным CCLM режимом, который отличается от первого CCLM режима, который использует только верхние соседние выборки для получения параметров CCLM, и от второго CCLM режима, который использует только левые соседние выборки для получения параметров межкомпонентной линейной модели.
41. Способ по любому из пп. 36-40, в котором numSampL устанавливается на основании правила, указывающего, что numSampL устанавливается равным nTbH в случае, если левые соседние выборки доступны и, в противном случае, numSampL устанавливается равным 0 и, в котором numSampL представляет количество выборок цветности в левом соседнем столбце, используемом для получения параметров межкомпонентной линейной модели, и nTbH представляет собой высоту текущего блока видео.
42. Способ по п. 41, в котором правило применяется для текущего блока видео, кодированного нормальным CCLM режимом, который отличается от первого CCLM режима, который использует только верхние соседние выборки для получения CCLM, и от второго CCLM режима, который использует только левые соседние выборки для получения CCLM.
43. Способ по любому из пп. 36-40, в котором numSampL установлен на основании правила, указывающее, что numSampL устанавливается равным nTbH + Min(numLeftBelow, nTbW) в случае, когда левые соседние выборки доступны и текущий блок видео кодируется с помощью второго CCLM режима, который использует только левые соседние выборки для получения параметров межкомпонентной линейной модели и, что в противном случае, numSampL устанавливается равным 0, и в которой numSampL представляет собой количество выборок цветности в левом соседнем столбце, используемого для получения параметров межкомпонентной линейной модели, nTbW и nTbH представляют собой ширину и высоту текущего блока, соответственно, и numLeftBelow представляет собой количество доступных нижних левых соседних выборок.
44. Способ по любого из пп. 25-43, в котором выборки яркости, соответствующие выбранным выборкам цветности, используются для получения параметров межкомпонентной линейной модели.
45. Способ по п. 44, в котором выборки яркости получают посредством понижающей дискретизации.
46. Способ по любому из пп. 1-45, в котором выполнение преобразования включает в себя генерирование кодированного представления из текущего блока.
47. Способ по любому из пп. 1-45, в котором выполнение преобразования включает в себя генерирование текущего блока из закодированного представления.
48. Способ по любому из пп. 1-47, в котором CCLM использует совместно расположенные выборки компонента яркости с понижающей дискретизацией для получения значений предсказания выборок компонента цветности текущего блока на основании линейной модели, включающей в себя параметры межкомпонентной линейной модели.
49. Устройство в системе видео, включающее в себя процессор и постоянную память с инструкциями, в котором инструкции при выполнении процессором побуждают процессор выполнять способ по любому из пп. 1-48.
50. Компьютерный программный продукт, хранящийся на постоянном машиночитаемом носителе, компьютерный программный продукт включает в себя программный код для выполнения способа по любому из пп. 1-48.
Третий набор пунктов описывает конкретные признаки и аспекты раскрытых технологий, перечисленных в предшествующем разделе, включающий в себя, например, примеры 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.
Четвертый набор пунктов описывает конкретные признаки и аспекты раскрытых технологий, перечисленных в предшествующем разделе.
1. Способ обработки видео, содержащий: определение для текущего ведеоблока, который содержит блок цветности и основан на двух или более выборок цветности, набор значений параметров линейной модели, в котором две или более выборки цветности выбираются из группы соседних выборок цветности в блок цветности, и построение на основании линейной модели текущего ведеоблока.
2. Способ по п. 1, в котором верхняя-левая выборка блока цветности представляет собой (x, y), в котором ширина и высота блока цветности представляют собой W и H, соответственно, а в том, что группа соседних выборок цветности содержит:
Выборка А координатами (x - 1, y),
Выборка D с координатами (x - 1, y + h - 1),
Выборка J с координатами (x, y - 1), и
Выборка М с координатами (x + w - 1, y - 1).
3. Способ по п. 2, в котором верхний левый соседний блок и вышеупомянутый соседний блок текущего видеоблока доступны и, в котором два или более выборки цветности содержат выборки A, D, J и M.
4. Способ по п. 2, в котором верхний левый соседний блок текущего видеоблока доступен, и в котором два или более выборки цветности содержат выборки A и D.
5. Способ по п. 2, в котором верхний соседний блок текущего видеоблока доступен, и в котором две или более выборки цветности содержат выборки J и M.
6. Способ обработки видео, содержащий: генерирование для текущего видеоблока, который содержит блок цветности, множество групп, содержащих выборки цветности и яркости соседнего блока текущего видеоблока; определение, на основании множества групп, максимальных и минимальных значений, набор значений для параметров линейной модели; и восстановление на основании линейной модели текущего видеоблока.
7. Способ по п. 6, в котором генерирование множества групп основано на доступности соседнего блока текущего видеоблока.
S0
S1
Sm
Si
S0
S1
Sm
Si
S0
S1
Sm
Si
S0
S1
Sm
Si
8. Способ по п. 6, в котором множество групп составляют S0 и S1, в котором максимальное значение яркости рассчитывается как maxL = f1(maxL, maxL,…, maxL, где f1 представляет собой первую функцию и maxL является максимальным значением яркости группы Si множества групп, в котором максимальное значение цветности рассчитывается как maxC = f2(maxC, maxC,…, maxC, где f2 представляет собой вторую функцию, maxC является максимальным значением цветности группы Si, в которой минимальное значение яркости рассчитывается как minL = f3(minL, minL,…, minL), в котором f3 представляет собой третью функцию, и minL является минимальным значением яркости группы Si, где рассчитывается минимальное значение цветности как minC = f4(minC, minC,…, minC), в котором f4 представляет собой четвертую функцию, и minC является максимальным значением цветности из группы Si, и, в котором параметры линейной модели Содержит α и β, которые рассчитываются как α = (maxC − minC) / (maxL − minL) and β = minC − α×minL.
9. Способ по п. 8, в котором верхняя левая выборка блока цветности представляет собой (x, y), в котором ширина и высота блока цветности представляют собой W и H, соответственно, и в котором группа соседних выборок цветности содержит.
Выборку А координатами (x - 1, y),
Выборку D с координатами (x - 1, y + h - 1),
Выборку J с координатами (x, y - 1) и
Выборку М с координатами (x + w - 1, y - 1).
S0
S0
S0
S0
S1
S1
S1
S1
10. Способ по п. 9, в котором доступны верхний левый соседний блока и верхний блок текущего видеоблока, в котором максимальные значения яркости и цветности и минимальные значения яркости и цветности для группы S0 (maxL, maxC, minL и minLсоответственно) основаны на выборках A и D, в которой максимальные значения яркости и цветности и минимальные значения яркости и цветности для группы S1 (maxL, maxC, minL и minLсоответственно) основаны на выборках J и M, в котором
S0
S1
S0
S1
maxL = (maxL + maxL) / 2, maxC = (maxC + maxC) / 2,
S0
S1
S0
S1
minL = (minL + minL) / 2 and minC = (minC + minC)/2.
11. Способ по п. 9, в котором доступен верхний левый соседний блок текущего видеоблока, и в котором maxL, maxC, minL и minC основаны на выборках A и D.
12. Способ по п. 9, в котором доступен выше соседний блок текущего видеоблока, и в котором maxL, maxC, minL and minC основаны на выборках J и M.
13. Способ по п. 6, в котором параметры линейной модели содержат α и β, которые рассчитываются как
α = 0 и β = 1 << (bitDepth − 1),
в котором BitDepth является битовой глубиной выборки цветности.
14. Способ по п. 6, в котором генерирование множества групп основано на высоте или ширине текущего видеоблока.
15. Способ для обработки видео, содержащий:
генерирование выборок яркости и цветности с понижающей дискретизацией путем понижающей дискретизации выборок яркости и цветности соседнего блока текущего видеоблока с высотой (H) и шириной (W);
определение, основанное на выборках яркости и цветности с понижающей дискретизацией, набора значений для параметров линейной модели для текущего видеоблока; и
восстановление, основанное на линейной модели, текущего видеоблока.
16. Способ по п. 15, в котором понижающая дискретизация основана на высоте или ширине.
17. Способ по п. 16, в котором W < H.
18. Способ по п. 16, где W > H.
19. Способ по п. 15, в котором верхняя левая выборка текущего видеоблока представляет собой R [0, 0], в котором выборки цветности с понижающей дискретизацией содержат выборки R [-1, k × H / W] и где K - неотрицательное целое число от 0 до W-1.
20. Способ по п. 15, в котором верхняя левая выборка текущего видеоблока представляет собой R [0, 0], в котором выборки цветности с понижающей дискретизацией содержат выборки R [K × H / W, -1], и K - неотрицательное целое число от 0 до H-1.
21. Способ по п. 15, в котором процесс уточнения выполняется на выборках яркости и цветности с понижающей дискретизацией перед использованием определения набора значений для параметров линейной модели для текущего видеоблока.
22. Способ по п. 21, в котором процесс уточнения содержит процесс фильтрации.
23. Способ по п. 21, в котором процесс уточнения содержит нелинейный процесс.
24. Способ по 15, в котором параметры линейной модели являются α и β, в котором α = (C1−C0) / (L1−L0) и β = C0 − αL0, где C0 и C1 являются выборками цветности и в котором L0 и L1 являются выборками яркости.
25. Способ по п. 24, в котором C0 и L0 основываются на S выборках яркости и цветности с понижающей дискретизацией, обозначены {Lx1, Lx2, …, LxS} и {Cx1, Cx2, …, CxS}, соответственно, где C1 и L1 основаны на T выборках яркости и цветности с понижающей дискретизацией, обозначаемые {Ly1, Ly2, …, LyT} и {Cy1, Cy2, …, CyT}, соответственно,
когда C0 = f0(Cx1, Cx2, …, CxS), L0 = f1(Lx1, Lx2, …, LxS), C1 = f2(Cy1, Cy2, …, CyT) и L1 = f1(Ly1, Ly2, …, LyT), и
в котором f0, f1, f2 и f3 являются функциями.
26. Способ по п. 25, в котором f0 и f1 являются первой функцией.
27. Способ по п. 25, в котором f2 и f3 являются второй функцией.
28. Способ по п. 25, в котором f0, f1, f2 и f3 представляют собой третью функцию.
29. Способ по п. 28, в котором третья функция является функцией усреднения.
30. Способ по п. 25, в котором S = T.
31. Способ по п. 25, в котором {lx1, lx2, ..., lxs} являются минимальными выборками группы выборок яркости.
32. Способ по п. 25, в котором {lx1, lx2, ..., lxs} являются наибольшими выборками группы выборок яркости.
33. Способ по п. 31 или 32, в котором группа выборок яркости содержит все соседние выборки, используемые в VTM-3.0, для получения параметров линейной модели.
34. Способ по п. 31 или 32, в котором группа выборок яркости содержит подмножество соседних выборок, используемых в VTM-3.0, для получения параметров линейной модели и, в котором подмножество исключает все соседние выборки.
35. Способ по п. 1, в котором выбираются две или более выборки цветности из одного или нескольких левых столбцов, верхней строки, верхней правой строки или нижнего левого столбца относительно текущего видеоблока.
36. Способ по п. 1, в котором выборки выбираются на основании соотношения высоты текущего видеоблока для получения ширины текущего видеоблока.
37. Способ по п. 1, в котором две или более выборки блока цветности выбираются на основе режима кодирования текущего видеоблока.
38. Способ по п. 37, в котором режим кодирования текущего видеоблока является первым линейным режимом, который отличается от второго линейного режима, который использует только для левых соседних выборок, и третий линейный режим, который использует только верхние соседние выборки, в которых координаты верхней левой выборки текущего видеоблока представляют собой (X, Y) и, где ширина и высота текущего видеоблока являются W и H, соответственно.
39. Способ по п. 38, в котором две или более выборки цветности содержат выборки с координатами (x-1, y), (x, y-1), (x-1, y + h-1) и (X + W-1, Y-1).
40. Способ по п. 38, в котором две или более выборки цветности содержат выборки с координатами (X-1, Y), (x, y-1), (x - 1, y + h - h / w -1) и (X + W-1, Y-1) и где H> W.
41. Способ по п. 38, в котором две или более выборки цветности содержат выборки с координатами (X-1, Y), (x, y-1), (x - 1, y + h -1) и (x + w - w / h-1, y-1) и где h <w.
42. Способ по п. 38, в котором две или более выборки цветности содержат выборки с координатами (x-1, y), (x, y-1), (x-1, y + h - max (1 , H / w)) и (x + w- max (1, w / h), y-1).
43. Способ по п. 38, в котором две или более выборки цветности содержат выборки с координатами (x, y-1), (x + w / 4, y-1), (x + 2 * w / 4 , y-1) и (x + 3 * w / 4, y - 1).
44. Способ по п. 38, в котором две или более выборки цветности содержат выборки с координатами (x, y-1), (x + w / 4, y-1), (x + 3 * w / 4 , y - 1) и (x + w - 1, y -1).
45. Способ по п. 38, в котором две или более выборки цветности содержат выборки с координатами (x, y-1), (x + (2w) / 4, y-1), (x + 2 * 2W) / 4, Y-1) и (x + 3 * (2w) / 4, y - 1).
46. Способ по п. 38, в котором две или более выборки цветности содержат выборки с координатами (x, y-1), (x + (2w) / 4, y-1), (x + 3 * 2 Вт) / 4, y - 1) и (x + (2w) -1, y-1).
47. Способ по п. 38, в котором две или более выборки цветности содержат выборки с координатами (x-1, y), (x -1, y + h / 4), (x -1, y + 2 * H / 4) и (x -1, y + 3 * h / 4).
48. Способ по п. 38, в котором две или более выборки цветности содержат выборки с координатами (x - 1, y), (x - 1, y + 2 * h / 4), (x -1, y + 3 * H / 4) и (x -1, y + h-1).
49. Способ по п. 38, в котором две или более выборки цветности содержат выборки с координатами (X-1, Y), (x -1, y + (2H) / 4), (x -1, y + 2 * (2H) / 4) и (x -1, y + 3 * (2H) / 4).
50. Способ по п. 38, в котором две или более выборки цветности содержат выборки с координатами (X-1, Y), (x - 1, y + 2 * (2H) / 4), (x -1, Y + 3 * (2H) / 4) и (x -1, y + (2H) -1).
51. Способ по любому из пп. 39-50, в котором выбирают ровно две из четырех выборок для определения набора значений для параметров линейной модели.
52. Способ по любому из пп. 1-51.
53. Устройство для кодирования видео содержащее процессор, выполненный с возможностью выполнять способ по любому из пп. 1-51.
54. Устройство в системе видео, содержащее процессор и постоянную память с инструкциями на ней, в котором инструкции при выполнении процессором побуждают процессор выполнить способ по любому из пп. 1-51.
55. Компьютерный программный продукт, хранящийся на постоянном машиночитаемом носителе, компьютерный программный продукт включает в себя программный код для выполнения способа по любому из пп. 1-51.
Как очевидно из вышеизложенного, в настоящем документе было приведено описание конкретных вариантов осуществления настоящего изобретения в целях иллюстрации, но могут быть осуществлены различные модификации в рамках объема настоящего изобретения. Соответственно, настоящее изобретение не ограничено, за исключением прилагаемой формулой изобретения.
Реализации предмета изобретения и функциональных операций, описанных в этом патентном документе, могут быть осуществлены в различных системах, цифровой электронной схеме или в компьютерном программном обеспечении, встроенной программе или аппаратном обеспечении, включающим в себя структуры, раскрытые в этой спецификации и их структурных эквивалентах, или в комбинациях одного или нескольких из них. Реализации описанного в этой спецификации предмета изобретения могут быть осуществлены в виде одного или нескольких компьютерных программных продуктов, т.е. одного или нескольких модулей компьютерных программных инструкций, закодированных на материальном и постоянном машиночитаемом носителе, для выполнения или для управления операцией, устройства обработки данных. Машиночитаемый носитель может быть машиночитаемым устройством хранения, машиночитаемой подложкой для хранения, устройством памяти, композицией, влияющей на машиночитаемый передаваемый сигнал или комбинацию одного или нескольких из них. Термин «блок обработки данных» или «устройство обработки данных» охватывает все устройства, приспособления и машины для обработки данных, включающие в себя в качестве примера программируемый процессор, компьютер или множество процессоров или компьютеров. Дополнительно к аппаратному обеспечению, устройство может включать в себя код, который формирует условия выполнения упомянутой компьютерной программы, например, код, который формирует встроенную программу процессора, стек протокола, систему управления базами данных, операционную систему или комбинацию одного или больше из них.
Компьютерная программа (также известная как программа, программное обеспечение, программное приложение, скрипт или код) может быть записана в любой форме языка программирования, включающей в себя скомпилированные или интерпретированные языки, и может быть развернута в любой форме, включающей в себя как автономную программу или модуль, компонент, подпрограмму или другой блок, подходящий для использования в вычислительной среде. Компьютерная программа не обязательно соответствует файлу в файловой системе. Программа может храниться в части файла, который содержит другие программы или данные (например, один или несколько скриптов, хранящихся в документе языка разметки), в одном файле, выделенном рассматриваемой программе, либо в нескольких скоординированных файлах (например, файлы, которые хранят один или несколько модулей, подпрограмм или части кода). Компьютерная программа может быть развернута для выполнения на одном компьютере или на нескольких компьютерах, которые расположены на одном месте или распределены на нескольких местах и взаимосвязаны с помощью сети связи.
Процессы и логические потоки, описанные в этой спецификации, могут выполняться одним или несколькими программируемыми процессорами, выполняющими одну или несколько компьютерных программ для выполнения функций, работающих на входных данных и генерирующих выходные данные. Процессы и логические потоки также могут быть выполнены, и устройство также может быть реализовано, как специальная логическая схема, например, FPGA (программируемая пользователем вентильная матрица) или ASIC (специализированная интегральная схема).
Процессоры, подходящие для выполнения компьютерной программы, включают в себя в качестве примера, как микропроцессоры общего назначения, так и специального назначения, и любой тип цифрового компьютера. Как правило, процессор принимает инструкции и данные из постоянной памяти или памяти произвольного доступа или обоих. Основные элементы компьютера являются процессором для выполнения инструкций и одним или несколькими устройствами памяти для хранения инструкций и данных. Как правило, компьютер также будет включать в себя или оперативно соединен с для приема данных или передачи данных, или оба, одно или несколько устройств хранения данных большого объема, например, магнитных, магнит-оптических дисков или оптических дисков. Однако компьютер не должен иметь такие устройства. Машиночитаемые носители, подходящие для хранения компьютерных программных инструкций и данных, включают в себя все формы постоянной память, устройств памяти и информации, включающие в себя, в качестве примера, полупроводниковые устройства памяти, например, EPROM, EЕPROM и устройства флэш-памяти. Процессор и память могут быть дополнены или включены в систему, логической схемой специального назначения.
Спецификация вместе с чертежами должна рассматриваться только в качестве примера, в котором примерный означает пример. Используемый в настоящем документе предлог «или» охватывает значение «и/или», если только контекст явно не указывает иное.
Настоящий патентный документ содержит множество отличительных признаков, но они не должны рассматриваться как ограничения объема любого изобретения или того, что может быть заявлено, но скорее как описания признаков, которые могут быть специфическими для конкретных вариантов осуществления конкретных изобретений. Конкретные признаки, которые описаны в этом патентном документе в контексте отдельных вариантов осуществления, также могут быть реализованы в комбинации в одном варианте осуществления. И наоборот, различные признаки, которые описаны в контексте одного варианта осуществления, также могут быть реализованы в нескольких вариантах осуществления отдельно или в любой подходящей подкомбинации. Более того, хотя описанные ранее признаки могут рассматриваться, как действующие в определенных комбинациях и, даже первоначально заявленные как таковые, один или несколько признаков из заявленной комбинации могут в некоторых случаях, могут быть исключены из комбинации, и заявляемая комбинация может быть использована в качестве подкомбинации или изменения подкомбинации.
Аналогично, в то время как на чертежах операции изображены в определенном порядке, не следует рассматривать данный порядок как требуемый для выполнения таковых операций, как указанный порядок или что все иллюстрированные операции должны быть выполнены для получения требуемых результатов. Более того, разделение различных компонентов системы в вариантах осуществления, описанных в этом патентном документе, не следует понимать, как требуемое разделение во всех вариантах осуществления.
Описаны только несколько реализаций и примеров, и могут быть осуществлены другие реализации, улучшения и вариации на основании описания и чертежей, которые приведены в настоящем патентном документе.