ВИДЕОКОДЕР, ВИДЕОДЕКОДЕР И СООТВЕТСТВУЮЩИЕ СПОСОБЫ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ
VIDEO ENCODER, VIDEO DECODER, AND CORRESPONDING METHODS FOR ENCODING AND DECODING

Область техники, к которой относится изобретение
Варианты осуществления настоящего изобретения в целом относятся к способам кодирования и декодирования видеоданных и, в частности, относятся к способам внутреннего предсказания с использованием перекрестной компоненты линейной модели (CCLM).
Уровень техники
Цифровое видео широко использовалось с момента появления универсальных цифровых дисков (DVD). Помимо распространения видеопрограмм с использованием DVDs, в настоящее время видеопрограммы могут передаваться с использованием проводных компьютерных сетей (таких как интернет) или сетей беспроводной связи. Перед передачей видеоданных с использованием среды передачи видео кодируется. Зритель принимает закодированное видео и использует устройство просмотра для декодирования и отображения видео. С годами качество видео улучшалось, например, за счет более высоких разрешений, глубины цвета и частоты кадров. Повышение качества передаваемых видеоданных привело к увеличению объема потока данных и в настоящее время потоки с большим объемом данных обычно передаются через интернет и сети мобильной связи.
Видео с более высоким разрешением обычно требуют большей полосы пропускания из-за большего объема информации. Для снижения требования к полосе пропускания были введены схемы кодирования видео, использующие сжатие видео. Когда видео кодируется, требования к полосе пропускания (или соответствующие требования к памяти в случае хранения) снижаются по сравнению с некодированным видео. Часто это снижение происходит за счет качества. Таким образом, предпринимаются попытки найти баланс между требованиями к полосе пропускания и качеством в стандартах кодирования видео.
Поскольку необходимо непрерывно повышать качество и снижать требования к полосе пропускания, постоянно ведется поиск решений, которые поддерживают качество с уменьшенными требованиями к полосе пропускания или повышения качества при сохранении требований к полосе пропускания. Иногда компромиссы между ними могут быть приемлемыми. Например, может быть приемлемым увеличить требования к полосе пропускания при значительном повышении качества.
Высокоэффективное кодирование видео (HEVC) является широко известной схемой кодирования видео. В HEVC блок кодирования (CU) разделяется на множество блоков предсказания (PUs) или блоков преобразования (TUs). Стандартом кодирования видео следующего поколения является стандарт универсального кодирования видео (VVC), который представляет собой самый последний совместный проект кодирования видео группы экспертов по кодированию видео (VCEG) Международного союза электросвязи (ITU-T) и Международной организации по кодированию видео, группы экспертов по стандартизации/Международной электротехнической комиссии (ISO/IEC) по движущимся изображениям (MPEG). Две организации по стандартизации работают вместе в рамках партнерства, известного как Joint Video Exploration Team (JVET). Стандарт VVC также называют стандартом ITU-T H.266 или стандартом кодирования видео следующего поколения (NGVC). В стандарте VVC не применяют концепцию множества типов разделов, то есть, концепцию разделения CU, PU и TU за исключением случаев, когда это необходимо для CUs, размер которых слишком велик для максимальной длины преобразования, и VVC поддерживает большую гибкость для CU форм разделений.
Раскрытие сущности изобретения
Варианты осуществления настоящего изобретения обеспечивают устройства и способы для кодирования и декодирования видеоданных. В частности, с использованием выборок яркости для предсказания выборок цветности посредством внутреннего предсказания как части механизма кодирования видео, при этом кодирование с внутренним предсказанием с использованием перекрестной компоненты линейной модели может быть достигнуто гибким способом.
В прилагаемых независимых пунктах формулы изобретения изложены конкретные варианты осуществления и другие варианты осуществления представлены в зависимых пунктах формулы изобретения.
Согласно первому аспекту изобретение относится к способу декодирования видеоданных. Способ содержит:
определение блока яркости, который соответствует блоку цветности;
определение набора восстановленных соседних выборок яркости с пониженной дискретизацией, при этом набор восстановленных соседних выборок яркости с пониженной дискретизацией содержит множество восстановленных выборок яркости с пониженной дискретизацией, которые находятся над блоком яркости, и/или множество восстановленных выборок яркости с пониженной дискретизацией, которые находятся слева от блока яркости;
определение двух пар значений яркости и значений цветности в соответствии с N восстановленными выборками яркости с пониженной дискретизацией с максимальным значением и N восстановленными выборками цветности, которые соответствуют N восстановленным выборкам яркости с пониженной дискретизацией с максимальными значениями яркости, и/или M восстановленным выборкам яркости с пониженной дискретизацией с минимальным значением яркости и M восстановленным выборкам цветности, которые соответствуют M выборкам яркости с пониженной дискретизацией с минимальным значением, когда N восстановленные выборки яркости с пониженной дискретизацией с максимальным значением и/или M восстановленные выборки яркости с пониженной дискретизацией с минимальным значением содержатся в наборе восстановленных соседних выборок яркости с пониженной дискретизацией, в котором M, N являются положительными целыми числами и больше 1;
определение одного или более параметров линейной модели на основании определенных двух пар значения яркости и значения цветности;
определение блока предсказания на основании одного или более параметров линейной модели; и
декодирование с предсказанием по линейной модели (LM) блока цветности на основании блока предсказания, в котором предсказание по линейной модели (LM) содержит предсказание с использованием перекрестной компоненты линейной модели, много направленной линейной модели (MDLM) и MMLM.
В возможной форме реализации способа согласно первому аспекту как таковому, в котором набор восстановленных соседних выборок яркости с пониженной дискретизацией дополнительно содержит:
правую верхнюю соседнюю выборку яркости вне блока яркости и выборки яркости, которые находятся справа от верхней правой соседней выборки яркости вне блока яркости;
левую нижнюю соседнюю выборку яркости вне блока яркости и выборки яркости, которые находятся ниже левой нижней соседней выборки яркости вне блока яркости.
В возможной форме реализации способа согласно любой предшествующей реализации первого аспекта или первого аспекта как такового, в котором множество восстановленных выборок яркости, которые находятся над блоком яркости, являются восстановленными соседними выборками яркости, смежными с соответствующей верхней границей, и множество восстановленных выборок яркости, которые находятся слева от блока яркости, являются восстановленными соседними выборками яркости, смежными с соответствующей левой границей.
В возможной форме реализации способа согласно любой предшествующей реализации первого аспекта или первого аспекта как такового, в котором набор (с пониженной дискретизацией) восстановленных соседних выборок яркости исключает выборки яркости, которые находятся выше верхней левой соседней выборки яркости вне блока яркости и/или выборки яркости, которые находятся слева от верхней левой соседней выборки яркости вне блока яркости.
0
0
0
0
В возможной форме реализации способа согласно любой предшествующей реализации первого аспекта или первого аспекта как такового, в котором координата верхней левой выборки яркости блока яркости равна (x, y) и, в котором набор (с пониженной дискретизацией) восстановленных соседних выборок яркости исключает выборки яркости, имеющие координату x меньше xи координату y меньше y.
В возможной форме реализации способа согласно любой предшествующей реализации первого аспекта или первого аспекта как такового, в котором, когда N восстановленные выборки яркости с пониженной дискретизацией с максимальным значением и/или M восстановленные выборки яркости с пониженной дискретизацией с минимальным значением содержатся в наборе восстановленных соседних выборок яркости с пониженной дискретизацией, этап определения двух пар значения яркости и значения цветности содержит:
определение (или выбор) двух пар значения яркости и значения цветности на основании значения разницы между значением цветности каждой из первого множества пар значения яркости и значения цветности и значением цветности каждой из второго множества пар значения яркости и значения цветности, в котором упомянутая каждая из первого множества пар значения яркости и значения цветности содержит одну из N восстановленных выборок яркости с пониженной дискретизацией с максимальным значением и соответствующую восстановленную соседнюю выборку цветности, и упомянутая каждая из второго множества пары значения яркости и значения цветности содержат одну из M восстановленных выборок яркости с пониженной дискретизацией с минимальным значением и соответствующую восстановленную соседнюю выборку цветности.
В возможной форме реализации способа согласно любой предшествующей реализации первого аспекта или первого аспекта как такового, в котором наименьшая разность значений цветности находится между значением цветности первой пары значения яркости и значения цветности и значением цветности второй пары значения яркости и значения цветности, и первая пара значения яркости и значения цветности и вторая пара значения яркости и значения цветности, которые имеют наименьшую разность значений цветности, выбираются как упомянутые две пары значения яркости и значения цветности; или
наибольшая разность значений цветности между значением цветности третьей пары значения яркости и значения цветности и значением цветности четвертой пары значения яркости и значения цветности, и выбираются третья пара значения яркости и значения цветности и четвертая пара значения яркости значение и значения цветности, которые имеют наибольшую разницу значения цветности, как упомянутые две пары значения яркости и значения цветности. Например, первая пара значения яркости и значения цветности содержится в первом множестве пар значения яркости и значения цветности, например, вторая пара значения яркости и значения цветности включена во второе множество пар значения яркости и значения цветности. Например, третья пара значения яркости и значения цветности включена в первое множество пар значения яркости и значения цветности, например, четвертая пара значения яркости и значения цветности включена во второе множество пар значения яркости и значения цветности.
В возможной форме реализации способа согласно любой предшествующей реализации первого аспекта или первого аспекта как такового, в котором, когда N восстановленные выборки яркости с пониженной дискретизацией с максимальным значением и/или M восстановленные выборки яркости с пониженной дискретизацией с минимальным значением содержатся в наборе восстановленных соседних выборок яркости с пониженной дискретизацией, этап определения двух пар значения яркости и значения цветности содержит:
определение пятой пары значения яркости и значения цветности и шестой пары значения яркости и значения цветности как упомянутые две пары значения яркости и значения цветности,
в котором соответствующее значение цветности пятой пары значения яркости и значения цветности является средним значением цветности N восстановленных выборок цветности, которые соответствуют N восстановленным выборкам яркости с пониженной дискретизацией с максимальным значением, и соответствующее значение цветности шестой пары значения яркости и значения цветности представляет собой среднее значение цветности M восстановленных выборок цветности, которые соответствуют M восстановленным выборкам яркости с пониженной дискретизацией с минимальным значением. Значение яркости пятой пары значения яркости и значения цветности представляет собой значение яркости каждой из N восстановленных выборок яркости с пониженной дискретизацией с максимальным значением. Значение яркости шестой пары значения яркости и значения цветности является значением яркости каждой из M восстановленных выборок яркости с пониженной дискретизацией с минимальным значением.
В возможной форме реализации способа согласно любой предшествующей реализации первого аспекта или первого аспекта как такового, в котором набор восстановленных соседних выборок яркости с пониженной дискретизацией содержит первый набор восстановленных соседних выборок яркости с пониженной дискретизацией и второй набор восстановленных соседних выборок яркости с пониженной дискретизацией, в котором первый набор восстановленных соседних выборок яркости с пониженной дискретизацией содержит восстановленные соседние выборки яркости с пониженной дискретизацией, в котором значение яркости меньше или равно пороговому значению; и второй набор восстановленных соседних выборок яркости с пониженной дискретизацией содержит восстановленные соседние выборки яркости с пониженной дискретизацией, в котором значение яркости превышает пороговое значение.
В возможной форме реализации способа согласно любой предшествующей реализации первого аспекта или первого аспекта как такового, в котором декодирование с предсказанием LM блока цветности на основании блока предсказания содержит добавление блока предсказания к остаточному блоку для восстановления блока цветности.
В возможной форме реализации способа согласно любой предшествующей реализации первого аспекта или первого аспекта как такового, способ дополнительно содержит:
декодирование флага для текущего блока, который включает в себя блок яркости и блок цветности, в котором флаг указывает, что выполняется кодирование с предсказанием LM для блока цветности и, в котором декодирование флага содержит декодирование флага на основании контекста, содержащего один или более флагов, которые указывают, выполняется ли кодирование с предсказанием LM для соседних блоков.
Согласно второму аспекту изобретение относится к способу декодирования видеоданных, в котором способ содержит:
определение блока яркости, который соответствует блоку цветности;
определение набора (с пониженной дискретизацией) восстановленных соседних выборок яркости, в котором набор (с пониженной дискретизацией) восстановленных соседних выборок яркости содержит множество (с пониженной дискретизацией) восстановленных выборок яркости, которые находятся над блоком яркости, и/или множество (с пониженной дискретизацией) восстановленных выборок яркости, которые находятся слева от блока яркости;
определение двух пар значения яркости и значения цветности согласно N (с пониженной дискретизацией) восстановленных выборок яркости и N восстановленных выборок цветности, которые соответствуют N (с пониженной дискретизацией) восстановленным выборкам яркости и/или M (с пониженной дискретизацией) восстановленных выборок яркости и M восстановленных выборок цветности, которые соответствуют M (с пониженной дискретизацией) выборкам яркости, в котором минимальное значение N (с пониженной дискретизацией) восстановленных выборок яркости не меньше, чем значение яркости оставшихся (с пониженной дискретизацией) восстановленных выборок яркости набора (с пониженной дискретизацией) восстановленных соседних выборок яркости, и максимальное значение M (с пониженной дискретизацией) восстановленных выборок яркости не больше, чем значение яркости оставшихся (с пониженной дискретизацией) восстановленных выборок яркости набора восстановленных соседних выборок яркости с пониженной дискретизацией и M, N являются положительными целыми числами и больше 1. Другими словами, значение яркости любой из N восстановленных выборок яркости с пониженной дискретизацией больше, чем значение яркости любой из M восстановленных выборок яркости с пониженной дискретизацией и сумма N и M равна или меньше количества набора восстановленных соседних выборок яркости с пониженной дискретизацией.
определение одного или более параметров линейной модели на основании определенных двух пар значения яркости и значения цветности;
определение блока предсказания на основании одного или более параметров линейной модели; и
декодирование с предсказанием по линейной модели (LM) блока цветности на основании блока предсказания.
В возможной форме реализации способа согласно второму аспекту как таковому, в котором этап определения двух пар значения яркости и значения цветности содержит:
определение седьмой пары значения яркости и значения цветности и восьмой пары значения яркости и значения цветности как упомянутых двух пар значения яркости и значения цветности,
в котором значение яркости седьмой пары значения яркости и значения цветности является средним значением яркости упомянутых N (с пониженной дискретизацией) восстановленных выборок яркости, и значение цветности седьмой пары значения яркости и значения цветности является средним значением цветности упомянутых N восстановленных выборок цветности, которые соответствуют N восстановленным выборкам яркости (с пониженной дискретизацией); и, в котором значение яркости восьмой пары значения яркости и значения цветности является средним значением яркости упомянутых M (с пониженной дискретизацией) восстановленных выборок яркости, и значение цветности восьмой пары значения яркости и значения цветности является средним значением цветности упомянутых M восстановленных выборок цветности, которые соответствуют M (с пониженной дискретизацией) восстановленным выборкам яркости.
В возможной форме реализации способа согласно любой предшествующей реализации второго аспекта или второго аспекта как такового, в котором этап определения двух пар значения яркости и значения цветности содержит:
определение девятой пары значения яркости и значения цветности и десятой пары значения яркости и значения цветности как упомянутые две пары значения яркости и значения цветности,
в котором значение яркости девятой пары значения яркости и значения цветности является средним значением яркости упомянутых N (с пониженной дискретизацией) восстановленных выборок яркости в пределах первого диапазона значений яркости и значение цветности девятой пары значения яркости и значения цветности представляет собой среднее значение цветности упомянутых N восстановленных выборок цветности, которые соответствуют N (с пониженной дискретизацией) восстановленным выборкам яркости в пределах первого диапазона значений яркости; и
в котором значение яркости десятой пары значения яркости и значения цветности является средним значением яркости упомянутых M (с пониженной дискретизацией) восстановленных выборок яркости в пределах второго диапазона значений яркости и значение цветности десятой пары значения яркости и значения цветности представляет собой среднее значение цветности упомянутых M восстановленных выборок цветности, которые соответствуют M (с пониженной дискретизацией) восстановленным выборкам яркости в пределах второго диапазона значений яркости; в котором, любое значение из первого диапазона значений яркости больше любого значения яркости из второго диапазона.
1
2
В возможной форме реализации способа согласно любой предшествующей реализации второго аспекта или второго аспекта как такового, в котором первое значение яркости находится в диапазоне [MaxlumaValue-T, MaxlumaValue]; и/или второе значение яркости находится в диапазоне [MinlumaValue, MinlumaValue + T],
1
2
в котором MaxlumaValue и MinlumaValue представляют собой соответственно максимальное значение яркости и минимальное значение яркости в наборе восстановленных соседних выборок яркости с пониженной дискретизацией, и T, Tявляются заданными пороговыми значениями.
В возможной форме реализации способа согласно любой предшествующей реализации второго аспекта или второго аспекта как такового, в котором M и N равны или не равны.
В возможной форме реализации способа согласно любой предшествующей реализации второго аспекта или второго аспекта как такового, в котором M и N определяются на основании размера блока яркости.
В возможной форме реализации способа согласно любой предшествующей реализации второго аспекта или второго аспекта как такового, в котором M = (W + H) >> t, N = (W + H) >> r, в котором t и r являются количеством битов правого сдвига.
В возможной форме реализации способа согласно любой предшествующей реализации второго аспекта или второго аспекта как такового, в котором набор восстановленных соседних выборок яркости с пониженной дискретизацией дополнительно содержит:
верхнюю правую соседнюю выборку яркости вне блока яркости и выборки яркости, которые находятся справа от верхней правой соседней выборки яркости вне блока яркости;
левую нижнюю соседнюю выборку яркости вне блока яркости и выборки яркости, которые находятся ниже левой нижней соседней выборки яркости вне блока яркости.
В возможной форме реализации способа согласно любой предшествующей реализации второго аспекта или второго аспекта как такового, в котором множество восстановленных выборок яркости, которые находятся над блоком яркости, являются восстановленными соседними выборками яркости, смежными с соответствующей верхней границей, и множество восстановленных выборок яркости, которые находятся слева от блока яркости, являются восстановленными соседними выборками яркости, смежными с соответствующей левой границей.
В возможной форме реализации способа согласно любой предшествующей реализации второго аспекта или второго аспекта как такового, в котором набор (с пониженной дискретизацией) восстановленных соседних выборок яркости исключает выборки яркости, которые находятся выше верхней левой соседней выборкой яркости вне блока яркости и/или выборки яркости, которые находятся слева от верхней левой соседней выборки яркости вне блока яркости.
0
0
0
В возможной форме реализации способа согласно любой предшествующей реализации второго аспекта или второго аспекта как такового, в котором координата верхней левой выборки яркости блока яркости равна (x, y) и, в котором набор (с пониженной дискретизацией) восстановленных соседних выборок яркости исключает выборки яркости, имеющие координату x меньше x и координату y меньше y0.
В возможной форме реализации способа согласно любой предшествующей реализации второго аспекта или второго аспекта как такового, в котором набор восстановленных соседних выборок яркости с пониженной дискретизацией содержит первый набор восстановленных соседних выборок яркости с пониженной дискретизацией и второй набор восстановленных соседних выборок яркости с пониженной дискретизацией, в котором первый набор восстановленных соседних выборок яркости с пониженной дискретизацией содержит восстановленные соседние выборки яркости с пониженной дискретизацией, в котором значение яркости меньше или равно пороговому значению; и второй набор восстановленных соседних выборок яркости с пониженной дискретизацией содержит восстановленные соседние выборки яркости с пониженной дискретизацией, в котором значение яркости превышает пороговое значение.
Согласно третьему аспекту изобретение относится к устройству декодирования видеоданных, в котором устройство содержит:
память видеоданных; и
видеодекодер, выполненный с возможностью:
определять блок яркости, который соответствует блоку цветности;
определять набор (с пониженной дискретизацией) восстановленных соседних выборок яркости, в котором набор (с пониженной дискретизацией) восстановленных соседних выборок яркости содержит множество (с пониженной дискретизацией) восстановленных выборок яркости, которые находятся над блоком яркости, и/или множество (с пониженной дискретизацией) восстановленных выборок яркости, которые находятся слева от блока яркости;
определять две пары значения яркости и значения цветности согласно N восстановленным выборкам яркости с пониженной дискретизацией с максимальным значением и N восстановленным выборкам цветности, которые соответствуют N восстановленным выборками яркости с пониженной дискретизацией с максимальными значениями, и/или M восстановленным выборкам яркости с пониженной дискретизацией с минимальным значением и M восстановленным выборкам цветности, которые соответствуют M выборкам яркости с пониженной дискретизацией с минимальным значением, когда N восстановленные выборки яркости с пониженной дискретизацией с максимальным значением и/или M восстановленные выборки яркости с пониженной дискретизацией выборки с минимальным значением содержатся в наборе восстановленных соседних выборок яркости с пониженной дискретизацией, в котором M, N являются положительными целыми числами и больше 1;
определять один или более параметров линейной модели на основании определенных двух пар значения яркости и значения цветности;
определять блок предсказания на основании одного или более параметров линейной модели; и
декодировать с предсказанием по линейной модели (LM) блок цветности на основании блока предсказания.
В возможной форме реализации устройства согласно третьему аспекту как таковому, в котором набор восстановленных соседних выборок яркости с пониженной дискретизацией дополнительно содержит:
верхнюю правую соседнюю выборку яркости вне блока яркости и выборки яркости, которые находятся справа от верхней правой соседней выборки яркости вне блока яркости;
левую нижнюю соседнюю выборку вне блока яркости и выборки яркости, которые находятся ниже левой нижней соседней выборки яркости вне блока яркости.
В возможной форме реализации способа согласно любой предшествующей реализации третьего аспекта или третьего аспекта как такового, в котором множество восстановленных выборок яркости, которые находятся над блоком яркости, являются восстановленными соседними выборками яркости, смежными с соответствующей верхней границей, и множество восстановленных выборок яркости, которые находятся слева от блока яркости, являются восстановленными соседними выборками яркости, смежными с соответствующей левой границей.
В возможной форме реализации способа согласно любой предшествующей реализации третьего аспекта или третьего аспекта как такового, в котором набор (с пониженной дискретизацией) восстановленных соседних выборок яркости исключает выборки яркости, которые находятся выше верхней левой соседней выборки яркости вне блока яркости и/или выборки яркости, которые находятся слева от верхней левой соседней выборки яркости вне блока яркости.
0
0
0
0
В возможной форме реализации способа согласно любой предшествующей реализации третьего аспекта или третьего аспекта как такового, в котором координата верхней левой выборки яркости блока яркости равна (x, y) и, в котором набор (с пониженной дискретизацией) восстановленных соседних выборок яркости исключает выборки яркости, имеющие координату x меньше x и координату y меньше y.
В возможной форме реализации способа согласно любой предшествующей реализации третьего аспекта или третьего аспекта как такового, в котором, когда N восстановленные выборки яркости с пониженной дискретизацией с максимальным значением и/или M восстановленные выборки яркости с пониженной дискретизацией с минимальным значением содержатся в наборе восстановленных соседних выборок яркости с пониженной дискретизацией для определения двух пар значения яркости и значения цветности, видеодекодер выполнен с возможностью:
определять (или выбирать) две пары значения яркости и значения цветности на основании разницы значений цветности между значением цветности каждой из первого множества пар значения яркости и значения цветности и значением цветности каждой из второго множества пар значения яркости и значения цветности, в котором упомянутая каждая из первого множества пар значения яркости и значения цветности содержит одну из N восстановленных выборок яркости с пониженной дискретизацией с максимальным значением и соответствующую восстановленную соседнюю выборку цветности, и упомянутая каждая из второго множества пары значения яркости и значения цветности содержит одну из M восстановленных выборок яркости с пониженной дискретизацией с минимальным значением и соответствующую восстановленную соседнюю выборку цветности.
В возможной форме реализации способа согласно любой предшествующей реализации третьего аспекта или третьего аспекта как такового, в котором наименьшая разность значений цветности между значением цветности первой пары значения яркости и значения цветности и значением цветности второй пары значения яркости и значения цветности, и первая пара значения яркости и значения цветности и вторая пара значения яркости и значения цветности, которые имеют наименьшую разность значений цветности, выбираются как упомянутые две пары значения яркости и цветности ценность; или
наибольшая разность значений цветности между значением цветности третьей пары значения яркости и значения цветности и значением цветности четвертой пары значения яркости и значения цветности, и выбираются третья пара значения яркости и значения цветности и четвертая пара значения яркости и значения цветности, которые имеют наибольшую разницу значений цветности, как упомянутые две пары значения яркости и значения цветности, например, первая пара значения яркости и значения цветности включена в первое множество пар значения яркости и значения цветности, например, вторая пара значения яркости и значения цветности включена во второе множество пар значения яркости и значения цветности, например, третья пара значения яркости и значения цветности включена в первое множество пар значения яркости и значения цветности, например, четвертая пара значения яркости и значения цветности включена во второе множество пар значения яркости и значения цветности.
В возможной форме реализации способа согласно любой предшествующей реализации третьего аспекта или третьего аспекта как такового, в котором, когда N восстановленные выборки яркости с пониженной дискретизацией с максимальным значением и/или M восстановленные выборки яркости с пониженной дискретизацией с минимальным значением содержатся в наборе восстановленных соседних выборок яркости с пониженной дискретизацией для определения двух пар значения яркости и значения цветности, видеодекодер выполнен с возможностью:
определять пятую пару значения яркости и значения цветности и шестую пару значения яркости и значения цветности как упомянутые две пары значения яркости и значения цветности,
в котором соответствующее значение цветности пятой пары значения яркости и значения цветности является средним значением цветности N восстановленных выборок яркости, соответствующих N восстановленным выборкам яркости с пониженной дискретизацией с максимальным значением, и соответствующее значение цветности шестой пары значения яркости и значения цветности равно среднему значению цветности M восстановленных выборок яркости соответствующих M восстановленным выборкам яркости с пониженной дискретизацией с минимальным значением. Значение яркости пятой пары значения яркости и значения цветности представляет собой значение яркости каждой из N восстановленных выборок яркости с пониженной дискретизацией с максимальным значением, значение яркости шестой пары значения яркости и значения цветности представляет собой значение яркости каждой из M восстановленных выборок яркости с пониженной дискретизацией с минимальным значением.
В возможной форме реализации способа согласно любой предшествующей реализации третьего аспекта или третьего аспекта как такового, в котором набор восстановленных соседних выборок яркости с пониженной дискретизацией содержит первый набор восстановленных соседних выборок яркости с пониженной дискретизацией и второй набор восстановленных соседних выборок яркости с пониженной дискретизацией, в котором первый набор восстановленных соседних выборок яркости с пониженной дискретизацией содержит восстановленные соседние выборки яркости с пониженной дискретизацией, в котором значение яркости меньше или равно пороговому значению; и второй набор восстановленных соседних выборок яркости с пониженной дискретизацией содержит восстановленные соседние выборки яркости с пониженной дискретизацией, в котором значение яркости превышает пороговое значение.
В возможной форме реализации способа согласно любой предшествующей реализации третьего аспекта или третьего аспекта как такового, в котором для декодирования с предсказанием LM блока цветности на основании блока предсказания видеодекодер выполнен с возможностью добавлять блок предсказания в остаточный блок для восстановления блока цветности.
В возможной форме реализации способа согласно любой предшествующей реализации третьего аспекта или третьего аспекта как такового, в котором видеодекодер выполнен с возможностью:
декодировать флаг для текущего блока, который включает в себя блок яркости и блок цветности, в котором флаг указывает выполнение кодирования с предсказанием LM для блока цветности и, в котором декодирование флага содержит декодирование флага на основании контекста, содержащего один или более флагов которые указывают, используется ли кодирование с предсказанием LM для соседних блоков.
Согласно четвертому аспекту изобретение относится к устройству декодирования видеоданных, в котором устройство содержит:
память видеоданных и видеодекодер;
в котором видеодекодер выполнен с возможностью:
определять блок яркости, который соответствует блоку цветности;
определять набор (с пониженной дискретизацией) восстановленных соседних выборок яркости, в котором набор (с пониженной дискретизацией) восстановленных соседних выборок яркости содержит множество (с пониженной дискретизацией) восстановленных выборок яркости, которые находятся над блоком яркости, и/или множество (с пониженной дискретизацией) восстановленных выборок яркости, которые находятся слева от блока яркости;
определять две пары значения яркости и значения цветности согласно N (с пониженной дискретизацией) восстановленным выборкам яркости и N восстановленным выборкам цветности, которые соответствуют N (с пониженной дискретизацией) восстановленным выборкам яркости, и/или M (с пониженной дискретизацией) восстановленным выборкам яркости и M восстановленным выборкам цветности, которые соответствуют M (с пониженной дискретизацией) выборкам яркости, в котором минимальное значение N (с пониженной дискретизацией) восстановленных выборок яркости не меньше, чем значение яркости оставшихся (с пониженной дискретизацией) восстановленных выборок яркости набора (с пониженной дискретизацией) восстановленных соседних выборок яркости, и максимальное значение M (с пониженной дискретизацией) восстановленных выборок яркости не превышает значение яркости оставшихся (с пониженной дискретизацией) восстановленных выборок яркости набора восстановленных соседних выборок яркости с пониженной дискретизацией, и M, N являются положительными целыми числами и больше 1; другими словами, значение яркости любой из N восстановленных выборок яркости с пониженной дискретизацией больше, чем значение яркости любой из M восстановленных выборок яркости с пониженной дискретизацией, и сумма N и M равна или меньше числа набора восстановленных соседних выборок яркости с пониженной дискретизацией;
определять один или более параметров линейной модели на основании определенных двух пар значения яркости и значения цветности;
определять блок предсказания на основании одного или более параметров линейной модели; и
декодировать с предсказанием по линейной модели (LM) блок цветности на основании блока предсказания.
В возможной форме реализации способа согласно четвертому аспекту как таковому, в котором для определения двух пар значения яркости и значения цветности видеодекодер выполнен с возможностью:
определять седьмую пару значения яркости и значения цветности и восьмую пару значения яркости и значения цветности, как упомянутые две пары значения яркости и значения цветности,
в котором значение яркости седьмой пары значения яркости и значения цветности является средним значением яркости упомянутых N (с пониженной дискретизацией) восстановленных выборок яркости, и значение цветности седьмой пары значения яркости и значения цветности является средним значением цветности упомянутых N восстановленных выборок цветности, которые соответствуют N восстановленным выборкам яркости (с пониженной дискретизацией); и
в котором значение яркости восьмой пары значения яркости и значения цветности является средним значением яркости упомянутых M (с пониженной дискретизацией) восстановленных выборок яркости и значение цветности восьмой пары значения яркости и значения цветности является средним значением цветности упомянутых M восстановленных выборок цветности, которые соответствуют M (с пониженной дискретизацией) восстановленным выборкам яркости.
В возможной форме реализации способа согласно любой предшествующей реализации четвертого аспекта или четвертого аспекта как такового, в котором для определения двух пар значения яркости и значения цветности видеодекодер выполнен с возможностью:
определять девятую пару значения яркости и значения цветности и десятую пару значения яркости и значения цветности как упомянутые две пары значения яркости и значения цветности,
в котором значение яркости девятой пары значения яркости и значения цветности является средним значением яркости упомянутых N (с пониженной дискретизацией) восстановленных выборок яркости в пределах первого диапазона значений яркости и значение цветности девятой пары значения яркости и значения цветности представляет собой среднее значение цветности упомянутых N восстановленных выборок цветности, которые соответствуют N (с пониженной дискретизацией) восстановленным выборкам яркости в пределах первого диапазона значений яркости; и
в котором значение яркости десятой пары значения яркости и значения цветности является средним значением яркости упомянутых M (с пониженной дискретизацией) восстановленных выборок яркости в пределах второго диапазона значений яркости и значение цветности десятой пары значения яркости и значения цветности представляет собой среднее значение цветности упомянутых M восстановленных выборок цветности, которые соответствуют M (с пониженной дискретизацией) восстановленным выборкам яркости в пределах второго диапазона значений яркости; в котором любое значение из первого диапазона значений яркости больше любого из второго диапазона значений яркости.
1
2
1
2
В возможной форме реализации способа согласно любой предшествующей реализации четвертого аспекта или четвертого аспекта как такового, в котором первое значение яркости находится в диапазоне [MaxlumaValue-T, MaxlumaValue]; и/или второе значение яркости находится в диапазоне [MinlumaValue, MinlumaValue + T], в котором MaxlumaValue и MinlumaValue являются соответственно максимальным значением яркости и минимальным значением яркости в наборе восстановленных соседних выборок яркости с пониженной дискретизацией и T, T являются заданными пороговыми значениями.
В возможной форме реализации способа согласно любой предшествующей реализации четвертого аспекта или четвертого аспекта как такового, в котором M и N равны или не равны.
В возможной форме реализации способа согласно любой предшествующей реализации четвертого аспекта или четвертого аспекта как такового, в котором M и N определяются на основании размера блока яркости.
В возможной форме реализации способа согласно любой предшествующей реализации четвертого аспекта или четвертого аспекта как такового, в котором M = (W + H) >> t, N = (W + H) >> r, в котором t и r являются количеством битов правого сдвига.
В возможной форме реализации способа согласно любой предшествующей реализации четвертого аспекта или четвертого аспекта как такового, в котором набор восстановленных соседних выборок яркости с пониженной дискретизацией дополнительно содержит:
верхнюю правую соседнюю выборку яркости вне блока яркости и выборки яркости, которые находятся справа от верхней правой соседней выборки яркости вне блока яркости;
левую нижнюю соседнюю выборку вне блока яркости и выборки яркости, которые находятся ниже левой нижней соседней выборки яркости вне блока яркости.
В возможной форме реализации способа согласно любой предшествующей реализации четвертого аспекта или четвертого аспекта как такового, в котором множество восстановленных выборок яркости, которые находятся над блоком яркости, являются восстановленными соседними выборками яркости, смежными с соответствующей верхней границей, и множество восстановленных выборок яркости, которые находятся слева от блока яркости, являются восстановленными соседними выборками яркости, смежными с соответствующей левой границей.
В возможной форме реализации способа согласно любой предшествующей реализации четвертого аспекта или четвертого аспекта как такового, в котором набор (с пониженной дискретизацией) восстановленных соседних выборок яркости исключает выборки яркости, которые находятся выше верхней левой соседней выборки яркости вне блока яркости и/или выборок яркости, которые находятся слева от верхней левой соседней выборки яркости вне блока яркости.
0
0
0
0
В возможной форме реализации способа согласно любой предшествующей реализации четвертого аспекта или четвертого аспекта как такового, в котором координата левой верхней выборки яркости блока яркости равна (x, y) и, в котором набор (с пониженной дискретизацией) восстановленных соседних выборок яркости исключает выборки яркости, имеющие координату x меньше x и координату y меньше y.
В возможной форме реализации способа согласно любой предшествующей реализации четвертого аспекта или четвертого аспекта как такового, в котором набор восстановленных соседних выборок яркости с пониженной дискретизацией содержит первый набор восстановленных соседних выборок яркости с пониженной дискретизацией и второй набор восстановленных соседних выборок яркости с пониженной дискретизацией, в котором первый набор восстановленных соседних выборок яркости с пониженной дискретизацией содержит восстановленные соседние выборки яркости с пониженной дискретизацией, в котором значение яркости меньше или равно пороговому значению; и второй набор восстановленных соседних выборок яркости с пониженной дискретизацией содержит восстановленные соседние выборки яркости с пониженной дискретизацией, в котором значение яркости превышает пороговое значение.
В возможной форме реализации способа согласно любой предшествующей реализации четвертого аспекта или четвертого аспекта как такового, в котором для декодирования с предсказанием LM блока цветности на основании блока предсказания видеодекодер выполнен с возможностью добавлять блок предсказания в остаточный блок для восстановления блока цветности.
В возможной форме реализации способа согласно любой предшествующей реализации четвертого аспекта или четвертого аспекта как такового, в котором видеодекодер выполнен с возможностью:
декодировать флаг для текущего блока, который включает в себя блок яркости и блок цветности, в котором флаг указывает, что используется кодирование с предсказанием LM для блока цветности и, в котором декодирование флага содержит декодирование флага на основании контекста, содержащего один или более флагов, которые указывают, используется ли кодирование с предсказанием LM для соседних блоков.
Способ согласно первому аспекту изобретения может выполняться устройством согласно третьему аспекту изобретения. Дополнительные признаки и формы реализации устройства согласно третьему аспекту изобретения соответствуют признакам и формам реализации способа согласно первому аспекту изобретения.
Способ согласно второму аспекту изобретения может выполняться устройством согласно четвертому аспекту изобретения. Дополнительные признаки и формы реализации устройства согласно четвертому аспекту изобретения соответствуют признакам и формам реализации способа согласно второму аспекту изобретения.
Согласно пятому аспекту изобретение относится к способу кодирования видеоданных, в котором способ содержит:
определение блока яркости, который соответствует блоку цветности;
определение набора восстановленных соседних выборок яркости с пониженной дискретизацией, в котором набор восстановленных соседних выборок яркости с пониженной дискретизацией содержит множество восстановленных выборок яркости с пониженной дискретизацией, которые находятся над блоком яркости, и/или множество восстановленных выборок яркости с пониженной дискретизацией, которые находятся слева от блока яркости;
определение двух пар значения яркости и значения цветности согласно N восстановленным выборкам яркости с пониженной дискретизацией с максимальным значением и N восстановленным выборкам цветности, которые соответствуют N восстановленным выборкам яркости с пониженной дискретизацией с максимальными значениями яркости, и/или M восстановленным выборкам яркости дискретизированных восстановленных выборок яркости с минимальным значением и M восстановленным выборкам цветности, которые соответствуют M выборкам яркости с пониженной дискретизацией с минимальным значением яркости, когда N восстановленные выборки яркости с пониженной дискретизацией с максимальным значением яркости и/или M восстановленные выборки яркости с пониженной дискретизацией с минимальным значением яркости содержатся в наборе восстановленных соседних выборок яркости с пониженной дискретизацией, в котором M, N являются положительными целыми числами и больше 1;
определение одного или более параметров линейной модели на основании определенных двух пар значения яркости и значения цветности;
определение блока предсказания на основании одного или более параметров линейной модели; и
кодирование с предсказанием по линейной модели (LM) блока цветности на основании блока предсказания.
Согласно шестому аспекту изобретение относится к способу кодирования видеоданных, в котором способ содержит:
определение блока яркости, который соответствует блоку цветности;
определение набора (с пониженной дискретизацией) восстановленных соседних выборок яркости, в котором набор (с пониженной дискретизацией) восстановленных соседних выборок яркости содержит множество (с пониженной дискретизацией) восстановленных выборок яркости, которые находятся над блоком яркости, и/или множество (с пониженной дискретизацией) восстановленных выборок яркости, которые находятся слева от блока яркости;
определение двух пар значения яркости и значения цветности согласно N (с пониженной дискретизацией) восстановленным выборкам яркости и N восстановленным выборкам цветности, которые соответствуют N (с пониженной дискретизацией) восстановленным выборкам яркости и/или M (с пониженной дискретизацией) восстановленным выборкам яркости и M восстановленным выборкам цветности, которые соответствуют M (с пониженной дискретизацией) выборкам яркости, в котором минимальное значение N (с пониженной дискретизацией) восстановленных выборок яркости не меньше, чем значение яркости оставшихся (с пониженной дискретизацией) восстановленных выборок яркости набора (с пониженной дискретизацией) восстановленных соседних выборок яркости, и максимальное значение M (с пониженной дискретизацией) восстановленных выборок яркости не превышает значение яркости оставшихся (с пониженной дискретизацией) восстановленных выборок яркости набора восстановленных соседних выборок яркости с пониженной дискретизацией, и M, N являются положительными целыми числами и больше 1; другими словами, значение яркости любой из N восстановленных выборок яркости с пониженной дискретизацией больше, чем значение яркости любой из M восстановленных выборок яркости с пониженной дискретизацией, и сумма N и M равна или меньше числу набора восстановленных соседних выборок яркости с пониженной дискретизацией.
определение одного или более параметров линейной модели на основании определенных двух пар значения яркости и значения цветности;
определение блока предсказания на основании одного или более параметров линейной модели; и
кодирование с предсказанием по линейной модели (LM) блока цветности на основании блока предсказания.
Согласно седьмому аспекту изобретение относится к устройству для кодирования видеоданных, в котором устройство содержит:
память видеоданных; и
видеокодер, в котором видеокодер выполнен с возможностью:
определять блок яркости, который соответствует блоку цветности;
определять набор восстановленных соседних выборок яркости с пониженной дискретизацией, в котором набор восстановленных соседних выборок яркости с пониженной дискретизацией содержит множество восстановленных выборок яркости с пониженной дискретизацией, которые находятся над блоком яркости, и/или множество восстановленных выборок яркости с пониженной дискретизацией, которые находятся слева от блока яркости;
определять две пары значения яркости и значения цветности согласно N восстановленным выборкам яркости с пониженной дискретизацией с максимальным значением и N восстановленным выборкам цветности, которые соответствуют N восстановленным выборкам яркости с пониженной дискретизацией с максимальными значениями и/или M восстановленным выборкам яркости с пониженной дискретизацией с минимальным значением и M восстановленным выборкам цветности, которые соответствуют M выборкам яркости с пониженной дискретизацией с минимальным значением, когда N восстановленные выборки яркости с пониженной дискретизацией с максимальным значением и/или M восстановленные выборки яркости с пониженной дискретизацией с минимальным значением содержатся в наборе восстановленных соседних выборок яркости с пониженной дискретизацией, в котором M, N являются положительными целыми числами и больше 1;
определять один или более параметров линейной модели на основании определенных двух пар значения яркости и значения цветности;
определять блок предсказания на основании одного или более параметров линейной модели; и
кодировать с предсказанием по линейной модели (LM) блок цветности на основании блока предсказания.
Согласно восьмому аспекту изобретение относится к устройству для кодирования видеоданных, в котором устройство содержит:
память видеоданных; и
видеокодер, в котором видеокодер выполнен с возможностью:
определять блок яркости, который соответствует блоку цветности;
определять набор (с пониженной дискретизацией) восстановленных соседних выборок яркости, в котором набор (с пониженной дискретизацией) восстановленных соседних выборок яркости содержит множество (с пониженной дискретизацией) восстановленных выборок яркости, которые находятся над блоком яркости, и/или множество (с пониженной дискретизацией) восстановленных выборок яркости, которые находятся слева от блока яркости;
определять две пары значения яркости и значения цветности согласно N (с пониженной дискретизацией) восстановленным выборкам яркости и N восстановленным выборкам цветности, которые соответствуют N (с пониженной дискретизацией) восстановленным выборкам яркости, и/или M (с пониженной дискретизацией) восстановленным выборкам яркости и M восстановленным выборкам цветности, которые соответствуют M (с пониженной дискретизацией) выборкам яркости, в котором минимальное значение N (с пониженной дискретизацией) восстановленных выборок яркости не меньше, чем значение яркости оставшихся (с пониженной дискретизацией) восстановленных выборок яркости набора (с пониженной дискретизацией) восстановленных соседних выборок яркости, и максимальное значение M (с пониженной дискретизацией) восстановленных выборок яркости не превышает значения яркости оставшихся (с пониженной дискретизацией) восстановленных выборок яркости набора восстановленных соседних выборок яркости с пониженной дискретизацией и M, N являются положительными целыми числами и больше 1;
определять один или более параметров линейной модели на основании определенных двух пар значения яркости и значения цветности;
определять блок предсказания на основании одного или более параметров линейной модели; и
кодировать с предсказанием по линейной модели (LM) блок цветности на основании блока предсказания.
Устройство кодирования согласно любому предшествующему аспекту может дополнительно иметь дополнительные функции способа кодирования согласно соответствующему предшествующему аспекту или его реализациям, чтобы получить дополнительные реализации устройства кодирования согласно любому предшествующему аспекту.
Способ кодирования согласно любому предшествующему аспекту может быть дополнительно расширен функциями способа декодирования согласно соответствующему предшествующему аспекту или его реализациям для получения дополнительных реализаций способа кодирования согласно любому предшествующему аспекту.
Машиночитаемый носитель, хранящий инструкции, которые при выполнении на процессоре побуждают процессор выполнять любой вышеупомянутый способ согласно любой предшествующей реализации любого предшествующего аспекта или любого предшествующего аспекта как такового.
Обеспечивается устройство декодирования, которое содержит модули/блоки/компоненты/схемы для выполнения, по меньшей мере, части этапов вышеуказанного способа согласно любой предшествующей реализации любого предшествующего аспекта или любого предшествующего аспекта как такового.
Обеспечивается устройство декодирования, которое содержит инструкции хранения в памяти; и процессор, соединенный с памятью, в котором процессор выполнен с возможностью выполнять инструкции, хранящиеся в памяти побудить процессор выполнять вышеупомянутый способ согласно любой предшествующей реализации любого предыдущего аспекта или любого предшествующего аспекта как такового.
Обеспечивается машиночитаемый носитель данных, на котором записана программа; в котором программа побуждает компьютер выполнять способ согласно любой предшествующей реализации любого предшествующего аспекта или любого предыдущего аспекта как такового.
Обеспечивается компьютерная программа, которая выполнена с возможностью побуждать компьютер выполнять способ согласно любой предшествующей реализации любого предшествующего аспекта или любого предшествующего аспекта как такового.
Для ясности, любой из вышеупомянутых вариантов осуществления может быть объединен с любым одним или несколькими другими вышеупомянутыми вариантами осуществления для формирования нового варианта осуществления в пределах объема настоящего изобретения.
Эти и другие признаки будут более понятны из следующего подробного описания, взятого вместе с прилагаемыми чертежами и формулой изобретения.
Краткое описание чертежей
Ниже приводится краткое описание прилагаемых чертежей, используемых при описании вариантов осуществления настоящего изобретения.
Фиг. 1A является блок-схемой системы кодирования видеоданных, в которой могут быть реализованы варианты осуществления настоящего изобретения.
Фиг. 1B является блок-схемой другой системы кодирования видеоданных, в которой могут быть реализованы варианты осуществления настоящего изобретения.
Фиг. 2 является блок-схемой кодера видеоданных, в котором могут быть реализованы варианты осуществления настоящего изобретения.
Фиг. 3 является блок-схемой декодера видеоданных, в котором могут быть реализованы варианты осуществления настоящего изобретения.
Фиг. 4 является схемой устройства кодирования видео согласно варианту осуществления настоящего изобретения.
Фиг. 5 является упрощенной блок-схемой устройства кодирования видеоданных, в которой могут быть реализованы различные варианты осуществления настоящего изобретения.
Фиг. 6 является иллюстрацией режимов внутреннего предсказания H.265/HEVC.
Фиг. 7 является иллюстрацией опорных выборок.
Фиг. 8 является концептуальной схемой, иллюстрирующей номинальные вертикальные и горизонтальные относительные местоположения выборок яркости и цветности.
Фиг. 9, который включает в себя фиг. 9A и фиг. 9B, является схемой, иллюстрирующей пример механизма выполнения внутреннего предсказания с использованием перекрестной компоненты линейной модели (CCLM). Фиг. 9A иллюстрирует пример соседних восстановленных пикселей совместно расположенного блока яркости. Фиг. 9B иллюстрирует пример соседних восстановленных пикселей блока цветности.
Фиг. 10 является концептуальной схемой, иллюстрирующей пример позиции яркости и позиции цветности для выборок с пониженной дискретизацией блока яркости для генерирования блока предсказания.
Фиг. 11 является концептуальной схемой, иллюстрирующей другой пример позиции яркости и позиции цветности для выборок с пониженной дискретизацией блока яркости для генерирования блока предсказания.
Фиг. 12-15 являются схемами, иллюстрирующие примерные механизмы понижающей дискретизации для поддержки внутреннего предсказания с использованием перекрестной компоненты.
Фиг. 16 является иллюстрацией прямой линии между минимальным и максимальным значениями яркости.
Фиг. 17 является иллюстрацией режима _ A (CCIP_A) внутреннего предсказания с использованием перекрестной компоненты.
Фиг. 18 является иллюстрацией режима _L (CCIP_L) внутреннего предсказания с использованием перекрестной компоненты.
Фиг. 19 представляет график, иллюстрирующий примерный механизм определения параметров линейной модели для поддержки внутреннего предсказания с использованием CCLM (MMLM) множества моделей.
Фиг. 20 является схемой, иллюстрирующей примерные механизмы, использующие соседние верхнюю и левую выборки для поддержки внутреннего предсказания с использованием перекрестной компоненты.
Фиг. 21 является схемой, иллюстрирующей примерные механизмы, использующие расширенные выборки для поддержки внутреннего предсказания с использованием перекрестной компоненты.
Фиг. 22 является блок-схемой алгоритма способа предсказания с использованием перекрестной компоненты линейной модели (CCLM) согласно некоторым вариантам осуществления настоящего изобретения.
Фиг. 23 является блок-схемой алгоритма способа декодирования видеоданных с предсказанием с использованием перекрестной компоненты линейной модели (CCLM) согласно варианту осуществления настоящего изобретения.
Фиг. 24 является блок-схемой алгоритма способа кодирования видеоданных с предсказанием с использованием перекрестной компоненты линейной модели (CCLM) согласно варианту осуществления настоящего изобретения.
Фиг. 25 является блок-схемой алгоритма способа декодирования видеоданных с предсказанием с использованием перекрестной компоненты линейной модели (CCLM) согласно другому варианту осуществления настоящего изобретения.
Фиг. 26 является примерной блок-схемой алгоритма способа кодирования видеоданных с предсказанием с использованием перекрестной компоненты линейной модели (CCLM) согласно другому варианту осуществления настоящего изобретения.
На различных чертежах идентичные ссылочные позиции будут использоваться для идентичных или функционально эквивалентных признаков.
Осуществление изобретения
Во-первых, следует отметить, что хотя далее представлена иллюстративная реализация одного или более вариантов осуществления, раскрытые системы и/или способы могут быть реализованы с использованием любого количества технологий, известных в настоящее время или существующих. Изобретение никоим образом не должно ограничиваться иллюстративными реализациями, чертежами и технологиями, проиллюстрированными ниже, включающие в себя иллюстративные структуры и реализации, проиллюстрированные и описанные в настоящем документе, но может быть изменено в пределах объема прилагаемой формулы изобретения вместе с полным объемом их эквивалентов.
Фиг. 1A является блок-схемой системы кодирования видеоданных, в которой могут быть реализованы варианты осуществления настоящего изобретения. Как показано на фиг. 1A, система 10 кодирования включает в себя устройство 12 источника, которое предоставляет кодированные видеоданные, и устройство 14 назначение, которое декодирует кодированные видеоданные, которые поставлены устройством 12 источника. В частности, устройство 12 источника может предоставлять видеоданные в устройство 14 назначения через транспортную среду 16. Устройство 12 источника и устройство 14 назначения могут быть любыми из широкого диапазона электронных устройств, таких как настольные компьютеры, портативные компьютеры (т.е. портативные компьютеры), планшетные компьютеры, телевизионные приставки, сотовые телефоны (т.е. «умные» телефоны), телевизоры, камеры, устройства отображения, цифровые медиаплееры, игровые приставки, устройства потоковой передачи видео и т.п. В некоторых случаях устройство 12 источника и устройство 14 назначения могут быть оборудованы для беспроводной связи.
Устройство 14 назначения может принимать закодированные видеоданные через транспортную среду 16. Транспортная среда 16 может быть носителем любого типа или устройством, способным транспортировать закодированные видеоданные от устройства 12 источника к устройству 14 назначения. В одном примере транспортная среда 16 может быть средой связи, позволяющей устройству 12 источника передавать закодированные видеоданные непосредственно в устройство 14 назначения в реальном времени. Кодированные видеоданные могут быть модулированы в соответствии со стандартом связи, таким как протокол беспроводной связи, и модулированные кодированные видеоданные передаются на устройство 14 назначения. Средой связи может быть любая беспроводная или проводная среда связи, такая как радиочастотный (RF) спектр волны или одна или более физических линий передачи. Среда связи может образовывать часть сети пакетной передачи, такой как локальная сеть, региональная сеть или глобальная сеть, такая как интернет. Среда связи может включать в себя маршрутизаторы, коммутаторы, базовые станции или любое другое оборудование, которое может быть полезно для облегчения связи от устройства 12 источника к устройству 14 назначения.
В устройстве 12 источника закодированные данные могут выводиться из интерфейса 22 вывода в устройство хранения (не показано на фиг. 1A). Точно так же к закодированным данным можно получить доступ из запоминающего устройства через интерфейс 28 ввода устройства 14 назначения. Запоминающее устройство может включать в себя любой из множества распределенных или локально доступных носителей данных, таких как жесткие диски, диски Blu-rayTM, цифровые видеодиски (DVD), компакт-диски с постоянным доступом для чтения (CD-ROM), флэш-память, энергозависимые или энергонезависимые запоминающие устройства или любые другие подходящие цифровые носители для хранения кодированных видеоданных.
В дополнительном примере запоминающее устройство может соответствовать файловому серверу или другому промежуточному запоминающему устройству, которое может хранить закодированное видео, сгенерированное устройством 12 источника. Устройство 14 назначения может получать доступ к сохраненным видеоданным с запоминающего устройства посредством потоковой передачи или скачиванием. Файловым сервером может быть любой тип сервера, выполненный с возможностью хранить закодированные видеоданные и передавать эти закодированные видеоданные в устройство 14 назначения. Примеры файловых серверов включают в себя веб-сервер (например, для веб-сайта), сервер протокола передачи файлов (FTP), сетевые устройства хранения (NAS) или локальный диск. Устройство 14 назначения может получить доступ к кодированным видеоданным через любое стандартное соединение для передачи данных, включающее в себя соединение с интернетом. Это может включать в себя беспроводной канал (например, соединение Wi-Fi), проводное соединение (например, цифровую абонентскую линию (DSL), кабельный модем и т.д.) или их комбинацию, которая подходит для доступа к сохраненным кодированным видеоданным на файловом сервере. Передача закодированных видеоданных с запоминающего устройства может быть потоковой передачей, загрузкой или их комбинацией.
Способы настоящего изобретения не обязательно ограничиваются беспроводными приложениями или настройками. Эти способы могут применяться к кодированию видео для поддержки любого из множества мультимедийных приложений, таких как эфирное телевещание, передачи кабельного телевидения, передачи спутникового телевидения, потоковые передачи видео через интернет, такие как динамическая адаптивная потоковая передача через HTTP (DASH), цифровое видео, которое закодировано на носитель данных, декодирование цифрового видео, хранящегося на носителе данных, или другие приложения. В некоторых примерах система 10 кодирования может быть выполнена с возможностью поддерживать одностороннюю или двустороннюю передачи видео для поддержки таких приложений, как потоковая передача видео, воспроизведение видео, широковещательная передача видео и/или видеотелефония.
В примере на фиг. 1A, устройство 12 источника включает в себя источник 18 видео, видеокодер 20 и интерфейс 22 вывода. Устройство 14 назначения включает в себя интерфейс 28 ввода, видеодекодер 30 и устройство 32 отображения. В соответствии с этим изобретением, видеокодер 20 устройства 12 источника и/или видеодекодер 30 устройства 14 назначения может быть выполнен с возможностью применять способ двунаправленного предсказания. В других примерах устройство 12 источника и устройство 14 назначения могут включать в себя другие компоненты или компоновки. Например, устройство 12 источника может принимать видеоданные от внешнего источника видео, такого как внешняя камера. Аналогично, устройство 14 назначения может взаимодействовать с внешним устройством отображения и не включать в себя встроенное устройство отображения.
Иллюстрированная система 10 кодирования на фиг. 1A является просто примером. Способы двунаправленного предсказания могут выполняться любым устройством кодирования или декодирования цифрового видео. Хотя способы этого раскрытия обычно используются устройством кодирования видео, эти способы также могут использоваться видеокодером/декодером, который обычно называют «кодеком». Кроме того, способы настоящего изобретения могут также использоваться процессором предварительной обработки видео. Видеокодер и/или видеодекодер могут быть графическим процессором (GPU) или подобным устройством.
Устройство 12 источника и устройство 14 назначения являются просто примерами устройств кодирования/декодирования в системе кодирования видеоданных, в которой устройство 12 источника генерирует кодированные видеоданные для передачи в устройство 14 назначения. В некоторых примерах устройство 12 источника и устройство 14 назначения могут работать, по существу, симметрично, так что каждое из устройств 12 источника и устройства 14 назначения включает в себя компоненты кодирования и декодирования видео. Следовательно, система 10 кодирования может поддерживать одностороннюю или двустороннюю передачу видео между устройствами 12 и 14, например, для потоковой передачи видео, воспроизведения видео, широковещательной передачи видео или видеотелефонии.
Источник 18 видео устройства 12 источника может включать в себя устройство захвата видео, такое как видеокамера, видеоархив, содержащий ранее захваченные видео, и/или интерфейс подачи видео для приема видео от поставщика видео контента. В качестве дополнительной альтернативы источник 18 видео может генерировать данные на основании компьютерной графики в качестве исходного видео или комбинацию видео в реальном времени, архивированного видео и компьютерного видео.
В некоторых случаях, когда источником 18 видео является видеокамера, устройство 12 источника и устройство 14 назначения могут образовывать так называемые телефоны с камерой или видеотелефоны. Однако, как упомянуто выше, способы, описанные в настоящем изобретении, могут быть применимы к кодированию видео в целом и могут применяться к беспроводным и/или проводным приложениям. В каждом случае захваченное, предварительно захваченное или сгенерированное компьютером видео может быть закодировано видеокодером 20. Затем закодированная видеоинформация может выводиться через интерфейс 22 вывода на транспортный носитель 16.
Транспортный носитель 16 может включать в себя временные носители, такие как беспроводное вещание или проводная сетевая передача, или носители данных (то есть, постоянные носители данных), такие как жесткий диск, флэш-накопитель, компакт-диск, цифровое видео. диск, диск Blu-rayTM или другой машиночитаемый носитель. В некоторых примерах сетевой сервер (не показан) может принимать закодированные видеоданные от устройства 12 источника и предоставлять закодированные видеоданные в устройство 14 назначения, например, посредством сетевой передачи. Точно так же вычислительное устройство средства производства носителя, такого как средство штамповки диска, может принимать закодированные видеоданные от устройства 12 источника и изготавливать диск, содержащий закодированные видеоданные. Следовательно, можно понимать, что транспортный носитель 16 включает в себя один или более машиночитаемых носителей различных форм в различных примерах.
Интерфейс 28 ввода устройства 14 назначения принимает информацию с транспортного носителя 16. Информация транспортного носителя 16 может включать в себя синтаксическую информацию, определенную видеокодером 20, которая также используется видеодекодером 30, которая включает в себя элементы синтаксиса, которые описывают характеристики и/или обработку блоков и других кодированных блоков, например, группу изображений (GOP). Устройство 32 отображения отображает декодированные видеоданные для пользователя и может включать в себя любое из множества устройств отображения, таких как электронно-лучевая трубка (CRT), жидкокристаллический дисплей (LCD), плазменный дисплей, органический светоизлучающий диодный дисплей (OLED) или другие типы устройств отображения.
Видеокодер 20 и видеодекодер 30 могут работать в соответствии со стандартом кодирования видео, таким как стандарт высокоэффективного кодирования видео (HEVC), который в настоящее время находится в стадии разработки, и могут соответствовать тестовой модели HEVC (HM). В качестве альтернативы видеокодер 20 и видеодекодер 30 могут работать в соответствии с другими частными или отраслевыми стандартами, такими как стандарт H.264 сектора стандартизации электросвязи Международного союза электросвязи (ITU-T), альтернативно называемый группой экспертов по движущимся изображениям (MPEG-4), часть 10, усовершенствованное кодирование видео (AVC), H.265/HEVC или расширения таких стандартов. Однако способы, обеспечиваемые этим изобретением, не ограничиваются каким-либо конкретным стандартом кодирования. Другие примеры стандартов кодирования видео включают в себя MPEG-2 и ITU-T H.263. Хотя это не показано на фиг. 1A, в некоторых аспектах видеокодер 20 и видеодекодер 30 могут быть интегрированы с аудиокодером и декодером и могут включать в себя соответствующие блоки мультиплексора-демультиплексора (MUX-DEMUX) или другое аппаратное и программное обеспечение для обработки кодирования как аудио, так и видео в общем потоке данных или в отдельных потоках данных. Если применимо, блоки MUX-DEMUX могут соответствовать протоколу мультиплексора ITU H.223 или другим протоколам, таким как протокол пользовательских дейтаграмм (UDP).
Видеокодер 20 и видеодекодер 30 каждый может быть реализован как любая из множества подходящих схем кодера, таких как один или более микропроцессоров, процессоров цифровых сигналов (DSP), специализированных интегральных схем (ASIC), программируемых пользователем вентильные матрицы (FPGA), дискретная логика, программное обеспечение, аппаратное обеспечение, встроенное программное обеспечение или любые их комбинации. Когда способы частично реализованы в программном обеспечении, устройство может хранить инструкции для программного обеспечения на подходящем постоянном машиночитаемом носителе и выполнять инструкции в аппаратных средствах с использованием одного или более процессоров для выполнения способов настоящего изобретения. Каждый из видеокодер 20 и видеодекодер 30 может быть включен в один или более кодеров или декодеров, каждый из которых может быть интегрирован как часть комбинированного кодера/декодера (CODEC) в соответствующем устройстве. Устройство, включающее в себя видеокодер 20 и/или видеодекодер 30, может быть интегральной схемой, микропроцессором и/или устройством беспроводной связи, например сотовым телефоном.
Фиг. 1B представляет собой блок-схему примерной системы 40 кодирования видео, которая включает в себя видеокодер 20 и/или декодер 30. Как показано на фиг. 1B, система 40 кодирования видео может включать в себя одно или более устройств 41 формирования изображения, видеокодер 20, видеодекодер 30, антенну 42, один или более процессоров 43, одно или более хранилищ 44 памяти и может дополнительно включать в себя устройство 45 отображения.
Как проиллюстрировано, устройство (устройства) 41 формирования изображений, антенна 42, схема 46 обработки, видеокодер 20, видеодекодер 30, процессор (процессоры) 43, хранилище (хранилища) 44 памяти и устройство 45 отображения могут взаимодействовать друг с другом. Хотя проиллюстрировано как видеокодер 20, так и видеодекодер 30, система 40 кодирования видео может включать в себя только видеокодер 20 или только видеодекодер 30 в различных примерах.
В некоторых примерах антенна 42 системы 40 кодирования видео может быть выполнена с возможностью передавать или принимать закодированный битовый поток видеоданных. Кроме того, в некоторых примерах устройство 45 отображения системы 40 кодирования видео может быть выполнено с возможностью представлять видеоданные. В некоторых примерах схема 46 обработки системы 40 кодирования видео может быть реализована посредством блока (блоков) обработки. Блок (блоки) обработки может включать в себя логику специализированной интегральной схемы (ASIC), графический процессор (процессоры), процессор (процессоры) общего назначения и т.п. Система 40 кодирования видео может также включать в себя дополнительный процессор (процессоры) 43, который аналогичным образом может включать в себя логику специализированной интегральной схемы (ASIC), графический процессор (процессоры), процессор (процессоры) общего назначения и т.п. В некоторых примерах схема 46 обработки может быть реализована посредством аппаратного обеспечения, специализированного оборудования для кодирования видео и т.п. Кроме того, хранилище (хранилища) 44 памяти может быть любым типом памяти, например энергозависимой памятью (например, статической памятью с произвольным доступом (SRAM), динамической памятью с произвольным доступом (DRAM) и т.д.) или энергонезависимой памятью (например, флэш-память и т. д.) и т. д. В одном примере хранилище 44 памяти может быть реализовано с помощью кэш-памяти. В некоторых примерах схема 46 обработки может обращаться к хранилищу (хранилищам) 44 памяти (например, для реализации буфера изображения). В других примерах схема 46 обработки может включать в себя хранилища памяти (например, кэш и т.п.) для реализации буфера изображений или т.п.
В некоторых примерах видеокодер 20, реализованный посредством схемы обработки, может воплощать различные модули, как обсуждалось со ссылкой на фиг. 2 и/или любой другой кодирующей системы или подсистемы, описанной в настоящем документе. Схема обработки может быть выполнена с возможностью выполнять различные операций, как описано в настоящем документе.
Видеодекодер 30 может быть реализован аналогично тому, как это реализовано через схему 46 обработки, для воплощения различных модулей, как обсуждалось в отношении декодера 30 на фиг. 3 и/или любую другую систему или подсистему декодера, описанную в настоящем документе.
В некоторых примерах антенна 42 системы 40 кодирования видео может быть выполнена с возможностью принимать закодированный битовый поток видеоданных. Кодированный битовый поток может включать в себя данные, индикаторы и т.п., ассоциированные с кодированием видеокадра. Система 40 кодирования видео может также включать в себя видеодекодер 30, подключенный к антенне 42 и выполненный с возможностью декодировать кодированный битовый поток. Устройство 45 отображения выполнено с возможностью представлять видеокадры.
Фиг. 2 является блок-схемой, иллюстрирующей пример видеокодера 20, который может реализовывать способы настоящего изобретения. Видеокодер 20 может выполнять внутреннее и внешнее кодирование блоков видео внутри сегментов видео. Внутреннее кодирование основывается на пространственном предсказании для уменьшения или удаления пространственной избыточности в видео в данном видеокадре или изображении. Внешнее кодирование основывается на временном предсказании для уменьшения или удаления временной избыточности в видео в соседних кадрах или изображениях видеопоследовательности. Внешний режим (режим I) может относиться к любому из более режимов пространственного кодирования. Внешние режимы, такие как однонаправленное предсказание (режим P) или двунаправленное предсказание (режим B), могут относиться к любому из более режимов временного кодирования.
Как показано на фиг. 2, видеокодер 20 принимает текущий блок видео в видеокадре, который должен быть кодирован. В примере на фиг. 2, видеокодер 20 включает в себя блок 40 выбора режима, память 64 опорных кадров, сумматор 50, блок 52 обработки преобразования, блок 54 квантования и блок 56 энтропийного кодирования. Блок 40 выбора режима, в свою очередь, включает в себя блок 44 компенсации движения, блок 42 оценки движения, блок 46 внутреннего предсказания и блок 48 разделения. Для восстановления блока видео видеокодер 20 также включает в себя блок 58 обратного квантования, блок 60 обратного преобразования и сумматор 62. Фильтр удаления блочности (не показан на фиг. 2) может также может быть использован для фильтрации границ блоков для удаления артефактов блочности из восстановленного видео. Возможно, фильтр удаления блочности обычно фильтрует выходной сигнал сумматора 62. Дополнительные фильтры (в контуре или после контура) также могут использоваться в дополнение к фильтру удаления блочности. Такие фильтры не показаны для краткости, но возможно, могут фильтровать выходной сигнал сумматора 50 (как внутриконтурный фильтр).
Во время процесса кодирования видеокодер 20 принимает видеокадр или сегмент, подлежащий кодированию. Кадр или сегмент можно разделить на несколько блоков видео. Блок 42 оценки движения и блок 44 компенсации движения выполняют кодирование с внешним предсказанием принятого блока видео относительно одного или более блоков в одном или более опорных кадрах для обеспечения временного предсказания. Блок 46 внутреннего предсказания может альтернативно выполнять кодирование с внутренним предсказанием принятого блока видео относительно одного или более соседних блоков в том же кадре или сегменте, что и блок, который должен быть кодирован, для обеспечения пространственного предсказания. Видеокодер 20 может выполнять несколько проходов кодирования, например, чтобы выбрать соответствующий режим кодирования для каждого блока видеоданных.
Кроме того, блок 48 разделения может разделять блоки видеоданных на подблоки на основании оценки предшествующих схем разделения в предшествующих проходах кодирования. Например, блок 48 разделения может первоначально разделить кадр или сегмент на наибольшие блоки кодирования (LCUs) и разделить каждый из LCU на блоки суб-кодирования (sub-CUs) на основании анализа искажения скорости (например, оптимизации искажения скорости). Блок 40 выбора режима может дополнительно формировать структуру данных дерева квадрантов, указывающую разделение LCU на суб-CUs. CUs листового узла дерева квадрантов могут включать в себя один или более блоков предсказания (PUs) и один или более блоков преобразования (TUs).
В настоящем изобретении термин «блок» используется для обозначения любого из блока кодирования (CU), блока предсказания (PU) или блока преобразования (TU) в контексте HEVC или подобной структуры данных в контексте других стандартов (например, макроблоки и их суб-блоки в H.264/AVC). CU включает в себя узел кодирования, PUs и TUs, ассоциированные с узлом кодирования. Размер CU соответствует размеру узла кодирования и имеет прямоугольную форму. Размер CU может варьироваться от 8 × 8 пикселей до размера древовидного блока с максимумом 64 × 64 пикселей или больше. Каждый CU может содержать один или более PUs и один или более TUs. Данные синтаксиса, ассоциированные с CU, могут описывать, например, разделение CU на один или более PUs. Режимы разделения могут различаться в зависимости от того, кодируется ли CU в режиме пропуска или в прямом режиме, в режиме внутреннего предсказания или в режиме внешнего предсказания. PUs могут быть разделены на части и иметь неквадратную форму. Данные синтаксиса, ассоциированные с CU, также могут описывать, например, разделение CU на один или более TUs согласно дереву квадрантов. В варианте осуществления CU, PU или TU могут иметь квадратную или неквадратную (например, прямоугольную) форму.
Блок 40 выбора режима может выбрать один из режимов кодирования, внутренний или внешний, например, на основании результатов ошибок, и предоставляет результирующий блок с внутренним или внутренним кодированием в сумматор 50 для генерирования данных остаточного блока и в сумматор 62 для восстановления кодированного блока для использования в качестве опорного кадра. Блок 40 выбора режима также предоставляет элементы синтаксиса, такие как векторы движения, индикаторы режима внутреннего предсказания, информацию о разделах и другую такую информацию синтаксиса, в блок 56 энтропийного кодирования.
Блок 42 оценки движения и блок 44 компенсации движения могут быть сильно интегрированы, но показаны отдельно для концептуальных целей. Оценка движения, выполняемая блоком 42 оценки движения, представляет собой процесс генерирования векторов движения, которые оценивают движение для блоков видео. Вектор движения, например, может указывать на перемещение PU блока видео в пределах текущего кадра видео или изображения по отношению к предсказанному блоку в опорном кадре (или другой кодированный блок) или может указывать перемещение PU видео блока текущего видеокадра (или картинки) по отношению к кодируемому блоку в пределах текущего кадра (или другой кодированный блок). Блок предсказания является блоком, который, как установлено, близко соответствует блоку, который должен быть кодирован, с точки зрения разности пикселей, которая может быть определена суммой абсолютной разности (SAD), суммой разности квадратов (SSD) или другими показателями разности. В некоторых примерах видеокодер 20 может вычислять значения для положений суб-целого пикселя опорных изображений, хранящихся в памяти 64 опорных кадров. Например, видеокодер 20 может интерполировать значения положений четверти пикселя, положений одной восьмой пикселя или других дробные позиции пикселей опорного кадра. Следовательно, блок 42 оценки движения может выполнять поиск движения относительно положений целых пикселей и положений дробных пикселей и выводить вектор движения с точностью до дробных пикселей.
Блок 42 оценки движения вычисляет вектор движения для PU блока видео во внешне кодированный сегмент, сравнивая положение PU с положением предсказанного блока опорного изображения. Опорное изображение может быть выбрано из первого списка опорных изображения (например, список 0) или их второго списка опорных изображений (например, список 1), каждый из которых определяет одно или более опорных изображений, хранящиеся в памяти 64 опорного кадра. Блок 42 оценки движения отправляет вычисленный вектор движения в блок 56 энтропийного кодирования и блок 44 компенсации движения.
Компенсация движения, выполняемая блоком 44 компенсации движения, может включать в себя выборку или генерирование блока предсказания на основании вектора движения, определенного блоком 42 оценки движения. Опять же, в некоторых примерах блок 42 оценки движения и блок 44 компенсации движения могут быть функционально интегрированы. После приема вектора движения для PU текущего блока видео блок 44 компенсации движения может определить местонахождение блока предсказания, на который указывает вектор движения, в одном из списков опорных изображений. Сумматор 50 формирует остаточный блок видео, вычитая значения пикселей блока предсказания из значений пикселей текущего кодируемого блока видео, формируя значения разности пикселей, как описано ниже. В общем, блок 42 оценки движения выполняет оценку движения относительно компонентов яркости и блок 44 компенсации движения использует векторы движения, вычисленные на основании как компонентов яркости, так и компонентов цветности. Блок 40 выбора режима также может генерировать элементы синтаксиса, ассоциированные с блоками видео и сегментом видео, для использования видеодекодером 30 при декодировании блоков видео сегмента видео.
Блок 46 внутреннего предсказания может внутреннее предсказывать текущий блок в качестве альтернативы внешнему предсказанию, выполняемому блоком 42 оценки движения и блоком 44 компенсации движения, как описано выше. В частности, блок 46 внутреннего предсказания может определять режим внутреннего предсказания для использования для кодирования текущего блока. В некоторых примерах блок 46 внутреннего предсказания может кодировать текущий блок с использованием различных режимов внутреннего предсказания, например, во время отдельных проходов кодирования, и блок 46 внутреннего предсказания (или блок 40 выбора режима в некоторых примерах) может выбрать соответствующий режим внутреннего предсказания для использования из протестированных режимов.
Например, блок 46 внутреннего предсказания может вычислять значения скорости-искажения, используя анализ скорости-искажения для различных тестируемых режимов внутреннего предсказания, и выбирать режим внутреннего предсказания, имеющий лучшие характеристики скорость-искажение среди тестированных режимов. Анализ искажения скорости обычно определяет величину искажения (или ошибки) между закодированным блоком и исходным некодированным блоком, который был закодирован для формирования закодированного блока, а также скорость передачи данных (то есть, количество битов), используемую для генерирования закодированного блока. Блок 46 внутреннего предсказания может вычислять отношения искажений и скоростей для различных кодированных блоков, чтобы определить, какой режим внутреннего предсказания показывает наилучшее значение искажения скорости для блока.
Дополнительно, блок 46 внутреннего предсказания может быть выполнен с возможностью кодировать глубину блоков карты глубины с использованием режима моделирования глубины (DMM). Блок 40 выбора режима может определять, имеет ли доступный режим DMM лучшие результаты кодирования, чем режим внутреннего предсказания и другие режимы DMM, например, используя оптимизацию скорости-искажения (RDO). Данные для изображения текстуры, соответствующего карте глубины, могут храниться в памяти 64 опорных кадров. Блок 42 оценки движения и блок 44 компенсации движения также могут быть сконфигурированы для взаимного предсказания глубины блоков карты глубины.
После выбора режима внутреннего предсказания для блока (например, обычного режима внутреннего предсказания или одного из режимов DMM), блок 46 внутреннего предсказания может предоставить информацию, указывающую выбранный режим внутреннего предсказания в блок 56 энтропийного кодирования. Блок 56 энтропийного кодирования может кодировать информацию, указывающую выбранный режим внутреннего предсказания. Видеокодер 20 может добавлять в передаваемые данные информацию о конфигурации битового потока, которая может включать в себя множество таблиц индексов режима внутреннего предсказания и множество модифицированных таблиц индексов режима внутреннего предсказания (также называемых таблицами отображения кодовых слов), определения контекстов кодирования для различных блоков и указания наиболее вероятного режима внутреннего предсказания, таблицу индексов режима внутреннего предсказания и модифицированную таблицу индексов режима внутреннего предсказания для использования в каждом из контекстов.
Видеокодер 20 формирует остаточный блок видео путем вычитания данных предсказания из блока 40 выбора режима из исходного кодируемого блока видео. Сумматор 50 представляет компонент или компоненты, которые выполняют эту операцию вычитания.
Блок 52 обработки преобразования применяет преобразование, такое как дискретное косинусное преобразование (DCT) или концептуально аналогичное преобразование, к остаточному блоку, генерируя блок видео, содержащий значения коэффициентов остаточного преобразования. Блок 52 обработки преобразования может выполнять другие преобразования, которые концептуально аналогичны DCT. Также можно использовать вейвлет-преобразования, целочисленные преобразования, преобразования поддиапазонов или другие типы преобразований.
Блок 52 обработки преобразования применяет преобразование к остаточному блоку, генерируя блок остаточных коэффициентов преобразования. Преобразование может преобразовывать остаточную информацию из области значений пикселей в область преобразования, такую как, частотная область. Блок 52 обработки преобразования может передавать результирующие коэффициенты преобразования в блок 54 квантования. Блок 54 квантования квантует коэффициенты преобразования для дополнительного снижения скорости передачи битов. Процесс квантования может уменьшить битовую глубину, связанную с некоторыми или всеми коэффициентами. Степень квантования может быть изменена путем регулировки параметра квантования. В некоторых примерах блок 54 квантования может затем выполнить сканирование матрицы, включающая в себя квантованные коэффициенты преобразования. В качестве альтернативы блок 56 энтропийного кодирования может выполнять сканирование.
После квантования блок 56 энтропийного кодирования энтропийно кодирует квантованные коэффициенты преобразования. Например, блок 56 энтропийного кодирования может выполнять контекстно-адаптивное кодирование с переменной длиной (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC), контекстно-адаптивное двоичное арифметическое кодирование на основании синтаксиса (SBAC), энтропийное кодирование с интервалом вероятности (PIPE) или другой способ энтропийного кодирования. В случае энтропийного кодирования на основании контекста контекст может быть основан на соседних блоках. После энтропийного кодирования блоком 56 энтропийного кодирования закодированный битовый поток может быть передан другому устройству (например, видеодекодеру 30) или заархивирован для последующей передачи или поиска.
Блок 58 обратного квантования и блок 60 обратного преобразования применяет обратное квантование и обратное преобразование, соответственно, для восстановления остаточного блока в пиксельной области, например, для последующего использования в качестве опорного блока. Блок 44 компенсации движения может вычислять опорный блок, добавляя остаточный блок к предсказательному блоку одного из кадров памяти 64 опорных кадров. Блок 44 компенсации движения также может применять один или более интерполяционных фильтров к восстановленному остаточному блоку для вычисления поддиапазона целочисленных значений пикселей для использования при оценке движения. Сумматор 62 добавляет восстановленный остаточный блок к блоку предсказания с компенсацией движения, сгенерированного блоком 44 компенсации движения для формирования восстановленного блока видео для хранения в памяти 64 опорных кадров. Восстановленный блок видео может использоваться блоком 42 оценки движения и блоком 44 компенсации движения, как опорный блок для внешнего кодирования блока в последующем видеокадре.
Для кодирования видеопотока могут использоваться другие структурные варианты видеокодера 20. Например, кодер 20, не основанный на преобразовании, может квантовать остаточный сигнал напрямую без блока 52 обработки преобразования для определенных блоков или кадров. В другой реализации кодер 20 может иметь блок 54 квантования и блок 58 обратного квантования, объединенные в один блок.
Фиг. 3 является блок-схемой, иллюстрирующей пример видеодекодера 30, который может реализовывать способы настоящего изобретения. В примере на фиг. 3, видеодекодер 30 включает в себя блок 70 энтропийного декодирования, блок 72 компенсации движения, блок 74 внутреннего предсказания, блок 76 обратного квантования, блок 78 обратного преобразования, память 82 опорных кадров и сумматор 80. Видеодекодер 30 может в некоторых примерах, выполнить этап декодирования, в целом обратный этапу кодирования, описанному в отношении видеокодера 20 (как показано на фиг. 2). Блок 72 компенсации движения может генерировать данные предсказания на основании векторов движения, принятых из блока 70 энтропийного декодирования, в то время, как блок 74 внутреннего предсказания может генерировать данные предсказания на основании индикаторов режима внутреннего предсказания, принятых из блока 70 энтропийного декодирования.
Во время процесса декодирования видеодекодер 30 принимает закодированный битовый поток видео, который представляет блоки видео закодированного сегмента видео и ассоциированные элементы синтаксиса из видеокодера 20. Блок 70 энтропийного декодирования видеодекодера 30 энтропийно декодирует битовый поток для генерирования квантованных коэффициентов, векторы движения или индикаторы режима внутреннего предсказания и другие элементы синтаксиса. Блок 70 энтропийного декодирования пересылает векторы движения и другие элементы синтаксиса в блок 72 компенсации движения. Видеодекодер 30 может принимать элементы синтаксиса на уровне сегмента видео и/или уровне блока видео.
Когда сегмент видео кодируется как внутренне кодированный (I) сегмент, блок 74 внутреннего предсказания может сгенерировать данные предсказания для блока видео текущего сегмента видео на основании сигнализированного режима внутреннего предсказания и данных из ранее декодированных блоков текущего кадра или изображения. Когда видеокадр кодируется как внешне кодированный (т.е. B, P или GPB) сегмент, блок 72 компенсации движения генерирует блоки предсказания для блока видео текущего видео сегмента на основании векторов движения и других элементов синтаксиса, принятых из блока 70 энтропийного декодирования. Блоки предсказания могут быть сформированы из одного из опорных изображений в одном из списков опорных изображений. Видеодекодер 30 может составлять списки опорных кадров, например список 0 и список 1 с использованием способов составления по умолчанию на основании опорных изображений, хранящихся в памяти 82 опорных кадров.
Блок 72 компенсации движения определяет информацию предсказания для блока видео текущего сегмента видео посредством анализа векторов движения и других элементов синтаксиса и использует информацию предсказания для построения блоков предсказания для текущего декодируемого блока видео. Например, блок 72 компенсации движения использует некоторые из принятых элементов синтаксиса для определения режима предсказания (например, внутренне или внешнее предсказание), используемого для кодирования блоков видео сегмента видео, типа сегмента с внешним предсказанием (например, B сегмент, P сегмент или GPB сегмент), информацию о составлении одного или более списков опорных изображений для сегмента, векторы движения для каждого внешне кодированного блока видео сегмента, статус внешнего предсказания для каждого внешне кодированного блока видео сегмент и другую информацию для декодирования блоков видео в текущем сегменте.
Блок 72 компенсации движения также может выполнять интерполяцию на основании фильтров интерполяции. Блок 72 компенсации движения может использовать фильтры интерполяции, которые используются видеокодером 20 во время кодирования блоков видео, чтобы вычислять интерполированные значения для суб-целочисленных пикселей опорных блоков. В этом случае блок 72 компенсации движения может определять фильтры интерполяции, используемые видеокодером 20, из принятых элементов синтаксиса и использовать фильтры интерполяции для построения блоков предсказания.
Данные для изображения текстуры, соответствующего карте глубины, могут храниться в памяти 82 опорных кадров. Блок 72 компенсации движения также может быть выполнен с возможностью взаимного предсказания блоков глубины карты глубины.
Как будет понятно специалистам в данной области техники, система 10 кодирования по фиг. 1A подходит для реализации различных способов кодирования видео или сжатия. Некоторые способы сжатия видео, такие как внешнее предсказание, внутреннее предсказание и/или контурные фильтры, будут обсуждены позже. Поэтому способы сжатия видео были приняты в различные стандарты кодирования видео, такие как H.264/AVC и H.265/HEVC.
Различные инструменты кодирования, такие как адаптивное предсказание вектора движения (AMVP) и режим слияния (MERGE), используются для предсказания векторов движения (MVs) и повышения эффективности внешнего предсказания и, следовательно, общей эффективности сжатия видео.
Для декодирования сжатого битового потока могут использоваться другие варианты видеодекодера 30. Например, декодер 30 может генерировать выходной видеопоток без блока контурной фильтрации. Например, декодер 30, не основанный на преобразовании, может выполнить обратное квантование остаточного сигнала напрямую без блока 78 обработки обратного преобразования для определенных блоков или кадров. В другой реализации видеодекодер 30 может иметь блок 76 обратного квантования и блок 78 обработки обратного преобразования, объединенные в единый блок.
Фиг. 4 является схемой устройства кодирования видео согласно варианту осуществления настоящего изобретения. Устройство 400 кодирования видео подходит для реализации раскрытых вариантов осуществления, как описано в данном документе. В варианте осуществления устройство 400 кодирования видео может быть декодером, таким как видеодекодер 30 по фиг. 1A или кодер, такой как видеокодер 20 по фиг. 1А. В варианте осуществления устройство 400 кодирования видео может быть одним или несколькими компонентами видеодекодера 30 по фиг. 1A или видеокодер 20 по фиг. 1A, как описано выше.
Устройство 400 кодирования видео включает в себя входные порты 410 и блоки 420 приемника (Rx) для приема данных, процессор 430 (который может быть логическим блоком или центральным блоком обработки (CPU)) для обработки данных, блоки 440 передатчика (Tx) и выходные порты 450 для передачи данных и память 460 для хранения данных. Устройство 400 кодирования видео может также включать в себя оптико-электрические (OE) компоненты и электрические-оптические (EO) компоненты, подключенные к входным портам 410, блокам 420 приемника, блокам 440 передатчика и выходным портам 450 для вывода или ввода оптических или электрических сигналов.
Процессор 430 реализован аппаратным обеспечением и/или программным обеспечением. Процессор 430 может быть реализован как одна или более микросхем CPU, ядер (например, как многоядерный процессор), FPGA, ASIC и DSP. Процессор 430 соединен с входными портами 410, блоками 420 приемника, блоками 440 передатчика, выходными портами 450 и памятью 460. Процессор 430 включает в себя модуль 470 кодирования. Модуль 470 кодирования реализует описанные раскрытые в настоящем изобретении варианты осуществления. Например, модуль 470 кодирования реализует, обрабатывает, подготавливает или предоставляет различные операции кодирования. Таким образом, использование модуля 470 кодирования обеспечивает существенное улучшение функциональных возможностей устройства 400 кодирования видео и обеспечивает преобразование устройства 400 кодирования видео в другое состояние. В качестве альтернативы модуль 470 кодирования реализован как инструкции, хранящиеся в памяти 460 и выполняемые процессором 430.
Память 460 включает в себя один или более дисков, ленточных накопителей и твердотельных накопителей и может использоваться в качестве запоминающего устройства для переполнения данных, для хранения программ, когда такие программы выбраны для выполнения, и для хранения инструкций и данных, которые читаются во время выполнения программы. Память 460 может быть энергозависимой и/или энергонезависимой и может быть постоянным запоминающим устройством (ROM), памятью с произвольным доступом (RAM), троичной памятью с адресацией по содержимому (TCAM) и/или статической памятью с произвольным доступом (SRAM).
Фиг. 5 является упрощенной блок-схемой устройства 500, которое может использоваться как устройство 12 источника и устройство 14 назначения, или как оба, по фиг. 1A согласно примерному варианту осуществления. Устройство 500 может реализовывать способы настоящего изобретения. Устройство 500 может быть в форме вычислительной системы, включающей в себя несколько вычислительных устройств, или в форме одного вычислительного устройства, например, мобильного телефона, планшетного компьютера, портативного компьютера, портативного компьютера, настольного компьютера и т.п.
Процессор 502 устройства 500 может быть центральным процессором. В качестве альтернативы процессор 502 может быть устройством любого другого типа или множеством устройств, выполненных с возможностью манипулировать или обрабатывать информацию, существующую в настоящее время или разработанную в будущем. Хотя раскрытые реализации могут быть реализованы с одним процессором, как показано, например, процессором 502, с использованием более чем одного процессора могут быть достигнуты преимущества в скорости и эффективности.
Память 504 в устройстве 500 может быть устройством постоянной памяти (ROM) или устройством оперативной памяти (RAM) в реализации. В качестве памяти 504 может использоваться любой другой подходящий тип запоминающего устройства. Память 504 может использоваться для хранения кода и/или данных 506, к которым обращается процессор 502 по шине 512. Память 504 дополнительно может использоваться для хранения операционной системы 508 и прикладные программы 510. Прикладные программы 510 могут включать в себя, по меньшей мере, одну программу, которая позволяет процессору 502 выполнять описанные в настоящем документе способы. Например, прикладные программы 510 могут включать в себя несколько приложений с 1 по N и дополнительно включать в себя приложение кодирования видео, которое выполняет описанные в настоящем документе способы. Устройство 500 также может включать в себя дополнительную память в виде вторичного запоминающего устройства 514, которым может быть, например, карта памяти, используемая с мобильным вычислительным устройством. Поскольку сеансы видеосвязи могут содержать значительный объем информации, они могут быть сохранены полностью или частично в хранилище 514 и загружены в память 504 по мере необходимости для обработки.
Устройство 500 также может включать в себя одно или более устройств вывода, таких как дисплей 518. Дисплей 518 может быть, в одном примере, сенсорным дисплеем, который объединяет дисплей с сенсорным элементом, способным распознавать сенсорные вводы. Дисплей 518 может быть соединен с процессором 502 через шину 512. Другие устройства вывода, которые позволяют пользователю программировать или иным образом использовать устройство 500, могут быть обеспечены в дополнение к дисплею 518 или в качестве альтернативы ему. Когда устройство вывода представляет собой или включает в себя дисплей, дисплей может быть реализован различными способами, в том числе с помощью жидкокристаллического дисплея (LCD), дисплея с электронно-лучевой трубкой (CRT), плазменного дисплея или дисплея на светоизлучающих диодах (LED), например, дисплеем на органических светодиодах (OLED).
Устройство 500 также может включать в себя устройство 520 формирования изображений, например камеру, или любое другое устройство 520 формирования изображений, существующее в настоящее время или разработанное в будущем, которое может воспринимать изображение, такое как изображение пользователя, работающего с устройством 500. Устройство 520 формирования изображения может быть расположено так, чтобы оно было направлено к устройству 500 пользователя. В примере положение и оптическая ось устройства 520 формирования изображений могут быть сконфигурированы так, что поле зрения включает в себя область, которая непосредственно примыкает к дисплею 518 и из которой виден дисплей 518.
Устройство 500 может также включать в себя устройство 522 обнаружения звука, например, микрофон или любое другое устройство обнаружения звука, существующее или разрабатываемое в настоящее время, которое может воспринимать звуки вблизи устройства 500, или взаимодействовать с ним. Устройство 522 обнаружения звука может быть расположено таким образом, чтобы оно было направлено к устройству 500 пользователя и могло иметь возможность принимать звук, например, речь или другие звуки, издаваемые пользователем, пока пользователь управляет устройством 500.
Хотя на фиг. 5 изображает процессор 502 и память 504 устройства 500 как интегрированные в одно устройство, могут использоваться другие конфигурации. Операции процессора 502 могут быть распределены между несколькими машинами (каждая машина имеет один или более процессоров), которые могут быть соединены напрямую или через локальную область или другую сеть. Память 504 может быть распределена между несколькими машинами, такими как сетевая память или память на машинах, выполняющих операции устройства 500. Хотя на чертеже изображена одна шина, шина 512 устройства 500 может включать в себя несколько шин. Кроме того, вторичное хранилище 514 может быть напрямую связано с другими компонентами устройства 500 или может быть доступно через сеть и может включать в себя один интегрированный блок, такой как карта памяти, или более блоков, например, несколько карт памяти. Таким образом, устройство 500 может быть реализовано в широком разнообразии конфигураций.
Настоящее изобретение относится к внутреннему предсказанию, как части механизма кодирования видео.
Внутреннее предсказание может быть использовано при отсутствии доступного опорного кадра, или когда не используется внешнее предсказание для текущего блока или изображения. Опорные выборки внутреннего предсказания обычно получают из ранее кодированных (или восстановленных) соседних блоков в одном и том же изображении. Например, как в H.264/AVC, так и в H.265/HEVC, для внутреннего предсказания в качестве опорных используются граничные выборки соседних блоков. Чтобы охватить различные текстуры или структурные символы, существует множество различных режимов внутреннего предсказания. В каждом режиме используется свой способ получения сигнала предсказания. Как показано на фиг. 6, например, H.265/HEVC поддерживает всего 35 режимов внутреннего предсказания.
Для внутреннего предсказания в качестве опорных используются декодированные граничные выборки соседних блоков. Кодер выбирает лучший режим внутреннего предсказания яркости каждого блока из 35 вариантов: 33 режима направленного предсказания, DC режим и планарный режим. На фиг. 6 показано отображение между направлением внутреннего предсказания и номером режима внутреннего предсказания.
Как показано на фиг. 7, блок «CUR» является текущим блоком для предсказания, в качестве опорных выборок используются выборки серого цвета вдоль границы смежных сформированных блоков. Сигнал предсказания может быть получен путем отображения опорных выборок в соответствии с конкретным способом, который указывается в режиме внутреннего предсказания.
Кодирование видео может выполняться на основании цветового пространства и цветового формата. Например, цветное видео играет важную роль в мультимедийных системах, в котором для эффективного представления цвета используются различные цветовые пространства. Цветовое пространство определяет цвет с числовыми значениями с использованием более компонентов. Популярным цветовым пространством является цветовое пространство RGB, в котором цвет представлен как комбинация трех значений компонентов основного цвета (т.е. красного, зеленого и синего). Для сжатия цветного видео широко используется цветовое пространство YCbCr, как описано в A. Ford и A. Roberts, «Color space conversions», University of Westminster, London, Tech. Респ., август 1998 г.
YCbCr может быть легко преобразован из цветового пространства RGB посредством линейного преобразования, и избыточность между различными компонентами, а именно, избыточность перекрестной компоненты, значительно снижается в цветовом пространстве YCbCr. Одним из преимуществ YCbCr является обратная совместимость с черно-белым TV, поскольку сигнал Y передает информацию о яркости. Дополнительно, полоса частот цветности может быть уменьшена за счет суб-дискретизации компонентов Cb и Cr в формате 4:2:0 выборки цветности со значительно меньшим субъективным влиянием, чем суб-дискретизация в цветовом пространстве RGB. Благодаря этим преимуществам YCbCr является основным цветовым пространством при сжатии видео. Есть также другие цветовые пространства, такие как YCoCg, используемые при сжатии видео. В настоящем изобретении, независимо от фактического используемого цветового пространства, для представления трех цветовых компонентов в схеме сжатия видео используются яркость (или L или Y) и две цветности (Cb и Cr).
Например, когда структура выборки формата цветности представляет собой выборку 4:2:0, каждый из двух массивов цветности имеет половину высоты и половину ширины массива яркости. На фиг. 8 показаны номинальные вертикальные и горизонтальные относительные местоположения выборок яркости и цветности на изображениях.
Фиг. 9 (включающий в себя фиг. 9A и фиг. 9B) представляет собой схему, иллюстрирующую примерный механизм выполнения внутреннего предсказания 900 с использованием перекрестной компоненты линейной модели (CCLM). Фиг. 9 иллюстрирует пример выборки 4:2:0. Фиг. 9 показывает пример расположения левой и верхней выборок и выборку текущего блока, задействованные в CCLM режиме. Белые квадраты являются выборками текущего блока и закрашенные кружки являются восстановленными выборками. Фиг. 9A иллюстрирует пример соседних восстановленных пикселей совместно расположенного блока яркости. Фиг. 9B иллюстрирует пример соседних восстановленных пикселей блока цветности. Если видеоформат является YUV4:2:0, то есть, используют один блок яркости 16x16 и два блока цветности 8x8.
CCLM внутреннее предсказание 900 является типом внутреннего предсказания с использованием перекрестной компоненты. Следовательно, CCLM внутреннее предсказание 900 может выполняться блоком 46 внутренней оценки кодера 20 и/или блоком 94 внутреннего предсказания декодера 30. CCLM внутреннее предсказание 900 предсказывает выборки 903 цветности в блоке 901 цветности. Выборки 903 цветности появляются в целочисленных позициях, показанные как пересекающиеся линии. Предсказание частично основано на соседних опорных образцах, которые показаны черными кружками. В отличие от режимов 500 внутреннего предсказания, выборки 903 цветности не предсказываются исключительно на основании соседних опорных выборок 905 цветности, которые обозначены как восстановленные выборки цветности (Rec'C). Выборки 903 цветности также предсказываются на основании опорных выборок 913 яркости и соседних опорных выборок 915 яркости. В частности, CU содержит блок 911 яркости и два блока 901 цветности. Генерируется модель, которая коррелирует выборки 903 цветности и опорные выборки яркости 913 в том же CU. Линейные коэффициенты для модели определяются путем сравнения соседних опорных выборок 915 яркости с соседними опорными выборками 905 цветности.
По мере восстановления опорных выборок 913 яркости опорные выборки 913 яркости обозначаются как восстановленные выборки яркости (Rec'L). По мере того, как соседние опорные выборки 905 цветности восстанавливаются, соседние опорные выборки 905 цветности обозначаются как восстановленные выборки цветности (Rec'C).
Как показано, блок 911 яркости содержит в четыре раза больше выборок, чем блок 901 цветности. В частности, блок 901 цветности содержит N выборок на N выборок, тогда как блок 911 яркости содержит 2N выборок на 2N выборок. Следовательно, блок 911 яркости в четыре раза превышает разрешающую способность блока 901 цветности. Чтобы предсказание работало на опорных выборках 913 яркости и соседних опорных выборках 915 яркости, опорные выборки 913 яркости и соседние опорные выборки 915 подвергаются понижающей дискретизации для обеспечения точного сравнения с соседними опорными выборками 905 цветности и выборками 903 цветности. Понижающая дискретизация является процессом уменьшения разрешения группы значений выборок. Например, когда используется формат YUV4:2:0, выборки яркости могут быть дискретизированы с понижением в четыре раза (например, ширина в два раза и высота в два раза). YUV представляет собой систему кодирования цвета, которая использует цветовое пространство с точки зрения компонентов Y яркости и двух компонентов U и V цветности.
Для уменьшения избыточности перекрестной компоненты используется режим предсказания с использованием перекрестной компоненты линейной модели (CCLM, также может называться LM режим, CCIP режим), для которого выборки цветности предсказываются на основании восстановленных выборок яркости того же блока кодирования (CU), используя линейную модель следующим образом:
,
в котором  представляет собой предсказанные выборки цветности в CU и  представляет восстановленные выборки яркости с пониженной дискретизацией того же CU, а α и β являются параметрами линейной модели или коэффициентами линейной модели.
В одном примере параметры α и β получают путем минимизации ошибки регрессии между соседними восстановленными выборками яркости вокруг текущего блока яркости и соседними восстановленных выборок цветности вокруг блока цветности следующим образом:
,
в котором L (n) представляет верхнюю и левую соседние восстановленные выборки яркости с пониженной дискретизацией, C (n) представляет верхние и левые соседние восстановленные выборки цветности и значение N равно сумме ширины и высоты текущей цветности блока кодирования (например, блок 901 цветности). В другом примере α и β определяются на основании минимального и максимального значения соседних опорных выборок яркости с пониженной дискретизацией, как обсуждалось в отношении фиг. 16 ниже.
Настоящее изобретение относится к использованию выборок яркости для предсказания выборок цветности посредством внутреннего предсказания, как части механизма кодирования видео. Режимы предсказания с использованием перекрестной компоненты линейной модели (CCLM) добавляются в качестве дополнительных режимов внутреннего предсказания цветности. На стороне кодера для выбора режима внутреннего предсказания цветности добавляется проверка стоимости искажения скорости для компоненты цветности.
В общем, когда применяется CCLM режим предсказания (сокращенно от LM режима предсказания), видеокодер 20 и видеодекодер 30 могут выполнять следующие этапы. Видеокодер 20 и видеодекодер 30 могут выполнять понижающую дискретизацию соседних выборок яркости. Видеокодер 20 и видеодекодер 30 могут выводить линейные параметры (то есть, α и β) (также называемые параметрами масштабирования или параметрами режима предсказания с использованием перекрестной компоненты линейной модели (CCLM)). Видеокодер 20 и видеодекодер 30 могут выполнять понижающую дискретизацию текущего блока яркости и получать предсказание (например, блок предсказания) на основании блока яркости с пониженной дискретизацией и линейных параметров.
Могут быть использованы различные способы выполнения понижающей дискретизации.
Фиг. 10 представляет собой концептуальную схему, иллюстрирующую пример позиций яркости и позиций цветности для выборок с пониженной дискретизацией блока яркости для генерирования блока предсказания для блока цветности. Как показано на фиг. 10, выборка цветности, представленная закрашенным (то есть сплошным черным) треугольником, предсказывается на основании двух выборок яркости, представленных двумя закрашенными кружками, путем применения фильтра [1, 1]. Фильтр [1, 1] является одним из примеров двухотводного фильтра.
Фиг. 11 является концептуальной схемой, иллюстрирующей другой пример позиции яркости и позиции цветности для выборок с пониженной дискретизацией блока яркости для генерирования блока предсказания. Как показано на фиг. 11, выборка цветности, представленная закрашенным (то есть, сплошным черным) треугольником, предсказывается на основании шести выборок яркости, представленных шестью заштрихованными кружками, посредством применения фильтра с 6 отводами.
Фиг. 12-15 являются схемами, иллюстрирующими примерные механизмы 1200, 1300, 1400 и 1500 понижающей дискретизации для поддержки внутреннего предсказания с использованием перекрестной компоненты, например, в соответствии с CCLM внутренним предсказанием 900, механизм 1600, MDLM внутреннее предсказание с использованием CCIP_A режима 1700 и CCIP_L режима 1800, и/или MMLM внутреннего предсказания, как показано на графике 1900. Следовательно, механизмы 1200, 1300, 1400 и 1500 могут выполняться блоком 46 внутреннего предсказания и/или блоком 74 внутреннего предсказания системы 10 или 40 кодека, блоком 46 внутреннего предсказания кодера 20 и/или блоком 74 внутреннего предсказания декодера 30. В частности, механизмы 1200, 1300, 1400 и 1500 могут использоваться на этапе 2210 способа 220, на этапе 2320 способа 230 или этапе 2520 способа 250 в декодере и во время этапа 2420 способа 240 или этапа 2620 способа 260 в кодере, соответственно. Детали фиг. 12-15 представлены в международной заявке № PCT/US2019/041526, поданной 12.07.2019, которая включена в настоящий документ посредством ссылки.
Как показано на фиг. 12, в механизме 1200 две строки 1218 и 1219 соседних опорных выборок яркости подвергаются понижающей дискретизации и три столбца 1220, 1221 и 1222 соседних опорных выборок яркости подвергаются понижающей дискретизации. Строки 1218 и 1219 и столбцы 1220, 1221 и 1222 непосредственно примыкают к блоку 1211 яркости, который использует CU совместно с блоком цветности, предсказанный согласно внутреннему предсказанию с использование перекрестной компоненты. После пониженной дискретизацией строки 1218 и 1219 соседних опорных выборок яркости становятся единственной строкой 1216 соседних опорных выборок яркости с пониженной дискретизацией. Кроме того, столбцы 1220, 1221 и 1222 соседних опорных выборок яркости подвергаются понижающей дискретизации, в результате чего получается единственный столбец 1217 соседних опорных выборок яркости с пониженной дискретизацией. Дополнительно, выборки яркости блока 1211 яркости подвергаются понижающей дискретизации для формирования опорных выборок 1212 яркости с пониженной дискретизацией. Опорные выборки 1212 яркости с пониженной дискретизацией и соседние опорные выборки яркости с пониженной дискретизацией из строки 1216 и столбца 1217 затем можно использовать для внутреннего предсказания с использованием перекрестной компоненты согласно уравнению (1). Следует отметить, что размеры строк 1218 и 1219 и столбцов 1220, 1221 и 1222 могут выходить за пределы блока 1211 яркости, как показано на фиг. 12. Например, количество верхних соседних опорных выборок яркости в каждой строке 1218/1219, которое может быть обозначено как M, больше, чем количество выборок яркости в строке блока 1211 яркости, которое может быть обозначено как W. Кроме того, количество левых соседних опорных выборок яркости в каждом столбце 1220/1221/1222, которое может быть обозначено как N, больше, чем количество выборок яркости в столбце блока 1211 яркости, которое может быть обозначено как H.
В примере механизм 1200 может быть реализован следующим образом. Для блока 1211 яркости две верхние соседние строки 1218 и 1219, обозначенные как A1 и A2, используются для понижающей дискретизации, чтобы получить понижающую дискретизацию соседней строки 1216, обозначенной как A. A [i] является i-й выборкой в A, A1 [i] является i-й выборкой в A1 и A2 [i] является i-й выборкой в A2. В конкретном примере фильтр с понижающей дискретизацией с шестью отводами может применяться к соседним строкам 1218 и 1219 для получения соседней строки 1216 с пониженной дискретизацией в соответствии с уравнением (4):
Кроме того, левые соседние столбцы 1220, 1221 и 1222 обозначены как L1, L2 и L3 и используются для понижающей дискретизации, чтобы получить соседний столбец 1217 с пониженной дискретизацией, обозначенный как L. L [i] является i-й выборкой в L, L1 [i] является i-й выборкой в L1, L2 [i] является i-й выборкой в L2 и L3 [i] является i-й выборкой в L3. В конкретном примере фильтр с понижающей дискретизацией с шестью отводами может применяться к соседним столбцам 1220, 1221 и 1222, чтобы получить соседний столбец 1217 с пониженной дискретизацией в соответствии с уравнением (5):
Механизм 1300 на фиг. 13, по существу, аналогичен механизму 1200 по фиг. 12. Механизм 1300 включает в себя блок 1311 яркости с соседними строками 1318 и 1319 и столбцами 1320, 1321 и 1322 соседних опорных выборок яркости, которые аналогичны блоку 1211 яркости, строкам 1218 и 1219 и столбцам 1220, 1221 и 1222, соответственно. Разница в том, что строки 1318 и 1319 и столбцы 1320, 1321 и 1322 не выходят за пределы блока 1211 яркости. Как и в механизме 1200, блок 1311 яркости, строки 1318 и 1319 и столбцы 1320, 1321 и 1322 находятся внизу для формирования опорных выборок 1312 яркости с пониженной дискретизацией, столбец 1317 и строка 1316, содержащие соседние опорные выборки яркости с пониженной дискретизацией. Столбец 1317 и строка 1316 не выходят за пределы блока опорных выборок 1312 яркости с пониженной дискретизацией. В остальном опорные выборки 1312 яркости с пониженной дискретизацией, столбец 1317 и строка 1316, по существу, аналогичны опорным выборкам 1212 яркости с пониженной дискретизацией, столбцу 1217 и строке 1216, соответственно.
Механизм 1400 на фиг. 14 аналогичен механизмам 1200 и 1300, но использует одну строку 1418 соседних опорных выборок яркости вместо двух строк. Механизм 1400 также использует три столбца 1420, 1421 и 1422 соседних опорных выборок яркости. Строка 1418 и столбцы 1420, 1421 и 1422 непосредственно примыкают к блоку 1411 яркости, который совместно использует CU с блоком цветности, предсказываемым согласно внутреннему предсказанию с использованием перекрестной компоненты. Строка 1418 соседних опорных выборок яркости после пониженной дискретизации становится строкой 1416 подвергнутых понижающей дискретизации соседних опорных выборок яркости. Кроме того, столбцы 1420, 1421 и 1422 соседних опорных выборок яркости подвергаются понижающей дискретизации, в результате чего получается единственный столбец 1417 подвергнутых понижающей дискретизации соседних опорных выборок яркости. Кроме того, выборки яркости блока 1411 яркости подвергаются понижающей дискретизации для формирования опорных выборок 1412 яркости с пониженной дискретизацией. Опорные выборки 1412 яркости с пониженной дискретизацией и соседние опорные выборки яркости с пониженной дискретизацией из строки 1416 и столбца 1417 могут затем использоваться для внутреннего предсказания с использованием перекрестной компоненты согласно уравнению (1).
Во время понижающей дискретизации строки и столбцы сохраняются в памяти в строчном буфере. Путем исключения строки 1319 во время понижающей дискретизации и использования одной строки 1418 значений значительно снижает использование памяти в строчном буфере. Однако было обнаружено, что соседние опорные выборки яркости с пониженной дискретизацией из строки 1316, по существу, аналогичны соседним опорным выборкам яркости с пониженной дискретизацией строки 1416. Таким образом, пропуск строки 1319 во время понижающей дискретизации и вместо этого использование строки 1418 приводит к уменьшенному объему памяти в строковом буфере и, следовательно, к лучшей скорости обработки, большему параллелизму, меньшим требованиям к памяти и т.д. без ущерба для точности и, следовательно, эффективности кодирования. Соответственно, в одном примерном варианте осуществления для использования при внутреннем предсказании с использованием перекрестной компоненты применяют одну строку 1418 соседних опорных выборок яркости с понижающей дискретизацией.
В примере механизм 1400 может быть реализован следующим образом. Для блока 1411 яркости верхняя соседняя строка 1418, обозначенная как A1, используется для понижающей дискретизации для получения соседней строки 1416 с понижающей дискретизацией, обозначенной как A. A [i] является i-й выборкой в A и A1 [i] является i-й выборкой в A1. В конкретном примере фильтр с понижающей дискретизацией с тремя отводами может применяться к соседней строке 1418 для получения соседней строки 1416 с пониженной дискретизацией в соответствии с уравнением (6):
Кроме того, левые соседние столбцы 1420, 1421 и 1422 обозначены как L1, L2 и L3 и используются для понижающей дискретизации, чтобы получить соседний столбец 1417 с пониженной дискретизацией, обозначенный как L. L [i] является i-й выборкой в L, L1 [i] является i-й выборкой в L1, L2 [i] является i-й выборкой в L2 и L3 [i] является i-й выборкой в L3. В конкретном примере фильтр с понижающей дискретизацией с шестью отводами может применяться к соседним столбцам 1320, 1321 и 1322, чтобы получить соседний столбец 1317 с пониженной дискретизацией в соответствии с уравнением (7):
Следует отметить, что механизм 1400 не ограничивается описанными фильтрами понижающей дискретизации. Например, вместо использования фильтра с понижающей дискретизацией с тремя отводами, как описано в уравнении (6), выборки также могут быть получены напрямую, как в уравнении (8) ниже:
Механизм 1500 на фиг. 15 аналогичен механизму 1300, но использует одну строку 1518 соседних опорных выборок яркости и один столбец 1520 соседних опорных выборок яркости вместо двух строк 1318 и 1319 и трех столбцов 1320, 1321 и 1322, соответственно. Строка 1518 и столбец 1520 непосредственно примыкают к блоку 1511 яркости, который использует CU совместно с блоком цветности, предсказанным согласно внутреннему предсказанию с использованием перекрестной компоненты. После пониженной дискретизацией строка 1518 соседних опорных выборок яркости становится строкой 1516 подвергнутых понижающей дискретизации соседних опорных выборок яркости. Кроме того, в столбце 1520 соседних опорных выборок яркости выполняется понижающая дискретизация, в результате чего получается единственный столбец 1517 подвергнутый понижающей дискретизации соседних опорных выборок яркости. Соседние опорные выборки яркости с пониженной дискретизацией из строки 1516 и столбца 1517 могут затем использоваться для внутреннего предсказания с использованием перекрестной компоненты согласно уравнению (1).
Механизм 1500 пропускает строку 1319 и столбцы 1321 и 1322 во время понижающей дискретизации и вместо этого использует одну строку 1518 и один столбец 1520 значений, что значительно снижает использование памяти в строчном буфере. Однако было обнаружено, что соседние опорные выборки яркости с пониженной дискретизацией из строки 1316 и столбца 1317, по существу, аналогичны соседним опорным образцам яркости с пониженной дискретизацией из строки 1516 и столбца 1517, соответственно. Таким образом, исключение строки 1319 и столбцов 1321 и 1322 во время понижающей дискретизации и использование вместо этого одной строки 1518 и столбца 1520 приводит к снижению использования памяти в строчном буфере и, следовательно, к лучшей скорости обработки, большему параллелизму, меньшим требованиям к памяти и т.д. без ущерба для точности и, следовательно, эффективности кодирования. Соответственно, в другом примерном варианте осуществления одиночная строка 1518 соседних опорных выборок яркости и единственный столбец 1520 соседних опорных выборок яркости подвергаются понижающей дискретизации для использования при внутреннем предсказании с использованием перекрестной компоненты.
В примере механизм 1500 может быть реализован следующим образом. Для блока 1511 яркости верхняя соседняя строка 1518, обозначенная как A1, используется для понижающей дискретизации, чтобы получить понижающую дискретизацию соседней строки 1516, обозначенной как A. A [i] является i-й выборкой в A и A1 [i] является i-й выборкой в A1. В конкретном примере фильтр с понижающей дискретизацией с тремя отводами может применяться к соседней строке 1518 для получения соседней строки 1516 с пониженной дискретизацией в соответствии с уравнением (9):
Кроме того, левый соседний столбец 1520 обозначается как L1 используется для понижающей дискретизации, чтобы получить соседний столбец 1517 с пониженной дискретизацией, обозначенный как L. L [i] является i-й выборкой в L и L1 [i] является i-й выборкой в L1. В конкретном примере фильтр с понижающей дискретизацией с двумя отводами может применяться к соседнему столбцу 1520, чтобы получить соседний столбец 1517 с пониженной дискретизацией в соответствии с уравнением (10):
В альтернативном примере механизм 1500 может быть модифицирован для использования столбца L2 (например, столбца 1321) вместо столбца L1 (например, столбца 1520) при понижающей дискретизации. В таком случае фильтр с понижающей дискретизацией с двумя отводами может применяться к соседнему столбцу L2, чтобы получить соседний столбец 1517 с пониженной дискретизацией в соответствии с уравнением (11). Следует отметить, что механизм 1500 не ограничивается описанными фильтрами понижающей дискретизации. Например, вместо использования двухотводного и трехотводного фильтра понижающей дискретизации, как описано в уравнениях (9) и (10), выборки также могут быть получены напрямую, как в уравнениях (11) и (12) ниже.
Кроме того, следует также отметить, что механизмы 1400 и 1500 также могут применяться, когда размеры строк 1418, 1416, 1518, 1516 и/или столбцов 1420, 1421, 1422, 1417, 1520 и/или 1517 увеличиваются вне соответствующего блока 1411 и/или 1511 яркости (например, как показано на фиг. 12).
В модели совместного исследования (JEM) применяют два CCLM режима: CCLM режим для одной модели и CCLM режим для более моделей (MMLM). Как указано в названии, CCLM режим с одной моделью использует одну линейную модель для предсказания выборок цветности из выборок яркости для всего CU, тогда как в MMLM могут использовать две линейные модели. В MMLM соседние выборки яркости и соседние выборки цветности текущего блока классифицируются на две группы, каждая группа используется в качестве обучающего набора для получения линейной модели (т.е. для конкретной группы получают конкретный α и конкретный β). Кроме того, выборки текущего блока яркости также классифицируются на основании того же правила для классификации соседних выборок яркости.
Фиг. 16 является графиком, иллюстрирующий примерный механизм 1600 определения параметров линейной модели для поддержки CCLM внутреннего предсказания. Для получения параметров α и β линейной модели, верхние и левые соседние восстановленные выборки яркости могут подвергаться понижающей дискретизации для получения однозначного отношения с верхними и левыми соседними восстановленными выборками цветности. В механизме 1200 α и β, используемые в уравнении (1), определяются на основании минимального и максимального значения соседних опорных выборок яркости с пониженной дискретизацией. Две точки (2 пары значения яркости и значения цветности или 2 пары значения яркости и значения цветности) (A, B) являются минимальным и максимальным значениями внутри набора соседних выборок яркости, как показано на фиг. 16. Это является альтернативным подходом к определению α и β, основанный на минимизации ошибки регрессии.
Как показано на фиг. 16, прямая линия представлена уравнением Y = αx + β, в котором параметры α и β линейной модели получаются в соответствии со следующими уравнениями (13) и (14):
A
A
B
B
в котором (x, y) является набором координат, определяемый минимальным соседним опорным значением яркости и соответствующим опорным значением цветности, и (x, y) является набором координат, определяемым максимальным соседним опорным значением яркости и соответствующим опорным значением цветности. Следует отметить, что две точки (2 пары значений яркости и значения цветности) (A, B) выбираются из восстановленных соседних выборок яркости с пониженной дискретизацией и соседних восстановленных выборок цветности.
Примерный механизм 1600 использует максимальные/минимальные значения яркости и соответствующие значения цветности для получения параметров линейной модели. Только 2 точки (точка представлена парой значения яркости и значения цветности) выбираются из соседних выборок яркости и соседних выборок цветности, чтобы получить параметры линейной модели. Примерный механизм 1600 не применяется для некоторых видеопоследовательностей с некоторым шумом.
Многонаправленная линейная модель
Помимо вышеупомянутых (или верхних) соседних выборок и левых соседних выборок можно использовать для совместного вычисления параметров линейной модели, они также могут альтернативно использоваться в двух других CCIP режимах (внутреннее предсказание с использованием перекрёстной компоненты), называемых CCIP_A и CCIP_L режимы. CCIP_A и CCIP_L также могут быть обозначены как многонаправленная линейная модель (MDLM) для краткости.
Фиг. 17 и фиг. 18 являются схемами, иллюстрирующие примерный механизм выполнения MDLM внутреннего предсказания. MDLM внутреннее предсказание работает аналогично CCLM внутреннему прогнозированию 900. В частности, MDLM внутреннее предсказание использует как режим 1700 внутреннего предсказания с использованием перекрестной компоненты по линейной модели (CCIP) _A, так и CCIP_L режим 1800 при определении параметров линейной модели α и β. Например, MDLM внутреннее предсказание может вычислять параметры α и β линейной модели с использованием CCIP_A режима 1700 и CCIP_L режима 1800. В другом примере MDLM внутреннее предсказание может использовать CCIP_A режим 1700 или CCIP_L режим 1800 для определения параметров α и β линейной модели.
В CCIP_A режиме для расчета параметров линейной модели используются только верхние соседние выборки. Чтобы получить больше опорных выборок, обычно верхние соседние выборки расширяются до (W + H). Как показано на фиг. 17, W = H, в котором W указывает ширину соответствующего блока яркости или цветности и H указывает высоту соответствующего блока яркости или цветности.
В CCIP_L режиме для вычисления параметров линейной модели используются только левые соседние выборки. Чтобы получить больше опорных выборок, обычно левые соседние выборки расширяются до (H + W). Как показано на фиг. 18, W = H, в котором W указывает ширину соответствующего блока яркости или цветности и H указывает высоту соответствующего блока яркости или цветности.
CCIP режим (то есть, CCLM или LM режим) и MDLM (CCIP_A и CCIP_L) могут использоваться вместе или в качестве альтернативы. например, только CCIP используется в кодеке, или только MDLM используется в кодеке, или как CCIP, так и MDLM используются в кодеке.
Множественная CCLM модель
Помимо единой CCLM модели, существует еще один режим, называемый режимом множественной модели CCLM (MMLM). Как указано в названии, CCLM режим с одной моделью использует одну линейную модель для предсказания выборок цветности из выборок яркости для всего CU, тогда как в MMLM могут быть две модели. В MMLM соседние выборки яркости и соседние выборки цветности текущего блока классифицируются на две группы, каждая группа используется в качестве обучающего набора для получения линейной модели (то есть, конкретные α и β выводятся для конкретной группы). Кроме того, выборки текущего блока яркости также классифицируются на основании того же правила для классификации соседних выборок яркости.
Фиг. 19 является графиком, иллюстрирующей примерный механизм 1900 определения параметров линейной модели для поддержки MMLM внутреннего предсказания. MMLM внутреннее предсказание, как показано на графике 1900, является типом внутреннего предсказания с использованием перекрестной компоненты. MMLM внутреннее предсказание аналогично CCLM внутреннему предсказанию. Разница в том, что в MMLM соседние восстановленные выборки яркости помещаются в две группы путем сравнения соответствующего значения яркости (например, Rec'L) с пороговым значением. Затем для каждой группы выполняется CCLM внутреннее предсказание для определения параметров α и β линейной модели и завершения соответствующей линейной модели согласно уравнению (1). Классификация соседних восстановленных выборок яркости на две группы может выполняться согласно уравнению (15) ниже:
′L
′L
В одном примере пороговое значение вычисляется как среднее значение соседних восстановленных выборок яркости. Соседний восстановленный выборка яркости Rec[x,y] <= Threshold классифицируется в группу 1; в то время, как соседняя восстановленная выборка яркости с Rec[x,y] > Threshold классифицируется в группу 2.
в котором переменные уравнения (15) определены аналогично уравнению (1) с нижним индексом один, указывающим отношение к первой группе, и нижним индексом два, указывающим отношение ко второй группе.
1
1
2
2
1
1
2
2
Как показано на графике 1900, параметры α и β линейной модели могут быть вычислены для первой группы и параметры α и β линейной модели могут быть вычислены для второй группы. В качестве конкретного примера, такими значениями могут быть α = 2 из двух, β = 1, α = 1/2 и β = -1 отрицательного значения, в котором пороговым значением является значение яркости 17. Затем MMLM внутреннее предсказание может выбирать результирующую модель, которая обеспечивает наименьшее количество остаточных выборок и/или приводит к наибольшей эффективности кодирования.
Как отмечалось выше, примерные механизмы выполнения различного CCLM внутреннего предсказания, обсуждаемые в данном документе, используют максимальные/ минимальные значения яркости и соответствующие значения цветности для получения параметров линейной модели, желательны улучшенные механизмы выполнения CCLM внутреннего предсказания, которые обеспечивают надежные параметры линейной модели.
Если несколько точек имеют максимальное значение или более точек имеют минимальное значение, то пара точек будет выбрана на основании значения цветности соответствующих точек.
Если более одной точки имеют максимальное значение или более одной точки имеют минимальное значение, среднее значение цветности выборок яркости с максимальным значением будет установлено, как соответствующее значение цветности для максимального значения яркости, и среднее значение цветности для яркости выборки с минимальным значением будет установлено, как соответствующее значение цветности для минимального значения яркости;
Будет выбрана не только 1 пара точек (минимум и максимум). В частности, N точек, которые имеют большее значение яркости, и для вычисления параметра линейной модели будут использоваться M точек, которые имеют меньшее значение яркости.
1
2
Будет выбрана не только 1 пара точек. В частности, в качестве точек для расчета будут выбраны N точек со значением яркости в диапазоне [MaxValue-T, MaxValue] и M точек со значением яркости в диапазоне [MinValue, MinValue + T] в качестве параметра линейной модели.
Для получения значений max/min используются не только соседние выборки сверху и слева, но также используются некоторые расширенные соседние выборки, такие как соседние выборки внизу слева и соседние выборки вверху справа.
С помощью примеров усовершенствованных механизмов, упомянутых выше, могут быть получены более надежные параметры линейной модели с улучшением эффективности кодирования CCLM внутреннего предсказания.
В настоящем изобретении далее будут подробно описаны улучшенные механизмы для получения максимальных/минимальных значений яркости и соответствующих значений цветности среди пар выборок яркости и цветности.
Здесь отметим, что улучшенные механизмы также могут использоваться в MDLM и MMLM.
В настоящем изобретении представлены улучшенные механизмы для получения максимальных и минимальных значений яркости и соответствующих значений цветности для получения параметров линейной модели. С помощью улучшенных механизмов можно получить более надежные параметры линейной модели.
0
0
1
1
2
2
i
i
V-1
V-1
i
i
0
1
2
i
V-1
0
1
i
V-1
В примере настоящего изобретения набор пар выборок яркости и выборок цветности проиллюстрирован как {(p, q), (p, q), (p, q), …, (p, q), …, (p, q)}. В котором p является значением яркости i-й точки, q является значением цветности i-й точки. Здесь набор точек яркости обозначен как P = {p, p, p, …, p, …, p}, набор точек цветности обозначен как Q = {q, q, …, q , …, q}.
Первый улучшенный механизм: более 1 точек с максимальным значением, в котором выбирается пара точек в соответствии со значением цветности
В первом улучшенном механизме, если более 1 точки имеют максимальное/минимальное значение, то пара точек будет выбрана на основании значения цветности соответствующих точек. Пара точек с наименьшей разницей значений цветности будет выбрана в качестве пары точек для получения параметра линейной модели.
7
4
5
4
5
6
7
4
7
6
8
4
8
6
Например, предположим, что 5-я, 7-я, 8-я точки имеют максимальное значение яркости, и 4-я, 6-я точки имеют минимальное значение яркости | q-q | является наименьшее значение среди | q-q |, | q-q |, | q-q |, | q-q |, | q-q | и | q-q |. Затем для получения параметров линейной модели будут выбраны 7-я и 4-я точки.
5
6
5
4
5
6
7
4
7
6
8
4
8
6
Здесь отметим, что, помимо использования наименьшей разности значений цветности, первый улучшенный механизм может также использовать наибольшую разницу значений цветности. Например, предположим, что 5-я, 7-я, 8-я точки имеют максимальное значение яркости и 4-я, 6-я точки имеют минимальное значение яркости | q-q | является наибольшим значением среди | q-q |, | q-q |, | q-q |, | q-q |, | q-q | и | q-q |. Затем для получения параметров линейной модели будут выбраны 5-я и 6-я точки.
Здесь следует отметить, что улучшенный механизм также может использоваться в MDLM и MMLM.
Второй улучшенный механизм: более 1 точек с максимальным значением с использованием среднего значения цветности
Во втором улучшенном механизме, если более одной точки имеют максимальное/минимальное значение, то будет использоваться среднее значение цветности. Значение цветности, соответствующее максимальному значению яркости, является средним значением цветности точек с максимальным значением яркости. Значение цветности, соответствующее минимальному значению яркости, является средним значением цветности точек с минимальным значением яркости.
5
7
8
4
6
Например, если 5-я, 7-я, 8-я точки имеют максимальное значение яркости и 4-я, 6-я точки имеют минимальное значение яркости. Тогда значение цветности, соответствующее максимальному значению яркости, является средним значением q, q и q. Значение цветности, соответствующее минимальному значению яркости, является средним значением q и q.
Здесь следует отметить, что улучшенный механизм также может использоваться в MDLM и MMLM.
Третий улучшенный механизм: (более одной точки в зависимости от количества точек) будет использоваться более 1 точки большего/меньшего размера с использованием среднего значения
В третьем улучшенном механизме N точек будут использоваться для вычисления максимального значения яркости и соответствующего значения цветности. Выбранные N точек имеют большее значение яркости, чем другие точки. Среднее значение яркости выбранных N точек будет использоваться как максимальное значение яркости, и среднее значение цветности выбранных N точек будет использоваться как значение цветности, соответствующее максимальному значению яркости.
M точек будут использоваться для вычисления минимального значения яркости и соответствующего значения цветности. Выбранные точки M имеют меньшее значение яркости, чем другие точки. Среднее значение яркости выбранных M точек будет использоваться как минимальное значение яркости, и среднее значение цветности выбранных M точек будет использоваться, как значение цветности, соответствующее минимальному значению яркости.
5
7
8
9
11
5
7
8
9
11
4
6
14
18
4
6
14
18
Например, если 5-я, 7-я, 8-я, 9-я, 11-я точки имеют большее значение яркости, чем другие точки, а 4-я, 6-я, 14-я, 18-я точки имеют меньшее значение яркости. Тогда среднее значение p, p, p, p и p является максимальным значением яркости, используемым для параметров линейной модели, и среднее значение q, q, q, qи q является значением цветности, соответствующее максимальному значению яркости. Тогда среднее значение p, p, p и pявляется минимальным значением яркости, используемым для параметра линейной модели и среднее значение q, q, q и q является значением цветности, соответствующее минимальному значению яркости.
Здесь обратите внимание, что M и N могут быть равными или не равными. Например, M = N = 2.
Здесь, впрочем, M и N могут быть определены адаптивно на основании размера блока. Например, M = (W + H) >> t, N = (W + H) >> r. Здесь t и r являются количеством битов правого сдвига, например 2, 3 и 4.
1
1
1
2
2
1
1
2
2
В альтернативной реализации, если (W + H)> T, то M и N устанавливаются как конкретные значения M, N. В противном случае M и N устанавливаются как конкретные значения M, N. Здесь M и N могут быть равными или не равными. M и N могут быть равными или не равными. Например, если (W + H)> 16, то M = 2, N = 2. Если (W + H) <= 16, то M = 1, N = 1.
Обратите внимание, что улучшенный механизм также может использоваться в MDLM и MMLM.
Четвертый улучшенный механизм: (активно, более одной точки на основании порогового значения яркости) будет использоваться более одной точки большего/меньшего размера с использованием среднего значения
1
В четвертом улучшенном механизме N точек будут использоваться для вычисления максимального значения яркости и соответствующего значения цветности. Выбранные N точек со значением яркости находятся в диапазоне [MaxlumaValue-T, MaxlumaValue]. Среднее значение яркости выбранных N точек будет использоваться как максимальное значение яркости, и среднее значение цветности выбранных N точек используется, как значение цветности, соответствующее максимальному значению яркости. В примере MaxlumaValue представляет максимальное значение яркости в наборе P.
2
В четвертом улучшенном механизме M точек будут использоваться для вычисления минимального значения яркости и соответствующего значения цветности. Выбранные M точек со значением яркости находятся в диапазоне [MinlumaValue, MinlumaValue + T]. Среднее значение яркости выбранных M точек будет использоваться как минимальное значение яркости, и среднее значение цветности выбранных M точек будет использоваться как значение цветности, соответствующее минимальному значению яркости. В примере MinlumaValue представляет минимальное значение яркости в наборе P.
1
2
5
7
8
9
11
5
7
8
9
11
4
6
14
18
4
6
14
18
Например, если 5-я, 7-я, 8-я, 9-я, 11-я точки являются точками со значением яркости в диапазоне [Lmax-T, Lmax]. 4-я, 6-я, 14-я, 18-я точки являются точками со значением яркости в диапазоне [Lmin, Lmin + T]. В примере Lmax представляет наибольшее значение яркости в наборе P и Lmin представляет наименьшее значение яркости в наборе P. Тогда среднее значение p, p, p, p и p является максимальным значением яркости, используемым для параметра линейной модели и среднее значение q, q, q, q и q представляют максимальное значение цветности, соответствующее максимальному значению яркости. Тогда среднее значение p, p, p и p является минимальным значением яркости, используемым для параметра линейной модели, и среднее значение q, q, qи q является минимальным значением цветности, соответствующим минимальному значению яркости.
Обратите внимание, что M и N могут быть равными или не равными.
1
2
Следует отметить, T и T могли быть равными или не равными.
Следует отметить, что улучшенный механизм также может использоваться в MDLM и MMLM.
Пятый улучшенный механизм: использование расширенных соседних выборок
В существующем механизме только верхняя и левая соседние выборки используются для получения пары точек для поиска пары точек для получения параметра линейной модели. В пятом улучшенном механизме можно использовать некоторые расширенные выборки для увеличения количества пар точек, чтобы повысить надежность параметров линейной модели.
Например, верхние правые соседние выборки и нижние левые соседние выборки также используются для получения параметров линейной модели.
Например, как показано на фиг. 20, в существующем однорежимном механизме CCLM верхние соседние выборки яркости с пониженной дискретизацией представлены как A', и левые соседние выборки яркости с пониженной дискретизацией представлены как L'. Верхние соседние выборки цветности представлены Ac' и левые соседние выборки цветности представлены Lc'.
Как показано на фиг. 21, в пятом улучшенном механизме соседние выборки будут расширены до верхних правых и левых нижних выборок. Это означает, что опорные выборки A, L и Ac, Lc могут использоваться для получения максимального/минимального значения яркости и соответствующего значения цветности.
Здесь M> W, N> H.
Здесь отметим, что улучшенный механизм также может использоваться в MDLM и MMLM.
В существующем CCIP или LM механизме для получения максимального/минимального значения яркости и соответствующего значения цветности будет использоваться только одна пара точек.
В предлагаемых улучшенных механизмах будет использоваться не только одна пара точек.
Если более одной точки имеют максимальное значение или более точек имеют минимальное значение, то пара точек будет выбрана на основании значения цветности соответствующих точек.
Если более одной точки имеют максимальное значение или более точек имеют минимальное значение, то соответствующее значение цветности для максимального значения яркости будет средним значением цветности выборок яркости с максимальным значением, и соответствующее значение цветности для минимального значения яркости будет средним значением цветности выборок яркости с минимальным значением.
Будет выбрана не только одна пара точек. В частности, N точек, которые имеют большее значение, и M точек, которые имеют меньшее значение, будут использоваться для получения параметров линейной модели.
1
2
Будет выбрана не только одна пара точек. В частности, N точек со значениями в диапазоне [MaxValue-T, MaxValue] и M точек со значениями в диапазоне [MinValue, MinValue + T] будут выбраны в качестве точек для получения параметров линейной модели.
Не только вышеупомянутые и левые соседние выборки используются для получения значений max/min, но также используются некоторые расширенные соседние выборки, такие как нижние левые соседние выборки и верхние правые соседние выборки.
Все улучшенные механизмы, упомянутые выше, получат более надежные параметры линейной модели.
Все улучшенные механизмы, упомянутые выше, также могут быть использованы в MMLM.
Все улучшенные механизмы, упомянутые выше, за исключением улучшенного механизма 5, также могут использоваться в MDLM.
Отметим, что улучшенные механизмы, предложенные в настоящем изобретении, используются для получения максимальных/минимальных значений яркости и соответствующих значений цветности для получения параметров линейной модели для внутреннего предсказания цветности. Усовершенствованные механизмы применяются в модуле внутреннего предсказания или во внутреннем процессе. Следовательно, используется как на стороне декодера, так и на стороне кодера. Кроме того, улучшенные механизмы для получения максимальных/минимальных значений яркости и соответствующих значений цветности могут быть реализованы одинаковым образом как в кодере, так и в декодере.
Для блока цветности для получения предсказания с использованием режима LM, сначала получаются соответствующие выборки яркости с пониженной дискретизацией, затем получаются максимальные/минимальные значения яркости и соответствующие значения цветности в восстановленных соседних выборках, чтобы получить параметры линейной модели. Затем предсказание (то есть, блок предсказания) текущего блока цветности получается с использованием полученных параметров линейной модели и блока яркости с пониженной дискретизацией.
Способ предсказания с использованием перекрестной компоненты блока согласно варианту 1 осуществления настоящего изобретения относится к первому усовершенствованному механизму, описанному выше.
Способ предсказания с использованием перекрестной компоненты блока согласно варианту 2 осуществления настоящего изобретения относится ко второму усовершенствованному механизму, описанному выше.
Способ предсказания с использованием перекрестной компоненты блока согласно варианту 3 осуществления настоящего изобретения относится к третьему усовершенствованному механизму, описанному выше.
Способ предсказания с использованием перекрестной компоненты блока согласно варианту 4 осуществления настоящего изобретения относится к четвертому усовершенствованному механизму, описанному выше.
Способ предсказания с использованием перекрестной компоненты блока согласно варианту 5 осуществления настоящего изобретения относится к пятому усовершенствованному механизму, описанному выше.
Фиг. 22 является блок-схемой алгоритма другого примерного способа 220 для предсказания с использованием перекрестной компоненты блока (например, блока цветности) согласно некоторым вариантам осуществления настоящего изобретения. Следовательно, способ может выполняться видеокодером 20 и/или видеодекодером 30 системы 10 или 40 кодека. В частности, способ может выполняться блоком 46 внутреннего предсказания видеокодера 20, и/или блоком 74 внутреннего предсказания видеодекодера 30.
На этапе 2210 получается блок яркости с пониженной дискретизацией. Можно понять, что пространственное разрешение блока яркости обычно больше, чем у блока цветности, блок яркости (то есть, восстановленный блок яркости) подвергается понижающей дискретизации для получения блока яркости, подвергнутого пониженной дискретизации. Блок 911, 1211, 1311, 1411 и 1511 яркости соответствует блоку 901 цветности, как проиллюстрировано на фиг. 9, 12-15.
На этапе 2230 максимальное значение яркости и минимальное значение яркости определяются из набора выборок с пониженной дискретизацией восстановленных соседних выборок яркости, в котором восстановленные соседние выборки яркости включают в себя множество восстановленных выборок яркости, которые находятся выше яркости блок и/или множество восстановленных выборок яркости, которые остаются в блоке яркости, и также определяется соответствующее значение цветности.
На этапе 2250 вычисляются параметры линейной модели. Например, параметры линейной модели вычисляются на основании максимального значения яркости и соответствующего значения цветности, а также минимального значения яркости и соответствующего значения цветности с использованием уравнения (13) и уравнения (14).
На этапе 2270 блок предсказания блока 901 цветности получается, по меньшей мере, на основании одного или более параметров линейной модели. Предсказанные значения цветности блока 901 цветности генерируются на основании одного или более параметров линейной модели и блока 1212, 1312, 1412, 1512 яркости с пониженной дискретизацией. Предсказанные значения цветности блока 901 цветности выводятся с использованием уравнения (1).
Способ предсказания с использованием перекрестной компоненты блока согласно варианту 1 осуществления (соответствующий первому улучшенному механизму для режима LM) настоящего изобретения обеспечивается со ссылкой на фиг. 22.
Первый усовершенствованный механизм, описанный выше, будет использоваться для получения максимальных/минимальных значений яркости и соответствующих значений цветности. Если более чем одна точка имеет значение max/min, то будет выбрана пара точек на основании значения цветности соответствующих точек. Пара точек (которые имеют максимальное/минимальное значение яркости), которые имеют наименьшую разницу значений цветности, будут выбраны в качестве пары точек для получения параметра линейной модели.
Следует отметить, что, помимо использования наименьшего значения разности значений цветности, первый улучшенный механизм может также использовать наибольшее значение разности значений цветности.
Для получения подробной информации, пожалуйста, обратитесь к представленному выше усовершенствованному механизму 1.
Усовершенствованный механизм 1 также может использоваться в MDLM и MMLM. Например, для MDLM/MMLM для получения параметров линейной модели используются только максимальное/минимальное значение яркости и соответствующее значение цветности. Усовершенствованный механизм 1 используется для получения максимальных/минимальных значений яркости и соответствующих значений цветности.
Способ предсказания с использованием перекрестной компоненты блока согласно варианту 2 осуществления (соответствующий второму усовершенствованному механизму для режима LM) настоящего изобретения обеспечивается со ссылкой на фиг. 22.
Различие между вариантом 2 и вариантом 1 заключается в следующем:
Если более одной точки имеют максимальное/минимальное значение, то будет использоваться среднее значение цветности. Значение цветности, соответствующее максимальному значению яркости, является средним значением цветности точек с максимальным значением яркости. Значение цветности, соответствующее минимальному значению яркости, является средним значением цветности точек с минимальным значением яркости.
Для получения подробной информации, пожалуйста, обратитесь к улучшенному механизму 2.
Улучшенный механизм также может использоваться в MDLM и MMLM. Например, для MDLM/MMLM для получения параметров линейной модели используются только максимальное/минимальное значение яркости и соответствующее значение цветности. Усовершенствованный механизм 2 используется для получения максимальных/минимальных значений яркости и соответствующих значений цветности.
Способ предсказания с использованием перекрестной компоненты блока согласно варианту 3 осуществления (соответствующий третьему улучшенному механизму) настоящего изобретения обеспечивается со ссылкой на фиг. 22.
Различие между вариантом 3 и вариантом 1 заключается в следующем:
N точек будут использоваться для вычисления максимального значения яркости и соответствующего значения цветности. Выбранные N точек имеют большее значение яркости, чем другие точки. Среднее значение яркости выбранных N точек будет использоваться как максимальное значение яркости, и среднее значение цветности выбранных N точек будет использоваться, как значение цветности, соответствующее максимальному значению яркости.
M точек будут использоваться для вычисления минимального значения яркости и соответствующего значения цветности. Выбранные точки M имеют меньшие значения яркости, чем другие точки. Среднее значение яркости выбранных M точек будет использоваться, как минимальное значение яркости, и среднее значение цветности выбранных M точек будет использоваться, как значение цветности, соответствующее минимальному значению яркости.
Для получения подробной информации, пожалуйста, обратитесь к усовершенствованному механизму 3, описанному выше.
Усовершенствованный механизм 3 также может использоваться в MDLM и MMLM. Например, для MDLM/MMLM для получения параметров линейной модели используются только максимальные/минимальные значения яркости и соответствующие значения цветности. Усовершенствованный механизм 3 используется для получения максимальных/минимальных значений яркости и соответствующих значений цветности.
Способ предсказания с использованием перекрестной компоненты блока согласно варианту осуществления 4 (соответствующий четвертому улучшенному механизму) настоящего изобретения обеспечивается ссылкой на фиг. 22.
Различие между вариантом 4 и вариантом 1 заключается в следующем:
1
N пар точек будут использоваться для вычисления максимального значения яркости и соответствующего значения цветности. Выбранные N пар точек имеют значения яркости в диапазоне [MaxlumaValue-T, MaxlumaValue]. Среднее значение яркости выбранных N пар точек будет использоваться как максимальное значение яркости, и среднее значение цветности выбранных N пар точек будет использоваться, как значение цветности, соответствующее максимальному значению яркости.
2
M пар точек будут использоваться для вычисления минимального значения яркости и соответствующего значения цветности. Выбранные M пар точек имеют значения яркости в диапазоне [MinlumaValue, MinlumaValue + T]. Среднее значение яркости выбранных M пар точек будет использоваться как минимальное значение яркости, и среднее значение цветности выбранных M пар точек будет использоваться как значение цветности, соответствующее минимальному значению яркости.
За подробностями обращайтесь к усовершенствованному механизму 4, описанному выше.
Улучшенный механизм 4 также может использоваться в MDLM и MMLM. Например, для MDLM/MMLM для получения параметров линейной модели используются только максимальное/минимальное значение яркости и соответствующее значение цветности. Усовершенствованный механизм 4 используется для получения максимального/минимального значения яркости и соответствующего значения цветности.
Способ предсказания с использованием перекрестной компоненты блока согласно варианту осуществления 5 (соответствующий пятому улучшенному механизму) настоящего изобретения обеспечивается со ссылкой на фиг. 22.
Различие между вариантом 5 и вариантом 1 заключается в следующем:
Некоторые расширенные выборки могут использоваться для увеличения количества пар точек, чтобы повысить надежность параметров линейной модели.
Например, соседние выборки справа вверху и соседние выборки слева внизу также используются для получения параметров линейной модели.
За подробностями обращайтесь к усовершенствованному механизму 5, описанному выше.
Усовершенствованный механизм 5 также может использоваться в MMLM. Например, для MMLM для получения параметров линейной модели используются только максимальное/минимальное значение яркости и соответствующее значение цветности. Усовершенствованный механизм 5 используется для получения максимальных/минимальных значений яркости и соответствующих значений цветности.
Фиг. 23 является блок-схемой алгоритма примерного способа 230 декодирования видеоданных. На этапе 2310 определяется блок 911, 1211, 1311, 1411 и 1511 яркости, который соответствует блоку 901 цветности.
На этапе 2320 определяется набор выборок с пониженной дискретизацией восстановленных соседних выборок яркости, в котором восстановленные соседние выборки яркости включают в себя множество восстановленных выборок яркости, которые находятся над блоком яркости, и/или множество восстановленных выборок яркости, которые находятся слева от блока яркости.
На этапе 2330 две пары значения яркости и значения цветности определяются согласно N соседним выборкам яркости с пониженной дискретизацией и N восстановленным соседним выборкам цветности, которые соответствуют N соседним выборкам яркости с пониженной дискретизацией и/или M соседним выборкам яркости с пониженной дискретизацией и M восстановленным соседним выборкам цветности, которые соответствуют M соседним выборкам яркости с пониженной дискретизацией. Минимальное значение N соседних выборок яркости с пониженной дискретизацией не меньше, чем значение яркости оставшихся соседних выборок яркости с пониженной дискретизацией набора выборок с пониженной дискретизацией восстановленных соседних выборок яркости, и максимальное значение M соседних выборок яркости с пониженной дискретизацией не больше, чем значение яркости оставшихся соседних выборок яркости с пониженной дискретизацией набора выборок с пониженной дискретизацией восстановленных соседних выборок яркости, и M, N является положительными целыми числами и больше 1. В частности первая пара значения яркости и значения цветности определяется согласно N соседним выборкам яркости с пониженной дискретизацией набора выборок с пониженной дискретизацией и N восстановленных соседних выборок цветности, которые соответствуют N соседним выборкам яркости с пониженной дискретизацией; вторая пара значения яркости и значения цветности определяется согласно M соседним выборкам яркости с пониженной дискретизацией набора выборок с пониженной дискретизацией и M восстановленных соседних выборок цветности, которые соответствуют M соседним выборкам яркости с пониженной дискретизацией.
На этапе 2340 один или более параметров линейной модели определяются на основании двух пар значения яркости и значения цветности.
На этапе 2350 блок предсказания блока 901 цветности определяется, по меньшей мере, на основании одного или более параметров линейной модели, например, предсказанные значения цветности блока 901 цветности генерируются на основании параметров линейной модели и блока 1212, 1312, 1412 и 1512 яркости с пониженной дискретизацией.
На этапе 2360 блок 901 цветности восстанавливается на основании блока предсказания. Например, добавление блока предсказания к остаточному блоку для восстановления блока 901 цветности.
Следует отметить, что в случае MDLM внутреннего предсказания с использованием CCIP_A режима 1700, набор восстановленных соседних выборок яркости включает в себя множество восстановленных выборок яркости, которые находятся над блоком яркости, но не включают в себя множество восстановленных выборок яркости, которые находятся слева от блока яркости. В случае MDLM внутреннего предсказания с использованием CCIP_L режима 1800, набор восстановленных соседних выборок яркости не включает в себя множество восстановленных выборок яркости, которые находятся над блоком яркости и включают в себя множество восстановленных выборок яркости, слева от блока яркости. В случае CCLM внутреннего предсказания набор восстановленных соседних выборок яркости включает в себя множество восстановленных выборок яркости, которые находятся над блоком яркости, и множество восстановленных выборок яркости, которые находятся слева от блока яркости.
Фиг. 24 является блок-схемой алгоритма примерного способа 240 кодирования видеоданных. На этапе 2410 определяется блок 911, 1211, 1311, 1411 и 1511 яркости, который соответствует блоку 901 цветности.
На этапе 2420 определяется набор выборок восстановленных соседних выборок яркости с пониженной дискретизацией, в котором восстановленные соседние выборки яркости включают в себя множество восстановленных выборок яркости, которые находятся над блоком яркости, и/или множество восстановленных выборок яркости, которые находятся слева от блока яркости.
На этапе 2430 определяются две пары значения яркости и значения цветности согласно N соседним выборкам яркости с пониженной дискретизацией и N восстановленным соседним выборкам цветности, которые соответствуют N соседним выборкам яркости с пониженной дискретизацией, и/или M соседним выборкам яркости с пониженной дискретизацией и M восстановленным соседним выборкам цветности, которые соответствуют M соседним выборкам яркости с пониженной дискретизацией. Минимальное значение N соседних выборок яркости с пониженной дискретизацией не меньше, чем значение яркости оставшихся выборок яркости с пониженной дискретизацией набора восстановленных соседних выборок яркости с пониженной дискретизацией. Максимальное значение M соседних выборок яркости с пониженной дискретизацией не больше, чем значение яркости оставшихся соседних выборок яркости с пониженной дискретизацией набора восстановленных соседних выборок яркости с пониженной дискретизацией и M, N являются положительными целыми числами и больше 1. В частности, первая пара значения яркости и значения цветности определяется согласно N соседним выборкам яркости с пониженной дискретизацией набора выборок с пониженной дискретизацией и N восстановленным соседним выборкам цветности, которые соответствуют N соседним выборкам яркости с пониженной дискретизацией; вторая пара значения яркости и значения цветности определяется согласно M соседним выборкам яркости с пониженной дискретизацией набора выборок с пониженной дискретизацией и M восстановленным соседним выборкам цветности, которые соответствуют M соседним выборкам яркости с пониженной дискретизацией.
На этапе 2440 определяются один или более параметров линейной модели на основании двух пар значения яркости и значения цветности.
На этапе 2450 определяется блок предсказания блока 901 цветности на основании одного или более параметров линейной модели, например, предсказанные значения цветности блока 901 цветности генерируются на основании параметров линейной модели и блока яркости 1212, 1312, 1412 и 1512 с пониженной дискретизацией.
На этапе 2460 кодируется блок 901 цветности на основании блока предсказания. Остаточные данные между блоком цветности и блоком предсказания кодируются, и генерируется битовый поток, включающий в себя закодированные остаточные данные. Например, вычитание блока предсказания из блока 901 цветности для получения остаточного блока (остаточных данных) и генерирования битового потока, включающего в себя закодированные остаточные данные.
Следует отметить, что в случае MDLM внутреннего предсказания с использованием CCIP_A режима 1700 набор восстановленных соседних выборок яркости включает в себя множество восстановленных выборок яркости, которые находятся над блоком яркости, но не включают в себя множество восстановленных выборок яркости, которые находятся слева от блока яркости. В случае MDLM внутреннего предсказания с использованием CCIP_L режима 1800, набор восстановленных соседних выборок яркости не включает в себя множество восстановленных выборок яркости, которые находятся над блоком яркости, и включает в себя множество восстановленных выборок яркости, которые находятся слева от блока яркости. В случае CCLM внутреннего предсказания набор восстановленных соседних выборок яркости включает в себя множество восстановленных выборок яркости, которые находятся над блоком яркости, и множество восстановленных выборок яркости, которые находятся слева от блока яркости CCLM внутреннего предсказания.
Фиг. 25 является блок-схемой алгоритма примерного способа 250 декодирования видеоданных. На этапе 2510 определяется блок 911 яркости, который соответствует блоку 901 цветности.
На этапе 2520 определяется набор восстановленных соседних выборок яркости с пониженной дискретизацией, в котором восстановленные соседние выборки яркости включают в себя множество восстановленных выборок яркости, которые находятся над блоком яркости и/или множество восстановленных выборок яркости, которые находятся слева от блока яркости.
На этапе 2530, когда N соседних выборок яркости с пониженной дискретизацией с максимальным значением и/или M соседних выборок яркости с пониженной дискретизацией с минимальным значением включаются в наборе выборок с пониженной дискретизацией восстановленных соседних выборок яркости, определяются два пары значения яркости и значения цветности согласно N соседним выборкам яркости с пониженной дискретизацией с максимальным значением и N восстановленным соседним выборкам цветности, которые соответствуют N соседним выборкам яркости с пониженной дискретизацией с максимальными значениями и/или M соседним выборкам яркости с пониженной дискретизацией с минимальным значением и M восстановленным соседним выборкам цветности, которые соответствуют M соседним выборкам яркости с пониженной дискретизацией с минимальным значением, в котором M, N являются положительными целыми числами и больше 1. В частности, определяются две пары значения яркости и значения цветности, по меньшей мере, в соответствии с одним из следующих условий:
1. N соседние выборки яркости с пониженной дискретизацией с максимальным значением и N восстановленные соседние выборки цветности, которые соответствуют N соседним выборкам яркости с пониженной дискретизацией с максимальными значениями, и одна соседняя выборка яркости с пониженной дискретизацией с минимальным значением и одна восстановленная соседняя выборка цветности, которая соответствует соседней выборке яркости с пониженной дискретизацией с минимальным значением;
2. Одна соседняя выборка яркости с пониженной дискретизацией с максимальным значением и одна восстановленная соседняя выборка цветности, которые соответствуют соседней выборке яркости с пониженной дискретизацией с максимальными значениями, и M соседние выборки яркости с пониженной дискретизацией с минимальным значением и M восстановленные соседние выборки цветности, которые соответствуют M соседним выборкам яркости с пониженной дискретизацией с минимальным значением, и
3. N соседние выборки яркости с пониженной дискретизацией с максимальным значением и N восстановленные соседние выборки цветности, которые соответствуют N соседним выборкам яркости с пониженной дискретизацией с максимальными значениями, и M соседние выборки яркости с пониженной дискретизацией с минимальным значением и M восстановленные соседние выборки цветности, которые соответствуют M соседним выборкам яркости с пониженной дискретизацией с минимальным значением, в котором M, N являются положительными целыми числами и больше 1.
На этапе 2540 определяются один или более параметров линейной модели на основании двух пар значения яркости и значения цветности.
На этапе 2550 определяется блок предсказания на основании одного или более параметров линейной модели, например, предсказанные значения цветности блока 901 цветности генерируются на основании параметров линейной модели и блока 1212, 1312, 1412 и 1512 яркости с пониженной дискретизацией.
На этапе 2560 восстанавливается блок 901 цветности на основании блока предсказания. Например, добавляют блок предсказания к остаточному блоку для восстановления блока 901 цветности.
Следует отметить, что в случае MDLM внутреннего предсказания с использованием CCIP_A режима 1700 набор восстановленных соседних выборок яркости включает в себя множество восстановленных выборок яркости, которые находятся над блоком яркости, но не включают в себя множество восстановленных выборок яркости, которые находятся слева от блока яркости. В случае MDLM внутреннего предсказания с использованием CCIP_L режима 1800, набор восстановленных соседних выборок яркости не включает в себя множество восстановленных выборок яркости, которые находятся над блоком яркости, и включает в себя множество восстановленных выборок яркости, которые находятся слева от блока яркости. В случае CCLM внутреннего предсказания набор восстановленных соседних выборок яркости включает в себя множество восстановленных выборок яркости, которые находятся над блоком яркости, и множество восстановленных выборок яркости, которые находятся слева от блока яркости CCLM внутреннего предсказания.
Фиг. 26 является блок-схемой алгоритма примерного способа 260 кодирования видеоданных. На этапе 2610 определяется блок 911 яркости, который соответствует блоку 901 цветности.
На этапе 2620 определяется набор выборок восстановленных соседних выборок яркости с пониженной дискретизацией, в котором восстановленные соседние выборки яркости включают в себя множество восстановленных выборок яркости, которые находятся над блоком яркости и/или множество восстановленных выборок яркости, которые находятся слева от блока яркости.
На этапе 2630, когда N соседние выборки яркости с пониженной дискретизацией с максимальным значением и/или M соседние выборки яркости с пониженной дискретизацией с минимальным значением содержаться в наборе выборок с пониженной дискретизацией восстановленных соседних выборок яркости, определяются два пары значения яркости и значения цветности согласно N соседним выборкам яркости с пониженной дискретизацией с максимальным значением и N восстановленным соседним выборкам цветности, которые соответствуют N соседним выборкам яркости с пониженной дискретизацией с максимальными значениями, и/или M соседние выборки яркости с пониженной дискретизацией с минимальным значением и M восстановленные соседние выборки цветности, которые соответствуют M соседним выборкам яркости с пониженной дискретизацией с минимальным значением, в котором M, N являются положительными целыми числами и больше 1. В частности, определяются две пары значения яркости и значения цветности, по меньшей мере, в соответствии с одним из следующих условий:
1. N соседние выборки яркости с пониженной дискретизацией с максимальным значением и N восстановленные соседние выборки цветности, которые соответствуют N соседним выборкам яркости с пониженной дискретизацией с максимальными значениями, и одна соседняя выборка яркости с пониженной дискретизацией с минимальным значением и одна восстановленная соседняя выборка цветности, которая соответствует соседней выборке яркости с пониженной дискретизацией с минимальным значением;
2. Одна соседняя выборка яркости с пониженной дискретизацией с максимальным значением и одна восстановленная соседняя выборка цветности, которые соответствуют соседней выборке яркости с пониженной дискретизацией с максимальными значениями, и M соседних выборок яркости с пониженной дискретизацией с минимальным значением и M восстановленных соседних выборки цветности, которые соответствуют M соседним выборкам яркости с пониженной дискретизацией с минимальным значением, и
3. N соседние выборки яркости с пониженной дискретизацией с максимальным значением и N восстановленные соседние выборки цветности, которые соответствуют N соседним выборкам яркости с пониженной дискретизацией с максимальными значениями, и M соседние выборки яркости с пониженной дискретизацией с минимальным значением и M восстановленные соседние выборки цветности, которые соответствуют M соседним выборкам яркости с пониженной дискретизацией с минимальным значением, в котором M, N являются положительными целыми числами и больше 1.
На этапе 2640 определяются один или более параметров линейной модели на основании двух пар значения яркости и значения цветности.
На этапе 2650 определяется блок предсказания блока 901 цветности на основании одного или более параметров линейной модели, например, генерируются предсказанные значения цветности блока 901 цветности на основании параметров линейной модели и блока яркости 1212, 1312, 1412 и 1512 с пониженной дискретизацией.
На этапе 2660 кодируется блок 901 цветности на основании блока предсказания. Остаточные данные между блоком цветности и блоком предсказания кодируются, и генерируется битовый поток, включающий в себя закодированные остаточные данные. Например, вычитание блока предсказания из блока 901 цветности для получения остаточного блока (остаточных данных) и генерирование битового потока, включающего в себя закодированные остаточные данные.
Следует отметить, что в случае MDLM внутреннего предсказания с использованием CCIP_A режима 1700 набор восстановленных соседних выборок яркости включает в себя множество восстановленных выборок яркости, которые находятся над блоком яркости, но не включают в себя множество восстановленных выборок яркости, которые находятся слева от блока яркости. В случае MDLM внутреннего предсказания с использованием CCIP_L режима 1800, набор восстановленных соседних выборок яркости не включает в себя множество восстановленных выборок яркости, которые находятся над блоком яркости и включают в себя множество восстановленных выборок яркости, слева от блока яркости. В случае CCLM внутреннего предсказания набор восстановленных соседних выборок яркости включает в себя множество восстановленных выборок яркости, которые находятся над блоком яркости, и множество восстановленных выборок яркости, которые находятся слева от блока яркости CCLM внутреннего предсказания.
В одном или более примерах описанные функции могут быть реализованы в аппаратных средствах, программном обеспечении, встроенном программном обеспечении или любой их комбинации. Если реализованы в программном обеспечении, функции могут храниться или передаваться в виде одной или более инструкций или кода на машиночитаемом носителе и выполняться аппаратным блоком обработки. Машиночитаемый носитель может включать в себя машиночитаемый носитель данных, который соответствует материальному носителю, например, носителю данных, или носителю связи, включающий в себя любой носитель, который облегчает передачу компьютерной программы из одного места в другое, например, согласно протоколу связи. Таким образом, машиночитаемые носители обычно могут соответствовать (1) материальным машиночитаемым носителям данных, которые являются энергонезависимыми, или (2) средам связи, таким как сигнал или несущая волна. Носители данных могут быть любыми доступными носителями, к которым может получить доступ один или более компьютеров или один или более процессоров для извлечения инструкций, кода и/или структур данных для реализации способов, описанных в настоящем изобретении. Компьютерный программный продукт может включать в себя машиночитаемый носитель.
В качестве примера, но не ограничения, такие машиночитаемые носители данных могут включать в себя RAM, ROM, EEPROM, CD-ROM или другие запоминающие устройства на оптических дисках, накопители на магнитных дисках или другие магнитные запоминающие устройства, флэш-память или любые другой носитель, который можно использовать для хранения желаемого программного кода в форме инструкций или структур данных, и к которому компьютер может получить доступ. Дополнительно, любое соединение правильно называть машиночитаемым носителем. Например, если инструкции передаются с веб-сайта, сервера или другого удаленного источника с использованием коаксиального кабеля, оптоволоконного кабеля, витой пары, цифровой абонентской линии (DSL) или беспроводных технологий, таких как инфракрасный порт, радио и микроволновый сигнал, тогда коаксиальный кабель, оптоволоконный кабель, витая пара, DSL или беспроводные технологии, такие как инфракрасный порт, радио и микроволновый сигнал могут рассматриваться в качестве среды. Однако следует понимать, что машиночитаемые носители данных и носители данных не включают в себя соединения, несущие волны, сигналы или другие временные носители, а вместо этого рассматриваются как постоянные материальные носители данных. Диск, используемый в данном документе, включают в себя компакт-диск (CD), лазерный диск, оптический диск, универсальный цифровой диск (DVD), дискету и диск Blu-ray, в котором диски обычно воспроизводят данные магнитным способом, и диски воспроизводят данные оптически с помощью лазеров. Комбинации вышеперечисленного также должны быть использованы в качестве машиночитаемых носителей.
Инструкции могут выполняться одним или несколькими процессорами, такими как один или более процессоров цифровых сигналов (DSP), микропроцессоры общего назначения, специализированные интегральные схемы (ASIC), программируемые логические матрицы (FPGA) или другие эквивалентные интегрированные или дискретная логическая схема. Соответственно, термин «процессор», используемый в данном документе, может относиться к любой из вышеупомянутой структуры или любой другой структуре, подходящей для реализации описанных в настоящем документе способов. Дополнительно, в некоторых аспектах описанные функциональные возможности могут быть обеспечены в рамках выделенных аппаратных и/или программных модулей, выполненных с возможностью кодировать и декодировать или содержащиеся в комбинированном кодеке. Дополнительно, способы могут быть полностью реализованы в одной или более схемах или логических элементах.
Способы настоящего изобретения могут быть реализованы в большом количестве устройств или устройств, включающие в себя беспроводной телефон, интегральную схему (IC) или набор IC (например, набор микросхем). В настоящем изобретении описаны различные компоненты, модули или блоки, чтобы подчеркнуть функциональные аспекты устройств, выполненных с возможностью выполнять раскрытые технологии, но не обязательно требующих реализации различными аппаратными блоками. Напротив, как описано выше, различные блоки могут быть объединены в аппаратный блок кодека или обеспечены набором взаимодействующих аппаратных блоков, включающие в себя один или более процессоров, как описано выше, вместе с подходящим программным обеспечением и/или встроенным программным обеспечением.
Хотя в настоящем изобретении было предоставлено несколько вариантов осуществления, следует понимать, что раскрытые системы и способы могут быть воплощены во многих других конкретных формах, не выходя за рамки сущности или объема настоящего изобретения. Настоящие примеры следует рассматривать как иллюстративные, а не как ограничительные, и намерение не ограничиваться приведенными здесь деталями. Например, различные элементы или компоненты могут быть объединены или интегрированы в другую систему, или определенные функции могут быть опущены или не реализованы.
Дополнительно, способы, системы, подсистемы и технологии, описанные и проиллюстрированные в различных вариантах осуществления как отдельные, могут быть объединены или интегрированы с другими системами, модулями, технологиями или способами без выхода за рамки настоящего изобретения. Другие элементы, показанные или обсуждаемые как ассоциированные или непосредственно ассоциированные или взаимодействующие друг с другом, могут быть косвенно ассоциированы или могут взаимодействовать через некоторый интерфейс, устройство или промежуточный компонент, электрически, механически или иным образом. Другие примеры изменений, замен и переделок могут быть установлены специалистом в данной области техники и могут быть сделаны без отступления от сущности и объема, раскрытых в данном документе.