[go: up one dir, main page]

RU2815738C2 - Determination of chromaticity coding mode using matrix-based intra-frame prediction - Google Patents

Determination of chromaticity coding mode using matrix-based intra-frame prediction Download PDF

Info

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

Links

Images

Abstract

FIELD: physics.
SUBSTANCE: invention relates to video encoding techniques. Result is achieved by the fact that the video processing method includes steps of performing a first determination that the video luminance video block is encoded using a matrix-based intra-frame prediction (MIP) mode, in which the prediction unit of the luminance video block is determined by performing, on the previously encoded video samples, a downsampling operation at the boundary, which is followed by a matrix-vector multiplication operation and which is selectively followed by an upsampling operation, is performed based on the first determination, a second determination with respect to the intra-frame chroma mode to be used for the chroma video block associated with the luma video block; and performing, based on the second determination, conversion between the chroma video block and the bitstream representation of the chroma video block.
EFFECT: high efficiency of video encoding.
17 cl, 41 dwg, 8 tbl

Description

Область техники, к которой относится изобретениеField of technology to which the invention relates

Данный патентный документ относится к технологиям, устройствам и системам кодирования видео.This patent document relates to video encoding technologies, devices and systems.

Уровень техникиState of the art

Несмотря на достижения в области сжатия видео, на цифровое видео по-прежнему приходится наибольшая полоса пропускания в Интернете и других сетях цифровой связи. По мере увеличения количества подключенных пользовательских устройств, способных принимать и отображать видео, ожидается, что потребность в полосе пропускания для использования цифрового видео будет продолжать расти.Despite advances in video compression, digital video still accounts for the largest amount of bandwidth on the Internet and other digital communications networks. As the number of connected user devices capable of receiving and displaying video increases, the demand for bandwidth for digital video use is expected to continue to increase.

Раскрытие сущности изобретенияDisclosure of the invention

В данном документе описаны устройства, система и способы, которые относятся к цифровому кодированию видео, и, в частности, к способам внутрикадрового предсказания на основе матрицы для кодирования видео. Описанные способы могут быть применены как к существующим стандартам кодирования видео (например, к высокоэффективному кодированию видео (HEVC)), так и к будущим стандартам кодирования видео (например, к универсальному кодированию видео (VVC)) или кодекам.This document describes devices, systems and methods that relate to digital video encoding, and in particular to matrix-based intra-frame prediction methods for video encoding. The described methods can be applied to both existing video coding standards (eg, High Efficiency Video Coding (HEVC)) and future video coding standards (eg, Versatile Video Coding (VVC)) or codecs.

Первый примерный способ обработки видео включает в себя этапы, на которых вырабатывают, для преобразования между текущим видеоблоком видео и кодированным представлением текущего видеоблока, первый список наиболее вероятных режимов (МРМ) с использованием первой процедуры на основе правила; и выполняют преобразование между текущим видеоблоком и кодированным представлением текущего видеоблока с использованием первого списка MPM, причем преобразование текущего видеоблока использует режим внутрикадрового предсказания (MIP) на основе матрицы, в котором блок предсказания текущего видеоблока определяется путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения и за которой выборочно следует операция повышения дискретизации, при этом правило определяет, что первая процедура, используемая для выработки первого списка MPM, аналогична второй процедуре, используемой для выработки второго списка MPM для преобразования других видеоблоков видео, которые кодированы с использованием внутрикадрового режима без использования MIP, который отличается от режима MIP, и по меньшей мере часть первого списка MPM вырабатывается на основе по меньшей мере части второго списка MPM.A first exemplary video processing method includes generating, for conversion between a current video block of video and an encoded representation of the current video block, a first most probable mode list (MPL) using a first rule-based procedure; and performing a conversion between the current video block and a coded representation of the current video block using the first MPM list, wherein the conversion of the current video block uses a matrix-based intra-prediction (MIP) mode in which a prediction block of the current video block is determined by performing, on the previously encoded video samples, a down operation boundary sampling followed by a matrix-vector multiplication operation and selectively followed by an upsampling operation, wherein the rule specifies that the first procedure used to generate the first MPM list is the same as the second procedure used to generate the second MPM list to transform the others video video blocks that are encoded using a non-MIP intra-frame mode that is different from the MIP mode, and at least a portion of the first MPM list is generated based on at least a portion of the second MPM list.

Второй примерный способ обработки видео включает в себя этапы, на которых вырабатывают, для преобразования между текущим видеоблоком видео и кодированным представлением текущего видеоблока, список наиболее вероятных режимов (MPM) на основе правила, причем правило основано на том, кодирован ли соседний видеоблок текущего видеоблока с помощью режима внутрикадрового предсказания (MIP) на основе матрицы, в котором блок предсказания соседнего видеоблока определяется путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения и выборочно следует операция повышения дискретизации; и выполняют преобразование между текущим видеоблоком и кодированным представлением текущего видеоблока с использованием списка MPM, при этом преобразование применяет режим без использования MIP к текущему видеоблоку, причем режим без использования MIP отличается от режима MIP. A second exemplary video processing method includes generating, for conversion between a current video block of video and an encoded representation of the current video block, a rule-based most probable mode (MPM) list, wherein the rule is based on whether an adjacent video block of the current video block is encoded with using a matrix-based intra-prediction (MIP) mode in which a prediction block of an adjacent video block is determined by performing, on previously encoded video samples, an edge downsampling operation, followed by a matrix-vector multiplication operation, and selectively followed by an upsampling operation; and performing a conversion between the current video block and an encoded representation of the current video block using the MPM list, wherein the conversion applies a non-MIP mode to the current video block, wherein the non-MIP mode is different from the MIP mode.

Третий примерный способ обработки видео включает в себя этапы, на которых декодируют текущий видеоблок видео, который кодирован в кодированном представлении текущего видеоблока с использованием режима внутрикадрового предсказания (MIP) на основе матрицы, в котором блок предсказания текущего видеоблока определяется путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения и за которой выборочно следует операция повышения дискретизации; и обновляют строковый буфер, ассоциированный с декодированием, без сохранения в строковом буфере информации, указывающей, закодирован ли текущий видеоблок с использованием режима MIP.A third exemplary video processing method includes decoding a current video block of video that is encoded in an encoded representation of the current video block using a matrix-based intra-frame prediction (MIP) mode, in which a prediction block of the current video block is determined by performing on previously encoded samples video,edge downsampling operation followed by a matrix-vector,multiplication operation and selectively followed by an,upsampling operation; and updating a line buffer associated with the decoding without storing in the line buffer information indicating whether the current video block is encoded using the MIP mode.

Четвертый примерный способ обработки видео включает в себя этап, на котором выполняют преобразование между текущим видеоблоком и представлением битового потока текущего видеоблока, причем текущий видеоблок кодирован с использованием режима внутрикадрового предсказания (MIP) на основе матрицы, в котором блок предсказания текущего видеоблока определяется путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения и за которой выборочно следует операция повышения дискретизации, при этом в представлении битового потока кодирован флаг с использованием не более чем K контекстов при арифметическом кодировании или в процессе декодирования, где флаг указывает, кодирован ли текущий видеоблок с использованием режима MIP, причем K больше или равен нулю.A fourth exemplary video processing method includes performing a conversion between a current video block and a bitstream representation of the current video block, wherein the current video block is encoded using a matrix-based intra-frame prediction (MIP) mode, in which a prediction block of the current video block is determined by executing, over previously encoded video samples, a downsampling operation at the boundary, followed by a matrix-vector multiplication operation, and selectively followed by an upsampling operation, with a flag encoded in the bitstream representation using at most K contexts in the arithmetic encoding or process decoding, where the flag indicates whether the current video block is encoded using the MIP mode, with K greater than or equal to zero.

Пятый примерный способ обработки видео включает в себя этапы, на которых вырабатывают, для преобразования между текущим видеоблоком видео и представлением битового потока текущего видеоблока, внутрикадровый режим предсказания для текущего видеоблока, кодированного с помощью режима внутрикадрового предсказания (MIP) на основе матрицы, в котором блок предсказания текущего видеоблока определяется путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения и за которой выборочно следует операция повышения дискретизации; определяют правило для хранения информации, указывающей режим внутрикадрового предсказания на основе того, кодирован ли текущий видеоблок с помощью режима MIP; и выполняют преобразование в соответствии с правилом, где правило определяет, что синтаксический элемент для режима внутрикадрового предсказания хранится в представлении битового потока для текущего видеоблока, и правило определяет, что индекс режима для режима MIP для текущего видеоблок не хранится в представлении битового потока.A fifth exemplary video processing method includes generating, for conversion between a current video block of video and a bitstream representation of the current video block, an intra-frame prediction mode for the current video block encoded using a matrix-based intra-frame prediction (MIP) mode in which the block the prediction of the current video block is determined by performing, on the previously encoded video samples, a downsampling operation at the boundary, followed by a matrix-vector multiplication operation, and selectively followed by an upsampling operation; defining a rule for storing information indicating an intra-frame prediction mode based on whether the current video block is encoded using the MIP mode; and performing conversion in accordance with the rule, where the rule determines that the syntax element for the intra-frame prediction mode is stored in the bitstream representation for the current video block, and the rule determines that the mode index for the MIP mode for the current video block is not stored in the bitstream representation.

Шестой примерный способ обработки видео включает в себя этапы, на которых выполняют первое определение, что видеоблок яркости видео кодирован с использованием режима внутрикадрового предсказания (MIP) на основе матрицы, в котором блок предсказания видеоблока яркости определяется путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения и за которой выборочно следует операция повышения дискретизации; выполняют, на основе первого определения, второе определение относительно внутрикадрового режима цветности, подлежащего использованию для видеоблока цветности, ассоциированного с видеоблоком яркости; и выполняют, на основе второго определения, преобразование между видеоблоком цветности и представлением битового потока видеоблока цветности. A sixth exemplary video processing method includes first determining that a video luminance video block is encoded using a matrix-based intra frame prediction (MIP) mode, in which the luminance video block prediction block is determined by performing, on previously encoded video samples, an operation downsampling at the boundary, followed by a matrix-vector multiplication operation, and selectively followed by an upsampling operation; making, based on the first determination, a second determination regarding an intra-frame chrominance mode to be used for the chrominance video block associated with the luma video block; and performing, based on the second definition, a conversion between the chrominance video block and the bitstream representation of the chrominance video block.

Седьмой примерный способ обработки видео включает в себя этап, на котором выполняют преобразование между текущим видеоблоком видео и кодированным представлением текущего видеоблока, причем преобразование основано на определении, следует ли кодировать текущий видеоблок с использованием режима внутрикадрового предсказания (MIP) на основе матрицы, в котором блок предсказания текущего видеоблока определяется путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения и за которой выборочно следует операция повышения дискретизации.A seventh exemplary video processing method includes performing a transformation between a current video block of video and an encoded representation of the current video block, the transformation being based on determining whether the current video block should be encoded using a matrix-based intra-frame prediction (MIP) mode in which the block The prediction of the current video block is determined by performing, on the previously encoded video samples, a downsampling operation at the boundary, followed by a matrix-vector multiplication operation, and followed selectively by an upsampling operation.

Восьмой примерный способ обработки видео включает в себя этапы, на которых определяют, для кодирования текущего видеоблока видео в представление битового потока текущего видеоблока, в соответствии с правилом, следует ли использовать режим внутрикадрового предсказания (MIP) на основе матрицы и режим кодирования, который отличается от режима MIP, для кодирования текущего видеоблока, причем режим MIP включает в себя определение блока предсказания текущего видеоблока путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения и за которой выборочно следует операция повышения дискретизации; и добавляют, на основе указанного определения, кодированное представление текущего видеоблока в представление битового потока.An eighth exemplary video processing method includes determining whether to encode a current video block of video into a bitstream representation of the current video block, in accordance with a rule, whether to use a matrix-based intra-frame prediction (MIP) mode and an encoding mode that is different from MIP mode for encoding the current video block, wherein the MIP mode includes determining a prediction block of the current video block by performing, on previously encoded video samples, a boundary downsampling operation, followed by a matrix-vector multiplication operation, and selectively followed by an upsampling operation ; and adding, based on the specified definition, an encoded representation of the current video block to the bitstream representation.

Девятый примерный способ обработки видео включает в себя этап, на котором определяют, что текущий видеоблок видео кодирован в представление битового потока с использованием режима внутрикадрового предсказания (MIP) на основе матрицы и режима кодирования, который отличается от режима MIP, причем режим MIP включает в себя определение блока предсказания текущего видеоблока путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения и за которой выборочно следует операция повышения дискретизации; и вырабатывают декодированное представление текущего видеоблока путем синтаксического анализа и декодирования представления битового потока.A ninth exemplary video processing method includes determining that the current video block of video is encoded into a bitstream representation using a matrix-based intra-frame prediction (MIP) mode and an encoding mode that is different from the MIP mode, wherein the MIP mode includes determining a prediction block of the current video block by performing, on the previously encoded video samples, a boundary downsampling operation, followed by a matrix-vector multiplication operation, and selectively followed by an upsampling operation; and generating a decoded representation of the current video block by parsing and decoding the bitstream representation.

Десятый примерный способ обработки видео включает в себя этапы, на которых определяют применимость контурного фильтра к восстановленному блоку текущего видеоблока видео в преобразовании между видео и кодированным представлением текущего видеоблока, где текущий видеоблок кодирован с использованием режима внутрикадрового предсказания (MIP) на основе матрицы, в котором блок предсказания текущего видеоблока определяется путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения и за которой выборочно следует операция повышения дискретизации; и обрабатывают текущий видеоблок согласно указанному определению.A tenth exemplary video processing method includes determining the applicability of a contour filter to a reconstructed block of a current video block in a transformation between video and an encoded representation of the current video block, wherein the current video block is encoded using a matrix-based intra-frame prediction (MIP) mode in which a current video block prediction block is determined by performing, on the previously encoded video samples, a boundary downsampling operation, followed by a matrix-vector multiplication operation, and selectively followed by an upsampling operation; and processing the current video block according to the specified definition.

Одиннадцатый примерный способ обработки видео включает в себя этапы, на которых определяют, для кодирования текущего видеоблока видео в представление битового потока текущего видеоблока, тип соседних отсчетов текущего видеоблока, подлежащих использованию в соответствии с правилом; и добавляют, на основе указанного определения, кодированное представление текущего видеоблока в представление битового потока, причем текущий видеоблок кодирован с использованием режима внутрикадрового предсказания (MIP) на основе матрицы, в котором определяется блок предсказания текущего видеоблока путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения и за которой выборочно следует операция повышения дискретизации.An eleventh exemplary video processing method includes determining, for encoding a current video block of video into a bitstream representation of the current video block, the type of neighboring samples of the current video block to be used in accordance with a rule; and adding, based on said definition, an encoded representation of the current video block to a bitstream representation, wherein the current video block is encoded using a matrix-based intra-frame prediction (MIP) mode in which a prediction block of the current video block is determined by performing, on the previously encoded video samples, an operation downsampling at the boundary, followed by a matrix-vector multiplication operation, and selectively followed by an upsampling operation.

Двенадцатый примерный способ обработки видео включает в себя этапы, на которых определяют, что текущий видеоблок видео кодирован в представлении битового потока с использованием режима внутрикадрового предсказания (MIP) на основе матрицы и с использованием типа соседних отсчетов текущего видеоблока в соответствии с правилом, при этом режим MIP включает в себя определение блока предсказания текущего видеоблока путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения и за которой выборочно следует операция повышающей дискретизации; и вырабатывают декодированное представление текущего видеоблока путем синтаксического анализа и декодирования представления битового потока. A twelfth exemplary video processing method includes determining that a current video block of video is encoded in a bitstream representation using a matrix-based intra frame prediction (MIP) mode and using a neighbor sample type of the current video block in accordance with a rule, wherein the mode The MIP includes determining a prediction block of the current video block by performing, on previously encoded video samples, a boundary downsampling operation, followed by a matrix-vector multiplication operation, and selectively followed by an upsampling operation; and generating a decoded representation of the current video block by parsing and decoding the bitstream representation.

Тринадцатый примерный способ обработки видео включает в себя этапы, на которых выполняют преобразование между текущим видеоблоком видео и представлением битового потока текущего видеоблока, причем преобразование включает в себя выработку, с использованием режима внутрикадрового предсказания (MIP) на основе матрицы, блока предсказания для текущего видеоблока путем выбора и применения матричного умножения с использованием матриц отсчетов и/или путем выбора и добавления смещения с использованием векторов смещения для текущего видеоблока, при этом отсчеты получаются в результате усреднения по строкам и столбцам ранее кодированных отсчетов видео, а выбор основан на информации о переформировании, ассоциированной с применением преобразования яркости с масштабированием цветности (LMCS) в отношении опорного изображения текущего видеоблока.A thirteenth exemplary video processing method includes performing a conversion between a current video block of video and a bitstream representation of the current video block, the conversion including generating, using a matrix-based intra-frame prediction (MIP) mode, a prediction block for the current video block by selecting and applying matrix multiplication using sample matrices and/or by selecting and adding offset using offset vectors for the current video block, wherein the samples are obtained by row and column averaging of previously encoded video samples, and the selection is based on the reframing information associated applying luminance chroma scaling (LMCS) transform to the reference image of the current video block.

Четырнадцатый примерный способ обработки видео включает в себя этапы, на которых определяют, что текущий видеоблок подлежит кодирования с использованием режима внутрикадрового предсказания (MIP) на основе матрицы, в котором блок предсказания текущего видеоблока определяется путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения и за которой выборочно следует операция повышающей дискретизации; и выполняют, на основе указанного определения, преобразование между текущим видеоблоком и представлением битового потока текущего видеоблока, причем выполнение преобразования основано на правиле совместного применения режима MIP и другого способа кодирования. A fourteenth exemplary video processing method includes determining that a current video block is to be encoded using a matrix-based intra-frame prediction (MIP) mode, in which a prediction block of the current video block is determined by performing a downsampling operation on previously encoded video samples. at the boundary, followed by a matrix-vector multiplication operation and selectively followed by an upsampling operation; and performing, based on said definition, a conversion between the current video block and a bitstream representation of the current video block, the conversion being performed based on a rule of joint application of the MIP mode and the other encoding method.

Пятнадцатый примерный способ обработки видео включает в себя этап, на котором выполняют преобразование между текущим видеоблоком видео и представлением битового потока текущего видеоблока с использованием режима внутрикадрового предсказания (MIP) на основе матрицы, причем выполнение преобразования с использованием режима MIP включает в себя выработку блока предсказания путем применения матричного умножения с использованием матриц отсчетов, полученных в результате усреднения по строкам и столбцам ранее кодированных отсчетов видео, причем матрицы зависят от битовой глубины отсчета. A fifteenth exemplary video processing method includes performing a conversion between a current video block of video and a bitstream representation of the current video block using a matrix-based intra-frame prediction (MIP) mode, wherein performing the conversion using the MIP mode includes generating a prediction block by application of matrix multiplication using matrices of samples obtained by averaging over rows and columns of previously encoded video samples, and the matrices depend on the bit depth of the sample.

Шестнадцатый примерный способ обработки видео включает в себя этапы, на которых вырабатывают для текущего видеоблока видео промежуточное предсказание с использованием режима внутрикадрового предсказания (MIP) на основе матрицы, в котором блок предсказания текущего видеоблока определяется путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения и выборочно следует операция повышения дискретизации; вырабатывают, на основе промежуточного сигнала предсказания, окончательный сигнал предсказания; и выполняют, на основе окончательного сигнала предсказания, преобразование между текущим видеоблоком и представлением битового потока текущего видеоблока. A sixteenth exemplary video processing method includes generating an intermediate prediction for a current video block of video using a matrix-based intra-prediction (MIP) mode in which the prediction block of the current video block is determined by performing a downsampling operation on previously encoded video samples. at the boundary, followed by a matrix-vector multiplication operation and selectively followed by an upsampling operation; generating, based on the intermediate prediction signal, a final prediction signal; and performing, based on the final prediction signal, a conversion between the current video block and a bitstream representation of the current video block.

Семнадцатый примерный способ обработки видео включает в себя этап, на котором выполняют преобразование между текущим видеоблоком видео и представлением битового потока текущего видеоблока с использованием режима внутрикадрового предсказания (MIP) на основе матрицы, причем выполнение преобразования включает в себя использование интерполяционного фильтра в процессе повышающей дискретизации для режима MIP, при этом в режиме MIP матричное умножение применяется к первому набору отсчетов, полученному в результате усреднения по строкам и столбцам ранее кодированных отсчетов видео, а интерполяционный фильтр применяется ко второму набору отсчетов, полученному в результате матричного умножения, причем интерполяционный фильтр исключает фильтр билинейной интерполяции. A seventeenth exemplary video processing method includes performing a conversion between a current video block of video and a bitstream representation of the current video block using a matrix-based intra frame prediction (MIP) mode, wherein performing the conversion includes using an interpolation filter in an upsampling process to MIP mode, wherein in MIP mode matrix multiplication is applied to the first set of samples obtained as a result of averaging over rows and columns of previously encoded video samples, and an interpolation filter is applied to the second set of samples obtained as a result of matrix multiplication, and the interpolation filter excludes the bilinear filter interpolation.

Восемнадцатый примерный способ обработки видео включает в себя этап, на котором выполняют преобразование между текущим видеоблоком видео и представлением битового потока текущего видеоблока в соответствии с правилом, где правило определяет взаимосвязь между применимостью режима внутрикадрового предсказания (MIP) на основе матрицы или режима преобразования во время преобразования, причем режим MIP включает в себя определение блока предсказания текущего видеоблока путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения и за которой выборочно следует операция повышающей дискретизации, а режим преобразования определяет использование операции преобразования для определения блока предсказания для текущего видеоблока. An eighteenth exemplary video processing method includes performing a conversion between a current video block of a video and a bitstream representation of the current video block in accordance with a rule, where the rule determines the relationship between the applicability of a matrix-based intra-frame prediction (MIP) mode or a transform mode during conversion wherein the MIP mode includes determining a prediction block of the current video block by performing, on the previously encoded video samples, a downsampling operation at the boundary, followed by a matrix-vector multiplication operation, and selectively followed by an upsampling operation, and the transform mode determines the use of the operation transforms to determine the prediction block for the current video block.

Девятнадцатый примерный способ обработки видео включает в себя этап, на котором выполняют преобразование между текущим видеоблоком видео и представлением битового потока текущего видеоблока с использованием режима внутрикадрового предсказания (MIP) на основе матрицы, в котором блок предсказания текущего видеоблока определяется путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения и за которой выборочно следует операция повышения дискретизации, причем выполнение преобразования включает в себя получение, в соответствии с правилом, граничных отсчетов путем применения операции сдвига битов влево или сдвига битов вправо к сумме по меньшей мере одного опорного граничного отсчета, причем правило определяет, применять ли операцию сдвига битов влево или операцию сдвига битов вправо. A nineteenth exemplary video processing method includes performing a conversion between a current video block of video and a bitstream representation of the current video block using a matrix-based intra-frame prediction (MIP) mode, in which a prediction block of the current video block is determined by performing on previously encoded samples video, a downsampling operation at the boundary, followed by a matrix-vector multiplication operation, and selectively followed by an upsampling operation, wherein performing the conversion involves obtaining, in accordance with the rule, the boundary samples by applying a bit left shift or a bit right shift operation to the sum of at least one reference boundary sample, wherein the rule determines whether to apply a left shift operation or a right shift operation.

Двадцатый примерный способ обработки видео включает в себя этап, на котором выполняют преобразование между текущим видеоблоком видео и представлением битового потока текущего видеоблока с использованием режима внутрикадрового предсказания (MIP) на основе матрицы, в котором блок предсказания текущего видеоблока определяется путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения и за которой выборочно следует операция повышающей дискретизации, причем отсчеты predSamples[ xHor + dX ][ yHor ] предсказания определяются в соответствии со следующей формулой в операции повышающей дискретизации: predSamples[xHor + dX][yHor] = ((upHor - dX) * predSamples[xHor][yHor] + dX * predSamples[xHor + upHor][yHor] + offsetHor)/upHor, и predSamples[xVer][yVer + dY] = ((upVer - dY) * predSamples[xVer][yVer] + dY * predSamples[xVer][yVer + upVer] + offsetVer)/upVer, где offsetHor и offsetVer – целые числа, где upHor – зависимость ширины текущего видеоблока от заданного значения, основанного на размере текущего видеоблока, где upVer – зависимость высоты текущего видеоблока от заданного значения, основанного на размере текущего видеоблока; где dX равно 1… upHor-1, где dY равно 1… upVer-1, и где xHor – позиции, основанные на upHor, и yHor – позиции, основанные на upVer.A twentieth exemplary video processing method includes performing a conversion between a current video block of video and a bitstream representation of the current video block using a matrix-based intra-frame prediction (MIP) mode, in which a prediction block of the current video block is determined by performing on previously encoded samples video, a downsampling operation at the boundary, followed by a matrix-vector multiplication operation, and followed selectively by an upsampling operation, the prediction samples predSamples[ xHor + dX ][ yHor ] being determined according to the following formula in the upsampling operation: predSamples[ xHor + dX][yHor] = ((upHor - dX) * predSamples[xHor][yHor] + dX * predSamples[xHor + upHor][yHor] + offsetHor)/upHor, and predSamples[xVer][yVer + dY] = ((upVer - dY) * predSamples[xVer][yVer] + dY * predSamples[xVer][yVer + upVer] + offsetVer)/upVer, where offsetHor and offsetVer are integers, where upHor is the dependence of the width of the current video block on the given one a value based on the size of the current video block, where upVer is the dependence of the height of the current video block on a specified value based on the size of the current video block; where dX is equal to 1... upHor-1, where dY is equal to 1... upVer-1, and where xHor are positions based on upHor and yHor are positions based on upVer.

Двадцать первый примерный способ обработки видео включает в себя этапы, на которых вырабатывают, для преобразования между текущим видеоблоком видео и представлением битового потока текущего видеоблока, внутрикадровый режим предсказания для текущего видеоблока, кодированного с помощью режима внутрикадрового предсказания (MIP) на основе матрицы, в котором блок предсказания текущего видеоблока определяется путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения и за которой выборочно следует операция повышения дискретизации; определяют правило для хранения информации, указывающей режим внутрикадрового предсказания на основе того, кодирован ли текущий видеоблок с помощью режима MIP; и выполняют преобразование в соответствии с указанным правилом, причем правило определяет, что представление битового потока исключает хранение информации, указывающей режим MIP, ассоциированный с текущим видеоблоком. The twenty-first exemplary video processing method includes generating, for conversion between a current video block of video and a bitstream representation of the current video block, an intra-frame prediction mode for the current video block encoded using a matrix-based intra-frame prediction (MIP) mode in which a current video block prediction block is determined by performing, on the previously encoded video samples, a boundary downsampling operation, followed by a matrix-vector multiplication operation, and selectively followed by an upsampling operation; defining a rule for storing information indicating an intra-frame prediction mode based on whether the current video block is encoded using the MIP mode; and performing conversion in accordance with said rule, wherein the rule specifies that the bitstream representation excludes storing information indicating a MIP mode associated with the current video block.

В еще одном характерном аспекте раскрытая технология может использоваться для предоставления способа обработки видео. Этот примерный способ включает в себя этапы, на которых определяют, что текущий видеоблок кодирован с использованием режима аффинного линейно-взвешенного внутрикадрового предсказания (ALWIP), составляют, на основе указанного определения, по меньшей мере часть списка наиболее вероятных режимов (MPM) для режима ALWIP на основе по меньшей мере части списка MPM для внутрикадрового режима без использования ALWIP и выполняют, на основе списка MPM для режима ALWIP, преобразование между текущим видеоблоком и представлением битового потока текущего видеоблока. In yet another characteristic aspect, the disclosed technology can be used to provide a method for processing video. This exemplary method includes determining that the current video block is encoded using an affine linear weighted intra-prediction (ALWIP) mode, generating, based on the determination, at least a portion of a most probable mode (MPM) list for the ALWIP mode based on at least a portion of the MPM list for the intra-frame mode without using ALWIP and performing, based on the MPM list for the ALWIP mode, a conversion between the current video block and a bitstream representation of the current video block.

В еще одном характерном аспекте раскрытая технология может использоваться для предоставления способа обработки видео. Этот примерный способ включает в себя этапы, на которых определяют, что компонент яркости текущего видеоблока кодирован с использованием режима аффинного линейно-взвешенного внутрикадрового предсказания (ALWIP), и делают вывод, на основе указанного определения, относительно внутрикадрового режима цветности и выполняют, на основе внутрикадрового режима цветности, преобразования между текущим видеоблоком и представлением битового потока текущего видеоблока. In yet another characteristic aspect, the disclosed technology can be used to provide a method for processing video. This exemplary method includes the steps of determining that a luminance component of a current video block is encoded using an affine linear weighted intra-prediction (ALWIP) mode, inferring, based on the determination, an intra-frame chrominance mode, and performing, based on the intra-frame chrominance mode, chroma mode, conversion between the current video block and the bitstream representation of the current video block.

В еще одном характерном аспекте раскрытая технология может использоваться для предоставления способа обработки видео. Этот примерный способ включает в себя этапы, на которых определяют, что текущий видеоблок кодирован с использованием режима аффинного линейно-взвешенного внутрикадрового предсказания (ALWIP), и выполняют, на основе указанного определения, преобразование между текущим видеоблоком и представлением битового потока текущего видеоблока. In yet another characteristic aspect, the disclosed technology can be used to provide a method for processing video. This exemplary method includes determining that a current video block is encoded using an affine linear weighted intra-prediction (ALWIP) mode and, based on the determination, performing a conversion between the current video block and a bitstream representation of the current video block.

В еще одном характерном аспекте раскрытая технология может использоваться для предоставления способа обработки видео. Этот примерный способ включает в себя этап, на котором определяют, что текущий видеоблок кодирован с использованием режима кодирования, отличного от режима аффинного линейно-взвешенного внутрикадрового предсказания (ALWIP), и выполняют, на основе указанного определения, преобразование между текущим видеоблоком и представлением битового потока текущего видеоблока. In yet another characteristic aspect, the disclosed technology can be used to provide a method for processing video. This exemplary method includes determining that the current video block is encoded using an encoding mode other than an affine linear weighted intra-prediction (ALWIP) mode and, based on the determination, performing a conversion between the current video block and the bitstream representation current video block.

В еще одном характерном аспекте вышеописанный способ воплощен в виде исполняемого процессором кода и хранится на машиночитаемом носителе программы. In yet another characteristic aspect, the above-described method is embodied in processor-executable code and stored on a computer-readable program medium.

В еще одном характерном аспекте раскрыто устройство, которое выполнено или функционирует с возможностью выполнения вышеописанного способа. Устройство может включать в себя процессор, который запрограммирован для реализации этого способа. In yet another characteristic aspect, a device is disclosed that is configured or operative to perform the method described above. The device may include a processor that is programmed to implement the method.

В еще одном характерном аспекте устройство видеодекодера может реализовывать способ, описанный в данном документе. In yet another characteristic aspect, a video decoder apparatus may implement the method described herein.

Вышеупомянутые и другие аспекты и особенности раскрытой технологии описаны более подробно на чертежах, в описании и формуле изобретения. The above and other aspects and features of the disclosed technology are described in more detail in the drawings, description and claims.

Краткое описание чертежейBrief description of drawings

Фиг. 1 – пример 33 направлений внутрикадрового предсказания. Fig. 1 is an example of 33 intra-frame prediction directions.

Фиг. 2 – пример 67 режимов внутрикадрового предсказания. Fig. 2 is an example of 67 intra-frame prediction modes.

Фиг. 3 – пример местоположений отсчетов, используемых для получения весовых коэффициентов линейной модели. Fig. 3 is an example of sample locations used to obtain linear model weights.

Фиг. 4 – пример четырех опорных линий, соседствующих с блоком предсказания. Fig. 4 is an example of four reference lines adjacent to the prediction block.

Фиг. 5A и фиг. 5B – примеры подразделов в зависимости от размера блока. Fig. 5A and FIG. 5B – examples of subsections depending on block size.

Фиг. 6 – пример ALWIP для блоков 4×4. Fig. 6 – ALWIP example for 4x4 blocks.

Фиг. 7 – пример ALWIP для блоков 8×8. Fig. 7 – ALWIP example for 8x8 blocks.

Фиг. 8 – пример ALWIP для блоков 8×4. Fig. 8 – ALWIP example for 8x4 blocks.

Фиг. 9 – пример ALWIP для блоков 16×16. Fig. 9 – ALWIP example for 16×16 blocks.

Фиг. 10 – пример соседних блоков, используемых при составлении списка MPM. Fig. 10 is an example of adjacent blocks used in compiling the MPM list.

Фиг. 11 – блок-схема последовательности операций примерного способа матричного внутрикадрового предсказания в соответствии с раскрытой технологией. Fig. 11 is a flowchart of an exemplary matrix intra-frame prediction method in accordance with the disclosed technology.

Фиг. 12 – блок-схема другого примерного способа матричного внутрикадрового предсказания в соответствии с раскрытой технологией. Fig. 12 is a flow diagram of another exemplary matrix intra-frame prediction method in accordance with the disclosed technology.

Фиг. 13 – блок-схема еще одного примерного способа матричного внутрикадрового предсказания в соответствии с раскрытой технологией. Fig. 13 is a block diagram of another exemplary matrix intra-frame prediction method in accordance with the disclosed technology.

Фиг. 14 – блок-схема еще одного примерного способа матричного внутрикадрового предсказания в соответствии с раскрытой технологией. Fig. 14 is a block diagram of another exemplary matrix intra-frame prediction method in accordance with the disclosed technology.

Фиг. 15 – блок-схема примера аппаратной платформы для реализации способов кодирования визуальных медиаданных или декодирования визуальных медиаданных, описанных в данном документе. Fig. 15 is a block diagram of an example hardware platform for implementing the visual media encoding or visual media decoding methods described herein.

Фиг. 16 – блок-схема, показывающая примерную систему обработки видео, в которой могут быть реализованы различные способы, раскрытые в данном документе. Fig. 16 is a block diagram showing an exemplary video processing system in which various methods disclosed herein may be implemented.

Фиг. 17 – блок-схема, которая иллюстрирует примерную систему кодирования видео, в которой можно использовать способы настоящего раскрытия. Fig. 17 is a block diagram that illustrates an example video coding system in which the methods of the present disclosure can be used.

Фиг. 18 – блок-схема, иллюстрирующая пример видеокодера. Fig. 18 is a block diagram illustrating an example of a video encoder.

Фиг. 19 – блок-схема, иллюстрирующая пример видеодекодера. Fig. 19 is a block diagram illustrating an example of a video decoder.

Фиг. 20-38 – примерная блок-схемы последовательности операций дополнительных примерных способов для матричного внутрикадрового предсказания в соответствии с раскрытой технологией. Fig. 20-38 is an example flowchart of additional example methods for matrix intra-frame prediction in accordance with the disclosed technology.

Осуществление изобретенияCarrying out the invention

В связи с растущим спросом на видео с более высоким разрешением в современной технологии повсеместно используются способы и технологии кодирования видео. Видеокодеки Typica LLY включают в себя электронную схему или программное обеспечение, которое сжимает или распаковывает цифровое видео, и они постоянно совершенствуется для повышения эффективности кодирования. Видеокодек преобразует несжатое видео в сжатый формат или наоборот. Существуют сложные взаимосвязи между качеством видео, количеством данных, используемых для представления видео (которое определяется скоростью передачи данных), сложностью алгоритмов кодирования и декодирования, чувствительностью к потерям и ошибкам данных, простотой редактирования, произвольным доступом и сквозной задержкой (запаздыванием). Сжатый формат обычно соответствует стандартной спецификации сжатия видео, например, стандарту высокоэффективного кодирования видео (HEVC) (также известному как H.265 или MPEG-H, часть 2), стандарту универсального кодирования видео (VVC), который будет доработан, или другим современным и/или будущим стандартам кодирования видео. With the growing demand for higher resolution video, video encoding methods and technologies are becoming ubiquitous in modern technology. Typica LLY video codecs include electronic circuitry or software that compresses or decompresses digital video, and they are constantly being improved to improve encoding efficiency. A video codec converts uncompressed video to a compressed format or vice versa. There are complex relationships between video quality, the amount of data used to represent the video (which is determined by the bit rate), the complexity of encoding and decoding algorithms, sensitivity to data loss and errors, ease of editing, random access, and end-to-end latency. The compressed format typically follows a standard video compression specification, such as the High Efficiency Video Coding (HEVC) standard (also known as H.265 or MPEG-H Part 2), the to-be-developed Versatile Video Coding (VVC) standard, or other modern and /or future video encoding standards.

Варианты осуществления раскрытой технологии могут быть применены к существующим стандартам кодирования видео (например, HEVC, H.265) и будущим стандартам для улучшения рабочих характеристик. Заголовки разделов используются в данном документе для улучшения читаемости описания и никоим образом не ограничивают обсуждение или варианты осуществления (и/или реализации) только соответствующими разделами. Embodiments of the disclosed technology can be applied to existing video coding standards (eg, HEVC, H.265) and future standards to improve performance. Section headings are used herein to enhance the readability of the description and are in no way intended to limit the discussion or embodiments (and/or implementations) to the relevant sections.

1. Краткий обзор HEVC1. Brief overview of HEVC

1.1. Внутрикадровое предсказание в HEVC/H.2651.1. Intra-frame prediction in HEVC/H.265

Внутрикадровое предсказание включает в себя создание отсчетов для данного TB (блока преобразования) с использованием отсчетов, ранее восстановленных в рассматриваемом цветовом канале. Режим внутрикадрового предсказания сигнализируется отдельно для каналов яркости и цветности, причем режим внутрикадрового предсказания канала цветности при необходимости зависит от режима внутрикадрового предсказания канала яркости при использовании режима «DM_CHROMA». Хотя режим внутрикадрового предсказания сигнализируется на уровне PB (блока предсказания), процесс внутрикадрового предсказания применяется на уровне TB в соответствии с иерархией квадродерева остатка для CU, тем самым позволяя кодированию одного TB иметь влияние на кодирование следующего TB в CU и, следовательно, уменьшая расстояние до отсчетов, используемых в качестве контрольных значений.Intra-frame prediction involves generating samples for a given TB (transform block) using samples previously reconstructed in the color channel in question. The intra-prediction mode is signaled separately for the luma and chrominance channels, with the intra-prediction mode of the chrominance channel optionally depending on the intra-prediction mode of the luminance channel when using the DM_CHROMA mode. Although the intra-prediction mode is signaled at the PB (prediction block) level, the intra-prediction process is applied at the TB level according to the residual quadtree hierarchy for the CU, thereby allowing the encoding of one TB to have an impact on the encoding of the next TB in the CU and hence reducing the distance to readings used as reference values.

HEVC включает в себя 35 режимов внутрикадрового предсказания – режим DC, планарный режим и 33 режима направленного или "углового" внутрикадрового предсказания. 33 режима углового внутрикадрового предсказания показаны на фиг. 1.HEVC includes 35 intra-prediction modes - DC mode, planar mode and 33 directional or "angular" intra-prediction modes. The 33 angular intra prediction modes are shown in FIG. 1.

Для PB, ассоциированных с цветовыми каналами цветности, режим внутрикадрового предсказания определяется как планарный, DC, горизонтальный, вертикальный, режим «DM_CHROMA» или иногда диагональный режим "34".For PBs associated with chrominance color channels, the intra-frame prediction mode is defined as planar, DC, horizontal, vertical, "DM_CHROMA" mode, or sometimes diagonal "34" mode.

Следует отметить, что для форматов цветности 4:2:2 и 4:2:0 PB цветности может перекрывать два или четыре (соответственно) PB яркости; в этом случае направление яркости для DM_CHROMA берется из верхнего левого угла этих PB яркости.It should be noted that for 4:2:2 and 4:2:0 chroma formats, the chrominance PB may overlap two or four (respectively) luminance PBs; in this case, the luminance direction for DM_CHROMA is taken from the upper left corner of these luminance PBs.

Режим DM_CHROMA указывает, что режим внутрикадрового предсказания цветового PB канала яркости применяется к каналам PB цветности. Так как это является относительно распространенным, схема кодирования наиболее вероятного режима intra_chroma_pred_mode смещена в пользу выбора этого режима.The DM_CHROMA mode indicates that the luma PB color channel intra-frame prediction mode is applied to the chrominance PB channels. Since this is relatively common, the coding scheme for the most likely mode intra_chroma_pred_mode is biased in favor of selecting this mode.

2. Примеры внутрикадрового предсказания в VVC2. Examples of intra-frame prediction in VVC

2.1. Внутрикадровый режим кодирования с 67 внутрикадровыми режимами предсказания2.1. Intra-frame coding mode with 67 intra-frame prediction modes

Для захвата произвольных краевых направлений, представленных в естественном видео, количество направленных внутрикадровых режимов увеличено с 33, как это используется в HEVC, до 65. Дополнительные направленные режимы обозначены красными пунктирными стрелками на фиг. 2, и планарный режим и режим DC остаются прежними. Эти более режимы более плотного направленного внутрикадрового предсказания применяются для всех размеров блоков и для внутрикадровый предсказаний как яркости, так и цветности.To capture arbitrary edge directions present in natural video, the number of intra-frame directional modes is increased from 33, as used in HEVC, to 65. Additional directional modes are indicated by red dotted arrows in FIG. 2, both planar mode and DC mode remain the same. These denser directional intra-prediction modes apply to all block sizes and to both luma and chrominance intra-predictions.

2.2. Примеры межкомпонентного предсказания по линейной модели (CCLM)2.2. Examples of cross-component linear model (CCLM) prediction

В некоторых вариантах осуществления и для уменьшения межкомпонентной избыточности в JEM используется режим межкомпонентного предсказания по линейной модели (CCLM) (также называемый LM), для которого отсчеты цветности предсказываются на основе восстановленных отсчетов яркости одной той же CU с использованием линейной модели следующим образом:In some embodiments, and to reduce inter-component redundancy, JEM uses a inter-component linear model (CCLM) mode (also called LM), for which chrominance samples are predicted from reconstructed luminance samples of the same CU using a linear model as follows:

где представляет собой предсказанные отсчеты цветности в CU и представляет восстановленные отсчеты яркости с пониженной дискретизацией одной и той же CU. Параметры α и β линейной модели получаются из соотношения между значениями яркости и значениями цветности из двух отсчетов, которые являются отсчетом яркости с минимальным значением отсчета и с максимальным отсчетом внутри набора соседних отсчетов яркости с пониженной дискретизацией и их соответствующих отсчетов цветности. На фиг. 3 показан пример местоположения левого и верхнего отсчетов и отсчета текущего блока, задействованного в режиме CCLM.Where represents the predicted chroma samples in the CU and represents the reconstructed downsampled luminance samples of the same CU. The parameters α and β of the linear model are obtained from the relationship between the luminance values and the chrominance values from two samples, which are the luminance sample with the minimum sample value and the maximum sample within a set of adjacent downsampled luminance samples and their corresponding chroma samples. In fig. Figure 3 shows an example of the location of the left and top samples and the current block sample involved in CCLM mode.

Вычисление этого параметра выполняется как часть процесса декодирования, и не только как операция поиска кодера. В результате синтаксис не используется для передачи значений α и β в декодер.The calculation of this parameter is performed as part of the decoding process, and not just as an encoder search operation. As a result, no syntax is used to pass the values of α and β to the decoder.

Для кодирования во внутрикадровом режиме цветности разрешено всего 8 внутрикадровых режимов для кодирования во внутрикадровом режиме цветности. Эти режимы включают пять традиционных внутрикадровых режимов и три режима межкомпонентной линейной модели (CCLM, LM_A и LM_L). Кодирование в режиме цветности напрямую зависит от режима внутрикадрового предсказания соответствующего блока яркости. Так как в I-слайсах разрешена структура разделения на отдельные блоки для компонентов яркости и цветности, один блок цветности может соответствовать нескольким блокам яркости. Таким образом, для режима Chroma DM напрямую наследуется режим внутрикадрового предсказания соответствующего блока яркости, охватывающий центральную позицию текущего блока цветности.A total of 8 intra-frame modes are allowed for intra-chrominance encoding. These modes include five traditional intraframe modes and three intercomponent linear model modes (CCLM, LM_A, and LM_L). Chroma coding directly depends on the intra-frame prediction mode of the corresponding luminance block. Because I-slices allow a separate block structure for luma and chrominance components, one chrominance block can correspond to multiple luma blocks. Thus, the Chroma DM mode directly inherits the intra-frame prediction mode of the corresponding luma block, covering the center position of the current chrominance block.

2.3. Внутрикадровое предсказание с множеством опорных линий (MRL)2.3. Intra-frame prediction with multiple reference lines (MRL)

Для внутрикадрового предсказания с множеством опорных линий (MRL) используется большое количество опорных линий для внутрикадрового предсказания. На фиг. 4 показан пример 4 опорных линий, где отсчеты сегментов A и F не извлекаются из восстановленных соседних отсчетов, и дополняются ближайшими отсчетами из сегментов B и E, соответственно. Для внутрикадрового предсказания изображения HEVC используется ближайшая опорная линия (то есть опорная линия 0). В MRL используются 2 дополнительные линии (опорная линия 1 и опорная линия 3). Индекс выбранной опорной линии (mrl_idx) сигнализируется и используется для выработки внутрикадрового предиктора. Для опорной линии индекс idx, который больше 0, включает в себя только дополнительные режимы опорных линий в списке MPM и только индекс mpm сигнала без оставшегося режима. For multi-reference line (MRL) intra prediction, a large number of reference lines are used for intra-prediction. In fig. Figure 4 shows an example of 4 reference lines, where the samples of segments A and F are not extracted from the reconstructed neighboring samples, and are complemented by the nearest samples from segments B and E, respectively. For intra-frame prediction of an HEVC image, the nearest reference line (ie, reference line 0) is used. MRL uses 2 additional lines (reference line 1 and reference line 3). The selected reference line index (mrl_idx) is signaled and used to generate an intra-frame predictor. For a reference line, an idx index that is greater than 0 includes only the additional reference line modes in the MPM list and only the mpm index of the signal without the remaining mode.

2.4. Внутрикадровые подразделы (ISP)2.4. Intra-frame subpartitions (ISP)

Инструмент внутрикадровых подразделов (ISP) делит блоки внутрикадрового предсказания яркости по вертикали или горизонтали на 2 или 4 подраздела в зависимости от размера блока. Например, минимальный размер блока для ISP составляет 4x8 (или 8x4). Если размер блока больше 4x8 (или 8x4), то соответствующий блок делится на 4 части. На фиг. 5 показаны примеры двух возможных вариантов. Все подразделы удовлетворяют условию наличия не менее 16 отсчетов. The Intra Subpartition (ISP) tool divides intraframe luminance prediction blocks vertically or horizontally into 2 or 4 subpartitions depending on the block size. For example, the minimum block size for an ISP is 4x8 (or 8x4). If the block size is greater than 4x8 (or 8x4), then the corresponding block is divided into 4 parts. In fig. Figure 5 shows examples of two possible options. All subsections satisfy the condition of having at least 16 samples.

Для каждого подраздела восстановленные отсчеты получаются путем добавления сигнала остатка к сигналу предсказания. В данном документе сигнал остатка вырабатывается с помощью таких процессов, как энтропийное декодирование, обратное квантование и обратное преобразование. Таким образом, значения восстановленного отсчета каждого подраздела доступны для выработки предсказания следующего подраздела, и каждый подраздел обрабатывается повторно. Кроме того, первым обрабатываемым подразделом будет тот, который содержит верхнюю левый отсчет CU и затем продолжается вниз (горизонтальное разделение) или вправо (вертикальное разделение). В результате опорные отсчеты, используемые для выработки сигналов предсказания подразделов, расположены только слева и выше линий. Для всех подразделов используется один и тот же внутрикадровый режим. For each subsection, the reconstructed samples are obtained by adding the residual signal to the prediction signal. In this paper, the residual signal is generated by processes such as entropy decoding, inverse quantization, and inverse transform. Thus, the reconstructed sample values of each subsection are available to generate a prediction for the next subsection, and each subsection is reprocessed. Additionally, the first subpartition processed will be the one that contains the top-left CU count and then continues down (horizontal partition) or to the right (vertical partition). As a result, the reference samples used to generate subsection prediction signals are located only to the left and above the lines. All subsections use the same intraframe mode.

2.5. Аффинное линейно-взвешенное внутрикадровое предсказание (ALWIP или матричное внутрикадровое предсказание)2.5. Affine Linear Weighted Intra Prediction (ALWIP or Matrix Intra Prediction)

Аффинное линейно-взвешенное внутрикадровое предсказание (ALWIP, также известное как матричное внутрикадровое предсказание (MIP)), предложено в JVET-N0217. Affine Linear Weighted Intra Prediction (ALWIP, also known as Matrix Intra Prediction (MIP)) is proposed in JVET-N0217.

В JVET-N0217 проводятся два теста. В тесте 1 ALWIP разрабатывается с ограничением памяти 8-ю килобайтами и максимум 4 умножениями на отсчет. Тест 2 аналогичен тесту 1, но дополнительно упрощает разработку с точки зрения требований к памяти и архитектуры модели. There are two tests performed in JVET-N0217. In Test 1, ALWIP is developed with a memory limit of 8 kilobytes and a maximum of 4 multiplications per sample. Test 2 is similar to Test 1, but further simplifies development in terms of memory requirements and model architecture.

○ Единый набор матриц и векторов смещения для всех форм блоков.○ A single set of matrices and displacement vectors for all block shapes.

○ Уменьшение количества режимов до 19 для всех форм блоков.○ Reducing the number of modes to 19 for all block shapes.

○ Снижение требований к памяти до 5760 10-битных значений, то есть до 7,20 килобайтов.○ Reduced memory requirements to 5760 10-bit values, or 7.20 kilobytes.

○ Линейная интерполяция предсказанных отсчетов выполняется за один шаг в каждом направлении, заменяя итеративную интерполяцию, как в первом тесте.○ Linear interpolation of the predicted samples is performed in one step in each direction, replacing the iterative interpolation as in the first test.

2.5.1. Тест 1 JVET-N02172.5.1. Test 1 JVET-N0217

Для предсказания отсчетов прямоугольного блока с шириной W и высотой H аффинное линейно-взвешенное внутрикадровое предсказание (ALWIP) принимает в качестве входных данных одну линию H восстановленных соседних граничных отсчетов слева от блока и одну линию W восстановленных соседних граничных отсчетов выше блока. Если восстановленные отсчеты недоступны, они вырабатываются таким образом, как это делается в нормальном внутрикадровом предсказании. To predict samples of a rectangular block with width W and height H, affine linear-weighted intra-prediction (ALWIP) takes as input one line H of reconstructed neighboring boundary samples to the left of the block and one line W of reconstructed neighboring boundary samples above the block. If reconstructed samples are not available, they are generated in the same way as in normal intra-frame prediction.

Выработка сигнала предсказания основана на следующих трех шагах:Generation of the prediction signal is based on the following three steps:

Четыре отсчета, если W=H=4, и восемь отсчетов во всех других случаях извлекаются из граничных отсчетов посредством усреднения.Four samples if W=H=4, and eight samples in all other cases, are extracted from the boundary samples by averaging.

Матрично-векторное умножение с последующим прибавлением смещения выполняется с использованием усредненных отсчетов в качестве входных данных. Результатом является уменьшенный сигнал предсказания для субдискретизированного набора отсчетов в исходном блоке.Matrix-vector multiplication followed by offset addition is performed using the averaged samples as input. The result is a reduced prediction signal for the subsampled set of samples in the original block.

Сигнал предсказания в оставшихся позициях вырабатывается из сигнала предсказания в субдискретизированном наборе с помощью линейной интерполяции, которая представляет собой одношаговую линейную интерполяцию в каждом направлении. The prediction signal at the remaining positions is generated from the prediction signal in the subsampled set using linear interpolation, which is a one-step linear interpolation in each direction.

Матрица и векторы смещения, необходимые для выработки сигнала предсказания, взяты из трех наборов S0, S1, S2 матриц. Набор S0 состоит из 18 матриц , каждая из которых имеет 16 строк и 4 столбца и 18 векторов смещения, каждый из которых имеет размер 16. Матрицы и векторы смещения из этого набора используются для блоков размером 4×4. Набор S1 состоит из 10 матриц , каждая из которых имеет 16 строк и 8 столбцов и 10 векторов смещения, каждый из которых имеет размер 16. Матрицы и векторы смещения этого набора используются для блоков размером 4×8, 8×4 и 8×8. Наконец, набор S2 состоит из 6 матриц , каждая из которых имеет 64 строки и 8 столбцов и 6 векторов смещения размером 64. Матрицы и векторы смещения из этого набора или части этих матриц и векторов смещения используются для всех других форм блоков.The matrix and displacement vectors required to generate the prediction signal are taken from three sets of matrices S 0 , S 1 , S 2 . The set S 0 consists of 18 matrices , each of which has 16 rows and 4 columns and 18 vectors offsets, each of size 16. The matrices and offset vectors from this set are used for 4x4 blocks. Set S 1 consists of 10 matrices , each of which has 16 rows and 8 columns and 10 vectors offsets, each of size 16. The offset matrices and vectors of this set are used for blocks of size 4x8, 8x4, and 8x8. Finally, the set S 2 consists of 6 matrices , each of which has 64 rows and 8 columns and 6 vectors offsets of size 64. The matrices and offset vectors from this set, or portions of these matrices and offset vectors, are used for all other block shapes.

Общее количество умножений, необходимых для вычисления матрично-векторного умножения, всегда меньше или равно 4 × W × H. Другими словами, для режимов ALWIP требуется не более четырех умножений на отсчет. The total number of multiplications required to compute a matrix-vector multiplication is always less than or equal to 4 × W × H. In other words, ALWIP modes require no more than four multiplications per sample.

2.5.2 Усреднение границы2.5.2 Boundary averaging

На первом этапе входные границы и уменьшаются до меньших границ и . Здесь обе границы и состоят из 2 отсчетов в случае блока размером 4×4, и во всех остальных случаях обе границы состоят из 4 отсчетов.At the first stage, the input boundaries And decrease to smaller limits And . Here are both borders And consist of 2 samples in the case of a 4x4 block, and in all other cases both boundaries consist of 4 samples.

В случае блока размером 4×4 для 0≤ i < 2, определяетсяIn the case of a block of size 4×4 for 0≤ i < 2, it is determined

и аналогичным образом определяется .and is similarly defined .

В противном случае, если ширина W блока задана как W=4·2k, для 0 ≤ I < 4, определяетсяOtherwise, if the width W of the block is given as W=4·2 k , for 0 ≤ I < 4, it is determined

и аналогичным образом определяется .and is similarly defined .

Две уменьшенных границы и связаны с уменьшенным граничным вектором , который имеет, таким образом, размер четыре для блоков формы 4×4 и размер восемь для блоков всех остальных форм. Если mode относится к режиму ALWIP, это объединение определяется следующим образом:Two reduced borders And associated with the reduced boundary vector , which is therefore size four for blocks of the 4x4 shape and size eight for blocks of all other shapes. If mode is an ALWIP mode, this union is defined as follows:

Наконец, для интерполяции субдискретизированного сигнала предсказания на больших блоках требуется вторая версия усредненной границы. А именно, если min(W,H)>8 и W≥H, записать W , и для 0≤i<8 определяется Finally, a second version of the averaged boundary is required to interpolate the subsampled prediction signal over large blocks. Namely, if min(W,H)>8 and W≥H, write W , and for 0≤i<8 it is determined

Если min(W,H)>8 и H>W, определяется аналогичным образом.If min(W,H)>8 and H>W, is defined in a similar way.

2.5.3. Выработка уменьшенного сигнала предсказания с использованием матрично-векторного умножения2.5.3. Generating a reduced prediction signal using matrix-vector multiplication

Из уменьшенного входного вектора bdryred вырабатывается уменьшенный сигнал predred предсказания. Последний сигнал представляет собой сигнал субдискретизированного блока с шириной Wred и высотой Hred. Здесь Wred и Hred определяются как:From the reduced input vector bdry red, a reduced prediction signal pred red is generated. The last signal is a subsampled block signal with width W red and height H red . Here W red and H red are defined as:

Уменьшенный сигнал predred предсказания вычисляется путем вычисления матрично-векторного умножения и добавления смещения: The reduced pred red prediction signal is calculated by calculating the matrix-vector multiplication and adding an offset:

Здесь A – матрица, которая имеет Wred·Hred строк и 4 столбца, если W=H=4 и 8 столбцов во всех остальных случаях. b представляет собой вектор размером Wred·Hred.Here A is a matrix that has W red ·H red rows and 4 columns if W=H=4 and 8 columns in all other cases. b is a vector of size W red ·H red .

Матрица A и вектор b выбираются из одного из наборов S0, S1, S2 следующим образом. Индекс idx=idx(W,H) определяется следующим образом:Matrix A and vector b are selected from one of the sets S 0 , S 1 , S 2 as follows. The index idx=idx(W,H) is defined as follows:

Кроме того, полагаем, что m определяется следующим образом:In addition, we assume that m is defined as follows:

Затем, если или , и , полагаем, что и . В случае, когда и , допустим A является матрицей, которая получается при исключении каждой строки из , которая в случае W=4 соответствует нечетной координате x в блоке с пониженной дискретизацией, или, в случае H=4, соответствует нечетной координате y в блоке с пониженной дискретизацией.Then if or , And , we believe that And . In case And , let's say A is a matrix that is obtained by eliminating each row from , which in the case of W=4 corresponds to the odd x coordinate in the downsampled block, or, in the case of H=4, corresponds to the odd y coordinate in the downsampled block.

Наконец, уменьшенный сигнал предсказания заменяется его транспонированием в следующих случаях: Finally, the reduced prediction signal is replaced by its transposition in the following cases:

○ W=H=4 и mode ≥ 18 ○ W=H=4 and mode ≥ 18

○ max(W,H)=8 и mode ≥ 10 ○ max(W,H)=8 and mode ≥ 10

○ max(W,H) > 8 и mode ≥ 6○ max(W,H) > 8 and mode ≥ 6

Количество операций умножения необходимых для вычисления, равно 4 в случае, так как в этом случае имеется 4 столбца и 16 строк. Во всех других случаях A имеет 8 столбцов и строк, и сразу проверяется, что в этих случаях требуется операций умножения, то есть в этих случаях для вычисления требуется также не более 4 операций умножения на отсчет.The number of multiplication operations required for the calculation is 4 in the case, since in this case there are 4 columns and 16 rows. In all other cases A has 8 columns and lines, and immediately checks what is required in these cases multiplication operations, that is, in these cases to calculate no more than 4 multiplication operations per count are also required.

2.5.4. Иллюстрация всего процесса ALWIP2.5.4. Illustration of the entire ALWIP process

Весь процесс усреднения, матрично-векторного умножения и линейной интерполяции проиллюстрирован для различных форм на фиг. 6-9. Следует отметить, что остальные формы рассматриваются как в одном из изображенных случаев.The entire process of averaging, matrix-vector multiplication, and linear interpolation is illustrated for various shapes in FIG. 6-9. It should be noted that the remaining forms are treated as in one of the cases depicted.

1. При наличии блока размером 4×4 ALWIP имеет четыре средних значения по каждой оси границы. Результирующие четыре входных отсчета входят в матрично-векторное умножение. Матрицы берутся из набора S0. После добавления смещения получается 16 окончательных отсчетов предсказания. Линейная интерполяция не требуется для выработки сигнала предсказания. Таким образом, всего выполняется (4·16)/(4·4)=4 умножений на отсчет. 1. Given a 4x4 block, ALWIP has four average values along each boundary axis. The resulting four input samples enter into a matrix-vector multiplication. The matrices are taken from the set S 0 . After adding the offset, there are 16 final prediction samples. Linear interpolation is not required to generate a prediction signal. Thus, a total of (4·16)/(4·4)=4 multiplications per count are performed.

2. При наличии блока размером 8×4 ALWIP имеет четыре средних значения по каждой оси границы. Результирующие восемь входных отсчетов попадают в матрично-векторное умножение. Матрицы берутся из набора S1. Это дает 16 отсчетов на нечетных позициях блока предсказания. Таким образом, всего выполняется (8·16)/(8·8)=2 умножений на отсчет. После добавления смещения эти отсчеты интерполируются по вертикали с использованием уменьшенной верхней границы. Горизонтальная интерполяция выполняется с использованием исходной левой границы. 2. Given an 8x4 block, ALWIP has four average values along each boundary axis. The resulting eight input samples go into matrix-vector multiplication. The matrices are taken from the set S 1 . This gives 16 samples at odd positions of the prediction block. Thus, a total of (8·16)/(8·8)=2 multiplications per count are performed. After adding offset, these samples are interpolated vertically using the reduced upper bound. Horizontal interpolation is performed using the original left boundary.

3. При наличии блока размером 8×4 ALWIP имеет четыре средних значения по горизонтальной оси границы и четыре исходных граничных значения на левой границе. Результирующие восемь входных отсчетов попадают в матрично-векторное умножение. Матрицы берутся из набора S1. Это дает 16 отсчетов по нечетным горизонтальным и каждой вертикальной позициям блока предсказания. Таким образом, всего выполняется (8·16)/(8·4)=4 умножений на отсчет. После добавления смещения эти отсчеты интерполируются по горизонтали с использованием исходной левой границы. 3. Given an 8x4 block, ALWIP has four average values along the horizontal boundary axis and four original boundary values on the left boundary. The resulting eight input samples go into matrix-vector multiplication. The matrices are taken from the set S 1 . This gives 16 samples at the odd horizontal and each vertical position of the prediction block. Thus, a total of (8·16)/(8·4)=4 multiplications per count are performed. After adding an offset, these samples are interpolated horizontally using the original left boundary.

4. При наличии блока размером 16×16 ALWIP имеет четыре средних значения по каждой оси границы. Результирующие восемь входных отсчетов попадают в матрично-векторное умножение. Матрицы берутся из набора S2. Это дает 64 отсчета на нечетных позициях блока предсказания. Таким образом, всего выполняется (8·64)/(16·16)=2 умножений на отсчет. После добавления смещения эти отсчеты интерполируются по вертикали с использованием восьми средних значений верхней границы. Горизонтальная интерполяция следует за использованием исходной левой границы. В этом случае процесс интерполяции не добавляет никаких умножений. Таким образом, для расчета прогноза ALWIP требуется всего два умножения на отсчет.4. Given a 16x16 block, ALWIP has four average values along each boundary axis. The resulting eight input samples go into matrix-vector multiplication. The matrices are taken from the set S 2 . This gives 64 samples at odd positions of the prediction block. Thus, a total of (8·64)/(16·16)=2 multiplications per count are performed. After adding offset, these samples are interpolated vertically using the eight upper bound averages. Horizontal interpolation follows the use of the original left border. In this case, the interpolation process does not add any multiplications. Thus, only two multiplications per sample are required to calculate the ALWIP forecast.

Для больших форм процедура является по существу такой же, и легко проверить, что количество умножений на отсчет меньше четырех.For large forms the procedure is essentially the same, and it is easy to verify that the number of multiplications per count is less than four.

Для блоков W×8 ghb W>8 необходима только горизонтальная интерполяция, так как отсчеты даны в нечетных горизонтальных и каждой вертикальной позициях.For W×8 ghb W>8 blocks, only horizontal interpolation is necessary, since the readings are given in odd horizontal and each vertical positions.

Наконец, для блоков W×4 с W>8, пусть A_k будет матрицей, которая получается при исключении каждой строки, которая соответствует нечетной записи по горизонтальной оси субдискретизированного блока. Таким образом, выходной размер равен 32, и снова остается выполнить только горизонтальную интерполяцию.Finally, for W×4 blocks with W>8, let A_k be the matrix that is obtained by eliminating each row that corresponds to an odd entry on the horizontal axis of the downsampled block. Thus, the output size is 32, and again only horizontal interpolation remains to be done.

Транспонированные случаи обрабатываются соответствующим образом.Transposed cases are handled accordingly.

2.5.5. Одношаговая линейная интерполяция2.5.5. One-step linear interpolation

Для блока размером W×H при max(W,H)≥8 сигнал предсказания получается из уменьшенного сигнала предсказания predred на Wred×Hred с помощью линейной интерполяции. В зависимости от формы блока линейная интерполяция выполняется в вертикальном, горизонтальном или обоих направлениях. Если линейная интерполяция должна применяться в обоих направлениях, она сначала применяется в горизонтальном направлении, если W<H, и сначала применяется в вертикальном направлении, иначе.For a block of size W×H with max(W,H)≥8, the prediction signal is obtained from the reduced prediction signal pred red by W red ×H red using linear interpolation. Depending on the block shape, linear interpolation is performed in vertical, horizontal, or both directions. If linear interpolation is to be applied in both directions, it is applied first in the horizontal direction if W<H, and first applied in the vertical direction otherwise.

Без ограничения общности рассмотрим блок размером W×H при max(W,H)≥8 и W≥H. Затем выполняется одномерная линейная интерполяция следующим образом. Без ограничения общности достаточно описать линейную интерполяцию в вертикальном направлении. Сначала уменьшенный сигнал предсказания расширяется до верхней части с помощью граничного сигнала. Определим коэффициент Uver=H/Hred вертикальной повышающей дискретизации, и запишем . Затем определим расширенный уменьшенный сигнал предсказания с помощьюWithout loss of generality, consider a block of size W×H with max(W,H)≥8 and W≥H. One-dimensional linear interpolation is then performed as follows. Without loss of generality, it is sufficient to describe linear interpolation in the vertical direction. First, the reduced prediction signal is expanded to the top using a boundary signal. Let us determine the coefficient U ver =H/H red of vertical upsampling, and write . We then define the extended reduced prediction signal using

Затем из этого расширенного уменьшенного сигнала предсказания вырабатывается сигнал вертикально-линейного интерполированного предсказания следующим образомA vertical linear interpolated prediction signal is then generated from this extended reduced prediction signal as follows:

для 0≤x<Wred, 0≤y<Hred и 0≤k<Uver.for 0≤x<W red , 0≤y<H red and 0≤k<U ver .

2.5.6. Сигнализация предложенных режимов внутрикадрового предсказания2.5.6. Signaling proposed intra-frame prediction modes

Для каждой единицы кодирования (CU) во внутрикадровом режиме в битовом потоке отправляется флаг, указывающий то, должен или нет применяться режим ALWIP к соответствующей единице предсказания (PU). Сигнализация последнего индекса гармонизирована с MRL так же, как в JVET-M0043. Если должен применяться режим ALWIP, индекс redmode режима ALWIP сигнализируется с использованием списка MPM с 3 MPMS.For each coding unit (CU) in intra-frame mode, a flag is sent in the bit stream indicating whether or not ALWIP mode should be applied to the corresponding prediction unit (PU). The last index signaling is harmonized with the MRL in the same way as in the JVET-M0043. If ALWIP mode is to be used, the ALWIP mode redmode index is signaled using the 3 MPMS MPM list.

Здесь вывод MPM выполняется с использованием внутрикадрового режима верхней и левой PU следующим образом. Имеется три фиксированных таблицы , , которые назначают каждому традиционному режиму внутрикадрового предсказания режим ALWIP.Here, MPM inference is performed using the intra-frame mode of the top and left PUs as follows. There are three fixed tables , , which assign each conventional intra-frame prediction mode an ALWIP mode.

Для каждой PU с шириной W и высотой H определяется индекс For each PU with width W and height H, an index is defined

, ,

который указывает то, из какого из трех наборов следует выбирать параметры ALWIP, как в разделе 2.5.3.which specifies from which of three sets the ALWIP parameters should be selected, as in section 2.5.3.

Если вышеуказанная единица предсказания является доступной, принадлежит к той же CTU, что и текущая PU, и находится во внутрикадровом режиме, если , и если ALWIP применяется к с ALWIP-режимом , полагаем, чтоIf the above unit prediction is available, belongs to the same CTU as the current PU, and is in intra-frame mode if , and if ALWIP applies to with ALWIP mode , we believe that

Если верхняя PU является доступной, принадлежит к той же CTU, что и текущая PU, и находится во внутрикадровом режиме, и если к верхней PU применяется традиционный режим внутрикадрового предсказания, то полагаем, чтоIf the top PU is reachable, belongs to the same CTU as the current PU and is in intra-frame mode, and if the top PU is in legacy mode intra-frame prediction, we assume that

Во всех остальных случаях полагаем, что In all other cases we assume that

, ,

что означает, что этот режим является недоступным. Таким же образом, но без ограничения, что левая PU должна принадлежать к той же CTU, что и текущая PU, получается режим .which means this mode is not available. In the same way, but without the restriction that the left PU must belong to the same CTU as the current PU, the mode .

Наконец, предоставляются три фиксированных списка , по умолчанию, каждый из которых содержит три различных режима ALWIP. Из списка по умолчанию и режимов и создаются три отдельных MPM путем замены -1 на значения по умолчанию, а также исключения повторения. Finally, three fixed lists are provided , by default, each containing three different ALWIP modes. From the default list and modes And three separate MPMs are created by replacing -1 with default values and eliminating repetition.

Левый соседний блок и верхний соседний блок, которые используются в составлении списка ALWIP MPM, представляют собой A1 и B1, как показано на фиг. 10.The left neighbor block and the top neighbor block, which are used in constructing the ALWIP MPM list, are A1 and B1, as shown in FIG. 10.

2.5.7. Получение адаптивного MPM-списка для традиционных режимов внутрикадрового предсказания яркости и цветности2.5.7. Obtaining an adaptive MPM list for traditional intraframe luma and chrominance prediction modes

Предлагаемые режимы ALWIP гармонизируются с кодированием на основе MPM традиционных режимов внутрикадрового предсказания следующим образом. Процессы получения МРМ-списка яркости и цветности для традиционных режимов внутрикадрового предсказания используют фиксированные таблицы , , которые обеспечивают сопоставление ALWIP-режима с заданной PU в одном из традиционных режимов внутрикадрового предсказанияThe proposed ALWIP modes are harmonized with MPM-based coding of traditional intra-frame prediction modes as follows. The processes for obtaining the luma and chrominance MRM list for traditional intra-frame prediction modes use fixed tables , , which provide ALWIP mode mapping with a given PU in one of the traditional intra-frame prediction modes

Для получения MPM-списка яркости всякий раз, когда встречается соседний блок яркости, который использует ALWIP-режим , этот блок обрабатывается таким образом, как если бы он использовал традиционный режим внутрикадрового предсказания . Для получения MPM-списка цветности всякий раз, когда текущий блок яркости использует LWIP-режим, то же самое сопоставление используется для преобразования режима ALWIP в традиционный режим внутрикадрового предсказания.To obtain a luma MPM list whenever a neighboring luma block that uses ALWIP mode is encountered , this block is processed as if it were using traditional intra-prediction mode . To obtain the MPM chrominance list whenever the current luma block uses the LWIP mode, the same mapping is used to convert the ALWIP mode to the traditional intra-frame prediction mode.

2.5.8. Соответствующий модифицированный рабочий проект2.5.8. Corresponding modified working draft

В некоторых вариантах осуществления, как описано в этом разделе, части, относящиеся к intra_lwip_flag, intra_lwip_mpm_flag, intra_lwip_mpm_idx и intra_lwip_mpm_remainder, были добавлены в рабочий проект на основе вариантов осуществления раскрытой технологии.In some embodiments, as described in this section, portions related to intra_lwip_flag, intra_lwip_mpm_flag, intra_lwip_mpm_idx, and intra_lwip_mpm_remainder have been added to the working draft based on embodiments of the disclosed technology.

В некоторых вариантах осуществления, как описано в этом разделе, теги <begin> и <end> используются для обозначения добавлений и модификаций к рабочему проекту на основе вариантов осуществления раскрытой технологии.In some embodiments, as described in this section, <begin> and <end> tags are used to indicate additions and modifications to the working design based on embodiments of the disclosed technology.

Таблицы синтаксисаSyntax tables

Синтаксис единицы кодированияCoding Unit Syntax

СемантикаSemantics

<begin>intra_lwip_flag[x0][y0], равный 1, указывает, что тип внутрикадрового предсказания для отсчетов яркости является аффинным линейно взвешенным внутрикадровым предсказанием. intra_lwip_flag[x0][y0], равный 0, указывает, что тип внутрикадрового предсказания для отсчетов яркости не является аффинным линейным взвешенным внутрикадровым предсказанием. <begin>intra_lwip_flag[x0][y0] equal to 1 indicates that the intra-prediction type for the luminance samples is affine linearly weighted intra-prediction. intra_lwip_flag[x0][y0] equal to 0 indicates that the intra prediction type for the luminance samples is not affine linear weighted intra prediction.

Когда intra_lwip_flag[x0][y0] отсутствует, предполагается, что он равен 0.When intra_lwip_flag[x0][y0] is missing, it is assumed to be 0.

Элементы синтаксиса intra_lwip_mpm_flag[x0][y0], intra_lwip_mpm_idx[x0][y0] и intra_lwip_mpm_remainder [x0][y0] определяют режим аффинного линейного взвешенного внутрикадрового предсказания для отсчетов яркости. Индексы x0, y0 массива определяют местоположение (x0, y0) верхней левой отсчеты яркости рассматриваемого блока кодирования по отношению к верхнему левому отсчету яркости изображения. Когда intra_lwip_mpm_flag[х0][у0] равен 1, то аффинный линейный взвешенный режим внутрикадрового предсказания получаются из соседних блок кодирования с внутрикадровым предсказанием согласно пунктом 8.4.X.The syntax elements intra_lwip_mpm_flag[x0][y0], intra_lwip_mpm_idx[x0][y0], and intra_lwip_mpm_remainder [x0][y0] define the affine linear weighted intra-frame prediction mode for luminance samples. The array indices x0, y0 determine the location (x0, y0) of the top left luminance sample of the encoding block in question relative to the top left luminance sample of the image. When intra_lwip_mpm_flag[x0][y0] is equal to 1, then the affine linear weighted intra-prediction mode is obtained from adjacent intra-prediction coding blocks according to clause 8.4.X.

Когда intra_lwip_mpm_flag[x0][y0] отсутствует, предполагается, что он равен 1. <end> When intra_lwip_mpm_flag[x0][y0] is missing, it is assumed to be 1. <end>

intra_subpartitions_split_flag[x0][y0] указывает то, является ли тип разделения внутрикадровых подразделов горизонтальным или вертикальным. Когда intra_subpartitions_split_flag[x0][y0] отсутствует, он получается следующим образом: intra_subpartitions_split_flag[x0][y0] indicates whether the intra-frame subpartition split type is horizontal or vertical. When intra_subpartitions_split_flag[x0][y0] is missing, it is obtained as follows:

- Если intra_lwip_flag[x0][y0] равен 1, intra_subpartitions_split_flag[x0][y0] предполагается равным 0.- If intra_lwip_flag[x0][y0] is 1, intra_subpartitions_split_flag[x0][y0] is assumed to be 0.

- В противном случае применяется следующее:- Otherwise the following applies:

- Если cbHeight больше MaxTbSizeY, intra_subpartitions_split_flag[x0][y0] предполагается равным 0. - If cbHeight is greater than MaxTbSizeY, intra_subpartitions_split_flag[x0][y0] is assumed to be 0.

- В противном случае (cbWidth больше, чем MaxTbSizeY), intra_subpartitions_split_flag[x0][y0] предполагается равным 1.- Otherwise (cbWidth greater than MaxTbSizeY), intra_subpartitions_split_flag[x0][y0] is assumed to be 1.

Процесс декодированияDecoding process

8.4.1. Общий процесс декодирования для единиц кодирования, закодированных в режиме внутрикадрового предсказания8.4.1. General decoding process for coding units encoded in intra-frame prediction mode

Входными данными этого процесса являются:The inputs to this process are:

- местоположение (XCB, YCB) яркости с указанием верхнего левого отсчета текущего кодированием блока по отношению к верхнему левому отсчету яркости текущего изображения,- location (XCB, YCB) of brightness indicating the upper left reference of the current block coding in relation to the upper left reference of the brightness of the current image,

- переменная cbWidth, определяющая ширину текущего блока кодирования в отсчетах яркости, - variable cbWidth, which determines the width of the current encoding block in brightness samples,

- переменная cbHeight, определяющая высоту текущего блока кодирования в отсчетах яркости, - variable cbHeight, which determines the height of the current coding block in brightness samples,

- переменная treeType, определяющая то, используется ли одинарное или двойное дерево, и если используется двойное дерево, она указывает то, соответствует ли текущее дерево компонентам яркости или цветности. is a treeType variable that determines whether a single or double tree is used, and if a double tree is used, it indicates whether the current tree corresponds to luma or chroma components.

Результатом этого процесса является модифицированное восстановленное изображение перед внутриконтурной фильтрацией.The result of this process is a modified reconstructed image before in-loop filtering.

Процесс получения параметров квантования, как определено в пункте 8.7.1, связан с местоположением (xCb, yCb) яркости, шириной текущего блока кодирования в отсчетах cbWidth яркости и высотой текущего блока кодирования в отсчетах cbHeight яркости и переменной treeType в качестве входных данных. The process of obtaining the quantization parameters as defined in clause 8.7.1 is associated with the location (xCb, yCb) of the luminance, the width of the current coding block in luminance samples cbWidth and the height of the current coding block in luminance samples cbHeight and the treeType variable as input.

Когда treeType равен SINGLE_TREE или treeType равен DUAL_TREE_LUMA, процесс декодирования для отсчетов яркости определяется следующим образом:When treeType is SINGLE_TREE or treeType is DUAL_TREE_LUMA, the decoding process for luminance samples is defined as follows:

- Если pcm_flag[xCb][yCb] равен 1, восстановленное изображение модифицируется следующим образом: - If pcm_flag[xCb][yCb] is 1, the reconstructed image is modified as follows:

SL[ xCb + i ][ yCb + j ] = S L [ xCb + i ][ yCb + j ] =

pcm_sample_luma[ ( cbHeight * j ) + i ] << ( BitDepthY − PcmBitDepthY ), (8-6)pcm_sample_luma[ ( cbHeight * j ) + i ] << ( BitDepth Y − PcmBitDepth Y ), (8-6)

with i = 0..cbWidth − 1, j = 0..cbHeight − 1with i = 0..cbWidth − 1, j = 0..cbHeight − 1

- В противном случае применяется следующее: - Otherwise the following applies:

1. В способ внутрикадрового предсказания яркости определяется следующим образом:1. The intra-frame luminance prediction method is defined as follows:

- Если intra_lwip_flag[xCb][yCb] равен 1, процесс получения для режима аффинного линейно-взвешенного внутрикадрового предсказания, как указано в пункте 8.4. X, связан с местоположением (xCb, yCb) яркости, шириной текущего блока кодирования в отсчетах cbWidth яркости и высотой текущего блока кодирования в отсчетах cbHeight яркости в качестве входных данных.- If intra_lwip_flag[xCb][yCb] is equal to 1, the acquisition process for affine linear-weighted intra-prediction mode is as specified in clause 8.4. X is related to the location (xCb, yCb) of the luminance, the width of the current coding block in luminance samples cbWidth, and the height of the current coding block in luminance samples cbHeight as input.

- В противном случае процесс получения для режима внутрикадрового предсказания яркости, как указано в пункте 8.4.2, связан с адресом (XCB, YCB) яркости, шириной текущего блока кодирования в отсчетах cbWidth яркости и высотой текущего кодирования блок в отсчетах cbHeight яркости в качестве входных данных. - Otherwise, the acquisition process for intra-frame luminance prediction mode, as specified in clause 8.4.2, is associated with the luminance address (XCB, YCB), the width of the current encoding block in luminance samples cbWidth, and the height of the current encoding block in luminance samples cbHeight as input data.

2. Общий процесс декодирования для внутрикадровых блоков, как указано в пункте 8.4.4.1, связан с адресом (XCB, YCB) яркости, типом treeType дерева, переменной nTbW, установленной равной cbWidth, переменной nTbH, установленной равной cbHeight, переменной predModeIntra, установленной равной IntraPredModeY[xCb][yCb], и переменной cIdx, установленной равной 0 в качестве входных данных, и результатом является модифицированное восстановленное изображение перед внутриконтурной фильтрацией.2. The general decoding process for intraframe blocks, as specified in clause 8.4.4.1, is associated with the brightness address (XCB, YCB), the treeType of the tree, the nTbW variable set to cbWidth, the nTbH variable set to cbHeight, the predModeIntra variable set to IntraPredModeY[xCb][yCb], and the variable cIdx set to 0 as input, and the result is the modified reconstructed image before intra-loop filtering.

...

<begin><begin>

8.4.X. Процесс получения для режима аффинного линейно-взвешенного внутрикадрового предсказания8.4.X. Acquisition process for affine linear-weighted intra-frame prediction mode

Входными данными этого процесса являются:The inputs to this process are:

- местоположение (XCB, YCB) яркости, определяющее верхний левый отсчет текущего блока кодирования яркости по отношению к верхнему левому отсчету яркости текущего изображения, - a luminance location (XCB, YCB) defining the upper left reference of the current luminance encoding block with respect to the upper left luminance reference of the current image,

- переменная cbWidth, определяющая ширину текущего блока кодирования в отсчетах яркости, - variable cbWidth, which determines the width of the current encoding block in brightness samples,

- переменная cbHeight, определяющая высоту текущего блока кодирования в отсчетах яркости. - variable cbHeight, which determines the height of the current encoding block in brightness samples.

В этом процессе получается режим аффинного линейно-взвешенного внутрикадрового предсказания IntraPredModeY[xCb][yCb].In this process, the affine linear weighted intra-frame prediction mode IntraPredModeY[xCb][yCb] is obtained.

IntraPredModeY[xCb][yCb] получается с помощью следующих упорядоченных шагов: IntraPredModeY[xCb][yCb] is obtained using the following ordered steps:

1. В соседних местоположениях (xNbA, yNbA) и (xNbB, yNbB) устанавливается равными (XCB - 1, YCB) и (XCB, YCB - 1), соответственно. 1. At adjacent locations (xNbA, yNbA) and (xNbB, yNbB) are set to (XCB - 1, YCB) and (XCB, YCB - 1), respectively.

2. Если X заменяется на A или B, переменные candLwipModeX получаются следующим образом:2. If X is replaced by A or B, the candLwipModeX variables are obtained as follows:

- Процесс получения доступности для блока, как указано в пункте 6.4.X [Редакция (BB): процесс проверки доступности соседних блоков tbd] связан с местоположением (xCurr, yCurr), установленным равным (xCb, yCb), и соседним местоположением (xNbY, yNbY), установленным равным (xNbX, yNbX) в качестве входных данных, и выходные данные назначаются availableX. - The process of obtaining availability for a block, as specified in clause 6.4.X [Edition (BB): Process of checking the availability of neighboring blocks tbd] is associated with the location (xCurr, yCurr) set to (xCb, yCb), and the neighboring location (xNbY, yNbY) set equal to (xNbX, yNbX) as input, and the output is assigned to availableX.

- Режим candLwipModeX аффинного линейно-взвешенного внутрикадрового предсказания кандидата получается следующим образом:- The candLwipModeX mode of affine linear-weighted intraframe candidate prediction is obtained as follows:

- Если выполняется одно или несколько из следующих условий, candLwipModeX устанавливается равным -1.- If one or more of the following conditions are true, candLwipModeX is set to -1.

- Переменная availableX равна значению "ложь".- The availableX variable is set to false.

- CuPredMode [xNbX][yNbX] не равен MODE_INTRA, и mh_intra_flag[xNbX][yNbX] не равен 1.- CuPredMode [xNbX][yNbX] is not equal to MODE_INTRA, and mh_intra_flag[xNbX][yNbX] is not equal to 1.

- pcm_flag[xNbX][yNbX] равен 1.- pcm_flag[xNbX][yNbX] is equal to 1.

- X равен B, и yCb - 1 меньше, чем ((yCb >> CtbLog2SizeY) << CtbLog2SizeY).- X is equal to B, and yCb - 1 is less than ((yCb >> CtbLog2SizeY) << CtbLog2SizeY).

- В противном случае применяется следующее: - Otherwise the following applies:

- Процесс получения типа размера для блока, как указано в пункте 8.4.X.1, связан с шириной текущего блока кодирования в отсчетах cbWidth яркости и высотой текущего блока кодирования в отсчетах cbHeight яркости в качестве входных данных, и выходные данные назначаются переменной sizeId.- The process of obtaining the size type for a block, as specified in clause 8.4.X.1, is related to the width of the current encoding block in luminance samples cbWidth and the height of the current encoding block in luminance samples cbHeight as input, and the output is assigned to the variable sizeId.

- Если intra_lwip_flag[xNbX][yNbX] равен 1, то процесс получения типа размера для блока, как указано в пункте 8.4.X.1, связан с шириной соседнего блока кодирования в отсчетах nbWidthX яркости и высотой соседний блок кодирования в отсчетах nbHeightX яркости в качестве входных данных, и выходные данные назначаются переменной sizeIdX.- If intra_lwip_flag[xNbX][yNbX] is equal to 1, then the process of obtaining the size type for a block, as specified in clause 8.4.X.1, is related to the width of the adjacent coding block in nbWidthX luminance samples and the height of the adjacent coding block in nbHeightX luminance samples as input, and the output is assigned to the sizeIdX variable.

- Если sizeId равен sizeIdX, candLwipModeX устанавливается равным IntraPredModeY[xNbX][yNbX].- If sizeId is equal to sizeIdX, candLwipModeX is set to IntraPredModeY[xNbX][yNbX].

- В противном случае candLwipModeX устанавливается равным -1.- Otherwise candLwipModeX is set to -1.

- В противном случае candLwipModeX получается с использованием IntraPredModeY[xNbX][yNbX] и sizeId, как указано в таблице 8-X1.- Otherwise, candLwipModeX is obtained using IntraPredModeY[xNbX][yNbX] and sizeId as specified in Table 8-X1.

3. CandLwipModeList[x] при x = 0..2 получается следующим образом с использованием lwipMpmCand[sizeId], как указано в таблице 8-X2: 3. CandLwipModeList[x] with x = 0..2 is obtained as follows using lwipMpmCand[sizeId] as shown in Table 8-X2:

- Если candLwipModeA и candLwipModeB оба равны -1, применяется следующее: - If candLwipModeA and candLwipModeB are both -1, the following applies:

candLwipModeList[ 0 ] = lwipMpmCand[ sizeId ][ 0 ] (8-X1)candLwipModeList[ 0 ] = lwipMpmCand[ sizeId ][ 0 ] (8-X1)

candLwipModeList[ 1 ] = lwipMpmCand[ sizeId ][ 1 ] (8-X2)candLwipModeList[ 1 ] = lwipMpmCand[ sizeId ][ 1 ] (8-X2)

candLwipModeList[ 2 ] = lwipMpmCand[ sizeId ][ 2 ] (8-X3)candLwipModeList[ 2 ] = lwipMpmCand[ sizeId ][ 2 ] (8-X3)

- В противном случае возможно следующее: - Otherwise, the following is possible:

- Если candLwipModeA равен candLwipModeB или candLwipModeA или candLwipModeB равен -1, применяется следующее: - If candLwipModeA is equal to candLwipModeB or candLwipModeA or candLwipModeB is equal to -1, the following applies:

candLwipModeList[0] = (candLwipModeA ! = -1) ? candLwipModeA: candLwipModeB (8-X4)candLwipModeList[0] = (candLwipModeA ! = -1) ? candLwipModeA: candLwipModeB (8-X4)

- Если CandLwipModeList[0] равен lwipMpmCand[sizeId][0], применяется следующее: - If CandLwipModeList[0] is equal to lwipMpmCand[sizeId][0], the following applies:

candLwipModeList[ 1 ] = lwipMpmCand[ sizeId ][ 1 ] (8-X5)candLwipModeList[ 1 ] = lwipMpmCand[ sizeId ][ 1 ] (8-X5)

candLwipModeList[ 2 ] = lwipMpmCand[ sizeId ][ 2 ] (8-X6)candLwipModeList[ 2 ] = lwipMpmCand[ sizeId ][ 2 ] (8-X6)

- В противном случае применяется следующее:- Otherwise the following applies:

candLwipModeList[1] = lwipMpmCand[sizeId][0] (8-X7) candLwipModeList[1] = lwipMpmCand[sizeId][0] (8-X7)

candLwipModeList[2] = (candLwipModeList[0] ! = lwipMpmCand[sizeId][1]) ? lwipMpmCand[sizeId][1]: lwipMpmCand[sizeId][2] (8-X8) candLwipModeList[2] = (candLwipModeList[0] ! = lwipMpmCand[sizeId][1]) ? lwipMpmCand[sizeId][1]: lwipMpmCand[sizeId][2] (8-X8)

- В противном случае применяется следующее: - Otherwise the following applies:

candLwipModeList[0] = candLwipModeA (8-X9) candLwipModeList[0] = candLwipModeA (8-X9)

candLwipModeList[1] = candLwipModeB (8-X10) candLwipModeList[1] = candLwipModeB (8-X10)

- Если candLwipModeA и candLwipModeB не равны lwipMpmCand[sizeId][0], применяется следующее:- If candLwipModeA and candLwipModeB are not equal to lwipMpmCand[sizeId][0], the following applies:

candLwipModeList[2] = lwipMpmCand[sizeId][0] (8-X11) candLwipModeList[2] = lwipMpmCand[sizeId][0] (8-X11)

- В противном случае применяется следующее:- Otherwise the following applies:

- Если candLwipModeA и candLwipModeB не равны lwipMpmCand[sizeId][1], применяется следующее:- If candLwipModeA and candLwipModeB are not equal to lwipMpmCand[sizeId][1], the following applies:

candLwipModeList[2] = lwipMpmCand[sizeId][1] (8-X12) candLwipModeList[2] = lwipMpmCand[sizeId][1] (8-X12)

- В противном случае применяется следующее:- Otherwise the following applies:

candLwipModeList[2] = lwipMpmCand[sizeId][2] (8-X13) candLwipModeList[2] = lwipMpmCand[sizeId][2] (8-X13)

4. IntraPredModeY[xCb][yCb] получается путем применения следующей процедуры: 4. IntraPredModeY[xCb][yCb] is obtained by applying the following procedure:

- Если intra_lwip_mpm_flag[xCb][yCb] равен 1, IntraPredModeY[xCb][yCb] устанавливается равным candLwipModeList[intra_lwip_mpm_idx[xCb][yCb]]. - If intra_lwip_mpm_flag[xCb][yCb] is 1, IntraPredModeY[xCb][yCb] is set to candLwipModeList[intra_lwip_mpm_idx[xCb][yCb]].

- В противном случае IntraPredModeY[xCb][yCb] получается путем выполнения следующих упорядоченных шагов: - Otherwise, IntraPredModeY[xCb][yCb] is obtained by performing the following ordered steps:

1. Когда candLwipModeList[i] больше, чем candLwipModeList[j] для i = 0..1 и для каждого i, j = (i + 1)..2, оба значения меняются местами следующим образом: 1. When candLwipModeList[i] is greater than candLwipModeList[j] for i = 0..1 and for each i, j = (i + 1)..2, both values are swapped as follows:

(candLwipModeList[i], candLwipModeList[j]) = Swap (candLwipModeList[i], candLwipModeList[j]) (8-X14) (candLwipModeList[i], candLwipModeList[j]) = Swap (candLwipModeList[i], candLwipModeList[j]) (8-X14)

2. IntraPredModeY[xCb][yCb] получается с помощью следующих упорядоченных шагов: 2. IntraPredModeY[xCb][yCb] is obtained using the following ordered steps:

(1) IntraPredModeY[xCb][yCb] устанавливается равным intra_lwip_mpm_ remainder[xCb][yCb]. (1) IntraPredModeY[xCb][yCb] is set to intra_lwip_mpm_remaining[xCb][yCb].

(2) Для i, равного от 0 до 2 включительно, когда IntraPredModeY[xCb][yCb] больше или равно candLwipModeList[i], значение IntraPredModeY[xCb][yCb] увеличивается на единицу.(2) For i equal to 0 to 2 inclusive, when IntraPredModeY[xCb][yCb] is greater than or equal to candLwipModeList[i], the value of IntraPredModeY[xCb][yCb] is increased by one.

Переменная IntraPredModeY[x][y] при x = xCb..xCb + cbWidth - 1 и y = yCb..yCb + cbHeight - 1 устанавливается равной IntraPredModeY[xCb][yCb].The variable IntraPredModeY[x][y] with x = xCb..xCb + cbWidth - 1 and y = yCb..yCb + cbHeight - 1 is set equal to IntraPredModeY[xCb][yCb].

8.4.X.1 Процесс получения для типа размера блока предсказания8.4.X.1 Derivation process for prediction block size type

Входными данными этого процесса являются:The inputs to this process are:

- переменная cbWidth, определяющая ширину текущего блока кодирования в отсчетах яркости, - variable cbWidth, which determines the width of the current encoding block in brightness samples,

- переменная cbHeight, определяющая высоту текущего блока кодирования в отсчетах яркости. - variable cbHeight, which determines the height of the current encoding block in brightness samples.

Результатом этого процесса является переменная sizeId.The result of this process is the sizeId variable.

Переменная sizeId получается следующим образом:The sizeId variable is obtained as follows:

- Если и cbWidth, и cbHeight равны 4, sizeId устанавливается равным 0. - If both cbWidth and cbHeight are 4, sizeId is set to 0.

- В противном случае, если cbWidth и cbHeight меньше или равны 8, sizeId устанавливается равным 1. - Otherwise, if cbWidth and cbHeight are less than or equal to 8, sizeId is set to 1.

- В противном случае sizeId устанавливается равным 2. - Otherwise, sizeId is set to 2.

Таблица 8-X1. Спецификация сопоставления между режимами внутрикадрового предсказания и аффинным линейно-взвешенным внутрикадровым предсказаниемTable 8-X1. Specification of the mapping between intra-prediction modes and affine linear-weighted intra-prediction

IntraPredModeY[ xNbX ][ yNbX ]IntraPredModeY[ xNbX ][ yNbX ] размер блока типа sizeIdblock size of type sizeId 00 11 22 00 1717 00 55 11 1717 00 11 2, 32, 3 1717 1010 33 4, 54, 5 99 1010 33 6,76.7 99 1010 33 8, 98, 9 99 1010 33 10, 1110, 11 99 1010 00 12, 1312, 13 1717 44 00 14, 1514, 15 1717 66 00 16, 1716, 17 1717 77 44 18, 1918, 19 1717 77 44 20, 2120, 21 1717 77 44 22, 2322, 23 1717 55 55 24, 2524, 25 1717 55 11 26, 2726, 27 55 00 11 28, 2928, 29 55 00 11 30, 3130, 31 55 33 11 32, 3332, 33 55 33 11 34, 3534, 35 3434 1212 66 36, 3736, 37 2222 1212 66 38, 3938, 39 2222 1212 66 40, 4140, 41 2222 1212 66 42, 4342, 43 2222 1414 66 44, 4544, 45 3434 1414 1010 46, 4746, 47 3434 1414 1010 48, 4948, 49 3434 1616 99 50, 5150, 51 3434 1616 99 52, 5352, 53 3434 1616 99 54, 5554, 55 3434 1515 99 56, 5756, 57 3434 1313 99 58, 5958, 59 2626 11 88 60, 6160, 61 2626 11 88 62, 6362, 63 2626 11 88 64, 6564, 65 2626 11 88 6666 2626 11 88

Таблица 8-X2. Спецификация возможных режимов аффинного линейно-взвешенного внутрикадрового предсказанияTable 8-X2. Specification of possible affine linear-weighted intra-frame prediction modes

режим кандидатаcandidate mode 00 11 22 lwipMpmCand[ 0 ]lwipMpmCand[ 0 ] 1717 3434 55 lwipMpmCand[ 1 ]lwipMpmCand[ 1 ] 00 77 1616 lwipMpmCand[ 2 ]lwipMpmCand[ 2 ] 11 44 66

<end><end>

8.4.2. Процесс получения режима внутрикадрового предсказания яркости8.4.2. Process of obtaining intra-frame luminance prediction mode

Входными данными этого процесса являются:The inputs to this process are:

- местоположение (XCB, YCB) яркости с указанием верхнего левого отсчета текущего блока кодирования яркости по отношению к верхнему левому отсчету яркости текущего изображения, - location (XCB, YCB) of brightness indicating the upper left reference of the current luminance coding block in relation to the upper left reference of the brightness of the current image,

- переменная cbWidth, определяющая ширину текущего блока кодирования в отсчетах яркости, - variable cbWidth, which determines the width of the current encoding block in brightness samples,

- переменная cbHeight, определяющая высоту текущего блока кодирования в отсчетах яркости. - variable cbHeight, which determines the height of the current encoding block in brightness samples.

В этом процессе определяется режима внутрикадрового предсказания яркости IntraPredModeY[xCb][yCb].In this process, the intra-frame luminance prediction mode IntraPredModeY[xCb][yCb] is determined.

В таблице 8-1 указано значение для режима внутрикадрового предсказания IntraPredModeY[xCb][yCb] и связанные с ним названия.Table 8-1 shows the value for the intra-frame prediction mode IntraPredModeY[xCb][yCb] and its associated names.

Таблица 8-1. Спецификация режима внутрикадрового предсказания яркости и связанные с ним названия Table 8-1. Intra-frame luminance prediction mode specification and associated names

Режим внутрикадрового предсказанияIntra-frame prediction mode Ассоциированное названиеAssociated title 00 INTRA_PLANARINTRA_PLANAR 11 INTRA_DCINTRA_DC 2..662..66 INTRA_ANGULAR2..INTRA_ANGULAR66INTRA_ANGULAR2..INTRA_ANGULAR66 81..8381..83 INTRA_LT_CCLM, INTRA_L_CCLM, INTRA_T_CCLMINTRA_LT_CCLM, INTRA_L_CCLM, INTRA_T_CCLM

Примечание: Режимы внутрикадрового предсказания INTRA_LT_CCLM, INTRA_L_CCLM и INTRA_T_CCLM применимы только к компонентам цветности.Note: The intra-frame prediction modes INTRA_LT_CCLM, INTRA_L_CCLM and INTRA_T_CCLM are applicable to chrominance components only.

IntraPredModeY[xCb][yCb] получается с помощью следующих упорядоченных шагов:IntraPredModeY[xCb][yCb] is obtained using the following ordered steps:

1. Соседние местоположения (xNbA, yNbA) и (xNbB, yNbB) устанавливаются равными (XCB - 1, YCB + cbHeight - 1) и (XCB + cbWidth - 1, YCB - 1), соответственно. 1. Neighboring locations (xNbA, yNbA) and (xNbB, yNbB) are set to (XCB - 1, YCB + cbHeight - 1) and (XCB + cbWidth - 1, YCB - 1), respectively.

2. Если X заменяется на A или B, переменные candIntraPredModeX получаются следующим образом:2. If X is replaced by A or B, the candIntraPredModeX variables are obtained as follows:

- Процесс получения доступности для блока, как указано в пункте <begin> 6.4.X [Редакция (BB): процесс проверки доступности соседних блоков tbd] <end> связан с местоположением (xCurr, yCurr), установленным равным (xCb, yCb), и соседним местоположением (xNbY, yNbY), установленным равным (xNbX, yNbX) в качестве входных данных, и выходные данные назначаются availableX. - The process of obtaining availability for a block, as specified in clause <begin> 6.4.X [Revision (BB): Process of checking the availability of neighboring blocks tbd] <end> is associated with the location (xCurr, yCurr) set to (xCb, yCb), and the neighboring location (xNbY, yNbY) set to (xNbX, yNbX) as input, and the output is assigned to availableX.

- Режим-кандидат внутрикадрового предсказания яркости candIntraPredModeX получается следующим образом:- The candidate intraframe luminance prediction mode candIntraPredModeX is obtained as follows:

- Если выполняется одно или несколько из следующих условий, candIntraPredModeX устанавливается равным INTRA_PLANAR.- If one or more of the following conditions is true, candIntraPredModeX is set to INTRA_PLANAR.

- Переменная availableX равна значению "ложь".- The availableX variable is set to false.

- CuPredMode [xNbX][yNbX] не равен MODE_INTRA, и ciip_flag[xNbX][yNbX] не равен 1.- CuPredMode [xNbX][yNbX] is not equal to MODE_INTRA, and ciip_flag[xNbX][yNbX] is not equal to 1.

- pcm_flag[xNbX][yNbX] равен 1.- pcm_flag[xNbX][yNbX] is equal to 1.

- X равен B, и yCb - 1 меньше, чем ((yCb >> CtbLog2SizeY) << CtbLog2SizeY).- X is equal to B, and yCb - 1 is less than ((yCb >> CtbLog2SizeY) << CtbLog2SizeY).

- В противном случае CandIntraPredModeX получается следующим образом:- Otherwise CandIntraPredModeX is obtained as follows:

- Если intra_lwip_flag[xCb][yCb] равен 1, CandIntraPredModeX получается с помощью следующих упорядоченных шагов:- If intra_lwip_flag[xCb][yCb] is 1, CandIntraPredModeX is obtained using the following ordered steps:

(1) Процесс получения типа размера для блока, как указано в пункте 8.4.X.1, связан с шириной текущего блока кодирования в отсчетах cbWidth яркости и высотой текущего блока кодирования в отсчетах cbHeight яркости в качестве входных данных, и выходные данные назначаются переменной sizeId.(1) The process of obtaining the size type for a block, as specified in clause 8.4.X.1, takes the width of the current coding block in luminance samples cbWidth and the height of the current coding block in luminance samples cbHeight as input, and the output is assigned to the variable sizeId .

(2) CandIntraPredModeX получается с использованием IntraPredModeY[xNbX][yNbX] и sizeId, как указано в таблице 8-X3.(2) CandIntraPredModeX is obtained using IntraPredModeY[xNbX][yNbX] and sizeId as specified in Table 8-X3.

- В противном случае CandIntraPredModeX устанавливается равным IntraPredModeY[xNbX][yNbX]. - Otherwise, CandIntraPredModeX is set to IntraPredModeY[xNbX][yNbX].

3. Переменные ispDefaultMode1 и ispDefaultMode2 определяются следующим образом:3. The ispDefaultMode1 and ispDefaultMode2 variables are defined as follows:

- Если IntraSubPartitionsSplitType равен ISP_HOR_SPLIT, ispDefaultMode1 устанавливается равным INTRA_ANGULAR18, и ispDefaultMode2 устанавливается равным INTRA_ANGULAR5.- If IntraSubPartitionsSplitType is equal to ISP_HOR_SPLIT, ispDefaultMode1 is set to INTRA_ANGULAR18, and ispDefaultMode2 is set to INTRA_ANGULAR5.

- В противном случае ispDefaultMode1 устанавливается равным INTRA_ANGULAR50, и ispDefaultMode2 устанавливается равным INTRA_ANGULAR63.- Otherwise, ispDefaultMode1 is set to INTRA_ANGULAR50, and ispDefaultMode2 is set to INTRA_ANGULAR63.

...

Таблица 8-X3. Спецификация сопоставления между аффинным линейно-взвешенным внутрикадровым предсказанием и режимами внутрикадрового предсказанияTable 8-X3. Specification of the mapping between affine linear-weighted intra-prediction and intra-prediction modes

IntraPredModeY[ xNbX ][ yNbX ]IntraPredModeY[ xNbX ][ yNbX ] размер блока типа sizeIdblock size of type sizeId 00 11 22 00 00 00 11 11 1818 11 11 22 1818 00 11 33 00 11 11 44 1818 00 1818 55 00 2222 00 66 1212 1818 11 77 00 1818 00 88 1818 11 11 99 22 00 5050 1010 1818 11 00 11eleven 1212 00 1212 1818 11 1313 1818 00 1414 11 4444 1515 1818 00 1616 1818 5050 1717 00 11 1818 00 00 1919 5050 2020 00 2121 5050 2222 00 2323 5656 2424 00 2525 5050 2626 6666 2727 5050 2828 5656 2929 5050 30thirty 5050 3131 11 3232 5050 3333 5050 3434 5050

8.4.3 Процесс получения для режим внутрикадрового предсказания цветности8.4.3 Acquisition process for intra-frame chroma prediction mode

Входными данными этого процесса являются:The inputs to this process are:

- местоположение (XCB, YCB) яркости, определяющее верхний левый отсчет текущего блока кодирования сигнала цветности по отношению к верхнему левому отсчету яркости текущего изображения,- a luminance location (XCB, YCB) defining the upper left sample of the current chroma coding block relative to the upper left luminance sample of the current image,

- переменная cbWidth, определяющая ширину текущего блока кодирования в отсчетах яркости, - variable cbWidth, which determines the width of the current encoding block in brightness samples,

- переменная cbHeight, определяющая высоту текущего блока кодирования в отсчетах яркости. - variable cbHeight, which determines the height of the current encoding block in brightness samples.

В этом процессе получается режим внутрикадрового предсказания цветности IntraPredModeC [xCb][yCb].This process produces the intra-frame chroma prediction mode IntraPredModeC [xCb][yCb].

Соответствующий режим внутрикадрового предсказания яркости lumaIntraPredMode получается следующим образом:The corresponding lumaIntraPredMode is obtained as follows:

- Если intra_lwip_flag[xCb][yCb] равен 1, lumaIntraPredMode получается с помощью следующих упорядоченных шагов: - If intra_lwip_flag[xCb][yCb] is 1, lumaIntraPredMode is obtained using the following ordered steps:

(1) Процесс получения типа размера для блока, как указано в пункте 8.4.X.1, связан с шириной текущего блока кодирования в отсчетах cbWidth яркости и высотой текущего блока кодирования в отсчетах cbHeight яркости в качестве входных данных, и выходные данные назначаются переменной sizeId.(1) The process of obtaining the size type for a block, as specified in clause 8.4.X.1, takes the width of the current coding block in luminance samples cbWidth and the height of the current coding block in luminance samples cbHeight as input, and the output is assigned to the variable sizeId .

(2) Режим внутрикадрового предсказания яркости получается с использованием IntraPredModeY[xCb + cbWidth/2][yCb + cbHeight/2] и sizeId, как указано в таблице 8-X3, и значение CandIntraPredModeX назначается параметру lumaIntraPredMode.(2) The intra-frame luminance prediction mode is obtained using IntraPredModeY[xCb + cbWidth/2][yCb + cbHeight/2] and sizeId as specified in Table 8-X3, and the value of CandIntraPredModeX is assigned to the lumaIntraPredMode parameter.

- В противном случае lumaIntraPredMode устанавливается равным IntraPredModeY[xCb + cbWidth/2][yCb + cbHeight/2]. - Otherwise lumaIntraPredMode is set to IntraPredModeY[xCb + cbWidth/2][yCb + cbHeight/2].

Режим внутрикадрового предсказания цветности IntraPredModeC [xCB][YCB] получается с помощью intra_chroma_pred_mode [xCB][YCB] и lumaIntraPredMode, как указано в таблице 8-2 и таблице 8-3.The intra-chroma prediction mode IntraPredModeC [xCB][YCB] is obtained using intra_chroma_pred_mode [xCB][YCB] and lumaIntraPredMode, as specified in Table 8-2 and Table 8-3.

...

ххх. Внутрикадровое предсказание отсчетаxxx. Intra-frame sample prediction

<begin><begin>

Входными параметрами в этом процессе являются:The input parameters in this process are:

- местоположение (xTbCmp, yTbCmp) отсчета, определяющее верхний левый отсчет текущего блока преобразования по отношению к верхнему левому отсчету текущего изображения,- sample location (xTbCmp, yTbCmp) defining the upper left sample of the current transform block relative to the upper left sample of the current image,

- переменная predModeIntra, определяющая режим внутрикадрового предсказания, - predModeIntra variable, defining the intra-frame prediction mode,

- переменная nTbW, определяющая ширину блока преобразования, - variable nTbW, which determines the width of the conversion block,

- переменная nTbH, определяющая высоту блока преобразования, - variable nTbH, which determines the height of the transformation block,

- переменная nCbW, определяющая ширину блока кодирования, - variable nCbW, which determines the width of the coding block,

- переменная nCbH, определяющая высоту блока кодирования, - variable nCbH, which determines the height of the coding block,

- переменная cIdx, определяющая компонент цветности текущего блока. - variable cIdx, which determines the chromaticity component of the current block.

Выходными данными этого процесса являются предсказанные отсчеты predSamples[x][y], при x = 0..nTbW - 1, y = 0..nTbH - 1.The output of this process is the predicted samples predSamples[x][y], with x = 0..nTbW - 1, y = 0..nTbH - 1.

Предсказанные отсчеты predSamples[x][y] получаются следующим образом:The predicted samples predSamples[x][y] are obtained as follows:

- Если intra_lwip_flag[xTbCmp][yTbCmp] равен 1, и cIdx равен 0, процесс аффинного линейно-взвешенного внутрикадрового выборочного предсказания, как указано в пункте 8.4.4.2.X1, связан с местоположением (xTbCmp, yTbCmp), режимом внутрикадрового предсказания predModeIntra, шириной блока преобразования nTbW и высотой nTbH в качестве входных данных, и выходные данные представляют собой predSamples.- If intra_lwip_flag[xTbCmp][yTbCmp] is 1 and cIdx is 0, the affine linear-weighted intra-selective prediction process as specified in clause 8.4.4.2.X1 is associated with the location (xTbCmp, yTbCmp), intra-prediction mode predModeIntra, transform block width nTbW and height nTbH as input, and the output is predSamples.

- В противном случае общий процесс внутрикадрового предсказания отсчета, как указано в пункте 8.4.4.2.X1. связан с местоположением (xTbCmp, yTbCmp), режимом внутрикадрового предсказания predModeIntra, шириной nTbW и высотой nTbH блока преобразования, шириной nCbW и высотой nCbH блока кодирования и переменной cIdx в качестве входных данных, и выходные данные представляют собой predSamples.- Otherwise, the general intra-frame sample prediction process as specified in clause 8.4.4.2.X1. associated with the location (xTbCmp, yTbCmp), intra prediction mode predModeIntra, transform block width nTbW and height nTbH, encoding block width nCbW and height nCbH and variable cIdx as input, and the output is predSamples.

8.4.4.2.X1 Аффинное линейно-взвешенное выборочное внутрикадровое предсказание8.4.4.2.X1 Affine linear-weighted selective intra-frame prediction

Входными параметрами в этом процессе являются:The input parameters in this process are:

- местоположение (xTbCmp, yTbCmp) отсчета, определяющее верхний левый отсчет текущего блока преобразования по отношению к верхнему левому отсчету текущего изображения,- sample location (xTbCmp, yTbCmp) defining the upper left sample of the current transform block relative to the upper left sample of the current image,

- переменная predModeIntra, определяющая режим внутрикадрового предсказания, - predModeIntra variable, defining the intra-frame prediction mode,

- переменная nTbW, определяющая ширину блока преобразования, - variable nTbW, which determines the width of the conversion block,

- переменная nTbH, определяющая высоту блока преобразования. - variable nTbH, which determines the height of the transformation block.

Выходными данными этого процесса являются Предсказанные отсчеты predSamples[x][y], при x = 0..nTbW - 1, y = 0..nTbH - 1.The output of this process is the Predicted samples predSamples[x][y], with x = 0..nTbW - 1, y = 0..nTbH - 1.

Процесс получения типа размера для блока, как указано в пункте 8.4.X.1, связан с шириной nTbW блока преобразования и высотой nTbH блока преобразования в качестве входных данных, и выходные данные назначаются sizeId.The process of obtaining the size type for a block, as specified in clause 8.4.X.1, is associated with the transform block width nTbW and transform block height nTbH as input, and the output is assigned to sizeId.

Переменные numModes, BorderSize, predW, predH и predC получаются с использованием sizeId, как указано в таблице 8-X4.The variables numModes, BorderSize, predW, predH, and predC are obtained using sizeId as shown in Table 8-X4.

Таблица 8-X4. Спецификация количества режимов, размера граничного отсчета и размеров предсказания в зависимости от sizeIdTable 8-X4. Specification of number of modes, boundary sample size and prediction sizes depending on sizeId

sizeIdsizeId numModesnumModes boundarySizeboundarySize predWpredW predHpredH predCpredC 00 3535 22 44 44 44 11 1919 44 44 44 44 22 11eleven 44 Min( nTbW, 8 )Min( nTbW, 8 ) Min( nTbH, 8 )Min( nTbH, 8 ) 88

Флаг isTransposed получается следующим образом:The isTransposed flag is obtained as follows:

isTransposed = ( predModeIntra > ( numModes / 2 ) ) ? 1 : 0 (8-X15)isTransposed = ( predModeIntra > ( numModes / 2 ) ) ? 1 : 0 (8-X15)

Флаги needUpsBdryHor и needUpsBdryVer получаются следующим образом:The needUpsBdryHor and needUpsBdryVer flags are obtained as follows:

needUpsBdryHor = ( nTbW > predW ) ? TRUE : FALSE (8-X16)needUpsBdryHor = ( nTbW > predW ) ? TRUE : FALSE (8-X16)

needUpsBdryVer = ( nTbH > predH ) ? TRUE : FALSE (8-X17)needUpsBdryVer = ( nTbH > predH ) ? TRUE : FALSE (8-X17)

Переменные upsBdryW и upsBdryH получаются следующим образом:The upsBdryW and upsBdryH variables are obtained as follows:

upsBdryW = (nTbH> nTbW)? nTbW: predW (8-X18) upsBdryW = (nTbH> nTbW)? nTbW: predW (8-X18)

upsBdryH = (nTbH> nTbW)? predH: nTbH (8-X19) upsBdryH = (nTbH> nTbW)? predH: nTbH (8-X19)

Переменные lwipW и lwipH получаются следующим образом:The lwipW and lwipH variables are obtained as follows:

lwipW = (isTransposed = = 1)? predH: predW (8-X20) lwipW = (isTransposed == 1)? predH: predW (8-X20)

lwipH = (isTransposed = = 1)? predW: predH (8-X21) lwipH = (isTransposed = = 1)? predW: predH (8-X21)

Для выработки опорных отсчетов refT[x] при x = 0..nTbW - 1 и refL [y] при y = 0..nTbH - 1 процесс получения опорных отсчетов, как указано в пункте 8.4.4.2.X2, связан с местоположением (xTbCmp, yTbCmp) отсчета, шириной nTbW блока преобразования, высотой nTbH блока преобразования в качестве входных данных, и верхней и левой опорными отсчетами refT[x] при x = 0..nTbW - 1 и refL [y] при y = 0..nTbH - 1, соответственно, в качестве выходных данных. To generate reference samples refT[x] at x = 0..nTbW - 1 and refL [y] at y = 0..nTbH - 1 the process for obtaining reference samples, as specified in clause 8.4.4.2.X2, is associated with location ( xTbCmp, yTbCmp) of the sample, the width nTbW of the transformation block, the height nTbH of the transformation block as input data, and the top and left reference samples refT[x] at x = 0..nTbW - 1 and refL [y] at y = 0.. nTbH - 1, respectively, as output data.

Для выработки граничных отсчетов р[х] при х = 0..2 * boundarySize - 1, применяется следующее: To generate boundary samples p[x] at x = 0..2 * boundarySize - 1, the following applies:

- Процесс уменьшения границы, как указано в пункте 8.4.4.2.X3, связан для верхних опорных отсчетов с размером nTbW блока, опорными отсчетами refT, размером borderSize границы, флагом границы повышающей дискретизации needUpsBdryVer и размером границы повышающей дискретизации upsBdryW в качестве входных данных и уменьшенными граничными отсчетами redT[x] при x = 0..boundarySize - 1 и граничными отсчетами upsBdryT[x] с повышающей дискретизацией при x = 0..upsBdryW - 1 в качестве выходных данных. - The border reduction process, as specified in clause 8.4.4.2.X3, is associated for the upper reference samples with block size nTbW, reference samples refT, borderSize size, upsampling border flag needUpsBdryVer and upsampling border size upsBdryW as input and downsampling with boundary samples redT[x] at x = 0..boundarySize - 1 and upsampled boundary samples upsBdryT[x] at x = 0..upsBdryW - 1 as output.

- Процесс уменьшения границы, как указано в пункте 8.4.4.2.X3, связан для левых опорных отсчетов с размером nTbH блока, опорных отсчетов refL, размером BorderSize границы, флагом границы повышающей дискретизации needUpsBdryHor и размером границы повышающей дискретизации upsBdryH в качестве входных данных и отсчетами уменьшенной границы redL[x] при x = 0..boundarySize - 1 и граничными отсчетами с повышенной дискретизацией upsBdryL[x] при x = 0..upsBdryH - 1 в качестве выходных данных. - The boundary reduction process as specified in clause 8.4.4.2.X3 is associated for left reference samples with block size nTbH, reference samples refL, border size BorderSize, upsampling border flag needUpsBdryHor and upsampling border size upsBdryH as input and samples downsampled boundary redL[x] at x = 0..boundarySize - 1 and upsampled boundary samples upsBdryL[x] at x = 0..upsBdryH - 1 as output.

- Уменьшенные верхний и левый граничные отсчеты redT и redL назначаются массиву граничных отсчетов p следующим образом: - The reduced top and left boundary samples redT and redL are assigned to the boundary sample array p as follows:

- Если isTransposed равен 1, p[x] устанавливается равным redL[x] при x = 0..boundarySize - 1, и p[x + BorderSize] устанавливается равным redT[x] при x = 0.. borderSize - 1.- If isTransposed is 1, p[x] is set to redL[x] when x = 0..boundarySize - 1, and p[x + BorderSize] is set to redT[x] when x = 0.. borderSize - 1.

- В противном случае p[x] устанавливается равным redT[x] при x = 0..boundarySize - 1, и p[x + BorderSize] устанавливается равным redL[x] при x = 0..boundarySize - 1.- Otherwise, p[x] is set to redT[x] for x = 0..boundarySize - 1, and p[x + BorderSize] is set to redL[x] for x = 0..boundarySize - 1.

Для внутрикадрового процесса предсказания отсчета согласно predModeIntra применяются следующие упорядоченные шаги:For the intraframe sample prediction process according to predModeIntra, the following ordered steps are applied:

1. Аффинные линейно-взвешенные отсчеты predLwip[x][y] при x = 0..lwipW - 1, y = 0..lwipH - 1 получаются следующим образом: 1. Affine linearly weighted samples predLwip[x][y] for x = 0..lwipW - 1, y = 0..lwipH - 1 are obtained as follows:

- Переменная modeId получается следующим образом: - The modeId variable is obtained as follows:

modeId = predModeIntra − ( isTransposed = = 1) ? ( numModes / 2 ) : 0 (8-X22)modeId = predModeIntra − ( isTransposed = = 1) ? (numModes/2): 0 (8-X22)

- Весовая матрица mWeight[х][у] при x = 0..2 * boundarySize - 1, у = 0..predC * predC - 1 получается с помощью sizeId и modeId, как указано в таблице 8-XX[TBD: добавить весовые матрицы].- Weight matrix mWeight[x][y] at x = 0..2 * boundarySize - 1, y = 0..predC * predC - 1 is obtained using sizeId and modeId, as indicated in table 8-XX[TBD: add weight matrices].

- Вектор смещения vBias[y] при y = 0..predC * predC - 1 получается с использованием sizeId и modeId, как указано в таблице 8-XX[TBD: добавить векторы смещения]. - The bias vector vBias[y] at y = 0..predC * predC - 1 is obtained using sizeId and modeId as specified in Table 8-XX[TBD: add bias vectors].

- Переменная sW получается с использованием sizeId и modeId, как указано в таблице 8-X5. - The sW variable is obtained using sizeId and modeId as specified in Table 8-X5.

- Аффинные линейно-взвешенные отсчеты predLwip[x][y] при x = 0..lwipW - 1, y = 0..lwipH - 1 получаются следующим образом: - Affine linearly weighted samples predLwip[x][y] for x = 0..lwipW - 1, y = 0..lwipH - 1 are obtained as follows:

oW = 1 << ( sW – 1 ) (8-X23)oW = 1 << ( sW – 1 ) (8-X23)

sB = BitDepthY – 1 (8-X24)sB = BitDepth Y – 1 (8-X24)

incW = ( predC > lwipW ) ? 2 : 1 (8-X25)incW = ( predC > lwipW ) ? 2 : 1 (8-X25)

incH = ( predC > lwipH ) ? 2 : 1 (8-X26)incH = ( predC > lwipH ) ? 2 : 1 (8-X26)

predLwip[ x ][ y ] = ( () + predLwip[ x ][ y ] = ( ( ) +

( vBias[ y * incH * predC + x * incW ] << sB ) + oW ) >> sW (8-X27) ( vBias[ y * incH * predC + x * incW ] << sB ) + oW ) >> sW (8-X27)

2. Предсказанные отсчеты predSamples[х][у] при х = 0..nTbW - 1, у = 0..nTbH - 1 получаются следующим образом: 2. Predicted samples predSamples[x][y] for x = 0..nTbW - 1, y = 0..nTbH - 1 are obtained as follows:

- Когда isTransposed равен 1, predLwip[x][y], при x = 0..predW - 1, y = 0..predH - 1 устанавливается равным predLwip[y][x].- When isTransposed is 1, predLwip[x][y], when x = 0..predW - 1, y = 0..predH - 1 is set to predLwip[y][x].

- Если needUpsBdryVer равен значению "истина" или needUpsBdryHor равен значению "истина", процесс повышения дискретизации предсказания, как указано в пункте 8.4.4.2.X4, связан с шириной predW входного блока, высотой predH входного блока, аффинными линейно-взвешенными отсчетами predLwip, шириной nTbW блока преобразования, высотой nTbH блока преобразования, шириной upsBdryW границы повышающей дискретизации, высотой upsBdryH границы повышающей дискретизации, верхними отсчетами upsBdryT границы повышающей дискретизации и левыми отсчетами upsBdryL границы повышающей дискретизации в качестве входных данных, и выходными данными является массив predSamples предсказанных отсчетов. - If needUpsBdryVer is true or needUpsBdryHor is true, the prediction upsampling process as specified in clause 8.4.4.2.X4 is associated with the input block width predW, the input block height predH, the affine linear weighted samples predLwip, transform block width nTbW, transform block height nTbH, upsampling border width upsBdryW, upsampling border height upsBdryH, upsampling border top samples upsBdryT and upsampling border left samples upsBdryL as input data, and the output is an array of predSamples of predicted samples.

- В противном случае predSamples[x][y] при x = 0..nTbW - 1, y = 0..nTbH - 1 устанавливается равным predLwip[x][y].- Otherwise, predSamples[x][y] for x = 0..nTbW - 1, y = 0..nTbH - 1 is set equal to predLwip[x][y].

Таблица 8-X5. Спецификация смещений sW весовых коэффициентов в зависимости от sizeId и modeIdTable 8-X5. Specification of offsets sW weighting coefficients depending on sizeId and modeId

modeIdmodeId sizeIdsizeId 00 11 22 33 44 55 66 77 88 99 1010 11eleven 1212 1313 1414 1515 1616 1717 00 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 11 88 88 88 99 88 88 88 88 99 88 22 88 88 88 88 88 88

8.4.4.2.X2 Процесс получения опорного отсчета8.4.4.2.X2 Process of obtaining reference reading

Входными параметрами в этом процессе являются:The input parameters in this process are:

- местоположение (xTbY, yTbY) отсчета, определяющее верхний левый отсчет яркости текущего блока преобразования по отношению к верхнему левому отсчету яркости текущего изображения,- location (xTbY, yTbY) of the sample defining the upper left brightness sample of the current transform block in relation to the upper left brightness sample of the current image,

- переменная nTbW, определяющая ширину блока преобразования, - variable nTbW, which determines the width of the conversion block,

- переменная nTbH, определяющая высоту блока преобразования. - variable nTbH, which determines the height of the transformation block.

Выходными параметрами в этом процессе являются верхний и левый опорные отсчеты refT[x] при x = 0..nTbW - 1 и refL[y] при y = 0..nTbH - 1, соответственно.The output parameters in this process are the top and left reference samples refT[x] at x = 0..nTbW - 1 and refL[y] at y = 0..nTbH - 1, respectively.

Соседние отсчеты refT[x] при x = 0..nTbW - 1 и refL[y] при y = 0..nTbH - 1 являются отсчетами созданными перед процессом внутриконтурной фильтрации и получаются следующим образом: Adjacent samples refT[x] at x = 0..nTbW - 1 and refL[y] at y = 0..nTbH - 1 are samples created before the in-loop filtering process and are obtained as follows:

- Верхнее и левое соседние местоположения (xNbT, yNbT) яркости и (xNbL, yNbL) задаются следующим образом:- The top and left adjacent locations of (xNbT, yNbT) brightness and (xNbL, yNbL) are specified as follows:

(xNbT, yNbT) = (xTbY + x, yTbY - 1) (8-X28)(xNbT, yNbT) = (xTbY + x, yTbY - 1) (8-X28)

(xNbL, yNbL) = (xTbY - 1, yTbY + y) (8-X29)(xNbL, yNbL) = (xTbY - 1, yTbY + y) (8-X29)

- Процесс получения доступности для блока, как указано в пункте 6.4.X [Редакция (BB): процесс проверки доступности соседних блоков tbd] связан с текущим местоположением (xCurr, yCurr) яркости, установленным равным (xTbY, yTbY), и верхним соседним местоположением (xNbT, yNbT) яркости в качестве входных данных, и выходные данные назначаются availTop[x] при x = 0..nTbW - 1.- The process of obtaining accessibility for a block, as specified in clause 6.4.X [Edition (BB): Process of checking the availability of neighboring blocks tbd] is associated with the current location (xCurr, yCurr) of the brightness set to (xTbY, yTbY), and the top neighboring location (xNbT, yNbT) brightness as input, and the output is assigned to availTop[x] at x = 0..nTbW - 1.

- Процесс получения доступности для блока, как указано в пункте 6.4.X [Редакция (BB): процесс проверки доступности соседних блоков tbd] связан с текущим местоположением (xCurr, yCurr) яркости, установленным равным (xTbY, yTbY), и левым соседним местоположением (xNbL, yNbL) яркости в качестве входных данных, и выходные данные назначаются availLeft[y] при y = 0..nTbH - 1.- The process of obtaining accessibility for a block, as specified in clause 6.4.X [Edition (BB): Process of checking the availability of neighboring blocks tbd] is associated with the current location (xCurr, yCurr) of the brightness set to (xTbY, yTbY), and the left neighboring location (xNbL, yNbL) brightness as input, and the output is assigned to availLeft[y] with y = 0..nTbH - 1.

- Верхние опорные отсчеты refT[x] при x = 0..nTbW - 1 получаются следующим образом:- The upper reference readings refT[x] at x = 0..nTbW - 1 are obtained as follows:

- Если все availTop[x] при x = 0..nTbW - 1 равны значению "истина", отсчет в местоположении (xNbT, yNbT) назначается refT[x] при x = 0..nTbW - 1.- If all availTop[x] at x = 0..nTbW - 1 are true, the sample at location (xNbT, yNbT) is assigned to refT[x] at x = 0..nTbW - 1.

- В противном случае, если availTop[0] равно значению "ложь", все refT[x] при x = 0..nTbW - 1 устанавливаются равными 1 << (BitDepth Y - 1). - Otherwise, if availTop[0] is false, all refT[x] at x = 0..nTbW - 1 are set to 1 << (BitDepth Y - 1).

- В противном случае опорные отсчеты refT[x] при x = 0..nTbW - 1 получаются с помощью следующих упорядоченных шагов:- Otherwise, the reference readings refT[x] at x = 0..nTbW - 1 are obtained using the following ordered steps:

1. Переменная lastT устанавливается равной позиции x первого элемента в последовательности availTop[x] при x = 1..nTbW - 1, что равно значению "ложь". 1. The lastT variable is set to the x position of the first element in the sequence availTop[x] with x = 1..nTbW - 1, which is false.

2. Для каждого x = 0..lastT - 1 отсчету в местоположении (xNbT, yNbT) назначается refT[x].2. For each x = 0..lastT - 1 sample at location (xNbT, yNbT) is assigned refT[x].

3. Для каждого x = lastT..nTbW - 1 refT[x] устанавливается равным refT[lastT - 1].3. For each x = lastT..nTbW - 1 refT[x] is set equal to refT[lastT - 1].

- Левый опорный отсчет refL[y] при x = 0..nTbH - 1 получаются следующим образом:- The left reference reading refL[y] at x = 0..nTbH - 1 is obtained as follows:

- Если все availLeft[y] при y = 0..nTbH - 1 равны значению "истина", отсчет в местоположении (xNbL, yNbL) назначается refL[y] при y = 0..nTbH - 1.- If all availLeft[y] at y = 0..nTbH - 1 are true, the sample at location (xNbL, yNbL) is assigned to refL[y] at y = 0..nTbH - 1.

- В противном случае, если availLeft[0] равно значению "ложь", все refL[y] при y = 0..nTbH - 1 устанавливаются равными 1 << (BitDepth Y - 1). - Otherwise, if availLeft[0] is false, all refL[y] at y = 0..nTbH - 1 are set to 1 << (BitDepth Y - 1).

- В противном случае опорные отсчеты refL[y] при y = 0..nTbH - 1 получаются с помощью следующих упорядоченных шагов:- Otherwise, reference readings refL[y] at y = 0..nTbH - 1 are obtained using the following ordered steps:

1. Переменная lastL устанавливается равной позиции y первого элемента в последовательности availLeft[y] при y = 1..nTbH - 1, что равно значению "ложь". 1. The lastL variable is set to the y position of the first element in the sequence availLeft[y] with y = 1..nTbH - 1, which is false.

2. Для каждого y = 0..lastL - 1 отсчету в местоположении (xNbL, yNbL) назначается refL[y].2. For each y = 0..lastL - 1 sample at location (xNbL, yNbL) is assigned refL[y].

3. Для каждого y = lastL..nTbH - 1 refL[y] устанавливается равным refL[lastL - 1].3. For each y = lastL..nTbH - 1 refL[y] is set equal to refL[lastL - 1].

Спецификация процесса уменьшения границыBoundary Reduction Process Specification

Входными параметрами в этом процессе являются:The input parameters in this process are:

- переменная nTbX, определяющая размер блока преобразования, - variable nTbX, which determines the size of the conversion block,

- опорные отсчеты refX[x] при x = 0..nTbX - 1,- reference readings refX[x] at x = 0..nTbX - 1,

- переменная BorderSize, определяющая размер границы понижающей дискретизации, - BorderSize variable, which determines the size of the downsampling border,

- флаг needUpsBdryX, указывающий, требуются ли промежуточные граничные отсчеты для повышающей дискретизации, - needUpsBdryX flag indicating whether intermediate boundary samples are required for upsampling,

- переменная upsBdrySize, определяющая размер границы повышающей дискретизации. - upsBdrySize variable, which determines the size of the upsampling boundary.

Выходными данными этого процесса являются уменьшенные граничные отсчеты redX[x] при x = 0..boundarySize - 1 и граничные отсчеты upsBdryX[x] с повышенной дискретизацией при x = 0.. upsBdrySize - 1.The output of this process is downsampled boundary samples redX[x] at x = 0..boundarySize - 1 and upsampled boundary samples upsBdryX[x] at x = 0..upsBdrySize - 1.

Граничные отсчеты upsBdryX[х] с повышенной дискретизацией при х = 0.. upsBdrySize - 1 получаются следующим образом: The upsampled boundary samples upsBdryX[x] at x = 0.. upsBdrySize - 1 are obtained as follows:

- Если needUpsBdryX равен значению "истина", и upsBdrySize меньше nTbX, применяется следующее: - If needUpsBdryX is true and upsBdrySize is less than nTbX, the following applies:

uDwn = nTbX / upsBdrySize (8-X30)uDwn = nTbX / upsBdrySize (8-X30)

upsBdryX[ x ] = ( + ( 1 << ( Log2( uDwn ) − 1 ) )) >> Log2( uDwn ) (8-X31)upsBdryX[ x ] = ( + ( 1 << ( Log2( uDwn ) − 1 ) )) >> Log2( uDwn ) (8-X31)

- В противном случае (upsBdrySize равен nTbX) upsBdryX[x] устанавливается равным refX[x]. - Otherwise (upsBdrySize equals nTbX) upsBdryX[x] is set equal to refX[x].

Уменьшенные граничные отсчеты RedX[х] при х = 0..boundarySize - 1 получаются следующим образом: Reduced boundary samples RedX[x] at x = 0..boundarySize - 1 are obtained as follows:

- Если BorderSize меньше upsBdrySize, применяется следующее: - If BorderSize is less than upsBdrySize, the following applies:

bDwn = upsBdrySize / boundarySize (8-X32)bDwn = upsBdrySize / boundarySize (8-X32)

redX[ x ] = ( + ( 1 << ( Log2( bDwn ) − 1 ) )) >> Log2( bDwn ) (8-X33)redX[ x ] = ( + ( 1 << ( Log2( bDwn ) − 1 ) )) >> Log2( bDwn ) (8-X33)

- В противном случае (BorderSize равен upsBdrySize) redX[x] устанавливается равным upsBdryX[x]. - Otherwise (BorderSize equals upsBdrySize) redX[x] is set equal to upsBdryX[x].

8.4.4.2.X4 Спецификация процесса повышения дискретизации предсказания8.4.4.2.X4 Prediction upsampling process specification

Входными параметрами в этом процессе являются:The input parameters in this process are:

- переменная predW, определяющая ширину входного блока, - variable predW, which determines the width of the input block,

- переменная predH, определяющая высоту входного блока, - variable predH, which determines the height of the input block,

- аффинные линейно-взвешенные отсчеты predLwip[x][y], при x = 0..predW - 1, y = 0..predH - 1, - affine linearly weighted samples predLwip[x][y], for x = 0..predW - 1, y = 0..predH - 1,

- переменная nTbW, определяющая ширину блока преобразования, - variable nTbW, which determines the width of the conversion block,

- переменная nTbH, определяющая высоту блока преобразования, - variable nTbH, which determines the height of the transformation block,

- переменная upsBdryW, определяющая ширину границы повышающей дискретизации, - upsBdryW variable, which determines the width of the upsampling boundary,

- переменная upsBdryH, определяющая высоту границы повышающей дискретизации, - upsBdryH variable, which determines the height of the upsampling boundary,

- верхние граничные отсчеты upsBdryT[x] с повышенной дискретизацией при x = 0..upsBdryW - 1,- upper boundary samples upsBdryT[x] with upsampling at x = 0..upsBdryW - 1,

- левые граничные отсчеты upsBdryL[x] с повышенной дискретизацией при x = 0..upsBdryH - 1.- left boundary samples upsBdryL[x] with upsampling at x = 0..upsBdryH - 1.

Выходными данными этого процесса являются Предсказанные отсчеты predSamples[x][y] при x = 0..nTbW - 1, y = 0..nTbH - 1. The output of this process is the Predicted samples predSamples[x][y] at x = 0..nTbW - 1, y = 0..nTbH - 1.

Разреженные Предсказанные отсчеты predSamples[m][n] получаются из predLwip[x][y] при x = 0..predW - 1, y = 0..predH - 1 следующим образом: Sparse Predicted samples predSamples[m][n] are obtained from predLwip[x][y] at x = 0..predW - 1, y = 0..predH - 1 as follows:

upHor = nTbW / predW (8-X34)upHor = nTbW / predW (8-X34)

upVer = nTbH / predH (8-X35)upVer = nTbH / predH (8-X35)

predSamples[ ( x + 1 ) * upHor − 1 ][ ( y + 1 ) * upVer − 1 ] = predLwip[ x ][ y ] (8-X36)predSamples[ ( x + 1 ) * upHor − 1 ][ ( y + 1 ) * upVer − 1 ] = predLwip[ x ][ y ] (8-X36)

Верхние граничные отсчеты upsBdryT[x] при x = 0..upsBdryW - 1 назначаются для predSamples[m][−1] следующим образом:The upper limit samples upsBdryT[x] at x = 0..upsBdryW - 1 are assigned to predSamples[m][−1] as follows:

predSamples[ ( x + 1 ) * ( nTbW / upsBdryW ) − 1 ][ −1 ] = upsBdryT[ x ] (8-X37) predSamples[ ( x + 1 ) * ( nTbW / upsBdryW ) − 1 ][ −1 ] = upsBdryT[ x ] (8-X37)

Левые граничные отсчеты upsBdryL[y] при y = 0..upsBdryH - 1 назначаются predSamples[−1][n] следующим образом:The left boundary samples upsBdryL[y] at y = 0..upsBdryH - 1 are assigned to predSamples[−1][n] as follows:

predSamples[ −1 ][ ( y + 1 ) * ( nTbH / upsBdryH ) − 1 ] = upsBdryL[ y ] (8-X38)predSamples[ −1 ][ ( y + 1 ) * ( nTbH / upsBdryH ) − 1 ] = upsBdryL[ y ] (8-X38)

Предсказанные отсчеты predSamples[х][у] при х = 0..nTbW - 1, у = 0..nTbH - 1 получаются следующим образом: Predicted samples predSamples[x][y] for x = 0..nTbW - 1, y = 0..nTbH - 1 are obtained as follows:

- Если nTbH больше, чем nTbW, применяются следующие упорядоченные шаги: - If nTbH is greater than nTbW, the following ordered steps apply:

1. Когда upHor больше 1, горизонтальная повышающая дискретизация для всех разреженных позиций (xHor, yHor) = (m * upHor - 1, n * upVer - 1) применяется при m = 0..predW - 1, n = 1..predH с dX = 1..upHor - 1 следующим образом:1. When upHor is greater than 1, horizontal upsampling for all sparse positions (xHor, yHor) = (m * upHor - 1, n * upVer - 1) is applied with m = 0..predW - 1, n = 1..predH with dX = 1..upHor - 1 as follows:

predSamples[ xHor + dX ][ yHor ] = ( ( upHor − dX ) * predSamples[ xHor ][ yHor ] + dX * predSamples[ xHor + upHor ][ yHor ] ) / upHor (8-X39) predSamples[ xHor + dX ][ yHor ] = ( ( upHor − dX ) * predSamples[ xHor ][ yHor ] + dX * predSamples[ xHor + upHor ][ yHor ] ) / upHor (8-X39)

2. Вертикальная повышающая дискретизация для всех разреженных позиций (xVer, yVer) = (m, n * upVer - 1) при m = 0..nTbW - 1, n = 0..predH - 1 применяется при dY = 1..upVer - 1 следующим образом: 2. Vertical upsampling for all sparse positions (xVer, yVer) = (m, n * upVer - 1) with m = 0..nTbW - 1, n = 0..predH - 1 applied with dY = 1..upVer - 1 as follows:

predSamples[ xVer ][ yVer + dY ] = ( ( upVer − dY ) * predSamples[ xVer ][ yVer ] + dY * predSamples[ xVer ][ yVer + upVer ] ) / upVer (8-X40)predSamples[ xVer ][ yVer + dY ] = ( ( upVer − dY ) * predSamples[ xVer ][ yVer ] + dY * predSamples[ xVer ][ yVer + upVer ] ) / upVer (8-X40)

- В противном случае применяются следующие шаги: - Otherwise, the following steps apply:

1. Когда upVer больше 1, применяется вертикальная повышающая дискретизация для всех разреженных позиций (xVer, yVer) = (m * upHor - 1, n * upVer - 1) при m = 1..predW, n = 0..predH - 1. с dY = 1..upVer - 1, как указано в (8-X40).1. When upVer is greater than 1, vertical upsampling is applied for all sparse positions (xVer, yVer) = (m * upHor - 1, n * upVer - 1) with m = 1..predW, n = 0..predH - 1 .with dY = 1..upVer - 1 as given in (8-X40).

2. Горизонтальная повышающая дискретизация для всех разреженных позиций (xHor, yHor) = (m * upHor - 1, n) при m = 0..predW - 1, n = 0..nTbH - 1 применяется при dX = 1..upHor – 1, как указано в (8-X39). 2. Horizontal upsampling for all sparse positions (xHor, yHor) = (m * upHor - 1, n) with m = 0..predW - 1, n = 0..nTbH - 1 applied with dX = 1..upHor – 1, as indicated in (8-X39).

<end><end>

Таблица 9-9. Синтаксические элементы и ассоциированные бинаризации Table 9-9. Syntactic elements and associated binarizations

Структура синтаксисаSyntax structure Синтаксический элементSyntactic element БинаризацияBinarization ПроцессProcess Входные параметрыInput parameters coding_unit () coding_unit() cu_skip_flag[ ][ ] cu_skip_flag[ ][ ] FLFL cMax = 1cMax = 1 pred_mode_ibc_flagpred_mode_ibc_flag FLFL cMax = 1cMax = 1 pred_mode_flagpred_mode_flag FLFL cMax = 1cMax = 1 <begin>intra_lwip_flag[ ][ ] <begin>intra_lwip_flag[ ][ ] FLFL cMax = 1cMax = 1 intra_lwip_mpm_flag[ ][ ] intra_lwip_mpm_flag[ ][ ] FLFL cMax = 1cMax = 1 intra_lwip_mpm_idx[ ][ ] intra_lwip_mpm_idx[ ][ ] TRTR cMax = 2, cRiceParam = 0cMax = 2, cRiceParam = 0 intra_lwip_mpm_remainder [ ][ ] intra_lwip_mpm_remainder [ ][ ] FLFL cMax = (cbWidth = = 4 && cbHeight = = 4) ? 31 : ( (cbWidth <= 8 && cbHeight <= 8) ? 15 : 7) cMax = (cbWidth = = 4 && cbHeight = = 4) ? 31 : ( (cbWidth <= 8 && cbHeight <= 8) ? 15 : 7) ...

Таблица 9-15. Назначение ctxInc для синтаксических элементов с контекстно-кодированными бинами Table 9-15. Purpose of ctxInc for syntax elements with context-encoded beans

Синтаксический элементSyntactic element binIdxbinIdx 00 11 22 33 44 >= 5>= 5 ... завершениеcompletion nana nana nana nana nana intra_lwip_flag[ ][ ]intra_lwip_flag[ ][ ] (Abs( Log2(cbWidth) – Log2(cbHeight) ) > 1) ?
3 : ( 0,1,2
(пункт 9.5.4.2.2) )
(Abs( Log2(cbWidth) – Log2(cbHeight) ) > 1) ?
3 : ( 0,1,2
(clause 9.5.4.2.2)
nana nana nana nana nana
intra_lwip_mpm_flag[ ][ ]intra_lwip_mpm_flag[ ][ ] 00 nana nana nana nana nana intra_lwip_mpm_idx[ ][ ]intra_lwip_mpm_idx[ ][ ] отводretraction отводretraction nana nana nana nana intra_lwip_mpm_remainder[ ][ ]intra_lwip_mpm_remainder[ ][ ] отводretraction отводretraction отводretraction отводretraction отводretraction nana

Таблица 9-16. Спецификация ctxInc с использованием левого и верхнего синтаксических элементов Table 9-16. ctxInc specification using left and top syntax elements

Синтаксический элементSyntactic element condLcondL condAcondA ctxSetIdxctxSetIdx ... intra_lwip_flag[ x0 ][ y0 ]intra_lwip_flag[ x0 ][ y0 ] intra_lwip_flag[ xNbL ][ yNbL ]intra_lwip_flag[ xNbL ][ yNbL ] intra_lwip_flag[ xNbA ][ yNbA ]intra_lwip_flag[ xNbA ][ yNbA ] 00 ...

<end><end>

Краткое описание ALWIPBrief description of ALWIP

Для предсказания отсчетов прямоугольного блока с шириной W и высотой H аффинное линейно-взвешенное внутрикадровое предсказание (ALWIP) принимает одну строку из H восстановленных соседних граничных отсчетов слева от блока и одну строку W восстановленных соседних граничных отсчетов над блоком в качестве входных данных. Если восстановленные отсчеты недоступны, они вырабатываются таким образом, как это делается в традиционном внутрикадровом предсказании. ALWIP применяется только к внутрикадровому блоку. Для внутрикадрового блока цветности применяются традиционные режимы внутрикадрового кодирования. To predict samples of a rectangular block with width W and height H, affine linear-weighted intra-prediction (ALWIP) takes one row of H reconstructed neighboring boundary samples to the left of the block and one row of W reconstructed neighboring boundary samples above the block as input. If reconstructed samples are not available, they are generated in a manner similar to traditional intra-frame prediction. ALWIP applies only to the intraframe block. For the intraframe chrominance block, traditional intraframe coding modes are used.

Выработка сигнала предсказания основана на следующих трех этапах: Generation of the prediction signal is based on the following three steps:

1. Четыре отсчета в случае W=H=4 и восемь отсчетов во всех других случаях извлекаются из граничных отсчетов посредством усреднения.1. Four samples in the case of W=H=4 and eight samples in all other cases are extracted from the boundary samples by averaging.

2. Матрично-векторное умножение с последующим сложением смещения выполняется с усредненными отсчетами в качестве входных данных. Результатом является уменьшенный сигнал предсказания в отношении субдискретизированного набора отсчетов в исходном блоке.2. Matrix-vector multiplication followed by offset addition is performed with the averaged samples as input. The result is a reduced prediction signal with respect to the subsampled set of samples in the original block.

3. Сигнал предсказания в оставшихся позициях вырабатывается из сигнала предсказания в отношении субдискретизированного набора с помощью линейной интерполяции, которая является одношаговой линейной интерполяцией в каждом направлении.3. The prediction signal at the remaining positions is generated from the prediction signal regarding the subsampled set using linear interpolation, which is a one-step linear interpolation in each direction.

Если должен применяться режим ALWIP, то индекс режима ALWIP сигнализируется с использованием списка MPM с 3 MPMS. Здесь получение MPM выполняется с использованием внутрикадровых режимов верхней и левой PU следующим образом. Имеются три фиксированных таблицы , , которые назначают режим ALWIP каждому традиционному режиму внутрикадрового предсказания. If ALWIP mode is to be used, then the index ALWIP mode is signaled using an MPM list with 3 MPMS. Here, MPM acquisition is performed using the intra-frame modes of the top and left PUs as follows. There are three fixed tables , , which assign an ALWIP mode to each legacy mode intra-frame prediction.

Для каждой PU с шириной W и высотой H определяется индексFor each PU with width W and height H, an index is defined

который указывает то, из какого из трех наборов должны быть взяты параметры ALWIP.which specifies from which of the three sets the ALWIP parameters should be taken.

Если вышеуказанная единица предсказания является доступной, принадлежит к той же CTU, что и текущая PU, и находится во внутрикадровом режиме, если и если ALWIP применимо к с ALWIP-режимом , полагаем, чтоIf the above unit prediction is available, belongs to the same CTU as the current PU, and is in intra-frame mode if and if ALWIP is applicable to with ALWIP mode , we believe that

Если вышеуказанная единица PU является доступной, принадлежит к той же CTU, что и текущая PU, и находится во внутрикадровом режиме, и если к вышеуказанной PU применяется традиционный режим внутрикадрового предсказания, то полагаем, чтоIf the above PU is available, belongs to the same CTU as the current PU, and is in intra-frame mode, and if the traditional intra-prediction mode is applied to the above PU, then we assume that

Во всех остальных случаях полагаем, что In all other cases we assume that

что означает, что этот режим является недоступным. Таким же образом, но без ограничения относительно того, что левая PU должна принадлежать к той же CTU, что и текущая PU, получается режим .which means this mode is not available. In the same way, but without the restriction that the left PU must belong to the same CTU as the current PU, the mode .

Наконец, предоставляются три фиксированных списка по умолчанию , , каждый из которых содержит три различных режима ALWIP. Из списка по умолчанию и режимов и создаются три отдельных MPM путем замены -1 на значения по умолчанию, а также исключения повторений.Finally, three default fixed lists are provided , , each containing three different ALWIP modes. From the default list and modes And three separate MPMs are created by replacing -1 with default values and also eliminating duplicates.

Для получения MPM-списка яркости всякий раз, когда встречается соседний блок яркости, который использует ALWIP-режим , этот блок обрабатывается таким образом, как если бы он использовал традиционный режим внутрикадрового предсказания .To obtain a luma MPM list whenever a neighboring luma block that uses ALWIP mode is encountered , this block is processed as if it were using traditional intra-prediction mode .

3. Преобразование в VVC3. Convert to VVC

3.1. Выбор множественного преобразования (MTS)3.1. Multiple Transform Selection (MTS)

В дополнение к DCT-II, который использовался в HEVC, схема выбора множественного преобразования (MTS) используется для кодирования остатка как межкадровых, так и внутрикадровых кодированных блоков. Он использует несколько выбранных преобразований из DCT8/DST7. DST-VII и DCT-VIII представляют собой недавно введенные матрицы преобразования.In addition to DCT-II, which was used in HEVC, a multiple transform selection scheme (MTS) is used to encode the remainder of both inter- and intra-frame coded blocks. It uses a few selected transforms from DCT8/DST7. DST-VII and DCT-VIII are newly introduced transformation matrices.

3.2. Уменьшенное вторичное преобразование (RST), предложенное в JVET-N01933.2. Reduced Secondary Transform (RST) proposed in JVET-N0193

Уменьшенное вторичное преобразование (RST) применяет неразделимое преобразование 16x16 и 16x64 для блоков 4x4 и 8x8, соответственно. Первичное прямое и обратное преобразования по-прежнему выполняются так же, как два прохода одномерного горизонтального/вертикального преобразования. Вторичные прямые и обратные преобразования представляют собой отдельный этап обработки из этих первичных преобразований. Для кодера сначала выполняется первичное прямое преобразование, за которым следуют вторичное прямое преобразование и квантование и битовое кодирование CABAC. Для декодера сначала выполняется битовое декодирование CABAC и обратное квантование, затем вторичное обратное преобразование, за которым следует первичное обратное преобразование. RST применяется только к внутрикадровым кодированным TU как во внутрикадровых, так и в межкадровых слайсах.Reduced Secondary Transform (RST) applies a 16x16 and 16x64 non-separable transform to 4x4 and 8x8 blocks, respectively. The primary forward and inverse transformations are still performed in the same way as two passes of a one-dimensional horizontal/vertical transformation. Secondary forward and inverse transformations represent a separate processing step from these primary transformations. For the encoder, a primary forward transform is first performed, followed by a secondary forward transform and quantization and CABAC bit encoding. The decoder first performs CABAC bit decoding and inverse quantization, then a secondary inverse transform, followed by a primary inverse transform. RST applies only to intra-frame coded TUs in both intra- and inter-frame slices.

3.3. Унифицированный список MPM для кодирования во внутрикадровом режиме в JVET-N01853.3. Unified MPM list for intra-frame encoding in JVET-N0185

Унифицированный список 6-MPM предлагается для внутрикадровых блоков, независимо от того, применяются ли инструменты кодирования множественной справочной линии (MRL) и внутрикадрового подраздела (ISP). Список MPM составляется на основе внутрикадрового режима левого и верхнего соседнего блока, как в VTM4.0. Предполагая, что режим Left обозначен как Left, и режим верхнего блока обозначен как Above, унифицированный список MPM составляется следующим образом: A unified 6-MPM list is proposed for intra-frame blocks, regardless of whether multiple reference line (MRL) and intra-frame subsection (ISP) coding tools are used. The MPM list is compiled based on the intra-frame mode of the left and top adjacent block, as in VTM4.0. Assuming the Left mode is designated as Left and the top block mode is designated as Above, the unified MPM list is constructed as follows:

• Когда соседний блок является недоступным, его внутрикадровый режим по умолчанию установлен в режим Planar.• When an adjacent block is unreachable, its intraframe mode is set to Planar mode by default.

• Если оба режима Left и Above не являются угловыми:• If both Left and Above modes are not angular:

a) список MPM → {Planar, DC, V, H, V-4, V + 4}a) MPM list → {Planar, DC, V, H, V-4, V+4}

• Если один из режимов Left и Above является угловым, а другой неугловым:• If one of the Left and Above modes is corner and the other is non-corner:

a) установить режим Max как более крупный режим слева и сверхуa) set Max mode as the larger mode on the left and top

b) список MPM → {Planar, Max, DC, Max -1, Max +1, Max -2}b) MPM list → {Planar, Max, DC, Max -1, Max +1, Max -2}

• Если оба режима Left и Above являются угловыми и разными:• If both Left and Above modes are angular and different:

a) установить режим Max как более крупный режим слева и сверхуa) set Max mode as the larger mode on the left and top

b) Если разница режимов Left и Above находится в диапазоне от 2 до 62 включительноb) If the difference between Left and Above modes is in the range from 2 to 62 inclusive

1) список MPM → {Planar, Left, Above, DC, Max -1, Max +1}1) MPM list → {Planar, Left, Above, DC, Max -1, Max +1}

c) В противном случаеc) Otherwise

1) список MPM → {Planar, Left, Above, DC, Max -2, Max +2}1) MPM list → {Planar, Left, Above, DC, Max -2, Max +2}

• Если Left и Above являются угловыми и одинаковыми:• If Left and Above are angular and the same:

a) список MPM → {Planar, Left, Left -1, Left +1, DC, Left -2}a) MPM list → {Planar, Left, Left -1, Left +1, DC, Left -2}

Кроме того, первый бин кодового слова индекса MPM представляет собой контекстно-кодированное CABAC. Всего используются три контекста, соответствующие тому, включен ли текущий внутрикадровый блок MRL, включен ISP или нормальный внутрикадровый блок.In addition, the first codeword bin of the MPM index is a context-coded CABAC. A total of three contexts are used, corresponding to whether the current MRL intraframe is on, ISP is on, or a normal intraframe.

A2 и B2 представляют собой левый соседний блок и верхний соседний блок, которые используются в составлении унифицированного списка MPM, как показано на фиг. 10.A2 and B2 represent the left neighbor block and the top neighbor block, which are used in constructing the unified MPM list, as shown in FIG. 10.

Сначала кодируется один флаг MPM. Если блок закодирован с использованием одного из режимов в списке MPM, дополнительно кодируется индекс MPM. В противном случае кодируется указатель остальных режимов (исключая MPM).First, one MPM flag is encoded. If a block is encoded using one of the modes in the MPM list, the MPM index is additionally encoded. Otherwise, the indicator of the remaining modes (excluding MPM) is encoded.

4. Примеры недостатков в существующих реализациях4. Examples of shortcomings in existing implementations

Дизайн ALWIP в JVET-N0217 имеет следующие проблемы: The ALWIP design in JVET-N0217 has the following problems:

1) На конференции JVET в марте 2019 года было принято унифицированное составление списка 6-MPM для режима MRL, режима ISP и нормального внутрикадрового режима. Но в режиме аффинного линейно-взвешенного предсказания используется другое составление списка 3-MPM, что усложняет составление списка MPM. Сложная конструкция списка MPM может поставить под угрозу пропускную способность декодера, особенно для небольших блоков, таких как отсчеты 4x4.1) At the JVET conference in March 2019, unified 6-MPM listing for MRL mode, ISP mode and normal intra-frame mode was adopted. But affine linear-weighted prediction mode uses a different 3-MPM list compilation, which makes MPM list compilation more difficult. Complex MPM list design can compromise decoder throughput, especially for small blocks such as 4x4 samples.

2) ALWIP применяется только к компоненту яркости блока. Для компонента цветности ALWP-кодированного блока индекс режима цветности кодируется и отправляется в декодер, что может привести к ненужной сигнализации.2) ALWIP applies only to the luma component of the block. For the chrominance component of an ALWP-encoded block, the chrominance mode index is encoded and sent to the decoder, which may result in unnecessary signaling.

3) Взаимодействия ALWIP следует рассматривать с другими инструментами кодирования.3) ALWIP interactions should be considered with other coding tools.

4) При вычислении upsBdryX в upsBdryX[x] = (Log2( uDwn ) − 1))) >> Log2(uDwn) (8-X31), возможно, что Log2( uDwn ) − 1 равен -1, при этом сдвиг влево на -1 не определен.4) When calculating upsBdryX in upsBdryX[x] = (Log2( uDwn ) − 1))) >> Log2(uDwn) (8-X31), it is possible that Log2( uDwn ) − 1 is equal to -1, but the left shift by -1 is undefined.

5) При повышающей дискретизации отсчетов предсказания округление не применяется.5) When upsampling prediction samples, rounding is not applied.

6) В процессе удаления блочности ALWIP-кодированные блоки обрабатываются как нормальные внутрикадровые блоки.6) During the deblocking process, ALWIP-encoded blocks are treated as normal intra-frame blocks.

5. Примерные способы внутрикадрового кодирования матриц5. Approximate methods of intra-frame matrix encoding

Варианты осуществления технологии, раскрытой в данном документе, устраняют недостатки существующих реализаций, тем самым обеспечивая кодирование видео с более высокой эффективностью кодирования, но меньшей вычислительной сложностью. Способы матричного внутрикадрового предсказания для кодирования видео, описанные в данном документе, позволяют улучшить как существующие, так и будущие стандарты кодирования видео, которые поясняются в следующих примерах, описанных для различных реализаций. Примеры раскрытой технологии, представленные ниже, объясняют общие концепции и не предназначены для интерпретации как ограничивающие. В одном примере могут быть объединены различные функции, описанные в этих примерах, если явно не указано иное.Embodiments of the technology disclosed herein overcome the shortcomings of existing implementations, thereby providing video encoding with higher encoding efficiency but lower computational complexity. The matrix intra-frame prediction methods for video encoding described herein provide improvements to both current and future video encoding standards, which are illustrated in the following examples described for various implementations. The examples of technology disclosed below explain general concepts and are not intended to be interpreted as limiting. A single example may combine various functions described in these examples unless explicitly stated otherwise.

В последующем обсуждении режим внутрикадрового предсказания относится к режиму углового внутрикадрового предсказания (включая DC, планарный, CCLM и другие возможные режимы внутрикадрового предсказания); при этом внутрикадровый режим относится к нормальному внутрикадровому режиму, или MRL, или ISP, или ALWIP.In the following discussion, the intra prediction mode refers to the angular intra prediction mode (including DC, planar, CCLM and other possible intra prediction modes); wherein the intra-frame mode refers to the normal intra-frame mode, or MRL, or ISP, or ALWIP.

В нижеследующем обсуждении "другие внутрикадровые режимы" могут относиться к одному или нескольким внутрикадровым режимам, кроме ALWIP, например, к нормальному внутрикадровому режиму, или MRL или ISP.In the following discussion, "other intraframe modes" may refer to one or more intraframe modes other than ALWIP, such as normal intraframe mode, or MRL or ISP.

В последующем обсуждении SatShift(x, n) определяется в виде In the following discussion, SatShift(x, n) is defined as

Shift(x, n) определяется в виде Shift(x, n) = (x + offset0) >> n.Shift(x, n) is defined as Shift(x, n) = (x + offset0) >> n.

В одном примере offset0 и/или offset1 установлены в (1 << n) >> 1 или (1 << (n-1)). В другом примере offset0 и/или offset1 установлены в 0.In one example, offset0 and/or offset1 are set to (1 << n) >> 1 or (1 << (n-1)). In another example, offset0 and/or offset1 are set to 0.

В другом примере offset0=offset1= ((1<<n)>>1)-1 или ((1<<(n-1)))-1.In another example, offset0=offset1= ((1<<n)>>1)-1 or ((1<<(n-1)))-1.

Clip3(min, max, x) определяется в виде Clip3(min, max, x) is defined as

Составление списка MPM для ALWIPListing MPMs for ALWIP

1. Предлагается, что весь или частичный список MPM для ALWIP может быть составлен в соответствии с полной или частичной процедурой составления списка MPM для внутрикадрового режима без-ALWIP (например, нормальный внутрикадровый режим, MRL или ISP).1. It is proposed that all or partial MPM list for ALWIP can be compiled in accordance with the full or partial MPM list construction procedure for non-ALWIP intra-frame mode (eg, normal intra-frame mode, MRL or ISP).

a) В одном примере размер списка MPM для ALWIP может быть таким же, как размер списка MPM для внутрикадрового режима без-ALWIP.a) In one example, the MPM list size for ALWIP may be the same as the MPM list size for non-ALWIP intraframe mode.

(1) Например, размер списка MPM равен 6 как для режима ALWIP, так и для внутрикадрового режима без-ALWIP.(1) For example, the MPM list size is 6 for both ALWIP mode and non-ALWIP intraframe mode.

b) В одном примере список MPM для ALWIP может быть получен из списка MPM для внутрикадрового режима без-ALWIP.b) In one example, the MPM list for ALWIP may be derived from the MPM list for non-ALWIP intraframe mode.

(1) В одном примере список MPM может быть сначала составлен для внутрикадрового режима без-ALWIP. Затем часть или все из него могут быть преобразованы в MPM, которые могут быть дополнительно добавлены в список MPM для ALWIP-кодированных блоков.(1) In one example, the MPM list may first be compiled for non-ALWIP intraframe mode. Some or all of it can then be converted to MPMs, which can be further added to the list of MPMs for ALWIP-encoded blocks.

1) Кроме того, в качестве альтернативы, при добавлении преобразованного MPM в список MPM для ALWIP-кодированных блоков может применяться сокращение.1) Additionally, as an alternative, when adding the mapped MPM to the MPM list, a shortcut may be applied for ALWIP-encoded blocks.

2) Режимы по умолчанию могут быть добавлены в список MPM для ALWIP-кодированных блоков.2) Default modes can be added to the MPM list for ALWIP-encoded blocks.

a) В одном примере режимы по умолчанию могут быть добавлены перед тем, как они будут преобразованы из списка MPM внутрикадрового режима без-ALWIP.a) In one example, default modes may be added before they are converted from the non-ALWIP intraframe mode MPM list.

b) В качестве альтернативы, режимы по умолчанию могут быть добавлены после того, как они будут преобразованы из списка MPM внутрикадрового режима без-ALWIP.b) Alternatively, default modes can be added after they have been converted from the intraframe non-ALWIP mode MPM list.

c) В качестве альтернативы, режимы по умолчанию могут быть добавлены чередующимся образом с теми, которые были преобразованы из списка MPM внутрикадрового режима без-ALWIP.c) Alternatively, default modes may be added interleaved with those converted from the non-ALWIP intraframe mode MPM list.

d) В одном примере режимы по умолчанию могут быть зафиксированы одинаковыми для всех типов блоков.d) In one example, the default modes could be fixed to be the same for all block types.

e) В качестве альтернативы, режимы по умолчанию могут быть определены в соответствии с кодированной информации, такой как доступность соседних блоков, информация о режиме соседних блоков, размер блока.e) Alternatively, default modes can be determined according to encoded information such as neighbor block availability, neighbor block mode information, block size.

b) В одном примере один режим внутрикадрового предсказания в списке MPM для внутрикадрового режима без-ALWIP может быть преобразован в соответствующий ему режим внутрикадрового предсказания ALWIP, когда он помещен в список MPM для ALWIP.b) In one example, one intra-prediction mode in the MPM list for non-ALWIP intra-frame mode may be converted to its corresponding ALWIP intra-prediction mode when placed in the MPM list for ALWIP.

1) В качестве альтернативы, все режимы внутрикадрового предсказания в списке MPM для внутрикадрового режима без-ALWIP могут быть преобразованы в соответствующие режимы внутрикадрового предсказания ALWIP перед использованием для составления списка MPM для ALWIP.1) Alternatively, all intra-prediction modes in the non-ALWIP intra-mode MPM list may be converted to the corresponding ALWIP intra-prediction modes before being used to construct the ALWIP MPM list.

2) В качестве альтернативы, все режимы-кандидаты внутрикадрового предсказания (могут включать в себя режим внутрикадрового предсказания из соседних блоков и режимы внутрикадрового предсказания по умолчанию, такие как планарный (Planar) и DC) могут быть преобразованы в соответствующие режимы внутрикадрового предсказания ALWIP перед использованием для составления списка MPM для внутрикадрового режима без-ALWIP, если список MPM для внутрикадрового режима без-ALWIP может быть использован для получения списка MPM для ALWIP.2) Alternatively, all candidate intra-prediction modes (which may include neighboring intra-prediction modes and default intra-prediction modes such as Planar and DC) may be converted to corresponding ALWIP intra-prediction modes before use to compile a list of MPMs for intra-frame no-ALWIP mode, if the list of MPMs for intra-frame mode without-ALWIP can be used to obtain a list of MPMs for ALWIP.

3) В одном примере можно сравнить два преобразованных режима внутрикадрового предсказания ALWIP.3) In one example, two converted ALWIP intra-frame prediction modes can be compared.

a) В одном примере, если они являются одинаковыми, только один из них может быть помещен в список MPM для ALWIP.a) In one example, if they are the same, only one of them can be placed in the MPM list for ALWIP.

b) В одном примере, если они являются одинаковыми, только один из них может быть помещен в список MPM для внутрикадровых режимов без-ALWIP.b) In one example, if they are the same, only one of them can be placed in the MPM list for non-ALWIP intraframe modes.

(3) В одном примере K из S режимов внутрикадрового предсказания в списке MPM для внутрикадрового режима без-ALWIP могут быть выбраны в качестве списка MPM для режима ALWIP. Например, K равен 3, и S равен 6.(3) In one example, K of the S intra-prediction modes in the MPM list for the non-ALWIP intra-frame mode may be selected as the MPM list for the ALWIP mode. For example, K is 3 and S is 6.

1) В одном примере первые K режимов внутрикадрового предсказания в списке MPM для внутрикадрового режима без-ALWIP могут быть выбраны в качестве списка MPM для режима ALWIP.1) In one example, the first K intra-prediction modes in the MPM list for the non-ALWIP intra-frame mode may be selected as the MPM list for the ALWIP mode.

2. Предлагается, что один или несколько соседних блоков, используемых для получения списка MPM для ALWIP, можно также использовать для получения списка MPM для внутрикадрового режима без-ALWIP (например, для нормального внутрикадрового режима, MRL или ISP).2. It is proposed that one or more adjacent blocks used to obtain the MPM list for ALWIP may also be used to obtain the MPM list for non-ALWIP intraframe mode (eg, normal intraframe mode, MRL or ISP).

a) В одном примере, соседний блок слева от текущего блока, используемый для получения списка MPM для ALWIP, должен быть таким же, как и блок, используемый для получения списка MPM для внутрикадровых режимов без-ALWIP.a) In one example, the adjacent block to the left of the current block used to obtain the MPM list for ALWIP must be the same as the block used to obtain the MPM list for non-ALWIP intraframe modes.

(1) Если предположить, что верхний левый угол текущего блока равен (xCb, yCb), W и H – ширина и высота текущего блока, то в одном примере левый соседний блок используется для получения списка MPM как для ALWIP, так и для внутрикадровых режимов без-ALWIP может покрывать позиции (xCb-1, yCb). В альтернативном примере левый соседний блок, используемый для получения списка MPM как для режима ALWIP, так и для внутрикадрового режима без-ALWIP, может покрывать позицию (xCb-1, yCb+H-1).(1) Assuming that the top left corner of the current block is (xCb, yCb), W and H are the width and height of the current block, then in one example the left adjacent block is used to obtain a list of MPMs for both ALWIP and intraframe modes no-ALWIP can cover positions (xCb-1, yCb). In an alternative example, the left adjacent block used to obtain the MPM list for both ALWIP mode and intra-ALWIP mode may cover the position (xCb-1, yCb+H-1).

(2) Например, A2 и B2 – левый соседний блок и верхний соседний блок, используемые при составлении унифицированного списка MPM, как показано на фиг. 10. (2) For example, A2 and B2 are the left neighbor block and the top neighbor block used in constructing the unified MPM list, as shown in FIG. 10.

b) В одном примере блок, соседний с текущим блоком, который используется для получения списка MPM для ALWIP, должен быть таким же, как блок, используемый для получения списка MPM для внутрикадровых режимов без-ALWIP.b) In one example, the block adjacent to the current block that is used to obtain the MPM list for ALWIP must be the same as the block used to obtain the MPM list for non-ALWIP intraframe modes.

(1) Предположим, что верхний левый угол текущего блока имеет позицию (xCb, yCb), W и H – ширина и высота текущего блока, то в одном примере верхний соседний блок, используемый для получения списка MPM как для ALWIP, так и для внутрикадровых режимов без-ALWIP, может покрывать позиции (xCb, yCb-1). В альтернативном примере верхний соседний блок, используемый для получения списка MPM как для режима ALWIP, так и для внутрикадрового режима без-ALWIP, может покрывать позицию (xCb + W-1, yCb-1).(1) Assuming the top left corner of the current block has position (xCb, yCb), W and H are the width and height of the current block, then in one example the top adjacent block is used to obtain the MPM list for both ALWIP and intraframe modes without-ALWIP, can cover positions (xCb, yCb-1). In an alternative example, the top adjacent block used to obtain the MPM list for both ALWIP mode and intraframe non-ALWIP mode may cover position (xCb + W-1, yCb-1).

(2) Например, A1 и B1 – левый соседний блок и верхний соседний блок, используемые при составлении унифицированного списка MPM, как показано на фиг. 10. (2) For example, A1 and B1 are the left neighbor block and the top neighbor block used in constructing the unified MPM list, as shown in FIG. 10.

3. Предлагается, что список MPM для ALWIP может быть составлен по-разному в соответствии с шириной и/или высотой текущего блока.3. It is proposed that the MPM list for ALWIP can be constructed differently according to the width and/or height of the current block.

a) В одном примере при разных размеров блока может быть получен доступ к разным соседним блокам.a) In one example, different neighboring blocks may be accessed at different block sizes.

4. Предлагается, что список MPM для ALWIP и список MPM для внутрикадровый режимов без-ALWIP может быть составлен с помощью одной и той же процедуры, но с разными параметрами.4. It is proposed that the MPM list for ALWIP and the MPM list for intraframe non-ALWIP modes can be constructed using the same procedure but with different parameters.

a) В одном примере K из S режимов внутрикадрового предсказания в процедуре составления списка MPM для внутрикадровых режимов без-ALWIP может быть получен для списка MPM, используемого в режиме ALWIP. Например, K равен 3, и S равен 6.a) In one example, K of S intra-prediction modes in the MPM list generation procedure for non-ALWIP intra-frame modes may be obtained for the MPM list used in the ALWIP mode. For example, K is 3 and S is 6.

(1) В одном примере первые K режимов внутрикадрового предсказания в процедуре составления списка MPM могут быть получены для списка MPM, используемого в режиме ALWIP.(1) In one example, the first K intra-prediction modes in the MPM list generation procedure may be obtained for the MPM list used in the ALWIP mode.

b) В одном примере первый режим в списке MPM может быть другим.b) In one example, the first mode in the MPM list may be different.

(1) Например, первый режим в списке MPM для внутрикадрового режима без-ALWIP может быть режимом Planar, но он может быть режимом X0 в списке MPM для ALWIP.(1) For example, the first mode in the MPM list for non-ALWIP intraframe mode may be Planar mode, but it may be X0 mode in the MPM list for ALWIP.

1) В одном примере X0 может быть режимом внутрикадрового предсказания ALWIP, преобразованным из режима Planar.1) In one example, X0 may be an ALWIP intra-prediction mode converted from a Planar mode.

c) В одном примере режимы заполнения в списке MPM могут быть разными.c) In one example, the padding modes in the MPM list may be different.

(1) Например, первыми тремя режимами заполнения в списке MPM для внутрикадрового режима без-ALWIP могут быть режимы DC, Vertical и Horizontal, но они могут быть режимами Mode X1, X2, X3 в списке MPM для ALWIP.(1) For example, the first three padding modes in the MPM list for intraframe non-ALWIP mode may be Modes DC, Vertical and Horizontal, but they may be Mode X1, X2, X3 in the MPM list for ALWIP.

1) В одном примере режимы X1, X2, X3 могут быть разными для разных sizeId.1) In one example, the modes X1, X2, X3 can be different for different sizeId.

(2) В одном примере количество режимов заполнения может быть другим.(2) In one example, the number of filling modes may be different.

d) В одном примере соседние режимы в списке MPM могут быть разными.d) In one example, adjacent modes in the MPM list may be different.

(1) Например, нормальные режимы внутрикадрового предсказания соседних блоков используются для составления списка MPM для внутрикадровых режимов без-ALWIP, и они преобразуются в режимы ALWIP внутрикадрового предсказания для составления списка MPM для режима ALWIP.(1) For example, normal intra-adjacent block prediction modes are used to construct the MPM list for non-ALWIP intra-frame modes, and they are converted to intra-frame prediction ALWIP modes to construct the MPM list for the ALWIP mode.

e) В одном примере смещенные режимы в списке MPM могут быть разными.e) In one example, the biased modes in the MPM list may be different.

(1) Например, X+K0, где X – нормальный режим внутрикадрового предсказания, и K0 – целое число, может быть помещено в список MPM для внутрикадровых режимов без-ALWIP, и Y+K1, где Y – режим внутрикадрового предсказания ALWIP, и K1 – целое число, может быть помещено в список MPM для ALWIP, где K0 может отличаться от K1.(1) For example, X+K0, where X is the normal intra-prediction mode, and K0 is an integer, can be placed in the MPM list for non-ALWIP intra-frame modes, and Y+K1, where Y is the ALWIP intra-prediction mode, and K1 is an integer that can be placed in the MPM list for ALWIP, where K0 may be different from K1.

1) В одном примере K1 может зависеть от ширины и высоты.1) In one example, K1 may depend on width and height.

5. Предлагается, что соседний блок обрабатывается как недоступный в том случае, если он закодирован с ALWIP при составлении списка MPM для текущего блока с внутрикадровыми режимами без-ALWIP.5. It is proposed that an adjacent block is treated as unreachable if it is encoded with ALWIP when compiling the MPM list for the current block with non-ALWIP intraframe modes.

a) В качестве альтернативы, соседний блок обрабатывается как закодированный с заданным режимом внутрикадрового предсказания (например, режимом Planar) в том случае, если он закодирован с ALWIP при составлении списка MPM для текущего блока с внутрикадровыми режимами без-ALWIP.a) Alternatively, an adjacent block is treated as encoded with a given intra-prediction mode (eg, Planar mode) if it is encoded with ALWIP when compiling the MPM list for the current block with non-ALWIP intra-frame modes.

6. Предлагается, что соседний блок обрабатывается как недоступный в том случае, если он закодирован с внутрикадровыми режимами без-ALWIP при составлении списка MPM для текущего блока в режиме ALWIP.6. It is proposed that an adjacent block is treated as unavailable if it is encoded with non-ALWIP intraframe modes when constructing the MPM list for the current block in ALWIP mode.

a) В качестве альтернативы, соседний блок обрабатывается как закодированный с заданным режимом X внутрикадрового предсказания ALWIP, если он закодирован с внутрикадровым режимом без-ALWIP при составлении списка MPM для текущего блока в режиме ALWIP.a) Alternatively, an adjacent block is treated as encoded with the specified ALWIP intra-prediction mode X if it is encoded with non-ALWIP intra-frame mode when compiling the MPM list for the current block in ALWIP mode.

(1) В одном примере X может зависеть от размеров блока, таких как ширина и/или высота.(1) In one example, X may depend on the dimensions of the block, such as width and/or height.

7. Предлагается удалить хранение флага ALWIP из строкового буфера.7. It is proposed to remove the ALWIP flag storage from the string buffer.

a) В одном примере, когда 2-й блок, к которому необходимо получить доступ, расположен в другой строке/области LCU/CTU по сравнению с текущим блоком, условная проверка того, закодирован ли 2-й блок с ALWIP, пропускается.a) In one example, when the 2nd block to be accessed is located in a different LCU/CTU row/area than the current block, the conditional check of whether the 2nd block is ALWIP encoded is skipped.

b) В одном примере, когда 2-й блок, к которому нужно получить доступ, расположен в другой строке/области LCU/CTU по сравнению с текущим блоком, 2-й блок обрабатывается так же, как режим без-ALWIP, например, обрабатывается как нормальный внутрикадровый кодированный блок.b) In one example, when the 2nd block to be accessed is located in a different LCU/CTU row/area compared to the current block, the 2nd block is processed in the same way as non-ALWIP mode, e.g. like a normal intra-frame coded block.

8. При кодировании флага ALWIP можно использовать не более K (K> = 0) контекстов.8. When encoding the ALWIP flag, no more than K (K> = 0) contexts can be used.

a) В одном примере K = 1.a) In one example, K = 1.

9. Предлагается сохранять преобразованный режим внутрикадрового предсказания кодированных блоков ALWIP вместо непосредственного хранения индекса режима, ассоциированного с режимом ALWIP.9. It is proposed to store the converted intra-frame prediction mode of ALWIP coded blocks instead of directly storing the mode index associated with the ALWIP mode.

a) В одном примере декодированный индекс режима, ассоциированный с одним кодированным блоком ALWIP, сопоставляется с нормальным внутрикадровым режимом, например, в соответствии с , как описано в разделе 2.5.7.a) In one example, the decoded mode index associated with one coded ALWIP block is mapped to a normal intra-frame mode, for example, in accordance with , as described in section 2.5.7.

b) Кроме того, в качестве альтернативы, полностью удаляется хранение флага ALWIP.b) Additionally, as an alternative, storage of the ALWIP flag is removed entirely.

c) Кроме того, в качестве альтернативы, полностью удаляется сохранение режима ALWIP.c) Additionally, as an alternative, the ALWIP mode persistence is removed completely.

d) Кроме того, в качестве альтернативы, может быть пропущена проверка состояния того, закодирован ли один соседний/текущий блок с флагом ALWIP.d) Additionally, as an alternative, the status check of whether one adjacent/current block is encoded with the ALWIP flag may be omitted.

e) Кроме того, в качестве альтернативы, может быть пропущено преобразование режимов, назначенных для ALWIP-кодированных блоков, и нормальных внутрикадровых предсказаний, ассоциированных с одним блоком, к которому осуществляется доступ.e) Additionally, as an alternative, mode mapping assigned to ALWIP-coded blocks and normal intra-frame predictions associated with one accessed block may be skipped.

ALWIP для разных цветовых компонентовALWIP for different color components

10. Предлагается, что предполагаемый внутрикадровый режим цветности (например, режим DM) мог всегда применяться в том случае, если соответствующий блок яркости закодирован в режиме ALWIP.10. It is proposed that the intended intra-frame chroma mode (eg DM mode) could always be used if the corresponding luminance block is encoded in ALWIP mode.

a) В одном примере внутрикадровый режим цветности получается как режим DM без сигнализации, если соответствующий блок яркости закодирован в режиме ALWIP.a) In one example, an intra-frame chroma mode is obtained as a DM mode without signaling if the corresponding luminance block is encoded in the ALWIP mode.

b) В одном примере соответствующий блок яркости может быть блоком, покрывающим соответствующий отсчет цветности, расположенный в заданной позиции (например, в верхнем левом углу текущего блока цветности, в центре текущего блока цветности).b) In one example, the corresponding luma block may be a block covering a corresponding chroma sample located at a given position (eg, the upper left corner of the current chroma block, the center of the current chroma block).

c) В одном примере режим DM может быть получен согласно режиму внутрикадрового предсказания соответствующего блока яркости, например, путем сопоставления режима (ALWIP) с одним из нормальных внутрикадровых режимов.c) In one example, the DM mode may be obtained according to the intra-prediction mode of the corresponding luminance block, for example, by mapping the (ALWIP) mode to one of the normal intra-frame modes.

11. Когда соответствующий блок яркости блоков цветности кодируется в режиме ALWIP, можно получить несколько режимов DM.11. When the corresponding luminance block of chrominance blocks is encoded in ALWIP mode, multiple DM modes can be obtained.

12. Предлагается, что специальный режим назначается блокам цветности, если один соответствующий блок яркости закодирован в режиме ALWIP.12. It is proposed that a special mode be assigned to chrominance blocks if one corresponding luminance block is encoded in ALWIP mode.

a) В одном примере специальный режим определяется как заданный нормальный режим внутрикадрового предсказания независимо от режима внутрикадрового предсказания, ассоциированного с блоками, кодированными ALWIP.a) In one example, a special mode is defined as a given normal intra-prediction mode regardless of the intra-prediction mode associated with ALWIP-coded blocks.

b) В одном примере этому специальному режиму могут быть назначены различные способы внутрикадрового предсказания.b) In one example, different intra-prediction methods may be assigned to this special mode.

13. Предполагается, что ALWIP может также применяться к компонентам цветности.13. It is intended that ALWIP may also be applied to chrominance components.

a) В одном примере матрица и/или вектор смещения могут быть разными для разных цветовых компонентов.a) In one example, the matrix and/or offset vector may be different for different color components.

b) В одном примере матрица и/или вектор смещения могут быть заданы совместно для Cb и Cr.b) In one example, the matrix and/or bias vector may be specified jointly for Cb and Cr.

(1) В одном примере компоненты Cb и Cr могут быть объединены.(1) In one example, the Cb and Cr components may be combined.

(2) В одном примере компоненты Cb и Cr могут чередоваться.(2) In one example, the Cb and Cr components may alternate.

c) В одном примере компонент цветности может совместно использовать тот же режим внутрикадрового предсказания ALWIP, что и соответствующий блок яркости.c) In one example, the chrominance component may share the same ALWIP intra-frame prediction mode as the corresponding luminance block.

(1) В одном примере один и тот же режим внутрикадрового предсказания ALWIP применяется к компоненту цветности, если в соответствующем блоке яркости применяется режим ALWIP, и блок цветности кодируется в режиме DM.(1) In one example, the same ALWIP intra-frame prediction mode is applied to the chrominance component if the corresponding luma block uses the ALWIP mode and the chroma block is encoded in the DM mode.

(2) В одном примере один и тот же режим внутрикадрового предсказания ALWIP применяется к компоненту цветности, и после этого можно пропустить линейную интерполяцию.(2) In one example, the same ALWIP intra-frame prediction mode is applied to the chrominance component, and linear interpolation can then be skipped.

(3) В одном примере один и тот же режим внутрикадрового предсказания ALWIP применяется к компоненту цветности с субдискретизированной матрицей и/или вектором смещения.(3) In one example, the same ALWIP intra-frame prediction mode is applied to a subsampled matrix and/or offset vector chrominance component.

d) В одном примере количество режимов внутрикадрового предсказания ALWIP для разных компонентов может быть различным.d) In one example, the number of ALWIP intra-frame prediction modes for different components may be different.

(1) Например, количество режимов внутрикадрового предсказания ALWIP для компонентов цветности может быть меньше, чем для компонента яркости для одной и той же ширины и высоты блока.(1) For example, the number of ALWIP intra-frame prediction modes for chrominance components may be less than for luminance components for the same block width and height.

Применимость ALWIPApplicability of ALWIP

14. Предлагается сигнализировать о возможности применения ALWIP.14. It is proposed to signal the possibility of using ALWIP.

a) Например, сигнализация может быть выполнена на уровне последовательности (например, в SPS), на уровне изображения (например, в PPS или заголовке изображения), на уровне слайса (например, в заголовке слайса), на уровне группы мозаичных элементов (например, в заголовке группы мозаичных элементов), на уровне мозаичного элемента, на уровне строки CTU или на уровне CTU.a) For example, signaling may be performed at the sequence level (e.g. in SPS), at the picture level (e.g. in PPS or picture header), at the slice level (e.g. in slice header), at the tile group level (e.g. in the tile group header), at the tile level, at the CTU row level, or at the CTU level.

b) Например, intra_lwip_flag не может сигнализироваться и получаться равным 0, если нельзя применить ALWIP.b) For example, intra_lwip_flag cannot be signaled and set to 0 if ALWIP cannot be applied.

15. Предполагается, что возможность применения ALWIP может зависеть от ширины (W) и/или высоты (H) блока.15. It is anticipated that the availability of ALWIP may depend on the width (W) and/or height (H) of the block.

c) Например, ALWIP может не применяться, если W>=T1 (или W>T1) и H>=T2 (или H>T2). Например, T1=T2=32;c) For example, ALWIP may not apply if W>=T1 (or W>T1) and H>=T2 (or H>T2). For example, T1=T2=32;

(1) Например, ALWIP может не применяться, если W<=T1 (или W<T1) и H<=T2 (или H<T2). Например, T1=T2=32;(1) For example, ALWIP may not apply if W<=T1 (or W<T1) and H<=T2 (or H<T2). For example, T1=T2=32;

d) Например, ALWIP может не применяться, если W>=T1 (или W>T1) или H>=T2 (или H>T2). Например, T1=T2=32;d) For example, ALWIP may not apply if W>=T1 (or W>T1) or H>=T2 (or H>T2). For example, T1=T2=32;

(1) Например, ALWIP может не применяться, если W<=T1 (или W<T1) или H<=T2 (или H<T2). Например, T1=T2=32 или T1=T2=8;(1) For example, ALWIP may not apply if W<=T1 (or W<T1) or H<=T2 (or H<T2). For example, T1=T2=32 or T1=T2=8;

e) Например, ALWIP может не применяться, если W+H>=T (или W*H>T). Например, T = 256;e) For example, ALWIP may not apply if W+H>=T (or W*H>T). For example, T = 256;

(1) Например, ALWIP может не применяться, если W+H<=T (или W+H<T). Например, T = 256;(1) For example, ALWIP may not apply if W+H<=T (or W+H<T). For example, T = 256;

f) Например, ALWIP может не применяться, если W*H>=T (или W*H>T). Например, T = 256;f) For example, ALWIP may not apply if W*H>=T (or W*H>T). For example, T = 256;

(1) Например, ALWIP может не применяться, если W*H<=T (или W*H<T). Например, T = 256;(1) For example, ALWIP may not apply if W*H<=T (or W*H<T). For example, T = 256;

g) Например, intra_lwip_flag не может сигнализироваться и получаться равным 0, если нельзя примерить ALWIP.g) For example, intra_lwip_flag cannot be signaled and set to 0 if ALWIP cannot be tried.

Проблемы вычислений в ALWIPCalculation problems in ALWIP

16. Предполагается, что любая операция сдвига, задействованная в ALWIP, может выполнять только сдвиг влево или вправо на число S, где S должно быть больше или равно 0.16. It is assumed that any shift operation involved in ALWIP can only perform a left or right shift by a number S, where S must be greater than or equal to 0.

a) В одном примере операция сдвига вправо может отличаться, когда S равен 0 или больше 0.a) In one example, the right shift operation may be different when S is 0 or greater than 0.

(1) В одном примере upsBdryX[x] должен быть вычислен в виде (1) In one example, upsBdryX[x] should be calculated as

uDwn>1, and upsBdryX[ x ]= , когда uDwn равен 1. uDwn>1, and upsBdryX[ x ]= , when uDwn is equal to 1.

b) В одном примере upsBdryX[x] должен быть вычислен в виде b) In one example, upsBdryX[x] should be calculated as

upsBdryX[ x ]= ( + ( 1 << Log2( uDwn ) >>1 ) ) >> Log2( uDwn ) upsBdryX[ x ]= ( + ( 1 << Log2( uDwn ) >>1 ) ) >> Log2( uDwn )

17. Предлагается, что результаты будут округляться в сторону нуля или от нуля в процессе повышающей дискретизации ALWIP.17. It is proposed that the results will be rounded towards or away from zero during the ALWIP upsampling process.

a) В одном примереa) In one example

predSamples[ xHor + dX ][ yHor ] = ( ( upHor − dX ) * predSamples[ xHor ][ yHor ] + dX * predSamples[ xHor + upHor ][ yHor ] +offsetHor) / upHor (8-X39) predSamples[ xHor + dX ][ yHor ] = ( ( upHor − dX ) * predSamples[ xHor ][ yHor ] + dX * predSamples[ xHor + upHor ][ yHor ] +offsetHor) / upHor (8-X39)

иAnd

predSamples[ xVer ][ yVer + dY ] = ( ( upVer − dY ) * predSamples[ xVer ][ yVer ] + dY * predSamples[ xVer ][ yVer + upVer ]+offsetVer ) / upVer, (8-X40) predSamples[ xVer ][ yVer + dY ] = ( ( upVer − dY ) * predSamples[ xVer ][ yVer ] + dY * predSamples[ xVer ][ yVer + upVer ]+offsetVer ) / upVer, (8-X40)

где offsetHor и offsetVer − целые числа. Например, offsetHor = upHor/2 и offsetVer=upVer/2.where offsetHor and offsetVer are integers. For example, offsetHor = upHor/2 and offsetVer=upVer/2.

Взаимодействие с другими инструментами кодированияInteroperability with other coding tools

18. Предлагается, что ALWIP можно использовать для CIIP-кодированного блока.18. It is proposed that ALWIP can be used for a CIIP encoded block.

a) В одном примере в CIIP-кодированном блоке может быть явно указано то, используется ли режим внутрикадрового предсказания ALWIP или нормальный режим внутрикадрового предсказания, такой как режим Planar, для выработки сигнала внутрикадрового предсказания.a) In one example, the CIIP coded block may explicitly indicate whether the ALWIP intra prediction mode or a normal intra prediction mode, such as the Planar mode, is used to generate the intra prediction signal.

b) В одном примере можно неявно сделать вывод о том, можно ли использовать режим внутрикадрового предсказания ALWIP или нормальный режим внутрикадрового предсказания, такой как режим Planar, для выработки сигнала внутрикадрового предсказания.b) In one example, it can be implicitly inferred whether the ALWIP intra prediction mode or a normal intra prediction mode such as the Planar mode can be used to generate the intra prediction signal.

(1) В одном примере режим внутрикадрового предсказания ALWIP никогда не может использоваться в CIIP-кодированном блоке.(1) In one example, the ALWIP intra-frame prediction mode may never be used in a CIIP-coded block.

1) В качестве альтернативы, нормальное внутрикадровое предсказание никогда не может использоваться в CIIP-кодированном блоке.1) Alternatively, normal intra-frame prediction can never be used in a CIIP-coded block.

(2) В одном примере из информации о соседних блоках можно сделать вывод о том, используется ли режим внутрикадрового предсказания ALWIP или нормальный режим внутрикадрового предсказания, такой как режим Planar, для выработки сигнала внутрикадрового предсказания.(2) In one example, it can be inferred from the neighboring block information whether an ALWIP intra-prediction mode or a normal intra-prediction mode such as a Planar mode is used to generate an intra-prediction signal.

19. Предлагается, что вся или часть процедуры, используемой для понижения дискретизации соседних отсчетов яркости в режиме CCLM, может использоваться для понижения дискретизации соседних отсчетов в режиме ALWIP.19. It is proposed that all or part of the procedure used to downsample adjacent luminance samples in CCLM mode can be used to downsample adjacent luminance samples in ALWIP mode.

a) В качестве альтернативы, вся или часть процедуры, используемой для понижения дискретизации соседних отсчетов яркости в режиме ALWIP, может использоваться для понижения дискретизации соседних отсчетов в режиме CCLM.a) Alternatively, all or part of the procedure used to downsample adjacent luminance samples in ALWIP mode can be used to downsample adjacent luminance samples in CCLM mode.

b) Процедура понижения дискретизации соседних отсчетов может быть использоваться с другими параметрами/аргументами, когда она используется в процессе CCLM и процессе ALWIP.b) The neighbor downsampling procedure can be used with other parameters/arguments when used in the CCLM process and the ALWIP process.

c) В одном примере способ понижения дискретизации (такой как выбор соседних местоположений яркости, фильтры понижающей дискретизации) в процессе CCLM может использоваться в процессе ALWIP.c) In one example, a downsampling technique (such as selection of neighboring luminance locations, downsampling filters) in the CCLM process may be used in the ALWIP process.

d) Процедура, используемая для понижения дискретизации соседних отсчетов яркости, по меньшей мере включает в себя выбор позиций понижающей дискретизации, фильтров понижающей дискретизации, операции округления и отбрасывания.d) The procedure used to downsample adjacent luminance samples at least includes selection of downsampling positions, downsampling filters, rounding and discarding operations.

20. Предполагается, что блок, кодированный с использованием режима ALWIP, не может применять RST, или/и вторичное преобразование, или/и преобразование вращения, или/и неразделимое вторичное преобразование (NSST).20. It is assumed that a block encoded using the ALWIP mode cannot apply RST, or/and secondary transform, or/and rotation transform, or/and non-separable secondary transform (NSST).

a) В одном примере то, может или нет такое усечение применяться, может зависеть от информации о размерах блока, например, таких же, как условия, описанные в (15).a) In one example, whether or not such truncation can be applied may depend on block size information, eg, the same as the conditions described in (15).

b) В качестве альтернативы, режим ALWIP может быть запрещен, когда применяется RST, или/и вторичное преобразование, или/и преобразование вращения, или/и NSST.b) Alternatively, ALWIP mode may be disabled when RST and/or secondary transform and/or rotation transform and/or NSST are applied.

c) В качестве альтернативы, блок, кодированный с использованием режима ALWIP, может применять RST, или/и вторичное преобразование, или/и преобразование вращения, или/и неразделимое вторичное преобразование (NSST).c) Alternatively, a block encoded using the ALWIP mode may apply an RST and/or a secondary transform and/or a rotation transform and/or a non-separable secondary transform (NSST).

(1) В одном примере выбор матрицы преобразования может зависеть от режима внутрикадрового предсказания ALWIP.(1) In one example, the choice of transform matrix may depend on the ALWIP intra-frame prediction mode.

(2) В одном примере выбор матрицы преобразования может зависеть от нормального режима внутрикадрового предсказания, который преобразуется из режима внутрикадрового предсказания ALWIP.(2) In one example, the choice of transformation matrix may depend on the normal intra-prediction mode, which is converted from the ALWIP intra-prediction mode.

(3) В одном примере выбор матрицы преобразования может зависеть от классификации нормального режима внутрикадрового предсказания, который преобразуется из режима внутрикадрового предсказания ALWIP.(3) In one example, the choice of transformation matrix may depend on the classification of the normal intra-prediction mode that is converted from the ALWIP intra-prediction mode.

21. Предполагается, что блок, кодированный с использованием режима ALWIP, не может применять DPCM на основе блоков (BDPCM) или RDPCM остатка.21. It is assumed that a block encoded using the ALWIP mode cannot apply block-based DPCM (BDPCM) or residual RDPCM.

a) В качестве альтернативы, режим ALWIP может быть запрещен при применении BDPCM или RDPCM.a) Alternatively, ALWIP mode may be disabled when using BDPCM or RDPCM.

22. Предлагается, что блок, кодированный с использованием режима ALWIP, может использовать только DCT-II в качестве преобразования.22. It is proposed that a block encoded using the ALWIP mode may only use DCT-II as a transform.

a) В одном примере всегда пропускается сигнализация индексов матрицы преобразования.a) One example always skips signaling the transformation matrix indices.

b) В качестве альтернативы, предлагается, что преобразование, используемое для блока, кодированного с использованием режима ALWIP, может быть получено неявным образом вместо явной сигнализации. Например, преобразование может быть выбрано в соответствии со способом, предложенным в JVET-M0303.b) As an alternative, it is proposed that the mapping used for a block encoded using the ALWIP mode may be obtained implicitly instead of through explicit signaling. For example, the transformation may be selected according to the method proposed in JVET-M0303.

c) В качестве альтернативы, предлагается, что блок, кодированный с использованием режима ALWIP, может использовать только пропуск преобразования.c) As an alternative, it is proposed that a block encoded using the ALWIP mode may use skip conversion only.

(1) Кроме того, в качестве альтернативы, когда используется ALWIP, пропускается сигнализация указания использования пропуска преобразования.(1) Alternatively, when ALWIP is used, signaling to indicate the use of conversion skip is omitted.

d) В одном примере информация о режиме ALWIP (такая как включен/отключен, индекс режима предсказания) может быть условно сигнализирована после указаний матрицы преобразования.d) In one example, ALWIP mode information (such as enable/disable, prediction mode index) may be conditionally signaled after the transformation matrix indications.

(1) В одном примере для данной матрицы преобразования (такой как пропуск преобразования или DCT-II) могут сигнализироваться указания информации о режиме ALWIP.(1) In one example, ALWIP mode information indications may be signaled for a given transform matrix (such as skip transform or DCT-II).

(2) Кроме того, в качестве альтернативы, указания информации о режиме ALWIP могут быть пропущены для некоторых заданных матриц преобразования.(2) Additionally, as an alternative, indications of ALWIP mode information may be omitted for some given transformation matrices.

23. Предлагается, что блок, кодированный с использованием режима ALWIP, считается закодированным с нормальным внутрикадровым предсказанием, преобразованным из режима внутрикадрового предсказания ALWIP, когда выбранное преобразование зависит от режима.23. It is proposed that a block encoded using the ALWIP mode is considered to be normal intra-prediction encoded transformed from the ALWIP intra-prediction mode when the selected transformation is mode dependent.

24. Режим ALWIP может не использовать пропуск преобразования.24. ALWIP mode may not use skip conversion.

a) Например, в этом случае нет необходимости дополнительно сигнализировать об использовании пропуска преобразования.a) For example, in this case there is no need to additionally signal the use of skip conversion.

b) В качестве альтернативы, режим ALWIP может быть запрещен, когда применяется пропуск преобразования.b) Alternatively, ALWIP mode may be disabled when skip conversion is applied.

(1) Например, нет необходимости сигнализировать информацию о режиме ALWIP, когда в этом случае применяется пропуск преобразования.(1) For example, there is no need to signal ALWIP mode information when skip translation is applied in this case.

25. В процессе фильтрации, например, в котором используется фильтр удаления блочности, адаптивное смещение отсчетов (SAO), адаптивный контурный фильтр (ALF), то, как выбирать фильтры и/или фильтровать ли отсчеты, можно определить путем использования ALWIP.25. In a filtering process, for example, which uses a deblocking filter, an adaptive sample offset (SAO), an adaptive loop filter (ALF), how to select filters and/or whether to filter samples can be determined by using ALWIP.

26. Нефильтрованные соседние отсчеты могут использоваться в режиме ALWIP.26. Unfiltered adjacent samples can be used in ALWIP mode.

a) В качестве альтернативы, фильтрованные соседние отсчеты могут использоваться в режиме ALWIP.a) Alternatively, filtered adjacent samples can be used in ALWIP mode.

b) В одном примере фильтрованные соседние отсчеты могут использоваться для понижения дискретизации, и нефильтрованные соседние отсчеты могут использоваться для повышения дискретизации.b) In one example, filtered neighbor samples can be used for downsampling, and unfiltered neighbor samples can be used for upsampling.

c) В одном примере нефильтрованные соседние отсчеты могут использоваться для понижения дискретизации, и фильтрованные соседние отсчеты могут использоваться для повышения дискретизации.c) In one example, unfiltered neighboring samples can be used for downsampling, and filtered neighboring samples can be used for upsampling.

d) В одном примере фильтрованные левые соседние отсчеты могут использоваться при повышающей дискретизации, и нефильтрованные верхние соседние отсчеты могут использоваться при повышающей дискретизации.d) In one example, filtered left neighbor samples can be used in upsampling, and unfiltered top neighbor samples can be used in upsampling.

e) В одном примере нефильтрованные левые соседние отсчеты могут использоваться при повышающей дискретизации, и фильтрованные верхние соседние отсчеты могут использоваться при повышающей дискретизации.e) In one example, unfiltered left neighbor samples can be used in upsampling, and filtered top neighbor samples can be used in upsampling.

f) В одном примере использование фильтра или нефильтрованных соседних отсчетов может зависеть от режима ALWIP.f) In one example, the use of a filter or unfiltered neighboring samples may depend on the ALWIP mode.

(1) В одном примере режим ALWIP может быть преобразован в традиционный режим внутрикадрового предсказания, и то, будут ли использоваться фильтрованные или нефильтрованные соседние отсчеты, может зависеть от преобразованного традиционного режима внутрикадрового предсказания. Например, такое решение аналогично традиционным режимам внутрикадрового предсказания.(1) In one example, the ALWIP mode may be converted to a conventional intra-prediction mode, and whether filtered or unfiltered neighboring samples are used may depend on the converted conventional intra-prediction mode. For example, this solution is similar to traditional intra-frame prediction modes.

(2) В качестве альтернативы, можно сигнализировать то, используются ли фильтрованные или нефильтрованные соседние отсчеты для режима ALWIP.(2) Alternatively, whether filtered or unfiltered neighbor samples are used for the ALWIP mode can be signaled.

g) В одном примере фильтрованные отсчеты могут вырабатываться так же, как в традиционных режимах внутрикадрового предсказания.g) In one example, filtered samples may be generated in the same way as in traditional intra-prediction modes.

27. То, какие матрицы и/или векторы смещения используются, может зависеть от информации об восстановлении первоначальной формы (также известной как LMCS, сопоставление яркости с масштабированием цветности).27. Which matrices and/or offset vectors are used may depend on the original shape restoration information (also known as LMCS, luma mapping to chrominance scaling).

a) В одном примере могут использоваться разные матрицы или/и векторы смещения, когда восстановление первоначальной формы включено и выключено.a) In one example, different matrices and/or displacement vectors may be used when reshaping is turned on and off.

b) В одном примере разные матрицы или/и векторы смещения могут использоваться для разных параметров восстановления первоначальной формы.b) In one example, different matrices and/or displacement vectors may be used for different shape recovery parameters.

c) В одном примере ALWIP всегда может выполняться в исходной области.c) In one example, ALWIP may always run in the source area.

(1) Например, соседний отсчет сопоставляется с исходной областью (если применяется восстановление первоначальной формы) перед использованием в ALWIP.(1) For example, the adjacent sample is mapped to the original region (if original shape recovery is applied) before being used in ALWIP.

28. Режим ALWIP может быть отключен в случае, когда применяется восстановление первоначальной формы.28. ALWIP mode can be disabled when restoring the original shape is used.

a) В качестве альтернативы, восстановление первоначальной формы можно отключить, если включен режим ALWIP.a) Alternatively, restoring to original shape can be disabled if ALWIP mode is enabled.

b) В одном примере ALWIP может быть отключен для содержания HDR (расширенный динамический диапазон), когда применяется восстановление первоначальной формы.b) In one example, ALWIP may be disabled for HDR (high dynamic range) content when reshaping is applied.

29. Матрицы, используемые в ALWIP, могут зависеть от битовой глубины отсчета.29. The matrices used in ALWIP may depend on the bit depth of the sample.

30. Предполагается, что предсказание, выработанное ALWIP, может рассматриваться как промежуточный сигнал, который будет обрабатываться для получения сигнала предсказания, который будет использоваться в дальнейшем.30. It is assumed that the prediction generated by ALWIP can be considered as an intermediate signal that will be processed to obtain a prediction signal that will be used further.

a) В одном примере комбинация позиционно-зависимого внутрикадрового предсказания (PDPC) может применяться к предсказанию, выработанному ALWIP, для выработки сигнала предсказания, который будет использоваться в дальнейшем.a) In one example, a combination of position-dependent intra-frame prediction (PDPC) may be applied to the prediction generated by ALWIP to generate a prediction signal to be used subsequently.

b) В одном примере предсказание граничных отсчетов, выработанное ALWIP, может быть отфильтровано с помощью соседних отсчетов, чтобы выработать сигнал предсказания, который будет использоваться в дальнейшем.b) In one example, the prediction of boundary samples produced by ALWIP can be filtered by neighboring samples to produce a prediction signal that will be used later.

31. Предлагается использовать интерполяционные фильтры, отличные от фильтра билинейной интерполяции, в процессе повышающей дискретизации ALWIP.31. It is proposed to use interpolation filters other than the bilinear interpolation filter in the ALWIP upsampling process.

a) В одном примере 4-отводные интерполяционные фильтры могут использоваться в процессе повышающей дискретизации ALWIP.a) In one example, 4-tap interpolation filters may be used in the ALWIP upsampling process.

(1) Например, 4-отводные интерполяционные фильтры в VVC, используемые для компенсации движения для компонентов цветности, могут использоваться в процессе повышающей дискретизации ALWIP.(1) For example, 4-tap interpolation filters in VVC, used for motion compensation for chrominance components, can be used in the ALWIP upsampling process.

(2) Например, 4-отводные интерполяционные фильтры в VVC, используемые для углового внутрикадрового предсказания, могут использоваться в процессе повышающей дискретизации ALWIP.(2) For example, 4-tap interpolation filters in VVC used for angular intra-frame prediction can be used in the ALWIP upsampling process.

(3) Например, 8-отводные интерполяционные фильтры в VVC, используемые для компенсации движения для компонента яркости, могут использоваться в процессе повышающей дискретизации ALWIP.(3) For example, 8-tap interpolation filters in VVC used for motion compensation for the luminance component can be used in the ALWIP upsampling process.

Примеры, описанные выше, могут быть включены в контекст способов, описанных ниже, например, способов 1100-1400 и 2000-3800, которые могут быть реализованы в кодере и/или декодере видео.The examples described above may be included in the context of the methods described below, for example, methods 1100-1400 and 2000-3800, which may be implemented in a video encoder and/or decoder.

На фиг. 11 показана блок-схема последовательности операций примерного способа обработки видео. Способ 1100 включает в себя, на этапе 1102, определение того, что текущий видеоблок закодирован с использованием режима аффинного линейно-взвешенного внутрикадрового предсказания (ALWIP).In fig. 11 is a flowchart of an exemplary video processing method. Method 1100 includes, at step 1102, determining that the current video block is encoded using an affine linear weighted intra-prediction (ALWIP) mode.

Способ 1100 включает в себя, на этапе 1104, составление, на основе определения по меньшей мере части списка наиболее вероятных режимом (МРМ) для режима ALWIP на основе по меньшей мере части списка MPM для внутрикадрового режима без-ALWIP.Method 1100 includes, at step 1104, constructing, based on the determination of at least a portion of the MPM list for the ALWIP mode, based on at least a portion of the MPM list for the intra-ALWIP non-ALWIP mode.

Способ 1100 включает в себя, на этапе 1106, выполнение, на основе списка MPM для режима ALWIP, преобразования между текущим видеоблоком и представлением битового потока текущего видеоблока.Method 1100 includes, at step 1106, performing, based on the ALWIP mode MPM list, a conversion between the current video block and a bitstream representation of the current video block.

В некоторых вариантах осуществления размер списка MPM режима ALWIP идентичен размеру списка MPM для внутрикадрового режима без-ALWIP. В примере размер списка MPM режима ALWIP равен 6.In some embodiments, the size of the ALWIP mode MPM list is identical to the size of the intraframe non-ALWIP mode MPM list. In the example, the ALWIP mode MPM list size is 6.

В некоторых вариантах осуществления способ 1100 дополнительно содержит этап вставки режимов по умолчанию в список MPM для режима ALWIP. В примере режимы по умолчанию вставляются перед частью списка MPM для режима ALWIP, который основан на списке MPM для внутрикадрового режима без-ALWIP. В другом примере режимы по умолчанию вставляются после части списка MPM для режима ALWIP, который основан на списке MPM для внутрикадрового режима без-ALWIP. В еще одном примере режимы по умолчанию вставляются с чередованием части списка MPM для режима ALWIP, который основан на списке MPM для внутрикадрового режима без-ALWIP.In some embodiments, method 1100 further comprises the step of inserting default modes into the MPM list for the ALWIP mode. In the example, the default modes are inserted before a portion of the MPM list for the ALWIP mode, which is based on the MPM list for the intraframe non-ALWIP mode. In another example, default modes are inserted after a portion of the MPM list for the ALWIP mode, which is based on the MPM list for the intraframe non-ALWIP mode. In yet another example, default modes are inserted by interleaving a portion of the MPM list for the ALWIP mode, which is based on the MPM list for the intraframe non-ALWIP mode.

В некоторых вариантах осуществления составление списка MPM для режима ALWIP и списка MPM для внутрикадрового режима без-ALWIP основано на одном или нескольких соседних блоках.In some embodiments, the construction of the MPM list for ALWIP mode and the MPM list for intraframe non-ALWIP mode is based on one or more neighboring blocks.

В некоторых вариантах осуществления, составление списка MPM для режима ALWIP и списка MPM для внутрикадрового режима без-ALWIP основано на высоте или ширине текущего видеоблока.In some embodiments, the composition of the MPM list for ALWIP mode and the MPM list for intra-ALWIP mode is based on the height or width of the current video block.

В некоторых вариантах осуществления составление списка MPM для режима ALWIP основано на первом наборе параметров, который отличается от второго набора параметров, используемых для составления списка MPM для внутрикадрового режима без-ALWIP.In some embodiments, the MPM listing for the ALWIP mode is based on a first set of parameters that is different from the second set of parameters used to construct the MPM listing for the intra-ALWIP non-ALWIP mode.

В некоторых вариантах осуществления способ 1100 дополнительно включает в себя этап определения того, что соседний блок текущего видеоблока был закодирован с помощью режима ALWIP, и назначение, при составлении списка MPM для внутрикадрового режима без-ALWIP, соседнего блока как недоступного.In some embodiments, method 1100 further includes the step of determining that an adjacent block of the current video block was encoded using the ALWIP mode, and designating, when compiling an MPM list for the non-ALWIP intraframe mode, the adjacent block as unavailable.

В некоторых вариантах осуществления способ 1100 дополнительно включает в себя этап определения того, что соседний блок текущего видеоблока был закодирован с помощью внутрикадрового режима без-ALWIP, и назначение, при составлении списка MPM для режима ALWIP, соседнего блока как недоступного.In some embodiments, method 1100 further includes the step of determining that an adjacent block of the current video block was encoded using an intra-frame non-ALWIP mode, and designating, when compiling an MPM list for the ALWIP mode, the adjacent block as unavailable.

В некоторых вариантах осуществления внутрикадровый режим без-ALWIP основан на нормальном внутрикадровом режиме, режиме внутрикадрового предсказания с множеством опорных линий (MRL) или инструменте внутрикадровых подразделов (ISP).In some embodiments, the non-ALWIP intra-frame mode is based on a normal intra-frame mode, a multi-reference line (MRL) intra-frame prediction mode, or an intra-frame subpartition (ISP) tool.

На фиг. 12 показана блок-схема последовательности операций примерного способа обработки видео. Способ 1200 включает в себя, на этапе 1210, определение того, что компонент яркости текущего видеоблока закодирован с помощью режима аффинного линейно-взвешенного внутрикадрового предсказания (ALWIP).In fig. 12 is a flowchart of an exemplary video processing method. Method 1200 includes, at step 1210, determining that the luminance component of the current video block is encoded using an affine linear weighted intra-prediction (ALWIP) mode.

Способ 1200 включает в себя, на этапе 1220, вывод, на основе определения цветности, относительно внутрикадрового режима.Method 1200 includes, at 1220, inferring, based on the chroma determination, regarding an intra-frame mode.

Способ 1200 включает в себя на этапе 1230 выполнение, на основе внутрикадрового режима цветности, преобразования между текущим видеоблоком и представлением битового потока текущего видеоблока.Method 1200 includes, at step 1230, performing, based on the intra-frame chroma mode, a conversion between the current video block and a bitstream representation of the current video block.

В некоторых вариантах осуществления компонент яркости охватывает заданный отсчет цветности компонента цветности. В примере заданный отсчет сигнала цветности представляет собой верхний левый отсчет или центральный отсчет компонента цветности.In some embodiments, the luma component spans a given chrominance count of the chrominance component. In the example, the specified chrominance signal sample is the top left sample or center sample of the chrominance component.

В некоторых вариантах осуществления предполагаемым внутрикадровым режимом цветности является режим DM.In some embodiments, the intended intra-frame chroma mode is DM mode.

В некоторых вариантах осуществления предполагаемым внутрикадровым режимом цветности является режим ALWIP.In some embodiments, the intended intra-frame chroma mode is ALWIP mode.

В некоторых вариантах осуществления режим ALWIP применяется к одному или нескольким цветовым компонентам текущего видеоблока.In some embodiments, the ALWIP mode is applied to one or more color components of the current video block.

В некоторых вариантах осуществления разные матрицы или векторы смещения режима ALWIP применяются к разным цветовым компонентам текущего видеоблока. В одном примере разные матрицы или векторы смещения совместно заданы для компонентов Cb и Cr. В другом примере компоненты Cb и Cr объединены. В еще одном примере компоненты Cb и Cr чередуются.In some embodiments, different ALWIP mode bias matrices or vectors are applied to different color components of the current video block. In one example, different matrices or displacement vectors are jointly defined for the Cb and Cr components. In another example, the Cb and Cr components are combined. In yet another example, the Cb and Cr components alternate.

На фиг. 13 показана блок-схема последовательности операций примерного способа обработки видео. Способ 1300 включает в себя, на этапе 1302, определение того, что текущий видеоблок закодирован с использованием режима аффинного линейно-взвешенного внутрикадрового предсказания (ALWIP).In fig. 13 is a flowchart of an exemplary video processing method. Method 1300 includes, at step 1302, determining that the current video block is encoded using an affine linear weighted intra-prediction (ALWIP) mode.

Способ 1300 включает в себя, на этапе 1304, выполнение, на основе определения, преобразования между текущим видеоблоком и представлением битового потока текущего видеоблока.Method 1300 includes, at step 1304, performing, based on the determination, a conversion between the current video block and a bitstream representation of the current video block.

В некоторых вариантах осуществления определение основано на сигнализации в наборе параметров последовательности (SPS), наборе параметров изображения (PPS), заголовке слайса, заголовке группы мозаичных элементов, заголовке мозаичного элемента, строке единиц дерева кодирования (CTU) или области CTU.In some embodiments, the determination is based on signaling in a sequence parameter set (SPS), picture parameter set (PPS), slice header, tile group header, tile header, coding tree unit (CTU) line, or CTU area.

В некоторых вариантах осуществления определение основывается на высоте (H) или ширине (W) текущего видеоблока. Например, W > T1 или H > T2. В другом примере W ≥ T1 или H ≥ T2. В еще одном примере W < T1 или H < T2. В еще одном примере W ≤ T1 или H ≤ T2. В еще одном примере T1 = 32 и T2 = 32.In some embodiments, the determination is based on the height (H) or width (W) of the current video block. For example, W > T1 or H > T2. In another example, W ≥ T1 or H ≥ T2. In another example, W < T1 or H < T2. In another example, W ≤ T1 or H ≤ T2. In another example, T1 = 32 and T2 = 32.

В некоторых вариантах осуществления определение основывается на высоте (H) или ширине (W) текущего видеоблока. В одном примере W+H ≤ T. В другом примере W+H ≥ T. В еще одном примере W×H ≤ T. В еще одном примере W×H ≥ T. В еще одном примере T = 256.In some embodiments, the determination is based on the height (H) or width (W) of the current video block. In one example, W+H ≤ T. In another example, W+H ≥ T. In yet another example, W×H ≤ T. In yet another example, W×H ≥ T. In yet another example, T = 256.

На фиг. 14 показана блок-схема последовательности операций примерного способа обработки видео. Способ 1400 включает в себя, на этапе 1402, определение того, что текущий видеоблок закодирован с использованием режима кодирования, который отличается от аффинного линейно-взвешенного внутрикадрового режима предсказания (ALWIP).In fig. 14 is a flowchart of an exemplary video processing method. Method 1400 includes, at step 1402, determining that the current video block is encoded using an encoding mode that is other than an affine linear weighted intra-prediction (ALWIP) mode.

Способ 1400 включает в себя, на этапе 1404, выполнение, на основе определения, преобразования между текущим видеоблоком и представлением битового потока текущего видеоблока.Method 1400 includes, at step 1404, performing, based on the determination, a conversion between the current video block and a bitstream representation of the current video block.

В некоторых вариантах осуществления режим кодирования представляет собой режим объединенного внутрикадрового и межкадрового предсказания (CIIP), и способ 1400 дополнительно включает в себя этап выполнения выбора между режимом ALWIP и нормальным режимом внутрикадрового предсказания. В одном примере выполнение выбора основано на явной сигнализации в представлении битового потока текущего видеоблока. В другом примере выбор выполняется на основе заданного правила. В еще одном примере заданное правило всегда выбирает режим ALWIP, когда текущий видеоблок закодирован с использованием режима CIIP. В еще одном примере заданное правило всегда выбирает нормальный режим внутрикадрового предсказания, когда текущий видеоблок закодирован с использованием режима CIIP.In some embodiments, the encoding mode is a combined intra-inter-prediction (CIIP) mode, and method 1400 further includes the step of selecting between an ALWIP mode and a normal intra-prediction mode. In one example, making a selection is based on explicit signaling in the bitstream representation of the current video block. In another example, the selection is made based on a given rule. In yet another example, the specified rule always selects the ALWIP mode when the current video block is encoded using the CIIP mode. In another example, the specified rule always selects the normal intra-prediction mode when the current video block is encoded using the CIIP mode.

В некоторых вариантах осуществления режим кодирования представляет собой режим предсказания межкомпонентной линейной модели (CCLM). В одном примере процедура понижающей дискретизации для режима ALWIP основана на процедуре понижающей дискретизации для режима предсказания CCLM. В другом примере процедура понижающей дискретизации для режима ALWIP основана на первом наборе параметров, и где процедура понижающей дискретизации для режима предсказания CCLM основана на втором наборе параметров, отличном от первого набора параметров. В еще одном примере процедура понижающей дискретизации для режима ALWIP или режима предсказания CCLM содержит по меньшей мере одно из: выбора позиций субдискретизации, выбора фильтров понижающей дискретизации, операции округления или операции отбрасывания.In some embodiments, the encoding mode is a cross-component linear model (CCLM) prediction mode. In one example, the downsampling procedure for the ALWIP mode is based on the downsampling procedure for the CCLM prediction mode. In another example, the downsampling procedure for the ALWIP mode is based on a first set of parameters, and where the downsampling procedure for the CCLM prediction mode is based on a second set of parameters different from the first set of parameters. In yet another example, a downsampling procedure for an ALWIP mode or a CCLM prediction mode comprises at least one of: selecting downsampling positions, selecting downsampling filters, a rounding operation, or a discarding operation.

В некоторых вариантах осуществления способ 1400 дополнительно включает в себя этап применения одного или нескольких из: сокращенного вторичного преобразования (RST), вторичного преобразования, преобразования поворота или нераздельного вторичного преобразования (NSST).In some embodiments, method 1400 further includes the step of applying one or more of a reduced secondary transform (RST), a secondary transform, a rotation transform, or a non-separated secondary transform (NSST).

В некоторых вариантах осуществления способ 1400 дополнительно включает в себя этап применения блочной дифференциальной импульсно-кодовой модуляции (DPCM) или DPCM остатка.In some embodiments, method 1400 further includes the step of applying block differential pulse code modulation (DPCM) or residual DPCM.

6. Примеры реализации раскрытой технологии6. Examples of implementation of the disclosed technology

На фиг. 15 показана блок-схема устройства 1500 обработки видео. Устройство 1500 может быть использовано для реализации одного или нескольких из способов, описанных в данном документе. Устройство 1500 может быть воплощено в виде смартфона, планшета, компьютера, приемника Интернета вещей (IoT) и т.д. Устройство 1500 может включать в себя один или несколько процессоров 1502, одно или несколько устройств памяти 1504 и аппаратные средства 1506 обработки видео. Процессор(ы) 1502 может (могут) быть выполнен(ы) с возможностью реализации одного или нескольких способов (включая, но не ограничиваясь ими, способы 1100-1400 и 2000-3800), описанные в данном документе. Память (блоки памяти) 1504 может (могут) использоваться для хранения данных и кода, используемых для реализации способов и технологий, описанных в данном документе. Аппаратные средства 1506 обработки видео могут использоваться для реализации, в виде схем аппаратных средств, некоторых технологий, описанных в данном документе.In fig. 15 is a block diagram of a video processing apparatus 1500. Apparatus 1500 may be used to implement one or more of the methods described herein. The device 1500 may be embodied as a smartphone, tablet, computer, Internet of Things (IoT) receiver, etc. Apparatus 1500 may include one or more processors 1502, one or more memory devices 1504, and video processing hardware 1506. Processor(s) 1502 may be configured to implement one or more methods (including, but not limited to, methods 1100-1400 and 2000-3800) described herein. Memory(s) 1504 may be used to store data and code used to implement the methods and technologies described herein. Video processing hardware 1506 may be used to implement, in the form of hardware circuits, some of the technologies described herein.

В некоторых вариантах осуществления способы кодирования видео могут быть реализованы с использованием устройства, которое реализовано на аппаратной платформе, как описано со ссылкой на фиг. 15.In some embodiments, video encoding methods may be implemented using a device that is implemented on a hardware platform, as described with reference to FIG. 15.

На фиг. 16 показана блок-схема, иллюстрирующая пример системы 1600 обработки видео, в которой могут быть реализованы различные технологии, раскрытые в данном документе. Различные реализации могут включать в себя некоторые или все компоненты системы 1600. Система 1600 может включать в себя вход 1602 для приема видеосодержания. Видеосодержание может приниматься в необработанном или несжатом формате, например, с 8- или 10-разрядными многокомпонентными пиксельными значениями, или может быть представлено в сжатом или кодированном формате. Вход 1602 может представлять сетевой интерфейс, интерфейс периферийной шины или интерфейс запоминающего устройства. Примеры сетевого интерфейса включают в себя проводные интерфейсы, такие как Ethernet, пассивная оптическая сеть (PON) и т.д., и беспроводные интерфейсы, такие как Wi-Fi или сотовые интерфейсы.In fig. 16 is a block diagram illustrating an example of a video processing system 1600 in which various technologies disclosed herein may be implemented. Various implementations may include some or all of the components of the system 1600. The system 1600 may include an input 1602 for receiving video content. Video content may be received in a raw or uncompressed format, such as 8- or 10-bit multi-pixel values, or may be presented in a compressed or encoded format. Input 1602 may represent a network interface, a peripheral bus interface, or a storage device interface. Examples of a network interface include wired interfaces such as Ethernet, passive optical network (PON), etc., and wireless interfaces such as Wi-Fi or cellular interfaces.

Система 1600 может включать в себя компонент 1604 кодирования, который может реализовывать различные способы кодирования или шифрования, описанные в настоящем документе. Компонент 1604 кодирования позволяет уменьшить среднюю скорость передачи битов видео от входа 1602 до выхода компонента 1604 кодирования, чтобы создать кодированное представление видео. Поэтому технологии кодирования иногда называют технологиями сжатия видео или транскодирования видео. Выходной сигнал компонента 1604 кодирования может быть либо сохранен, либо передан через подключенную связь, как представлено компонентом 1606. Сохраненное или переданное битовое (или кодированное) представление видео, полученного на входе 1602, может использоваться компонентом 1608 для выработки пиксельных значений или отображаемого видео, которое отправляется в интерфейс 1610 дисплея. Процесс выработки доступного для просмотра пользователем видео из представления битового потока иногда называется распаковкой видео. Кроме того, хотя определенные операции обработки видео упоминаются как операции или инструменты "кодирования", следует понимать, что инструменты или операции кодирования используются в кодере, и соответствующие инструменты или операции декодирования, которые обращают результаты кодирования, будут выполняться посредством декодера.System 1600 may include an encoding component 1604 that may implement various encoding or encryption methods described herein. The encoding component 1604 allows the average video bit rate from the input 1602 to the output of the encoding component 1604 to be reduced to create an encoded representation of the video. Therefore, encoding technologies are sometimes called video compression technologies or video transcoding technologies. The output of encoding component 1604 may be either stored or transmitted via a connected link, as represented by component 1606. The stored or transmitted bitmap (or encoded) representation of the video received at input 1602 may be used by component 1608 to generate pixel values or display video that sent to display interface 1610. The process of producing user-viewable video from a bitstream representation is sometimes called video decompression. In addition, although certain video processing operations are referred to as "encoding" operations or tools, it should be understood that the encoding tools or operations are used in the encoder, and the corresponding decoding tools or operations that reverse the encoding results will be performed by the decoder.

Примеры интерфейса периферийной шины или интерфейса дисплея могут включать в себя универсальную последовательную шину (USB), мультимедийный интерфейс высокой четкости (HDMI) или порт дисплея (Displayport) и т.д. Примеры интерфейсов запоминающих устройств включают в себя SATA (последовательное подключение с использованием передовых технологий), PCI, интерфейс IDE и т.п. Технологии, описанные в настоящем документе, могут быть воплощены в различных электронных устройствах, таких как мобильные телефоны, ноутбуки, смартфоны или другие устройства, которые способны выполнять обработку цифровых данных и/или отображение видео.Examples of the peripheral bus interface or display interface may include a universal serial bus (USB), a high-definition multimedia interface (HDMI), or a display port (Displayport), etc. Examples of storage device interfaces include SATA (Serial Advanced Technology), PCI, IDE interface, etc. The technologies described herein may be implemented in various electronic devices, such as mobile phones, laptops, smartphones, or other devices that are capable of digital data processing and/or video display.

Некоторые варианты осуществления раскрытой технологии включают в себя принятие решения или определение включения инструмента или режима обработки видео. В одном примере, когда инструмент или режим обработки видео включены, кодер будет использовать или реализовывать инструмент или режим при обработке видеоблока, но не обязательно может изменять результирующий битовый поток на основе использования инструмента или режима. То есть преобразование из видеоблока в представление битового потока видео будет использовать инструмент или режим обработки видео, когда он включен, на основе решения или определения. В другом примере, когда инструмент или режим обработки видео включены, декодер будет обрабатывать битовый поток, зная, что битовый поток был изменен, на основе инструмента или режима обработки видео. То есть преобразование из представления битового потока видео в видеоблок будет выполняться с использованием инструмента обработки видео или режима, который был включен на основе решения или определения. Some embodiments of the disclosed technology include deciding or determining whether to enable a video processing tool or mode. In one example, when a video processing tool or mode is enabled, the encoder will use or implement the tool or mode when processing a video block, but may not necessarily change the resulting bitstream based on the use of the tool or mode. That is, the conversion from a video block to a video bitstream representation will use the video processing tool or mode when enabled, based on the decision or definition. In another example, when a video processing tool or mode is enabled, the decoder will process the bitstream knowing that the bitstream has been modified based on the video processing tool or mode. That is, the conversion from a video bitstream representation to a video block will be performed using the video processing tool or mode that was enabled based on the decision or determination.

Некоторые варианты осуществления раскрытой технологии включают в себя принятие решения или определение относительно того, отключить инструмент или режим обработки видео. В одном примере, когда инструмент или режим обработки видео отключены, кодер не будет использовать инструмент или режим при преобразовании видеоблока в представление битового потока видео. В другом примере, когда инструмент или режим обработки видео отключены, декодер будет обрабатывать битовый поток, зная, что битовый поток не был изменен, с использованием инструмента или режима обработки видео, которые были отключены на основе решения или определения.Some embodiments of the disclosed technology include deciding or determining whether to disable a video processing tool or mode. In one example, when a video processing tool or mode is disabled, the encoder will not use the tool or mode when converting a video block to a video bitstream representation. In another example, when a video processing tool or mode is disabled, the decoder will process the bitstream knowing that the bitstream has not been modified using the video processing tool or mode that was disabled based on the decision or determination.

На фиг. 17 показана блок-схема, которая иллюстрирует примерную систему 100 кодирования видео, которая может использовать способы настоящего раскрытия. Как показано на фиг. 17, система 100 кодирования видео может включать в себя устройство-источник 110 и устройство-получатель 120. Устройство-источник 110, которое может называться устройством кодирования видео, вырабатывает кодированные видеоданные. Устройство-получатель 120, которое может называться устройством декодирования видео, может декодировать кодированные видеоданные, выработанные устройством-источником 110. Устройство-источник 110 может включать в себя источник 112 видео, видеокодер 114 и интерфейс 116 ввода/вывода (I/O). In fig. 17 is a block diagram that illustrates an example video encoding system 100 that may use the methods of the present disclosure. As shown in FIG. 17, the video encoding system 100 may include a source device 110 and a destination device 120. The source device 110, which may be referred to as a video encoder, produces encoded video data. A destination device 120, which may be referred to as a video decoder, may decode encoded video data produced by a source device 110. The source device 110 may include a video source 112, a video encoder 114, and an input/output (I/O) interface 116.

Источник 112 видео может включать в себя источник, такой как устройство захвата видео, интерфейс для приема видеоданных от поставщика содержания видео и/или систему компьютерной графики для выработки видеоданных или сочетание таких источников. Видеоданные могут содержать одно или несколько изображений. Видеокодер 114 кодирует видеоданные из источника 112 видео для выработки битового потока. Битовый поток может включать в себя последовательность битов, которые образуют кодированное представление видеоданных. Битовый поток может включать в себя кодированные изображения и ассоциированные данные. Кодированное изображение представляет собой кодированное представление изображения. Ассоциированные данные могут включать в себя наборы параметров последовательности, наборы параметров изображения и другие синтаксические структуры. Интерфейс 116 ввода/вывода может включать в себя модулятор/демодулятор (модем) и/или передатчик. Кодированные видеоданные могут быть переданы непосредственно в устройство-получатель 120 через интерфейс 116 ввода/вывода через сеть 130a. Кодированные видеоданные также могут быть сохранены на носителе информации/сервере 130b для доступа со стороны устройства-получателя 120.Video source 112 may include a source such as a video capture device, an interface for receiving video data from a video content provider, and/or a computer graphics system for generating video data, or a combination of such sources. Video data may contain one or more images. Video encoder 114 encodes video data from video source 112 to produce a bitstream. The bit stream may include a sequence of bits that form an encoded representation of video data. The bitstream may include encoded images and associated data. A coded image is a coded representation of an image. Associated data may include sequence parameter sets, image parameter sets, and other syntactic structures. I/O interface 116 may include a modulator/demodulator (modem) and/or a transmitter. The encoded video data may be transmitted directly to the recipient device 120 via I/O interface 116 via network 130a. The encoded video data may also be stored on storage medium/server 130b for access by recipient device 120.

Устройство-получатель 120 может включать в себя интерфейс 126 ввода/вывода, видеодекодер 124 и устройство 122 отображения.The recipient device 120 may include an input/output interface 126, a video decoder 124, and a display device 122.

Интерфейс 126 ввода/вывода может включать в себя приемник и/или модем. Интерфейс 126 ввода/вывода может получать кодированные видеоданные из устройства-источника 110 или носителя информации/сервера 130b. Видеодекодер 124 может декодировать кодированные видеоданные. Устройство 122 отображения может отображать декодированные видеоданные для пользователя. Устройство 122 отображения может быть интегрировано с целевым устройством 120 или может быть внешним по отношению к целевому устройству 120, которое конфигурируется для взаимодействия с внешним устройством отображения. I/O interface 126 may include a receiver and/or a modem. I/O interface 126 may receive encoded video data from source device 110 or media/server 130b. Video decoder 124 may decode encoded video data. The display device 122 may display the decoded video data to the user. Display device 122 may be integrated with target device 120 or may be external to target device 120 that is configured to interface with the external display device.

Видеокодер 114 и видеодекодер 124 могут работать в соответствии со стандартом сжатия видео, например, стандартом высокоэффективного кодирования видео (HEVC), стандартом универсального кодирования видео (VVM) и другими существующими и/или дополнительными стандартами.Video encoder 114 and video decoder 124 may operate in accordance with a video compression standard, such as the High Efficiency Video Coding (HEVC) standard, the Versatile Video Coding (VVM) standard, and other existing and/or additional standards.

На фиг. 18 показана блок-схема, иллюстрирующая пример видеокодера 200, который может быть видеокодером 114 в системе 100, проиллюстрированной на фиг. 17.In fig. 18 is a block diagram illustrating an example of video encoder 200, which may be video encoder 114 in the system 100 illustrated in FIG. 17.

Видеокодер 200 может быть выполнен с возможностью выполнения любого или всех способов настоящего раскрытия. В примере, показанном на фиг. 18, видеокодер 200 включает в себя множество функциональных компонентов. Способы, описанные в настоящем раскрытии, могут совместно использоваться различными компонентами видеокодера 200. В некоторых примерах процессор может быть выполнен с возможностью выполнения любого или всех способов, описанных в настоящем раскрытии.Video encoder 200 may be configured to perform any or all of the methods of the present disclosure. In the example shown in FIG. 18, video encoder 200 includes a variety of functional components. The methods described in the present disclosure may be shared among various components of video encoder 200. In some examples, the processor may be configured to perform any or all of the methods described in the present disclosure.

Функциональные компоненты видеокодера 200 могут включать в себя блок 201 разделения, блок 202 предсказания, который может включать в себя блок 203 выбора режима, блок 204 оценки движения, блок 205 компенсации движения и блок 206 внутрикадрового предсказания, блок 207 выработки остатка, блок 208 преобразования, блок 209 квантования, блок 210 обратного квантования, блок 211 обратного преобразования, блок 212 восстановления, буфер 213 и блок 214 энтропийного кодирования.Functional components of the video encoder 200 may include a division block 201, a prediction block 202, which may include a mode selection block 203, a motion estimation block 204, a motion compensation block 205 and an intra-frame prediction block 206, a residual generation block 207, a transform block 208, a quantization unit 209, an inverse quantization unit 210, an inverse transform unit 211, a reconstruction unit 212, a buffer 213, and an entropy encoding unit 214.

В других примерах видеокодер 200 может включать в себя больше или меньше функциональных компонентов или различные функциональные компоненты. В примере блок 202 предсказания может включать в себя блок внутрикадрового блочного копирования (IBC). Блок IBC может выполнять предсказание в режиме IBC, в котором по меньшей мере одно опорное изображение является изображением, на котором расположен текущий видеоблок.In other examples, video encoder 200 may include more or fewer functional components, or different functional components. In an example, prediction block 202 may include an intra-block copy (IBC) block. The IBC block may perform prediction in an IBC mode in which at least one reference image is an image on which the current video block is located.

Кроме того, некоторые компоненты, такие как блок 204 оценки движения и блок 205 компенсации движения, могут быть выполнены с высокой степенью интеграции, но в примере, показанном на фиг. 18, они представлены отдельно для упрощения объяснения.In addition, some components, such as motion estimation block 204 and motion compensation block 205, can be implemented with a high degree of integration, but in the example shown in FIG. 18, they are presented separately for ease of explanation.

Блок 201 разделения может разбивать изображение на один или несколько видеоблоков. Видеокодер 200 и видеодекодер 300 могут поддерживать различные размеры видеоблоков.The division unit 201 may divide the image into one or more video blocks. Video encoder 200 and video decoder 300 may support different video block sizes.

Блок 203 выбора режима может выбрать один из режимов кодирования, внутрикадровый или межкадровый, например, на основе результатов ошибок, и предоставить результирующий внутрикадровый или межкадровый кодированный блок в блок 207 выработки остатка для выработки данных блока остатка и в блок 212 восстановления для восстановления кодированного блока с целью использования в качестве опорного изображения. В некотором примере блок 203 выбора режима может выбрать комбинацию режима внутрикадрового и межкадрового предсказания (CIIP), в котором предсказание основано на сигнале межкадрового предсказания и сигнале внутрикадрового предсказания. Блок 203 выбора режима также может выбирать разрешение для вектора движения (например, с точностью подпикселей или целочисленных пикселей) для блока в случае межкадрового предсказания.The mode selection unit 203 may select one of the encoding modes, intra-frame or inter-frame, for example, based on the error results, and provide the resulting intra-frame or inter-frame coded block to a residual generation unit 207 to generate the residual block data and to a recovery unit 212 to reconstruct the encoded block with for use as a reference image. In some example, the mode selector 203 may select a combination of an intra-frame and inter-frame prediction (CIIP) mode in which the prediction is based on an inter-frame prediction signal and an intra-frame prediction signal. The mode selector 203 may also select a motion vector resolution (eg, sub-pixel or integer pixel precision) for the block in the case of inter-frame prediction.

Чтобы выполнить межкадровое предсказание для текущего видеоблока, блок 204 оценки движения может выработать информацию движения для текущего видеоблока путем сравнения одного или нескольких опорных кадров из буфера 213 с текущим видеоблоком. Блок 205 компенсации движения может определять предсказанный видеоблок для текущего видеоблока на основе информации движения и декодированных отсчетов изображений из буфера 213, которые отличаются от изображения, ассоциированного с текущим видеоблоком.To perform inter-frame prediction for the current video block, motion estimator 204 may generate motion information for the current video block by comparing one or more reference frames from buffer 213 to the current video block. Motion compensation unit 205 may determine a predicted video block for the current video block based on motion information and decoded image samples from buffer 213 that are different from the image associated with the current video block.

Блок 204 оценки движения и блок 205 компенсации движения могут выполнять разные операции для текущего видеоблока, например, в зависимости от того, находится ли текущий видеоблок в I-слайсе, P-слайсе или B-слайсе.The motion estimation unit 204 and the motion compensation unit 205 may perform different operations for the current video block, for example, depending on whether the current video block is in an I-slice, a P-slice, or a B-slice.

В некоторых примерах блок 204 оценки движения может выполнять однонаправленное предсказание для текущего видеоблока, и блок 204 оценки движения может отыскивать опорные изображения из списка 0 или списка 1 для опорного видеоблока для текущего видеоблока. Затем блок 204 оценки движения может выработать опорный индекс, который указывает опорное изображение в списке 0 или списке 1, который содержит опорный видеоблок, и вектор движения, который указывает пространственное смещение между текущим видеоблоком и опорным видеоблоком. Блок 204 оценки движения может выводить опорный индекс, индикатор направления предсказания и вектор движения в качестве информации движения текущего видеоблока. Блок 205 компенсации движения может выработать предсказанный видеоблок текущего блока на основе опорного видеоблока, указанного в информации движения текущего видеоблока.In some examples, motion estimator 204 may perform unidirectional prediction for the current video block, and motion estimator 204 may retrieve reference images from list 0 or list 1 for the reference video block for the current video block. The motion estimator 204 may then generate a reference index that indicates a reference image in list 0 or list 1 that contains the reference video block, and a motion vector that indicates a spatial offset between the current video block and the reference video block. The motion estimation unit 204 may output the reference index, the prediction direction indicator, and the motion vector as motion information of the current video block. The motion compensation unit 205 may generate a predicted video block of the current block based on the reference video block specified in the motion information of the current video block.

В других примерах блок 204 оценки движения может выполнять двунаправленное предсказание для текущего видеоблока, блок 204 оценки движения может отыскивать опорные изображения в списке 0 для опорного видеоблока для текущего видеоблока и может отыскивать опорные изображения в списке 1 для другого опорного видеоблока для текущего видеоблока. Затем блок 204 оценки движения может выработать опорные индексы, которые указывают опорные изображения в списке 0 и списке 1, содержащем опорные видеоблоки и векторы движения, которые указывают пространственные смещения между опорными видеоблоками и текущим видеоблоком. Блок 204 оценки движения может выводить опорные индексы и векторы движения текущего видеоблока в качестве информации движения текущего видеоблока. Блок 205 компенсации движения может выработать предсказанный видеоблок текущего видеоблока на основе опорных видеоблоков, указанных в информации движения текущего видеоблока.In other examples, motion estimator 204 may perform bidirectional prediction for the current video block, motion estimator 204 may look up reference images in list 0 for a reference video block for the current video block, and can look up reference images in list 1 for another reference video block for the current video block. Motion estimator 204 may then generate reference indices that indicate reference pictures in list 0 and list 1 containing reference video blocks and motion vectors that indicate spatial offsets between the reference video blocks and the current video block. The motion estimation unit 204 may output reference indices and motion vectors of the current video block as motion information of the current video block. The motion compensation unit 205 may generate a predicted video block of the current video block based on the reference video blocks specified in the motion information of the current video block.

В некоторых примерах блок 204 оценки движения может выводить полный набор информации движения для процесса декодирования декодера.In some examples, motion estimator 204 may output a complete set of motion information for the decoder decoding process.

В некоторых примерах блок 204 оценки движения может не выводить полный набор информации движения для текущего видео. Скорее, блок 204 оценки движения может сигнализировать информацию движения текущего видеоблока со ссылкой на информацию движения другого видеоблока. Например, блок 204 оценки движения может определить, что информация движения текущего видеоблока достаточно похожа на информацию движения соседнего видеоблока.In some examples, motion estimator 204 may not output the full set of motion information for the current video. Rather, motion estimator 204 may signal motion information of the current video block with reference to motion information of another video block. For example, motion estimator 204 may determine that the motion information of the current video block is sufficiently similar to the motion information of an adjacent video block.

В одном примере блок 204 оценки движения может указывать в структуре синтаксиса, ассоциированной с текущим видеоблоком, значение, которое указывает видеодекодеру 300, что текущий видеоблок имеет ту же информацию движения, что и другой видеоблок.In one example, motion estimator 204 may indicate, in a syntax structure associated with the current video block, a value that indicates to video decoder 300 that the current video block has the same motion information as another video block.

В другом примере блок 204 оценки движения может идентифицировать в структуре синтаксиса, ассоциированной с текущим видеоблоком, другой видеоблок и разность векторов движения (MVD). Разность векторов движения указывает разницу между вектором движения текущего видеоблока и вектором движения указанного видеоблока. Видеодекодер 300 может использовать вектор движения указанного видеоблока и разность векторов движения для определения вектора движения текущего видеоблока.In another example, motion estimator 204 may identify, in the syntax structure associated with the current video block, another video block and a motion vector difference (MVD). The motion vector difference indicates the difference between the motion vector of the current video block and the motion vector of the specified video block. Video decoder 300 may use the motion vector of the specified video block and the difference of the motion vectors to determine the motion vector of the current video block.

Как обсуждалось выше, видеокодер 200 может с предсказанием сигнализировать о векторе движения. Два примера способов сигнализации предсказания, которые могут быть реализованы видеокодером 200, включают в себя расширенное предсказание вектора движения (AMVP) и сигнализацию в режиме слияния.As discussed above, video encoder 200 may predictively signal a motion vector. Two examples of prediction signaling techniques that may be implemented by video encoder 200 include enhanced motion vector prediction (AMVP) and merge mode signaling.

Блок 206 внутрикадрового предсказания может выполнять внутрикадровое предсказание для текущего видеоблока. Когда внутрикадровый блок предсказания 206 выполняет внутрикадровое предсказание в текущем блоке видеосигнала, блок 206 внутрикадрового предсказания может выработать данные предсказания для текущего видеоблока на основе декодированных отсчетов других видеоблоков в одном том же кадре. Данные предсказания для текущего видеоблока могут включать в себя предсказанный видеоблок и различные синтаксические элементы.The intra-frame prediction unit 206 may perform intra-frame prediction for the current video block. When the intra-frame prediction unit 206 performs intra-frame prediction on the current video block, the intra-frame prediction unit 206 may generate prediction data for the current video block based on decoded samples of other video blocks in the same frame. The prediction data for the current video block may include the predicted video block and various syntax elements.

Блок 207 выработки остатка может выработать данные остатка для текущего видеоблока путем вычитания (например, обозначенного знаком минус) предсказанного видеоблока(ов) текущего видеоблока из текущего видеоблока. Данные остатка текущего видеоблока могут включать в себя видеоблоки остатка, которые соответствуют различным компонентам отсчетов в текущем видеоблоке.Residual generating unit 207 may generate residual data for the current video block by subtracting (eg, indicated by a minus sign) the predicted video block(s) of the current video block from the current video block. The current video block residual data may include residual video blocks that correspond to various sample components in the current video block.

В других примерах могут отсутствовать данные остатка для текущего видеоблока для текущего видеоблока, например, в режиме пропуска, и блок 207 выработки остатка может не выполнять операцию вычитания.In other examples, there may be no residual data for the current video block for the current video block, for example, in a skip mode, and the residual generating unit 207 may not perform the subtraction operation.

Блок 208 обработки преобразования может выработать один или несколько видеоблоков коэффициентов преобразования для текущего видеоблока путем применения одного или нескольких преобразований к видеоблоку остатка, ассоциированному с текущим видеоблоком.Transform processing unit 208 may generate one or more video blocks of transform coefficients for the current video block by applying one or more transforms to the remainder video block associated with the current video block.

После того, как блок 208 обработки преобразования выработает видеоблок коэффициента преобразования, ассоциированный с текущим видеоблоком, блок 209 квантования может квантовать видеоблок коэффициента преобразования, ассоциированный с текущим видеоблоком, на основе одного или нескольких значений параметра квантования (QP), ассоциированных с текущим видеоблоком.After transform processing unit 208 produces a transform coefficient video block associated with the current video block, quantization unit 209 may quantize the transform coefficient video block associated with the current video block based on one or more quantization parameter (QP) values associated with the current video block.

Блок 210 обратного квантования и блок 211 обратного преобразования могут применять обратное квантование и обратное преобразование к видеоблоку коэффициентов преобразования, соответственно, для восстановления видеоблока остатка из видеоблока коэффициентов преобразования. Блок 212 восстаовления может добавить восстановленный видеоблок остатка к соответствующим отсчетам из одного или нескольких предсказанных видеоблоков, выработанных блоком 202 предсказания, чтобы получить восстановленный видеоблок, ассоциированный с текущим блоком, для хранения в буфере 213.The inverse quantization unit 210 and the inverse transform unit 211 may apply the inverse quantization and inverse transform to the transform coefficient video block, respectively, to recover the remainder video block from the transform coefficient video block. Reconstruction unit 212 may add the reconstructed residual video block to corresponding samples from one or more predicted video blocks generated by prediction unit 202 to obtain a reconstructed video block associated with the current block for storage in buffer 213.

После того, как блок 212 восстаовления восстановит видеоблок, может выполняться операция контурной фильтрации для уменьшения артефактов видеоблока в видеоблоке.After the reconstruction unit 212 restores the video block, a contour filtering operation may be performed to reduce video block artifacts in the video block.

Блок 214 энтропийного кодирования может принимать данные из других функциональных компонентов видеокодера 200. Когда блок 214 энтропийного кодирования принимает данные, блок 214 энтропийного кодирования может выполнять одну или несколько операций энтропийного кодирования для выработки энтропийно-кодированных данных и вывода битового потока, который включает в себя энтропийно-кодированные данные.Entropy encoding block 214 may receive data from other functional components of video encoder 200. When entropy encoding block 214 receives data, entropy encoding block 214 may perform one or more entropy encoding operations to generate entropy-encoded data and output a bitstream that includes entropy encoding -encoded data.

На фиг. 19 показана блок-схема, иллюстрирующая пример видеодекодера 300, который может быть видеодекодером 114 в системе 100, проиллюстрированной на фиг. 17. In fig. 19 is a block diagram illustrating an example of video decoder 300, which may be video decoder 114 in the system 100 illustrated in FIG. 17.

Видеодекодер 300 может быть выполнен с возможностью выполнения любого или всех способов настоящего раскрытия. В примере, показанном на фиг. 19, видеодекодер 300 включает в себя множество функциональных компонентов. Способы, описанные в настоящем раскрытии, могут совместно использоваться различными компонентами видеодекодера 300. В некоторых примерах процессор может быть выполнен с возможностью выполнения любых или всех способов, описанных в настоящем раскрытии.Video decoder 300 may be configured to perform any or all of the methods of the present disclosure. In the example shown in FIG. 19, video decoder 300 includes a variety of functional components. The methods described in the present disclosure may be shared among various components of the video decoder 300. In some examples, the processor may be configured to perform any or all of the methods described in the present disclosure.

В примере, показанном на фиг. 19, видеодекодер 300 включает в себя блок 301 энтропийного декодирования, блок 302 компенсации движения, блок 303 внутрикадрового предсказания, блок 304 обратного квантования, блок 305 обратного преобразования, блок 306 восстановления и буфер 307. В некоторых примерах видеодекодер 300 может выполнять этап декодирования, в целом обратный этапу кодирования, описанному в отношении видеокодера 200 (фиг. 18).In the example shown in FIG. 19, video decoder 300 includes an entropy decoding block 301, a motion compensation block 302, an intra-frame prediction block 303, an inverse quantization block 304, an inverse transform block 305, a reconstruction block 306, and a buffer 307. In some examples, the video decoder 300 may perform a decoding step, in generally the reverse of the encoding step described with respect to video encoder 200 (FIG. 18).

Блок 301 энтропийного декодирования может извлекать закодированный битовый поток. Кодированный битовый поток может включать в себя энтропийно-кодированные видеоданные (например, кодированные блоки видеоданных). Блок 301 энтропийного декодирования может декодировать энтропийно-кодированные видеоданные, и из энтропийно-декодированных видеоданных блок 302 компенсации движения может определять информацию движения, включая векторы движения, точность вектора движения, индексы списка опорных изображений и другую информацию движения. Блок 302 компенсации движения может, например, определять такую информацию, выполняя AMVP и режим слияния.The entropy decoding unit 301 may extract the encoded bitstream. The coded bitstream may include entropy-coded video data (eg, coded blocks of video data). The entropy decoding unit 301 can decode the entropy-coded video data, and from the entropy-decoded video data, the motion compensation unit 302 can determine motion information including motion vectors, motion vector precision, reference picture list indices, and other motion information. The motion compensation unit 302 may, for example, determine such information by performing AMVP and merging mode.

Блок 302 компенсации движения может создавать блоки с компенсацией движения, возможно, выполняя интерполяцию на основе фильтров интерполяции. Идентификаторы для фильтров интерполяции, которые должны использоваться с точностью до подпикселя, могут быть включены в синтаксические элементы.Motion compensation block 302 may create motion compensation blocks, possibly performing interpolation based on interpolation filters. Identifiers for interpolation filters that must be used with sub-pixel precision can be included in syntax elements.

Блок 302 компенсации движения может использовать фильтры интерполяции, которые используются видеокодером 20 во время кодирования видеоблока, для вычисления интерполированных значений для субцелочисленных пикселей опорного блока. Блок 302 компенсации движения может определять фильтры интерполяции, используемые видеокодером 200, в соответствии с принятой синтаксической информацией и использовать фильтры интерполяции для создания блоков предсказания.Motion compensation block 302 may use interpolation filters that are used by video encoder 20 during encoding of a video block to calculate interpolated values for sub-integer pixels of the reference block. The motion compensation unit 302 may determine the interpolation filters used by the video encoder 200 in accordance with the received syntax information and use the interpolation filters to create prediction blocks.

Блок 302 компенсации движения может использовать некоторую информацию синтаксиса для определения размеров блоков, используемых для кодирования кадра(ов) и/или слайса(ов) кодированной видеопоследовательности, информации о разделах, которая описывает то, как каждый макроблок изображения закодированной видеопоследовательности разбивается на разделы, режимов, указывающих то, как кодируется каждый раздел, одного или более опорных кадров (и списков опорных кадров) для каждого межкадрового кодированного блока и другой информации для декодирования кодированной видеопоследовательности.Motion compensation block 302 may use some syntax information to determine the block sizes used to encode the frame(s) and/or slice(s) of the encoded video sequence, partition information that describes how each image macroblock of the encoded video sequence is divided into partitions, modes , indicating how each section is encoded, one or more reference frames (and lists of reference frames) for each inter-frame coded block, and other information for decoding the coded video sequence.

Внутрикадровый блок 303 предсказания может использовать режимы внутрикадрового предсказания, например, принятые в битовом потоке, для формирования блока предсказания из пространственно смежных блоков. Блок 303 обратного квантования выполняет обратное квантование, то есть выполняет операцию, обратную квантованию, квантованных коэффициентов видеоблока, предоставленных в битовом потоке и декодированных блоком 301 энтропийного декодирования. Блок 303 обратного преобразования применяет обратное преобразование.Intra-frame prediction block 303 may use intra-frame prediction modes, such as those received in a bitstream, to form a prediction block from spatially contiguous blocks. The inverse quantization unit 303 performs inverse quantization, that is, the inverse operation of quantization, on the quantized video block coefficients provided in the bit stream and decoded by the entropy decoding unit 301. The inverse transform block 303 applies the inverse transform.

Блок 306 восстановления может суммировать блоки остатка с соответствующими блоками предсказания, выработанными блоком 202 компенсации движения или блоком 303 внутрикадрового предсказания, чтобы сформировать декодированные блоки. При необходимости фильтр удаления блочности также может применяться для фильтрации декодированных блоков с целью удаления артефактов блочности. Затем декодированные видеоблоки сохраняются в буфере 307, который предоставляет опорные блоки для последующей компенсации движения/внутрикадрового предсказания, а также создает декодированное видео для представления на экране устройства отображения.The recovery unit 306 may add the remainder blocks with the corresponding prediction blocks generated by the motion compensation unit 202 or the intra-frame prediction unit 303 to generate decoded blocks. If necessary, the deblocking filter can also be used to filter the decoded blocks to remove blocking artifacts. The decoded video blocks are then stored in a buffer 307, which provides reference blocks for subsequent motion compensation/intra-frame prediction and also produces decoded video for presentation on a display device screen.

В некоторых вариантах осуществления режим ALWIP или режим MIP используется для вычисления блока предсказания текущего видеоблока путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе (или операции усреднения), за которой следует операция матрично-векторного умножения и за которой выборочно (или при необходимости) следует операция повышающей дискретизации (или операция линейной интерполяции). В некоторых вариантах осуществления режим ALWIP или режим MIP используется для вычисления блока предсказания текущего видеоблока путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе (или операции усреднения), за которой следует операция матрично-векторного умножения. В некоторых вариантах осуществления режим ALWIP или режим MIP может также выполнять операцию повышающей дискретизации (или линейную операцию интерполяции) после выполнения операции матрично-векторного умножения.In some embodiments, ALWIP mode or MIP mode is used to compute a prediction block of the current video block by performing, on previously encoded video samples, an edge downsampling operation (or averaging operation), followed by a matrix-vector multiplication operation, and followed by a selective (or if necessary) an upsampling operation (or a linear interpolation operation) follows. In some embodiments, ALWIP mode or MIP mode is used to compute a prediction block of the current video block by performing, on previously encoded video samples, an edge downsampling operation (or averaging operation) followed by a matrix-vector multiplication operation. In some embodiments, the ALWIP mode or MIP mode may also perform an upsampling operation (or a linear interpolation operation) after performing a matrix-vector multiplication operation.

На фиг. 20 показана примерная блок-схема последовательности операций примерного способа 2000 для матричного внутрикадрового предсказания. Операция 2002 включает в себя выработку, для преобразования между текущим видеоблоком видео и кодированным представлением текущего видеоблока, первого списка наиболее вероятных режимов (МРМ) с использованием первой процедуры на основе правила. Операция 2004 включает в себя выполнение преобразования между текущим видеоблоком и кодированным представлением текущего видеоблока с использованием первого списка MPM, где преобразование текущего видеоблока использует режим матричного внутрикадрового предсказания (MIP), в котором блок предсказания текущий видеоблок определяется путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения, и за которой выборочно следует операция повышающей дискретизации, где правило точно определяет то, что первая процедура, используемая для составления первого списка MPM, аналогична второй процедуре, используемой для выработки второго списка MPM для преобразования других видеоблоков видео, которые закодированы с использованием внутрикадрового режима без использования MIP, который отличается от режима MIP, и где по меньшей мере часть первого списка MPM составляется на основе по меньшей мере части второго списка MPM.In fig. 20 shows an example flowchart of an example method 2000 for matrix intra-frame prediction. Operation 2002 includes generating, for converting between the current video block of video and an encoded representation of the current video block, a first most probable mode list (MPL) using a first rule-based procedure. Operation 2004 includes performing a transformation between the current video block and a coded representation of the current video block using a first MPM list, where the transformation of the current video block uses a matrix intra-prediction (MIP) mode in which the prediction block of the current video block is determined by performing, on previously encoded video samples, a downsampling operation at the boundary, followed by a matrix-vector multiplication operation, and followed selectively by an upsampling operation, where the rule specifies that the first procedure used to generate the first MPM list is the same as the second procedure used to generate the second list MPM for converting other video video blocks that are encoded using an intra-frame mode without using MIP, which is different from the MIP mode, and where at least a portion of the first MPM list is compiled based on at least a portion of the second MPM list.

В некоторых вариантах осуществления способа 2000 размер первого списка MPM для режима MIP является таким же, как размер второго списка MPM для внутрикадрового режима без использования MIP. В некоторых вариантах осуществления способа 2000 размер первого списка MPM для режима MIP и второго списка MPM для внутрикадрового режима без использования MIP равен 6. В некоторых вариантах осуществления способа 2000 размер второго списка MPM для внутрикадрового режима без использования MIP составляется перед составлением первого списка MPM для режима MIP. В некоторых вариантах осуществления способа 2000 часть или весь второй список MPM для внутрикадрового режима без использования MIP преобразуется в MPM, которые добавляются к части первого списка MPM для режима MIP. In some embodiments of method 2000, the size of the first MPM list for MIP mode is the same as the size of the second MPM list for intra-frame mode without using MIP. In some embodiments of method 2000, the size of the first MPM list for the MIP mode and the second MPM list for the non-MIP intra-frame mode is 6. In some embodiments of the method 2000, the size of the second MPM list for the non-MIP intra-frame mode is compiled before the first MPM list for the mode is compiled. MIP. In some embodiments of method 2000, part or all of the second non-MIP intra-frame mode MPM list is converted to MPMs that are added to part of the first MIP mode MPM list.

В некоторых вариантах осуществления способа 2000 поднабор MPM добавляется к части первого списка MPM для режима MIP путем сокращения MPM. В некоторых вариантах осуществления способ 2000 дополнительно включает в себя добавление режимов внутрикадрового предсказания по умолчанию в первый список MPM для режима MIP. В некоторых вариантах осуществления способа 2000 режимы внутрикадрового предсказания по умолчанию добавляются в первый список MPM для режима MIP перед частью первого списка MPM для режима MIP, который основан на части второго списка MPM для внутрикадрового режима без использования MIP. В некоторых вариантах осуществления способа 2000 режимы внутрикадрового предсказания по умолчанию добавляются в первый список MPM для режима MIP после части первого списка MPM для режима MIP, который основан на части второго списка MPM для внутрикадрового режима без использования MIP. В некоторых вариантах осуществления способа 2000 режимы внутрикадрового предсказания по умолчанию добавляются в первый список MPM для режима MIP с чередованием с частью первого списка MPM для режима MIP, который основан на части второго списка MPM для внутрикадрового режима без использования MIP. В некоторых вариантах осуществления способа 2000 режимы внутрикадрового предсказания по умолчанию являются одинаковыми для множества типов видеоблоков. В некоторых вариантах осуществления способа 2000 режимы внутрикадрового предсказания по умолчанию определяются на основе кодированной информации текущего видеоблока. В некоторых вариантах осуществления способа 2000 кодированная информация включает в себя доступность соседних видеоблоков, информацию о режиме соседних видеоблоков или размер блока текущего видеоблока.In some embodiments of method 2000, a subset of MPMs is added to a portion of the first MPM list for the MIP mode by abbreviating the MPM. In some embodiments, method 2000 further includes adding default intra-prediction modes to the first MPM list for the MIP mode. In some embodiments of method 2000, default intra-prediction modes are added to the first MIP mode MPM list before a portion of the first MIP mode MPM list that is based on a portion of the second MIP non-MIP mode MPM list. In some embodiments of method 2000, default intra-prediction modes are added to the first MIP mode MPM list after a portion of the first MIP mode MPM list that is based on a portion of the second non-MIP intra-mode MPM list. In some embodiments of method 2000, default intra-prediction modes are added to the first MPM list for the MIP mode interleaved with a portion of the first MPM list for the MIP mode that is based on a portion of the second MPM list for the non-MIP intra-mode. In some embodiments of method 2000, the default intra-frame prediction modes are the same for multiple types of video blocks. In some embodiments of method 2000, default intra-frame prediction modes are determined based on the encoded information of the current video block. In some embodiments of method 2000, the encoded information includes the availability of neighboring video blocks, mode information of neighboring video blocks, or the block size of the current video block.

В некоторых вариантах осуществления способа 2000 один внутрикадровый режим предсказания во втором списке MPM для внутрикадрового режима без использования MIP преобразуется в соответствующий ему режим MIP для получения преобразованного режима MIP, который добавляется в первый список MPM для режима MIP. В некоторых вариантах осуществления способа 2000 все режимы внутрикадрового предсказания во втором списке MPM для внутрикадрового режима без использования MIP преобразуются в соответствующий ему режим MIP для получения множества преобразованных режимов MIP, которые добавляются в первый список MPM для режима MIP. В некоторых вариантах осуществления способа 2000 все режимы внутрикадрового предсказания преобразуются в соответствующий ему режим MIP для получения множества преобразованных режимов MIP, которые используются для составления второго списка MPM для внутрикадрового режима без использования MIP. В некоторых вариантах осуществления способа 2000 все режимы внутрикадрового предсказания включают в себя режимы внутрикадрового предсказания из соседних видеоблоков текущего видеоблока и режимы внутрикадрового предсказания по умолчанию. В некоторых вариантах осуществления способа 2000 режимы внутрикадрового предсказания по умолчанию включают в себя планарный режим и режим постоянного тока (DC).In some embodiments of method 2000, one intra-frame prediction mode in a second MPM list for a non-MIP intra-frame mode is mapped to its corresponding MIP mode to produce a mapped MIP mode that is added to the first MPM list for the MIP mode. In some embodiments of method 2000, all intra-prediction modes in a second MPM list for a non-MIP intra-frame mode are mapped to its corresponding MIP mode to obtain a plurality of mapped MIP modes that are added to the first MPM list for the MIP mode. In some embodiments of method 2000, all intra-prediction modes are mapped to their corresponding MIP mode to obtain a plurality of mapped MIP modes that are used to construct a second list of MPMs for the non-MIP intra-frame mode. In some embodiments of method 2000, all intra-prediction modes include intra-prediction modes from adjacent video blocks of the current video block and default intra-prediction modes. In some embodiments of method 2000, default intra prediction modes include planar mode and direct current (DC) mode.

В некоторых вариантах осуществления способа 2000 два режима внутрикадрового предсказания во втором списке MPM для внутрикадрового режима без использования MIP преобразуются в соответствующие ему режимы MIP для получения двух преобразованных режимов MIP, и один из двух преобразованных режимов MIP добавляется в первый список MPM для режима MIP в ответ на то, что эти два преобразованных режима MIP являются одинаковыми. В некоторых вариантах осуществления способа 2000 два режима внутрикадрового предсказания во втором списке MPM для внутрикадрового режима без использования MIP преобразуются в соответствующие ему режимы MIP для получения двух преобразованных режимов MIP, и один из двух преобразованных режимов MIP добавляется во второй список MPM для внутрикадрового режима без использования MIP в ответ на то, что эти два преобразованных режима MIP являются одинаковыми. В некоторых вариантах осуществления способа 2000 второй список MPM для внутрикадрового режима без использования MIP включает в себя S внутрикадровый режим предсказания, и где K из S внутрикадровый режим предсказания выбирается или выбирается для включения в первый список MPM для режима MIP. В некоторых вариантах осуществления способа 2000 K равно 3, и S равно 6. В некоторых вариантах осуществления способа 2000 первые K режимов внутрикадрового предсказания во втором списке MPM для внутрикадрового режима без использования MIP выбираются для включения в первый список MPM для режима MIP. В некоторых вариантах осуществления способа 2000 первый список MPM для режима MIP и второй список MPM для внутрикадрового режима без использования MIP выводятся или составляются на основе одного или нескольких соседних видеоблоков текущего видеоблока. В некоторых вариантах осуществления способа 2000 первый список MPM для режима MIP и второй список MPM для внутрикадрового режима без использования MIP выводятся или составляются на основе одного и того же соседнего видеоблока, расположенного слева от текущего видеоблока. In some embodiments of method 2000, two intra-frame prediction modes in the second MPM list for the non-MIP intra-frame mode are mapped to their corresponding MIP modes to produce two mapped MIP modes, and one of the two mapped MIP modes is added to the first MPM list for the MIP mode in response. that these two converted MIP modes are the same. In some embodiments of method 2000, two intra-prediction modes in a second MPM list for the non-MIP intra-mode are mapped to their corresponding MIP modes to produce two mapped MIP modes, and one of the two mapped MIP modes is added to the second MPM list for the non-MIP intra-mode. MIP in response to the fact that the two converted MIP modes are the same. In some embodiments of method 2000, the second MPM list for the non-MIP intra-frame mode includes an S intra-frame prediction mode, and where K of the S intra-frame prediction mode is selected or selected for inclusion in the first MPM list for the MIP mode. In some embodiments of method 2000, K is 3 and S is 6. In some embodiments of method 2000, the first K intra-prediction modes in the second MPM list for the non-MIP intra-frame mode are selected for inclusion in the first MPM list for the MIP mode. In some embodiments of method 2000, a first MPM list for the MIP mode and a second MPM list for the non-MIP intra-frame mode are derived or compiled based on one or more adjacent video blocks of the current video block. In some embodiments of method 2000, the first MPM list for the MIP mode and the second MPM list for the intra-frame non-MIP mode are derived or compiled from the same adjacent video block located to the left of the current video block.

В некоторых вариантах осуществления способа 2000 один и тот же соседний видеоблок, расположенный слева, находится непосредственно слева от текущего видеоблока и выровнен с текущим видеоблоком. В некоторых вариантах осуществления способа 2000 один и тот же соседний видеоблок расположен слева и ниже текущего видеоблока. В некоторых вариантах осуществления способа 2000 первый список MPM для режима MIP и второй список MPM для внутрикадрового режима без использования MIP выводятся или составляются на основе одного и того же соседнего видеоблока, где один и тот же соседний видеоблок расположен слева от текущего видеоблока в крайней нижней позиции, или один и тот же соседний видеоблок расположен над текущим видеоблоком в крайней правой позиции. В некоторых вариантах осуществления способа 2000 первый список MPM для режима MIP и второй список MPM для внутрикадрового режима без использования MIP выводятся или составляются на основе одного и того же соседнего видеоблока, расположенного над текущим видеоблоком. In some embodiments of method 2000, the same left adjacent video block is immediately to the left of the current video block and is aligned with the current video block. In some embodiments of method 2000, the same adjacent video block is located to the left and below the current video block. In some embodiments of method 2000, the first MPM list for the MIP mode and the second MPM list for the intra-frame mode without using MIP are derived or compiled based on the same neighboring video block, where the same neighboring video block is located to the left of the current video block in the lowest position , or the same adjacent video block is located above the current video block in the rightmost position. In some embodiments of method 2000, the first MPM list for the MIP mode and the second MPM list for the intra-frame mode without using MIP are derived or compiled based on the same adjacent video block located above the current video block.

В некоторых вариантах осуществления способа 2000 один и тот же соседний видеоблок, расположенный выше, находится непосредственно над текущим видеоблоком и выровнен с текущим видеоблоком. В некоторых вариантах осуществления способа 2000 один и тот же соседний видеоблок расположен слева и выше текущего видеоблока. В некоторых вариантах осуществления способа 2000 первый список MPM для режима MIP и второй список MPM для внутрикадрового режима без использования MIP выводятся или составляются на основе одного и того же соседнего видеоблока, где один и тот же соседний видеоблок расположен над текущим видеоблоком в крайней левой позиции или один и тот же соседний видеоблок расположен слева от текущего видеоблока в крайней верхней позиции. В некоторых вариантах осуществления способа 2000 внутрикадровый режим без использования MIP основан на режиме внутрикадрового предсказания, режиме внутрикадрового предсказания с множеством опорных линий (MRL) или инструменте внутрикадровых подразделов (ISP). В некоторых вариантах осуществления способа 2000 первый список MPM для режима MIP дополнительно основан на высоте или ширине текущего видеоблока. In some embodiments of method 2000, the same adjacent video block located above is directly above the current video block and is aligned with the current video block. In some embodiments of method 2000, the same adjacent video block is located to the left and above the current video block. In some embodiments of method 2000, the first MPM list for the MIP mode and the second MPM list for the intra-frame mode without using MIP are derived or compiled based on the same neighboring video block, where the same neighboring video block is located above the current video block in the leftmost position, or the same adjacent video block is located to the left of the current video block in the uppermost position. In some embodiments of method 2000, the non-MIP intra-frame mode is based on an intra-frame prediction mode, a multi-reference line (MRL) intra-frame prediction mode, or an intra-subsection (ISP) tool. In some embodiments of method 2000, the first MPM list for the MIP mode is further based on the height or width of the current video block.

В некоторых вариантах осуществления способа 2000 первый список MPM для режима MIP дополнительно основан на высоте или ширине соседнего видеоблока текущего видеоблока. В некоторых вариантах осуществления способа 2000 первый список MPM для режима MIP составляется на основе первого набора параметров, который отличается от второго набора параметров, используемых для составления второго списка MPM для внутрикадрового режима без использования MIP. В некоторых вариантах осуществления способа 2000 второй список MPM для внутрикадрового режима без использования MIP включает в себя S режимов внутрикадрового предсказания, и где K из S режимов внутрикадрового предсказания получаются таким образом, чтобы они были включены в первый список MPM для режима MIP. В некоторых вариантах осуществления способа 2000 K равно 3, и S равно 6.In some embodiments of method 2000, the first MPM list for the MIP mode is further based on the height or width of an adjacent video block of the current video block. In some embodiments of method 2000, the first MPM list for the MIP mode is constructed based on a first set of parameters that is different from the second set of parameters used to construct the second MPM list for the non-MIP intra-frame mode. In some embodiments of method 2000, the second MPM list for the non-MIP intra-mode includes S intra-prediction modes, and where K of the S intra-prediction modes are obtained such that they are included in the first MPM list for the MIP mode. In some embodiments of the 2000 method, K is 3 and S is 6.

В некоторых вариантах осуществления способа 2000 первые K режимов внутрикадрового предсказания во втором списке MPM для внутрикадрового режима без использования MIP получаются таким образом, чтобы они были включены в первый список MPM для режима MIP. В некоторых вариантах осуществления способа 2000 первый режим, указанный в первом списке MPM для режима MIP, отличается от первого режима, указанного во втором списке MPM для внутрикадрового режима без использования MIP. В некоторых вариантах осуществления способа 2000 первый режим, указанный в первом списке MPM для режима MIP, является первым режимом, и первый режим, указанный во втором списке MPM для внутрикадрового режима без использования MIP, является планарным режимом. В некоторых вариантах осуществления способа 2000 первый режим в первом списке MPM для режима MIP преобразуется из планарного режима во втором списке MPM во внутрикадровый режим без использования MIP. In some embodiments of method 2000, the first K intra-prediction modes in the second MPM list for the non-MIP intra-frame mode are obtained such that they are included in the first MPM list for the MIP mode. In some embodiments of method 2000, the first mode specified in the first MPM list for the MIP mode is different from the first mode specified in the second MPM list for the non-MIP intra-frame mode. In some embodiments of method 2000, the first mode specified in the first MPM list for the MIP mode is the first mode, and the first mode specified in the second MPM list for the non-MIP intra-frame mode is a planar mode. In some embodiments of method 2000, the first mode in the first MPM list for the MIP mode is converted from a planar mode in the second MPM list to an intra-frame mode without using the MIP.

В некоторых вариантах осуществления способа 2000 первый список MPM для режима MIP включает в себя первый набор режимов заполнения, которые отличаются от второго набора режимов заполнения, включенного во второй список MPM для внутрикадрового режима без использования MIP. В некоторых вариантах осуществления способа 2000 первый набор режимов заполнения включает в себя первый режим, второй режим и третий режим, и второй набор режимов заполнения включает в себя режим постоянного тока (DC), вертикальный режим и горизонтальный режим. В некоторых вариантах осуществления способа 2000 первый режим, второй режим и третий режим включены в первый набор режимов заполнения на основе размера текущего видеоблока. В некоторых вариантах осуществления способа 2000 первый список MPM для режима MIP включает в себя первый набор режимов внутрикадрового предсказания соседних видеоблоков текущего видеоблока, второй список MPM для внутрикадрового режима без использования MIP включает в себя второй набор режимов внутрикадрового предсказания соседних видеоблоков текущего видеоблока, и первый набор режимов внутрикадрового предсказания отличается от второго набора режимов внутрикадрового предсказания. In some embodiments of method 2000, the first MIP list for the MIP mode includes a first set of padding modes that are different from the second set of padding modes included in the second MPM list for the non-MIP intraframe mode. In some embodiments of method 2000, the first set of fill modes includes a first mode, a second mode, and a third mode, and the second set of fill modes includes a direct current (DC) mode, a vertical mode, and a horizontal mode. In some embodiments of method 2000, a first mode, a second mode, and a third mode are included in the first set of fill modes based on the size of the current video block. In some embodiments of method 2000, the first MPM list for the MIP mode includes a first set of intra-neighbor video block prediction modes of the current video block, the second MPM list for the non-MIP intra-frame mode includes a second set of intra-neighbor video block prediction modes of the current video block, and the first set intra prediction modes is different from the second set of intra prediction modes.

В некоторых вариантах осуществления способа 2000 второй набор режимов внутрикадрового предсказания включает в себя режимы внутрикадрового предсказания, которые преобразуются в режимы MIP, которые включены в первый набор режимов внутрикадрового предсказания. В некоторых вариантах осуществления способа 2000 первый список MPM для режима MIP включает в себя первый набор сдвинутых режимов внутрикадрового предсказания, второй список MPM для внутрикадрового режима без использования MIP включает в себя второй набор сдвинутых режимов внутрикадрового предсказания и первый набор сдвинутых режимов предсказания. Режимы внутрикадрового предсказания отличаются от второго набора сдвинутых режимов внутрикадрового предсказания. В некоторых вариантах осуществления способа 2000 первый набор сдвинутых режимов внутрикадрового предсказания включает в себя режим (Y) MIP, сдвинутый на K1 согласно первой формуле Y+K1, второй набор сдвинутых режимов внутрикадрового предсказания включает в себя внутрикадровый режим (X) без использования MIP, сдвинутый на K0 согласно второй формуле X+K0, и K1 отличается от K0. В некоторых вариантах осуществления способа 2000 K1 зависит от ширины и высоты текущего видеоблока. In some embodiments of method 2000, the second set of intra-prediction modes includes intra-prediction modes that are mapped to MIP modes that are included in the first set of intra-prediction modes. In some embodiments of method 2000, the first MPM list for the MIP mode includes a first set of shifted intra-prediction modes, the second MPM list for the non-MIP intra-frame mode includes a second set of shifted intra-prediction modes and a first set of shifted prediction modes. The intra prediction modes are different from the second set of shifted intra prediction modes. In some embodiments of method 2000, the first set of shifted intra-prediction modes includes a MIP mode (Y) shifted by K1 according to the first formula Y+K1, the second set of shifted intra-prediction modes includes a non-MIP intra-mode (X) shifted on K0 according to the second formula X+K0, and K1 differs from K0. In some embodiments of method 2000, K1 depends on the width and height of the current video block.

В некоторых вариантах осуществления способ 2000 дополнительно включает в себя выполнение первого определения того, что соседний видеоблок текущего видеоблока закодирован с помощью внутрикадрового режима без использования MIP; и выполнение второго определения, в ответ на то, что первое определение того, что соседний видеоблок недоступен для составления первого списка MPM для режима MIP.In some embodiments, method 2000 further includes first determining that an adjacent video block of the current video block is encoded using a non-MIP intra-frame mode; and making a second determination, in response to the first determination that the adjacent video block is not available for compiling the first MPM list for the MIP mode.

В некоторых вариантах осуществления способ 2000 дополнительно включает в себя выполнение первого определения того, что соседний видеоблок текущего видеоблока закодирован с помощью внутрикадрового режима без использования MIP; и выполнение, в ответ на первое определение, второго определения того, что соседний видеоблок закодирован с помощью заданного режима внутрикадрового предсказания MIP, где первый список MPM для режима MIP составляется с использованием заданного режима внутрикадрового предсказания MIP. В некоторых вариантах осуществления способа 2000 заданный режим внутрикадрового предсказания MIP зависит от ширины и/или высоты текущего видеоблока.In some embodiments, method 2000 further includes first determining that an adjacent video block of the current video block is encoded using a non-MIP intra-frame mode; and making, in response to the first determination, a second determination that the adjacent video block is encoded using a predetermined intra-MIP mode, wherein a first MPM list for the MIP mode is compiled using the predetermined intra-MIP mode. In some embodiments of method 2000, a given intra-frame MIP prediction mode depends on the width and/or height of the current video block.

На фиг. 21 показана примерная блок-схема последовательности операций примерного способа 2100 для матричного внутрикадрового предсказания. Операция 2100 включает в себя выработку, для преобразования между текущим видеоблоком видео и кодированного представлением текущего видеоблока, списка наиболее вероятных режимов (MPM) на основе правила, когда правило основано на том, что видеоблок соседнего текущего видеоблока закодирован с помощью режима матричного внутрикадрового предсказания (MIP), в котором блок предсказания соседнего видеоблока определяется путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения, и за которой выборочно следует операция повышающей дискретизации. Операция 2104 включает в себя выполнение преобразования между текущим видеоблоком и кодированным представлением текущего видеоблока с использованием списка MPM, где преобразование применяет режим без использования MIP к текущему видеоблоку, и где режим без использования MIP отличается от режима MIP.In fig. 21 shows an example flowchart of an example method 2100 for matrix intra-frame prediction. Operation 2100 includes generating, for transforming between the current video block of video and an encoded representation of the current video block, a list of most likely modes (MPM) based on a rule, where the rule is based on the fact that a video block of an adjacent current video block is encoded using a matrix intra-prediction (MIP) mode ) in which a neighboring video block prediction block is determined by performing, on the previously encoded video samples, an edge downsampling operation, followed by a matrix-vector multiplication operation, and which is selectively followed by an upsampling operation. Operation 2104 includes performing a transformation between the current video block and an encoded representation of the current video block using the MPM list, where the transformation applies a non-MIP mode to the current video block, and where the non-MIP mode is different from the MIP mode.

В некоторых вариантах осуществления способа 2100 правило точно определяет то, что соседний видеоблок, кодированный в режиме MIP, обрабатывается как недоступный для составления списка MPM для текущего кодированного видеоблока без- MIP. В некоторых вариантах осуществления способа 2100 правило точно определяет то, что соседний видеоблок, закодированный в режиме MIP, определяется как кодированный с помощью заданного режима внутрикадрового предсказания. В некоторых вариантах осуществления способа 2100 правило точно определяет то, что заданный режим внутрикадрового предсказания включает в себя планарный режим.In some embodiments of method 2100, the rule specifies that a neighboring MIP-encoded video block is treated as unavailable for MPM listing for the current non-MIP encoded video block. In some embodiments of method 2100, the rule specifies that a neighboring video block encoded in the MIP mode is determined to be encoded using a given intra-frame prediction mode. In some embodiments of method 2100, the rule specifies that a given intra prediction mode includes a planar mode.

На фиг. 22 показана примерная блок-схема последовательности операций примерного способа 2200 для матричного внутрикадрового предсказания. Операция 2202 включает в себя декодирование текущего видеоблока видео, который кодируется в кодированном представлении текущего видеоблока с использованием режима матричного внутрикадрового предсказания (MIP), в котором блок предсказания текущего видеоблока определяется путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения, и за которой выборочно следует операция повышающей дискретизации. Операция 2204 включает в себя обновление строкового буфера, ассоциированного с декодированием, без сохранения в строковом буфере информации, указывающей то, закодирован ли текущий видеоблок с использованием режима MIP.In fig. 22 shows an example flowchart of an example method 2200 for matrix intra-frame prediction. Operation 2202 includes decoding the current video block of video, which is encoded into an encoded representation of the current video block using a matrix intra-prediction (MIP) mode, in which the prediction block of the current video block is determined by performing, on the previously encoded video samples, an edge downsampling operation, beyond which is followed by a matrix-vector multiplication operation, and which is selectively followed by an upsampling operation. Operation 2204 includes updating a line buffer associated with decoding without storing in the line buffer information indicating whether the current video block is encoded using the MIP mode.

В некоторых вариантах осуществления способ 2200 дополнительно включает в себя доступ ко второму видеоблоку видео, где второй видеоблок декодируется перед декодированием текущего видеоблока, где второй видеоблок расположен в другой строке наибольших единиц кодирования (LCU) или единиц дерева кодирования (CTU) или области CTU по сравнению с таковой текущего видеоблока, и где текущий видеоблок декодируется без определения того, закодирован ли второй видеоблок с использованием режима MIP. В некоторых вариантах осуществления способ 2200 дополнительно включает в себя доступ ко второму видеоблоку путем определения того, что второй видеоблок закодирован с использованием внутрикадрового режима без использования MIP, без определения того, закодирован ли второй видеоблок с использованием режима MIP, где второй видеоблок расположен в другой строке наибольших единиц кодирования (LCU) или единиц дерева кодирования (CTU) или области CTU по сравнению с таковой текущего видеоблока; и декодирование текущего видеоблока на основе доступа ко второму видеоблоку. In some embodiments, method 2200 further includes accessing a second video block of video, where the second video block is decoded before decoding the current video block, where the second video block is located in a different row of largest coding units (LCUs) or coding tree units (CTUs) or CTU area compared to with that of the current video block, and where the current video block is decoded without determining whether the second video block is encoded using the MIP mode. In some embodiments, method 2200 further includes accessing a second video block by determining that the second video block is encoded using a non-MIP intraframe mode without determining whether the second video block is encoded using a MIP mode where the second video block is located on a different line largest coding units (LCU) or coding tree units (CTU) or CTU area compared to that of the current video block; and decoding the current video block based on access to the second video block.

На фиг. 23 показана примерная блок-схема последовательности операций примерного способа 2300 для матричного внутрикадрового предсказания. Операция 2302 включает в себя выполнение преобразования между текущим видеоблоком и представлением битового потока текущего видеоблока, где текущий видеоблок закодирован с использованием режима матричного внутрикадрового предсказания (MIP), в котором определяется блок предсказания текущего видеоблока путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения, и за которой выборочно следует операция повышающей дискретизации, где флаг кодируется в представлении битового потока с использованием не более K контекстов в процессе арифметического кодирования или в процессе декодирования, где флаг указывает, закодирован ли текущий видеоблок с использованием режима MIP, и где K больше или равен нулю. В некоторых вариантах осуществления способа 2300 K равно 1. В некоторых вариантах осуществления способа 2300 K равно 4.In fig. 23 shows an example flowchart of an example method 2300 for matrix intra-frame prediction. Operation 2302 includes performing a conversion between the current video block and a bitstream representation of the current video block, where the current video block is encoded using a matrix intra-prediction (MIP) mode in which a prediction block of the current video block is determined by performing a downsampling operation on the previously encoded video samples. at the boundary, followed by a matrix-vector multiplication operation, and selectively followed by an upsampling operation, where the flag is encoded into the bitstream representation using at most K contexts in the arithmetic encoding process or in the decoding process, where the flag indicates whether the current one is encoded video block using MIP mode, and where K is greater than or equal to zero. In some embodiments of the method, 2300 K is 1. In some embodiments of the method, 2300 K is 4.

На фиг. 24 показана примерная блок-схема последовательности операций примерного способа 2400 для матричного внутрикадрового предсказания. Операция 2402 включает в себя выработку, для преобразования между текущим видеоблоком видео и представлением битового потока текущего видеоблока, внутрикадрового режима предсказания для текущего видеоблока кодированного с помощью режима матричного внутрикадрового предсказания (MIP), в котором предсказание блок текущего видеоблока определяется путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения, и за которой выборочно следует операция повышения дискретизации. Операция 2404 включает в себя определение правила для хранения информации, указывающей режим внутрикадрового предсказания на основе того, закодирован ли текущий видеоблок с помощью режима MIP. Операция 2406 включает в себя выполнение преобразования в соответствии с правилом, где правило точно определяет то, что синтаксический элемент для режима внутрикадрового предсказания хранится в представлении битового потока для текущего видеоблока, и где правило точно определяет то, что индекс режима для режима MIP для текущего видеоблока не сохраняется в представлении битового потока.In fig. 24 shows an example flowchart of an example method 2400 for matrix intra-frame prediction. Operation 2402 includes generating, to transform between the current video video block and the bitstream representation of the current video block, an intra-frame mode prediction for the current video block encoded using a matrix intra-frame prediction (MIP) mode, in which a prediction block of the current video block is determined by performing on previously encoded ones. video samples, a downsampling operation at the boundary, followed by a matrix-vector multiplication operation, and selectively followed by an upsampling operation. Operation 2404 includes defining a rule for storing information indicating an intra-frame prediction mode based on whether the current video block is encoded using the MIP mode. Operation 2406 includes performing a conversion in accordance with a rule, where the rule specifies that the syntax element for the intra-frame prediction mode is stored in the bitstream representation for the current video block, and where the rule specifies that the mode index for the MIP mode for the current video block is not stored in the bitstream representation.

В некоторых вариантах осуществления способа 2400 индекс режима для режима MIP ассоциирован с режимом внутрикадрового предсказания. В некоторых вариантах осуществления способа 2400 правило определяет то, что представление битового потока исключает флаг, который указывает то, что текущий видеоблок закодирован с помощью режима MIP. В некоторых вариантах осуществления способа 2400 правило определяет то, что представление битового потока исключает хранение информации, указывающей режим MIP, ассоциированный с текущим видеоблоком. В некоторых вариантах осуществления способ 2400 дополнительно включает в себя выполнение, после преобразования, второго преобразования между вторым видеоблоком видео и представлением битового потока второго видеоблока, где второй видеоблок является соседним видеоблоком текущего видеоблока, и где второе преобразование выполняется без определения того, закодирован ли второй видеоблок с использованием режима MIP.In some embodiments of method 2400, a mode index for the MIP mode is associated with an intra-frame prediction mode. In some embodiments of method 2400, the rule specifies that the bitstream representation excludes a flag that indicates that the current video block is encoded using the MIP mode. In some embodiments of method 2400, the rule specifies that the bitstream representation excludes storing information indicating the MIP mode associated with the current video block. In some embodiments, method 2400 further includes performing, after transforming, a second transform between a second video block of video and a bitstream representation of the second video block, where the second video block is an adjacent video block of the current video block, and where the second transform is performed without determining whether the second video block is encoded using MIP mode.

На фиг. 25 показана примерная блок-схема последовательности операций примерного способа 2500 для матричного внутрикадрового предсказания. Операция 2502 включает в себя выполнение первого определения того, что видеоблок яркости видео закодирован с использованием режима матричного внутрикадрового предсказания (MIP), в котором блок предсказания видеоблока яркости определяется путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения, и за которой выборочно следует операция повышающей дискретизации. Операция 2504 включает в себя выполнение, на основе первого определения, второго определения относительно внутрикадрового режима цветности, который должен использоваться для видеоблока цветности, ассоциированного с видеоблоком яркости. Операция 2506 включает в себя выполнение, на основе второго определения, преобразования между видеоблоком цветности и представлением битового потока видеоблока цветности.In fig. 25 shows an example flowchart of an example method 2500 for matrix intra-frame prediction. Operation 2502 includes making a first determination that the video luminance block is encoded using a matrix intra-prediction (MIP) mode, in which the luminance video block prediction block is determined by performing, on the previously encoded video samples, an edge downsampling operation followed by a matrix-vector multiplication operation, and which is selectively followed by an upsampling operation. Operation 2504 includes making, based on the first determination, a second determination regarding the intra-frame chrominance mode to be used for the chrominance video block associated with the luma video block. Operation 2506 includes performing, based on the second definition, a conversion between a chroma video block and a bitstream representation of the chroma video block.

В некоторых вариантах осуществления способа 2500 выполнение второго определения включает в себя определение того, что внутрикадровый режим цветности является производным режимом (DM) вне зависимости от сигнализации. В некоторых вариантах осуществления способа 2500 видеоблок яркости покрывает заданную соответствующий отсчет цветности видеоблока цветности. В некоторых вариантах осуществления способа 2500 заданная соответствующий отсчет цветности является верхним левым отсчетом или центральным отсчетом видеоблока цветности. В некоторых вариантах осуществления способа 2500 внутрикадровый режим цветности включает в себя производный режим (DM). В некоторых вариантах осуществления способа 2500 DM используется для получения первого внутрикадрового режима предсказания для видеоблока цветности из второго режима внутрикадрового предсказания видеоблока яркости. В некоторых вариантах осуществления способа 2500 режим MIP, ассоциированный с видеоблоком яркости, отображается в заданный внутрикадровый режим.In some embodiments of method 2500, making the second determination includes determining that the intra-frame chroma mode is a derived mode (DM) regardless of signaling. In some embodiments of method 2500, a luminance video block covers a given corresponding chrominance sample of the chrominance video block. In some embodiments of method 2500, the specified corresponding chroma sample is the top left sample or center sample of a chroma video block. In some embodiments of method 2500, the intraframe chroma mode includes a derived mode (DM). In some embodiments of the method 2500, DM is used to derive a first intra-prediction mode for a chroma video block from a second intra-prediction mode for a luminance video block. In some embodiments of method 2500, the MIP mode associated with a luma video block is mapped to a predetermined intra-frame mode.

В некоторых вариантах осуществления способа 2500 множество производных режимов (DM) получаются в ответ на первое определение того, что видеоблок яркости закодирован с помощью режима MIP. В некоторых вариантах осуществления способа 2500 внутрикадровый режим цветности включает в себя точно определенный внутрикадровый режим предсказания. В некоторых вариантах осуществления способа 2500 заданный внутрикадровый режим или указанный внутрикадровый режим является планарным режимом. В некоторых вариантах осуществления способа 2500 видеоблок цветности закодирован с использованием режима MIP. В некоторых вариантах осуществления способа 2500 видеоблок цветности закодирован с использованием первой матрицы или первого вектора смещения, которая/который отличается от второй матрицы или второго вектора смещения второго видеоблока цветности. В некоторых вариантах осуществления способа 2500 видеоблок цветности представляет собой компонент синего цвета, где первая матрица или первый вектор смещения задан для компонента синего цвета, где второй видеоблок цветности является компонентом красного цвета, где вторая матрица или второй вектор смещения задан для компонента красного цвета.In some embodiments of method 2500, a plurality of derived modes (DMs) are obtained in response to a first determination that a luma video block is encoded using a MIP mode. In some embodiments of method 2500, the intra-frame chroma mode includes a well-defined intra-frame prediction mode. In some embodiments of method 2500, the specified intra-frame mode or said intra-frame mode is a planar mode. In some embodiments of method 2500, the chrominance video block is encoded using the MIP mode. In some embodiments of method 2500, a chrominance video block is encoded using a first matrix or a first offset vector that is different from a second matrix or a second offset vector of the second chroma video block. In some embodiments of method 2500, a chrominance video block is a blue component, where a first matrix or first offset vector is defined for the blue component, where a second chrominance video block is a red component, where a second matrix or second offset vector is defined for a red component.

В некоторых вариантах осуществления способа 2500 компонент синего цвета и компонент красного цвета объединены. В некоторых вариантах осуществления способа 2500 компоненты синего цвета и красного цвета чередуются. В некоторых вариантах осуществления способа 2500 видеоблок цветности закодирован с использованием режима MIP, который является таким же, как режим MIP, используемый для видеоблока яркости. В некоторых вариантах осуществления способа 2500 видеоблок цветности закодирован с использованием производного режима (DM). В некоторых вариантах осуществления способа 2500 операция повышающей дискретизации (или способ линейной интерполяции) пропускается после того, как видеоблок цветности закодирован с использованием режима MIP. В некоторых вариантах осуществления способа 2500 видеоблок цветности закодирован с использованием режима MIP с субдискретизированной матрицей и/или вектором смещения. В некоторых вариантах осуществления способа 2500 количество режимов MIP для видеоблока яркости и видеоблока цветности является разным. В некоторых вариантах осуществления способа 2500 видеоблок цветности ассоциирован с первым количеством режимов MIP, видеоблок яркости ассоциирован со вторым количеством режимов MIP, и первое количество режимов MIP меньше второго количества режимов MIP. В некоторых вариантах осуществления способа 2500 видеоблок цветности и видеоблок яркости имеют одинаковый размер.In some embodiments of method 2500, a blue component and a red component are combined. In some embodiments of method 2500, the blue and red color components alternate. In some embodiments of method 2500, the chrominance video block is encoded using a MIP mode that is the same as the MIP mode used for the luma video block. In some embodiments of method 2500, the chrominance video block is encoded using a derivative mode (DM). In some embodiments of method 2500, the upsampling operation (or linear interpolation method) is skipped after the chroma video block is encoded using the MIP mode. In some embodiments of method 2500, a chrominance video block is encoded using a MIP mode with a subsampled matrix and/or offset vector. In some embodiments of method 2500, the number of MIP modes for a luma video block and a chrominance video block is different. In some embodiments of method 2500, a chroma video block is associated with a first number of MIP modes, a luma video block is associated with a second number of MIP modes, and the first number of MIP modes is less than the second number of MIP modes. In some embodiments of method 2500, the chrominance video block and the luma video block are the same size.

На фиг. 26 показана примерная блок-схема последовательности операций примерного способа 2600 для матричного внутрикадрового предсказания. Операция 2602 включает в себя выполнение преобразования между текущим видеоблоком видео и кодированным представлением текущего видеоблока, где преобразование основано на определении (или на основе определения) того, следует ли кодировать текущий видеоблок с использованием режима матричного внутрикадрового предсказания (MIP), в котором блок предсказания текущего видеоблока определяется путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения, и за которой выборочно следует операция повышающей дискретизации.In fig. 26 shows an example flowchart of an example method 2600 for matrix intra-frame prediction. Operation 2602 includes performing a transformation between the current video block of video and an encoded representation of the current video block, where the transformation is based on determining (or being determined) whether the current video block should be encoded using a matrix intra-frame prediction (MIP) mode in which the current video block's prediction block A video block is determined by performing, on the previously encoded video samples, a downsampling operation at the boundary, followed by a matrix-vector multiplication operation, and followed selectively by an upsampling operation.

В некоторых вариантах осуществления способа 2600 синтаксический элемент включается в кодированное представление в ответ на определение того, что текущий видеоблок должен быть закодирован в режиме MIP, и синтаксический элемент указывает использование режима MIP для кодирования текущего видеоблока. В некоторых вариантах осуществления способа 2600 кодированное представление включает в себя синтаксический элемент, который указывает, что режим MIP включен или отключен для текущего видеоблока, и где синтаксический элемент указывает, что режим MIP разрешен или запрещен для кодирования текущего видеоблока. В некоторых вариантах осуществления способа 2600 синтаксический элемент не включается в кодированное представление в ответ на определение того, что текущий видеоблок не должен кодироваться в режиме MIP, и синтаксический элемент указывает то, используется ли режим MIP для текущего видеоблока. In some embodiments of method 2600, a syntax element is included in the encoded representation in response to a determination that the current video block should be encoded in the MIP mode, and the syntax element specifies the use of the MIP mode to encode the current video block. In some embodiments of method 2600, the encoded representation includes a syntax element that indicates that the MIP mode is enabled or disabled for the current video block, and where the syntax element indicates that the MIP mode is enabled or disabled for encoding the current video block. In some embodiments of method 2600, a syntax element is not included in the encoded representation in response to a determination that the current video block should not be encoded in MIP mode, and the syntax element indicates whether MIP mode is used for the current video block.

В некоторых вариантах осуществления способа 2600 второй синтаксический элемент, указывающий включение режима MIP, дополнительно включается в набор параметров последовательности (SPS), набор параметров изображения (PPS), заголовок слайса, заголовок группы мозаичных элементов, заголовок мозаичного элемента, строку единиц дерева кодирования (CTU) или область CTU. В некоторых вариантах осуществления способа 2600 определение того, использовать ли режим MIP для преобразования, основано на высоте (H) и/или ширине (W) текущего видеоблока. В некоторых вариантах осуществления способа 2600 определяется то, что текущий видеоблок не закодирован с использованием режима MIP в ответ на то, что W ≥ T1 и H ≥ T2. В некоторых вариантах осуществления способа 2600 определяется то, что текущий видеоблок не закодирован с использованием режима MIP в ответ на то, что W ≤ T1 и H ≤ T2. В некоторых вариантах осуществления способа 2600 определяется то, что текущий видеоблок не закодирован с использованием режима MIP в ответ на то, что W ≥ T1 или H ≥ T2. В некоторых вариантах осуществления способа 2600 определяется то, что текущий видеоблок не закодирован с использованием режима MIP в ответ на то, что W ≤ T1 или H ≤ T2. В некоторых вариантах осуществления способа 2600 T1 = 32 и T2 = 32. В некоторых вариантах осуществления способа 2600 определяется то, что текущий видеоблок не закодирован с использованием режима MIP в ответ на то, что W + H ≥ T. В некоторых вариантах осуществления способа 2600 определяется то, что текущий видеоблок не закодирован с использованием режима MIP в ответ на то, что W + H ≤ T. В некоторых вариантах осуществления способа 2600 определяется то, что текущий видеоблок не закодирован с использованием режима MIP в ответ на то, что W × H ≥ T. В некоторых вариантах осуществления способа 2600 определяется то, что текущий видеоблок не закодирован с использованием режима MIP в ответ на то, что W × H ≤ T. В некоторых вариантах осуществления способа 2600 T = 256. In some embodiments of method 2600, a second syntax element indicating MIP mode enablement is further included in a sequence parameter set (SPS), picture parameter set (PPS), slice header, tile group header, tile header, coding tree units (CTU) string ) or CTU area. In some embodiments of method 2600, determining whether to use the MIP mode for conversion is based on the height (H) and/or width (W) of the current video block. In some embodiments of method 2600, it is determined that the current video block is not encoded using the MIP mode in response to W ≥ T1 and H ≥ T2. In some embodiments of method 2600, it is determined that the current video block is not encoded using the MIP mode in response to W ≤ T1 and H ≤ T2. In some embodiments of method 2600, it is determined that the current video block is not encoded using the MIP mode in response to W ≥ T1 or H ≥ T2. In some embodiments of method 2600, it is determined that the current video block is not encoded using the MIP mode in response to W ≤ T1 or H ≤ T2. In some embodiments of method 2600, T1 = 32 and T2 = 32. In some embodiments of method 2600, it is determined that the current video block is not encoded using the MIP mode in response to W + H ≥ T. In some embodiments of method 2600 it is determined that the current video block is not encoded using the MIP mode in response to the fact that W + H ≤ T. In some embodiments of method 2600, it is determined that the current video block is not encoded using the MIP mode in response to the fact that W × H ≥ T. In some embodiments of method 2600, it is determined that the current video block is not encoded using the MIP mode in response to W × H ≤ T. In some embodiments of method 2600, T = 256.

На фиг. 27А показана примерная блок-схема последовательности операций примерного способа 2700А кодирования видео для матричного внутрикадрового предсказания. Операция 2702A включает в себя определение, для кодирования текущего видеоблока видео в представление битового потока текущего видеоблока в соответствии с правилом, того, следует ли использовать режим матричного внутрикадрового предсказания (MIP) и режим кодирования, который отличается от режима MIP, для кодирования текущего видеоблока, где режим MIP включает в себя определение блока предсказания текущего видеоблока путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения, и за которой выборочно следует операция повышающей дискретизации. Операция 2704A включает в себя добавление на основе определения кодированного представления текущего видеоблока в представление битового потока.In fig. 27A shows an exemplary flowchart of an exemplary video encoding method 2700A for matrix intra-frame prediction. Operation 2702A includes determining, for encoding the current video video block into a bitstream representation of the current video block in accordance with a rule, whether to use a matrix intra-prediction (MIP) mode and an encoding mode that is different from the MIP mode to encode the current video block, where the MIP mode includes determining a prediction block of the current video block by performing, on the previously encoded video samples, a boundary downsampling operation, followed by a matrix-vector multiplication operation, and selectively followed by an upsampling operation. Operation 2704A includes adding, based on the definition, a coded representation of the current video block to the bitstream representation.

На фиг. 27B показана примерная блок-схема последовательности операций примерного способа 2700B декодирования видео для матричного внутрикадрового предсказания. Операция 2702B включает в себя определение того, что текущий видеоблок видео закодирован в представлении битового потока с использованием режима матричного внутрикадрового предсказания (MIP) и режима кодирования, который отличается от режима MIP, где режим MIP включает в себя определение блока предсказания текущего видеоблока путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения, и за которой выборочно следует операция повышающей дискретизации. Операция 2704B включает в себя выработку декодированного представления текущего видеоблока путем синтаксического анализа и декодирования представления битового потока.In fig. 27B shows an exemplary flowchart of an exemplary video decoding method 2700B for matrix intra-frame prediction. Operation 2702B includes determining that the current video video block is encoded in a bitstream representation using a matrix intra-prediction (MIP) mode and an encoding mode that is different from the MIP mode, where the MIP mode includes determining a prediction block of the current video block by performing, over previously encoded video samples, a downsampling operation at the boundary, followed by a matrix-vector multiplication operation, and selectively followed by an upsampling operation. Operation 2704B includes generating a decoded representation of the current video block by parsing and decoding the bitstream representation.

В некоторых вариантах осуществления способов 2700A и/или 2700B режимом кодирования является режим объединенного внутрикадрового и межкадрового предсказания (CIIP), и где способ дополнительно содержит выработку сигнала внутрикадрового предсказания для текущего видеоблока путем выполнения выбора между режимом MIP и режимом внутрикадрового предсказания. В некоторых вариантах осуществления способов 2700A и/или 2700B выполнение выбора основано на сигнализации в представлении битового потока текущего видеоблока. В некоторых вариантах осуществления способов 2700A и/или 2700B выполнение выбора основано на заданном правиле. В некоторых вариантах осуществления способов 2700A и/или 2700B заданное правило выбирает режим MIP в ответ на кодирование текущего видеоблока с использованием режима CIIP. В некоторых вариантах осуществления способов 2700A и/или 2700B заданное правило выбирает режим внутрикадрового предсказания в ответ на кодирование текущего видеоблока с использованием режима CIIP. В некоторых вариантах осуществления способа 2700A и/или 2700B заданное правило выбирает планарный режим в ответ на кодирование текущего видеоблока с использованием режима CIIP. В некоторых вариантах осуществления способов 2700A и/или 2700B выполнение выбора основано на информации, ассоциированной с соседними видеоблоками текущего видеоблока. In some embodiments of methods 2700A and/or 2700B, the encoding mode is a combined intra-interprediction (CIIP) mode, and where the method further comprises generating an intra-prediction signal for the current video block by selecting between a MIP mode and an intra-prediction mode. In some embodiments of methods 2700A and/or 2700B, making a selection is based on signaling in the bitstream representation of the current video block. In some embodiments of methods 2700A and/or 2700B, making a selection is based on a predetermined rule. In some embodiments of methods 2700A and/or 2700B, a predetermined rule selects the MIP mode in response to encoding the current video block using the CIIP mode. In some embodiments of methods 2700A and/or 2700B, a predetermined rule selects an intra-frame prediction mode in response to encoding the current video block using the CIIP mode. In some embodiments of method 2700A and/or 2700B, a predetermined rule selects a planar mode in response to encoding the current video block using the CIIP mode. In some embodiments of methods 2700A and/or 2700B, making a selection is based on information associated with neighboring video blocks of the current video block.

В некоторых вариантах осуществления способов 2700A и/или 2700B режимом кодирования является режим предсказания на основе межкомпонентной линейной модели (CCLM). В некоторых вариантах осуществления способов 2700A и/или 2700B первая процедура понижающей дискретизации для понижающей дискретизации соседнего отсчета текущего видеоблока в режиме MIP использует по меньшей мере часть второй процедуры понижающей дискретизации для режима предсказания CCLM, в котором соседние отсчеты яркости текущего видеоблока подвергаются понижающей дискретизации. В некоторых вариантах осуществления способов 2700A и/или 2700B первая процедура понижающей дискретизации для понижающей дискретизации соседнего отсчета текущего видеоблока в режиме предсказания CCLM использует по меньшей мере часть второй процедуры понижающей дискретизации для режима предсказания MIP, в котором соседние отсчеты яркости текущий видеоблок подвергаются понижающей дискретизации. В некоторых вариантах осуществления способов 2700A и/или 2700B первая процедура понижающей дискретизации для режима MIP основана на первом наборе параметров, и первая процедура понижающей дискретизации для режима предсказания CCLM основана на втором наборе параметров, отличном от первого набора параметров.In some embodiments of methods 2700A and/or 2700B, the encoding mode is a cross-component linear model (CCLM) prediction mode. In some embodiments of methods 2700A and/or 2700B, a first downsampling procedure for downsampling an adjacent sample of the current video block in MIP mode uses at least a portion of a second downsampling procedure for the CCLM prediction mode in which adjacent luminance samples of the current video block are downsampled. In some embodiments of methods 2700A and/or 2700B, a first downsampling procedure for downsampling an adjacent sample of the current video block in the CCLM prediction mode uses at least a portion of a second downsampling procedure for the MIP prediction mode in which the adjacent luminance samples of the current video block are downsampled. In some embodiments of methods 2700A and/or 2700B, a first downsampling procedure for the MIP mode is based on a first set of parameters, and a first downsampling procedure for the CCLM prediction mode is based on a second set of parameters different from the first set of parameters.

В некоторых вариантах осуществления способов 2700A и/или 2700B первая процедура понижающей дискретизации для режима MIP и вторая процедура понижающей дискретизации для режима предсказания CCLM включают в себя выбор соседних местоположений яркости или выбор фильтра понижающей дискретизации. В некоторых вариантах осуществления способов 2700A и/или 2700B соседние отсчеты яркости подвергаются понижающей дискретизации с использованием по меньшей мере одного из: выбора позиций понижающей дискретизации, выбора фильтров понижающей дискретизации, операции округления или операции отбрасывания. В некоторых вариантах осуществления способов 2700A и/или 2700B правило определяет то, что блочная дифференциальная импульсная кодированная модуляция (BDPCM) или DPCM остатка не применяется к текущему видеоблоку, кодированному с помощью режима MIP. В некоторых вариантах осуществления способов 2700A и/или 2700B правило определяет то, что режим MIP запрещен для применения к текущему видеоблоку в ответ на применение блочной дифференциальной импульсно-кодированной модуляции (BDPCM) или DPCM остатка.In some embodiments of methods 2700A and/or 2700B, the first downsampling procedure for the MIP mode and the second downsampling procedure for the CCLM prediction mode include selecting neighboring luminance locations or selecting a downsampling filter. In some embodiments of methods 2700A and/or 2700B, adjacent luminance samples are downsampled using at least one of a selection of downsampling positions, a selection of downsampling filters, a rounding operation, or a discarding operation. In some embodiments of methods 2700A and/or 2700B, the rule specifies that block differential pulse coded modulation (BDPCM) or residual DPCM is not applied to the current video block encoded using the MIP mode. In some embodiments of methods 2700A and/or 2700B, the rule specifies that the MIP mode is prohibited from being applied to the current video block in response to the application of block differential pulse coded modulation (BDPCM) or residual DPCM.

На фиг. 28 показана примерная блок-схема последовательности операций примерного способа 2800 для матричного внутрикадрового предсказания. Операция 2802 включает в себя делает определение относительно применимости контурного фильтра к восстановленному блоку текущего видеоблока видео при преобразовании между видео и кодированным представлением текущего видеоблока, где текущий видеоблок закодирован с использованием режима матричного внутрикадрового предсказания (MIP), в котором блок предсказания текущего видеоблока определяется путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения, и за которой выборочно следует операция повышающей дискретизации. Операция 2804 включает в себя обработку текущего видеоблока в соответствии с определением.In fig. 28 shows an example flowchart of an example method 2800 for matrix intra-frame prediction. Operation 2802 includes making a determination regarding the applicability of the edge filter to the reconstructed block of the current video block when converting between video and an encoded representation of the current video block, where the current video block is encoded using a matrix intra-frame prediction (MIP) mode, in which the prediction block of the current video block is determined by executing ,on previously encoded video samples, a downsampling operation at the boundary, followed by a matrix-vector multiplication operation, and selectively followed by an upsampling operation. Operation 2804 includes processing the current video block as determined.

В некоторых вариантах осуществления способа 2800 контурный фильтр включает в себя фильтр удаления блочности. В некоторых вариантах осуществления способа 2800 контурный фильтр включает в себя адаптивное смещение выборки (SAO). В некоторых вариантах осуществления способа 2800 контурный фильтр включает в себя адаптивный контурный фильтр (ALF).In some embodiments of method 2800, the loop filter includes a deblocking filter. In some embodiments of method 2800, the loop filter includes an adaptive sample offset (SAO). In some embodiments of method 2800, the loop filter includes an adaptive loop filter (ALF).

На фиг. 29А показана примерная блок-схема последовательности операций примерного способа 2900А кодирования видео для матричного внутрикадрового предсказания. Операция 2902A включает в себя определение, для кодирования текущего видеоблока видео в представление битового потока текущего видеоблока, типа соседних отсчетов текущего видеоблока, которые будут использоваться в соответствии с правилом. Операция 2904A включает в себя добавление, на основе определения, кодированного представления текущего видеоблока в представление битового потока, где текущий видеоблок закодирован с использованием режима матричного внутрикадрового предсказания (MIP), в котором блок предсказания текущего видеоблока определяется путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения, и за которой выборочно следует операция повышающей дискретизации.In fig. 29A shows an exemplary flowchart of an exemplary video encoding method 2900A for matrix intra-frame prediction. Operation 2902A includes determining, for encoding the current video block of video into a bitstream representation of the current video block, the type of neighboring samples of the current video block that will be used in accordance with the rule. Operation 2904A includes adding, based on the determination, an encoded representation of the current video block to the bitstream representation, where the current video block is encoded using a matrix intra-prediction (MIP) mode in which a prediction block of the current video block is determined by performing, on previously encoded video samples, a downsampling operation at the boundary, followed by a matrix-vector multiplication operation, and selectively followed by an upsampling operation.

На фиг. 29B показана примерная блок-схема последовательности операций примерного способа 2900B декодирования видео для матричного внутрикадрового предсказания. Операция 2902B включает в себя определение того, что текущий видеоблок видео закодирован в представлении битового потока с использованием режима матричного внутрикадрового предсказания (MIP) и с использованием типа соседних отсчетов текущего видеоблока в соответствии с правилом, где режим MIP включает в себя определение блока предсказания текущего видеоблока путем выполнения, над ранее кодированными отсчетам видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения, и за которой выборочно следует операция повышающей дискретизации. Операция 2904B включает в себя выработку декодированного представления текущего видеоблока путем синтаксического анализа и декодирования представления битового потока.In fig. 29B shows an exemplary flowchart of an exemplary video decoding method 2900B for matrix intra-frame prediction. Operation 2902B includes determining that the current video block of a video is encoded in a bitstream representation using a matrix intra-prediction (MIP) mode and using a neighbor sample type of the current video block in accordance with a rule, where the MIP mode includes determining a prediction block of the current video block by performing, on previously encoded video samples, an edge downsampling operation, followed by a matrix-vector multiplication operation, and followed selectively by an upsampling operation. Operation 2904B includes generating a decoded representation of the current video block by parsing and decoding the bitstream representation.

В некоторых вариантах осуществления способов 2900A и/или 2900B правило определяет то, что типом соседних отсчетов являются нефильтрованные соседние отсчеты. В некоторых вариантах осуществления способов 2900A и/или 2900B правило определяет то, что тип соседних отсчетов, которые включают в себя нефильтрованные соседние отсчеты, используется для процесса повышающей дискретизации, правило определяет то, что тип соседних отсчетов, которые включают в себя нефильтрованные соседние отсчеты используется для процесса понижающей дискретизации, и правило определяет то, что тип соседних отсчетов, которые включают в себя нефильтрованные соседние отсчеты, используется для операции матрично-векторного умножения. В некоторых вариантах осуществления способов 2900A и/или 2900B правило определяет то, что типом соседних отсчетов являются фильтрованные соседние отсчеты. В некоторых вариантах осуществления способов 2900A и/или 2900B правило определяет то, что тип соседних отсчетов, которые включают в себя нефильтрованные соседние отсчеты, используется для способа повышающей дискретизации, и правило определяет то, что тип соседних отсчетов, которые включают в себя фильтрованные соседние отсчеты, используется для способа понижающей дискретизации.In some embodiments of methods 2900A and/or 2900B, the rule specifies that the neighbor sample type is unfiltered neighbor samples. In some embodiments of methods 2900A and/or 2900B, the rule determines that the type of neighbor samples that include unfiltered neighbor samples is used for the upsampling process, the rule determines that the type of neighbor samples that include unfiltered neighbor samples is used for the downsampling process, and the rule specifies that the type of neighbor samples, which includes unfiltered neighbor samples, is used for the matrix-vector multiplication operation. In some embodiments of methods 2900A and/or 2900B, the rule specifies that the neighbor sample type is filtered neighbor samples. In some embodiments of methods 2900A and/or 2900B, the rule determines that the type of neighbor samples that include unfiltered neighbor samples is used for the upsampling method, and the rule determines that the type of neighbor samples that include filtered neighbor samples , is used for the downsampling method.

В некоторых вариантах осуществления способов 2900A и/или 2900B правило определяет то, что тип соседних отсчетов, которые включают в себя нефильтрованные соседние отсчеты, используется для способа понижающей дискретизации, и правило определяет то, что тип соседних отсчетов, которые включают в себя фильтрованные соседние отсчеты, используется для повышающей дискретизации. В некоторых вариантах осуществления способов 2900A и/или 2900B правило определяет то, что тип соседних отсчетов, которые включают в себя нефильтрованные верхние соседние отсчеты, используется для способа повышающей дискретизации, и правило определяет то, что тип соседних отсчетов, которые включают в себя фильтрованные левые соседние отсчеты, используется для способа повышающей дискретизации. В некоторых вариантах осуществления способов 2900A и/или 2900B правило определяет то, что тип соседних отсчетов, которые включают в себя нефильтрованные левые соседние отсчеты, используется для способа повышающей дискретизации, и правило определяет то, что тип соседних отсчетов, которые включают в себя фильтрованные выше соседние отсчеты, используется для способа повышающей дискретизации.In some embodiments of methods 2900A and/or 2900B, the rule determines that the type of neighbor samples that include unfiltered neighbor samples is used for the downsampling method, and the rule determines that the type of neighbor samples that include filtered neighbor samples , is used for upsampling. In some embodiments of methods 2900A and/or 2900B, the rule determines that the type of neighbor samples that include unfiltered top neighbor samples is used for the upsampling method, and the rule determines that the type of neighbor samples that include filtered left adjacent samples, used for the upsampling method. In some embodiments of methods 2900A and/or 2900B, the rule determines that the type of neighbor samples that include the unfiltered left neighbor samples is used for the upsampling method, and the rule determines that the type of neighbor samples that include the filtered ones above adjacent samples, used for the upsampling method.

В некоторых вариантах осуществления способов 2900A и/или 2900B тип соседних отсчетов включает в себя нефильтрованные соседние отсчеты или фильтрованные соседние отсчеты, и правило определяет то, используются ли нефильтрованные соседние отсчеты или фильтрованные соседние отсчеты на основе режима MIP текущего видеоблока.In some embodiments of methods 2900A and/or 2900B, the neighbor sample type includes unfiltered neighbor samples or filtered neighbor samples, and the rule determines whether unfiltered neighbor samples or filtered neighbor samples are used based on the MIP mode of the current video block.

В некоторых вариантах осуществления способы 2900A и/или 2900B дополнительно содержат преобразование режима MIP в режим внутрикадрового предсказания, где тип соседних отсчетов включает в себя нефильтрованные соседние отсчеты или фильтрованные соседние отсчеты, и где правило определяет то, будут ли использоваться нефильтрованные соседние отсчеты или фильтрованные соседние отсчеты на основе режима внутрикадрового предсказания. В некоторых вариантах осуществления способов 2900A и/или 2900B тип соседних отсчетов включает в себя нефильтрованные соседние отсчеты или фильтрованные соседние отсчеты, и правило определяет то, используются ли нефильтрованные соседние отсчеты или фильтрованные соседние отсчеты на основе синтаксического элемента или сигнализации. В некоторых вариантах осуществления способов 2900A и/или 2900B фильтрованные соседние отсчеты или фильтрованные левые соседние отсчеты или фильтрованные верхние соседние отсчеты вырабатываются с использованием режима внутрикадрового предсказания. In some embodiments, methods 2900A and/or 2900B further comprise converting the MIP mode to an intra-frame prediction mode, where the neighbor sample type includes unfiltered neighbor samples or filtered neighbor samples, and where a rule determines whether unfiltered neighbor samples or filtered neighbor samples will be used. samples based on intra-frame prediction mode. In some embodiments of methods 2900A and/or 2900B, the neighbor sample type includes unfiltered neighbor samples or filtered neighbor samples, and a rule determines whether unfiltered neighbor samples or filtered neighbor samples are used based on a syntax element or signaling. In some embodiments of methods 2900A and/or 2900B, filtered neighbor samples or filtered left neighbor samples or filtered top neighbor samples are generated using an intra-frame prediction mode.

На фиг. 30 показана примерная блок-схема последовательности операций примерного способа 3000 для матричного внутрикадрового предсказания. Операция 3002 включает в себя выполнение преобразования между текущим видеоблоком видео и представлением битового потока текущего видеоблока, где преобразование включает в себя выработку, с использованием режима матричного внутрикадрового предсказания (MIP), блока предсказания для текущего видеоблока путем выбора и применения матричного умножения с использованием матриц отсчетов и/или путем выбора и добавления смещения с использованием векторов смещения для текущего видеоблока, где отсчеты получаются путем усреднения по строкам и столбцам ранее кодированных отсчетов видео, и где выбор основан на информации о восстановлении первоначальной формы, ассоциированной с сопоставлением преобразования яркости с помощью способа масштабирования цветности (LMCS) с опорным изображением текущего видеоблока. В некоторых вариантах осуществления способа 3000, когда способ изменения первоначальной формы включен для опорного изображения, информация изменения первоначальной формы ассоциирована с матрицами и/или векторами смещения, которые отличаются от тех, которые ассоциированы с информацией изменения первоначальной формы, когда способ изменения первоначальной формы отключен для опорного изображения. В некоторых вариантах осуществления способа 3000, разные матрицы и/или векторы смещения используются для различных параметров изменения первоначальной формы информации изменения первоначальной формы. В некоторых вариантах осуществления способа 3000 выполнение преобразования включает в себя выполнение внутрикадрового предсказания над текущим видеоблоком с использованием режима MIP в исходной области. В некоторых вариантах осуществления способа 3000, соседние отсчеты текущего видеоблока сопоставляются с исходной областью в ответ на применение информации изменения первоначальной формы, и где соседние отсчеты сопоставляются с исходной областью перед использованием в режиме MIP.In fig. 30 shows an example flowchart of an example method 3000 for matrix intra-frame prediction. Operation 3002 includes performing a transformation between the current video block of video and a bitstream representation of the current video block, where the transformation includes generating, using matrix intra-prediction (MIP) mode, a prediction block for the current video block by selecting and applying matrix multiplication using sample matrices and/or by selecting and adding offset using offset vectors for the current video block, where the samples are obtained by averaging across rows and columns of previously encoded video samples, and where the selection is based on the original shape recovery information associated with the luminance transform mapping using the scaling method chrominance (LMCS) with a reference image of the current video block. In some embodiments of method 3000, when the original shape changing method is enabled for a reference image, the original shape changing information is associated with matrices and/or offset vectors that are different from those associated with the original shape changing information when the original shape changing method is disabled for reference image. In some embodiments of method 3000, different matrices and/or offset vectors are used for different original shape change parameters of the original shape change information. In some embodiments of method 3000, performing the transformation includes performing intra-frame prediction on the current video block using a MIP mode in the source region. In some embodiments of method 3000, adjacent samples of the current video block are mapped to the original region in response to application of the original shape change information, and where the adjacent samples are mapped to the original region prior to use in the MIP mode.

На фиг. 31 показана примерная блок-схема последовательности операций примерного способа 3100 для матричного внутрикадрового предсказания. Операция 3102 включает в себя определение того, что текущий видеоблок должен быть закодирован с использованием режима матричного внутрикадрового предсказания (MIP), в котором блок предсказания текущего видеоблока определяется путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения, за которой выборочно следует операция повышающей дискретизации. Операция 3104 включает в себя выполнение, на основе определения, преобразования между текущим видеоблоком и представлением битового потока текущего видеоблока, где выполнение преобразования основано на правиле совместного применения режима MIP и другого способа кодирования.In fig. 31 shows an example flowchart of an example method 3100 for matrix intra-frame prediction. Operation 3102 includes determining that the current video block should be encoded using a matrix intra-prediction (MIP) mode, in which the prediction block of the current video block is determined by performing, on the previously encoded video samples, an edge downsampling operation followed by an matrix-vector multiplication followed selectively by an upsampling operation. Operation 3104 includes performing, based on the determination, a transformation between the current video block and a bitstream representation of the current video block, where performing the transformation is based on a rule of joint application of the MIP mode and another encoding method.

В некоторых вариантах осуществления способа 3100 правило точно определяет то, что режим MIP и другой способ кодирования используются исключительно взаимно. В некоторых вариантах осуществления способа 3100 правило точно определяет то, что другой способ кодирования представляет собой способ расширенного динамического диапазона (HDR) или способ изменения первоначальной формы. In some embodiments of method 3100, the rule specifies that the MIP mode and the other encoding method are used exclusively mutually. In some embodiments of method 3100, the rule specifies that the other encoding method is a high dynamic range (HDR) method or a reshaping method.

На фиг. 32 показана примерная блок-схема последовательности операций примерного способа 3200 для матричного внутрикадрового предсказания. Операция 3202 включает в себя выполнение преобразования между текущим видеоблоком видео и представлением битового потока текущего видеоблока с использованием режима матричного внутрикадрового предсказания (MIP), где выполнение преобразования с использованием режима MIP включает в себя выработку блока предсказания путем применения матричного умножения с использованием матриц отсчетов, полученных в результате усреднения по строкам и столбцам ранее кодированных отсчетов видео, и где матрицы зависят от битовой глубины отсчета.In fig. 32 shows an example flowchart of an example method 3200 for matrix intra-frame prediction. Operation 3202 includes performing a conversion between the current video block of a video and a bitstream representation of the current video block using a matrix intra-prediction (MIP) mode, where performing a conversion using the MIP mode includes generating a prediction block by applying a matrix multiplication using the sample matrices obtained resulting from averaging over rows and columns of previously encoded video samples, and where the matrices depend on the bit depth of the sample.

На фиг. 33 показана примерная блок-схема последовательности операций примерного способа 3300 для матричного внутрикадрового предсказания. Операция 3302 включает в себя выработку для текущего видеоблока видео промежуточного сигнала предсказания с использованием режима матричного внутрикадрового предсказания (MIP), в котором блок предсказания текущего видеоблока определяется путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения, за которой выборочно следует операция повышающей дискретизации. Операция 3304 включает в себя выработку, на основе промежуточного сигнала предсказания, окончательного сигнала предсказания. Операция 3306 включает в себя выполнение, на основе окончательного сигнала предсказания, преобразования между текущим видеоблоком и представлением битового потока текущего видеоблока.In fig. 33 shows an example flowchart of an example method 3300 for matrix intra-frame prediction. Operation 3302 includes generating an intermediate prediction signal for the current video block using a matrix intra-prediction (MIP) mode in which the prediction block of the current video block is determined by performing, on the previously encoded video samples, an edge downsampling operation followed by a matrix operation. -vector multiplication followed selectively by an upsampling operation. Operation 3304 includes generating, based on the intermediate prediction signal, a final prediction signal. Operation 3306 includes performing, based on the final prediction signal, a conversion between the current video block and a bitstream representation of the current video block.

В некоторых вариантах осуществления способа 3300 выработка окончательного сигнала предсказания выполняется путем применения позиционно-зависимой комбинации внутрикадрового предсказания (PDPC) к промежуточному сигналу предсказания. В некоторых вариантах осуществления способа 3300 выработка конечного сигнала предсказания выполняется путем выработки ранее кодированных отсчетов видео с использованием режима MIP и путем фильтрации ранее кодированных отсчетов с использованием соседних отсчетов текущего видеоблока. In some embodiments of method 3300, generation of the final prediction signal is accomplished by applying a position-dependent intra-frame prediction pattern (PDPC) to the intermediate prediction signal. In some embodiments of method 3300, generating the final prediction signal is accomplished by generating previously encoded video samples using the MIP mode and by filtering the previously encoded samples using adjacent samples of the current video block.

На фиг. 34 показана примерная блок-схема последовательности операций примерного способа 3400 для матричного внутрикадрового предсказания. Операция 3402 включает в себя выполнение преобразования между текущим видеоблоком видео и представлением битового потока текущего видеоблока с использованием режима матричного внутрикадрового предсказания (MIP), где выполнение преобразования включает в себя использование интерполяционного фильтра в процессе повышающей дискретизации для режима MIP, где, в режиме MIP, матричное умножение применяется к первому набору отсчетов, полученному в результате усреднения по строкам и столбцам ранее кодированных отсчетов видео, и интерполяционный фильтр применяется ко второму набору отсчетов, полученных в результате матричного умножения, и где интерполяционный фильтр исключает фильтр билинейной интерполяции.In fig. 34 shows an example flowchart of an example method 3400 for matrix intra-frame prediction. Operation 3402 includes performing a transformation between the current video block of video and a bitstream representation of the current video block using a matrix intra-prediction (MIP) mode, where performing the transformation includes using an interpolation filter in the upsampling process for the MIP mode, where, in the MIP mode, a matrix multiplication is applied to the first set of samples resulting from row and column averaging of the previously encoded video samples, and an interpolation filter is applied to a second set of samples resulting from the matrix multiplication, and where the interpolation filter excludes the bilinear interpolation filter.

В некоторых вариантах осуществления способа 3400 интерполяционный фильтр включает в себя 4-отводный интерполяционный фильтр. В некоторых вариантах осуществления способа 3400 компенсация движения для компонентов цветности текущего видеоблока выполняется с использованием 4-отводного интерполяционного фильтра. В некоторых вариантах осуществления способа 3400 угловое внутрикадровое предсказание текущего видеоблока выполняется с использованием 4-отводного интерполяционного фильтра. В некоторых вариантах осуществления способа 3400 интерполяционный фильтр включает в себя 8-отводный интерполяционный фильтр, и компенсация движения для компонента яркости текущего видеоблока выполняется с использованием 8-отводного интерполяционного фильтра.In some embodiments of method 3400, the interpolation filter includes a 4-tap interpolation filter. In some embodiments of method 3400, motion compensation for the chroma components of the current video block is performed using a 4-tap interpolation filter. In some embodiments of method 3400, angular intra-frame prediction of the current video block is performed using a 4-tap interpolation filter. In some embodiments of method 3400, the interpolation filter includes an 8-tap interpolation filter, and motion compensation for the luminance component of the current video block is performed using the 8-tap interpolation filter.

На фиг. 35 показана примерная блок-схема последовательности операций примерного способа 3500 для матричного внутрикадрового предсказания. Операция 3502 включает в себя выполнение преобразования между текущим видеоблоком видео и представлением битового потока текущего видеоблока в соответствии с правилом, когда правило точно определяет взаимосвязь между применимостью режима матричного внутрикадрового предсказания (MIP) или режима преобразования во время преобразования, где режим MIP включает в себя определение блока предсказания текущего видеоблока путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения, и за которой выборочно следует операция повышающей дискретизации, и где режим преобразования точно определяет использование операции преобразования для определения блока предсказания для текущего видеоблока.In fig. 35 shows an example flowchart of an example method 3500 for matrix intra-frame prediction. Operation 3502 includes performing a conversion between the current video block of video and a bitstream representation of the current video block in accordance with a rule, where the rule specifies the relationship between the applicability of a matrix intra-prediction (MIP) mode or a transform mode at transform time, where the MIP mode includes determining prediction block of the current video block by performing, on the previously encoded video samples, a downsampling operation at the boundary, followed by a matrix-vector multiplication operation, and selectively followed by an upsampling operation, and where the transform mode specifies the use of the transform operation to determine the prediction block for the current video block.

В некоторых вариантах осуществления способа 3500 режим преобразования включает в себя сокращенное вторичное преобразование (RST), вторичное преобразование, преобразование поворота или неразделимое вторичное преобразование (NSST). В некоторых вариантах осуществления способа 3500 правило указывает то, что операция преобразования, использующая режим преобразования, не должна применяться в ответ на применение режима MIP к текущему видеоблоку. В некоторых вариантах осуществления способа 3500 правило указывает то, применять ли операцию преобразования, использующая режим преобразования, основанный на высоты (H) или ширине (W) текущего видеоблока. В некоторых вариантах осуществления способа 3500 правило указывает то, что операция преобразования, использующая режим преобразования, не применяется к текущему видеоблоку в ответ на то, что W ≥ T1 и H ≥ T2. В некоторых вариантах осуществления способа 3500 правило указывает то, что операция преобразования, использующая режим преобразования, не применяется к текущему видеоблоку в ответ на то, что W ≤ T1 и H ≤ T2. В некоторых вариантах осуществления способа 3500 правило указывает то, что операция преобразования, использующая режим преобразования, не применяется к текущему видеоблоку в ответ на то, что W ≥ T1 или H ≥ T2. В некоторых вариантах осуществления способа 3500, правило указывает то, что операция преобразования, использующая режим преобразования не применяется к текущему видеоблоку в ответ на то, что W ≤ T1 или H ≤ T2. В некоторых вариантах осуществления способа 3500 T1 = 32, и T2 = 32. В некоторых вариантах осуществления способа 3500 правило указывает то, что операция преобразования, использующая режим преобразования, не применяется к текущему видеоблоку в ответ на то, что W + H ≥ T. В некоторых вариантах осуществления способа 3500 правило указывает то, что операция преобразования с использованием режим не применяется к текущему видеоблоку в ответ на то, что W + H ≤ T. В некоторых вариантах осуществления способа преобразования 3500 правило указывает то, что операция преобразования, использующая режим преобразования, не применяется к текущему видеоблоку в ответ на то, что W × H ≥ T. В некоторых вариантах осуществления способа 3500 правило указывает то, что операция преобразования, использующая режим преобразования, не применяется к текущему видеоблоку в ответ на то, что W × H ≤ T. В некоторых вариантах осуществления способа 3500 T = 256.In some embodiments of method 3500, the transform mode includes a reduced secondary transform (RST), a secondary transform, a rotation transform, or a non-separable secondary transform (NSST). In some embodiments of method 3500, the rule specifies that a transform operation using the transform mode should not be applied in response to applying the MIP mode to the current video block. In some embodiments of method 3500, the rule specifies whether to apply a transform operation using a transform mode based on the height (H) or width (W) of the current video block. In some embodiments of method 3500, the rule specifies that a transform operation using the transform mode is not applied to the current video block in response to W ≥ T1 and H ≥ T2. In some embodiments of method 3500, the rule specifies that a transform operation using the transform mode is not applied to the current video block in response to W ≤ T1 and H ≤ T2. In some embodiments of method 3500, the rule specifies that a transform operation using the transform mode is not applied to the current video block in response to W ≥ T1 or H ≥ T2. In some embodiments of method 3500, the rule specifies that a transform operation using the transform mode is not applied to the current video block in response to W ≤ T1 or H ≤ T2. In some embodiments of method 3500, T1 = 32, and T2 = 32. In some embodiments of method 3500, the rule specifies that a transform operation using the transform mode is not applied to the current video block in response to W + H ≥ T. In some embodiments of the method 3500, the rule indicates that a transform operation using the mode is not applied to the current video block in response to W + H ≤ T. In some embodiments of the transform method 3500, the rule indicates that a transform operation using the mode transform is not applied to the current video block in response to the fact that W × H ≥ T. In some embodiments of method 3500, the rule specifies that a transform operation using the transform mode is not applied to the current video block in response to the fact that W × H ≤ T. In some embodiments of the method, 3500 T = 256.

В некоторых вариантах осуществления способа 3500 правило указывает то, что операция преобразования с использованием режима преобразования должна применяться в ответ на то, что текущий видеоблок закодирован с помощью режима MIP. В некоторых вариантах осуществления способа 3500, выбор преобразование матрицы или ядер для операции преобразования основан на текущем видеоблоке, закодированном с помощью режима MIP. В некоторых вариантах осуществления способ 3500 дополнительно включает в себя преобразование режима MIP во внутрикадровый режим предсказания; и выбор матрицы преобразования или ядра на основе преобразованного режима внутрикадрового предсказания. В некоторых вариантах осуществления способ 3500 дополнительно включает в себя преобразование режима MIP во внутрикадровый режим предсказания; и выбор матрицы преобразования или ядра на основе классификации преобразованного режима внутрикадрового предсказания. В некоторых вариантах осуществления способа 3500 преобразованный режим внутрикадрового предсказания включает в себя планарный режим. In some embodiments of method 3500, the rule specifies that a transform operation using a transform mode should be applied in response to the fact that the current video block is encoded using the MIP mode. In some embodiments of method 3500, the selection of the transform matrix or kernels for the transform operation is based on the current video block encoded using the MIP mode. In some embodiments, method 3500 further includes converting a MIP mode to an intra-frame prediction mode; and selecting a transformation matrix or kernel based on the transformed intra-prediction mode. In some embodiments, method 3500 further includes converting a MIP mode to an intra-frame prediction mode; and selecting a transformation matrix or kernel based on the classification of the transformed intra-prediction mode. In some embodiments of method 3500, the transformed intra prediction mode includes a planar mode.

В некоторых вариантах осуществления способа 3500 правило указывает то, что операция преобразования с использованием режима преобразования применяется к текущему видеоблоку тогда, когда запрещается применять режим MIP к текущему видеоблоку. В некоторых вариантах осуществления способа 3500 правило указывает то, что способ кодирования с преобразованием, а именно с дискретным косинусным преобразованием типа II (DCT-II), применяется к текущему видеоблоку, кодированному с использованием режима MIP. В некоторых вариантах осуществления способа 3500 представление битового потока текущего видеоблока исключает сигнализацию индексов матрицы преобразования для способа кодирования с преобразованием DCT-II. В некоторых вариантах осуществления способа 3500 выполнение преобразования включает в себя получение матрицы преобразования, которая будет использоваться в способе кодирования с преобразованием DCT-II. В некоторых вариантах осуществления способа 3500 представление битового потока включает в себя информацию, относящуюся к режиму MIP, которая сигнализируется после указания матрицы преобразования.In some embodiments of method 3500, the rule specifies that a transform operation using the transform mode is applied to the current video block when it is prohibited to apply the MIP mode to the current video block. In some embodiments of method 3500, the rule specifies that a discrete cosine transform type II (DCT-II) encoding method is applied to the current video block encoded using the MIP mode. In some embodiments of method 3500, the bitstream representation of the current video block eliminates signaling of transform matrix indices for the DCT-II transform coding method. In some embodiments of method 3500, performing the transform includes obtaining a transform matrix to be used in the DCT-II transform coding method. In some embodiments of method 3500, the bitstream representation includes MIP mode-related information that is signaled after specifying the transform matrix.

В некоторых вариантах осуществления способа 3500 представление битового потока включает в себя указание режима MIP для матрицы преобразования. В некоторых вариантах осуществления способа 3500 правило указывает то, что представление битового потока исключает указание режима MIP для заданных матриц преобразования. В некоторых вариантах осуществления способа 3500 правило указывает то, что операция преобразования с использованием способа пропуска преобразования применяется к текущему видеоблоку в ответ на кодирование текущего видеоблока с помощью режима MIP. В некоторых вариантах осуществления способа 3500 представление битового потока текущего видеоблока исключает сигнализацию способа пропуска преобразования, когда текущий видеоблок закодирован с помощью режима MIP. В некоторых вариантах осуществления способа 3500 правило указывает то, что для текущего видеоблока, закодированного с помощью режима MIP, режим MIP преобразуется в заданный режим внутрикадрового предсказания, когда операция преобразования выполняется путем выбора матрицы преобразования, зависящей от режима, или ядра. В некоторых вариантах осуществления способа 3500 правило указывает то, что операция преобразования с использованием способа пропуска преобразования запрещена для текущего видеоблока, который закодирован с помощью режима MIP. В некоторых вариантах осуществления способа 3500 представление битового потока исключает сигнализацию, которая указывает использовать способ пропуска преобразования. В некоторых вариантах осуществления способа 3500 правило указывает то, что операция преобразования с использованием способа пропуска преобразования разрешена для текущего видеоблока, который не закодирован с помощью режима MIP. В некоторых вариантах осуществления способа 3500 представление битового потока исключает сигнализацию, которая указывает использовать режим MIP.In some embodiments of method 3500, the bitstream representation includes indicating a MIP mode for the transform matrix. In some embodiments of method 3500, the rule specifies that the bitstream representation excludes specifying the MIP mode for given transform matrices. In some embodiments of method 3500, the rule specifies that a transform operation using a skip transform method is applied to the current video block in response to encoding the current video block using the MIP mode. In some embodiments of method 3500, the bitstream representation of the current video block avoids signaling a conversion skip method when the current video block is encoded using the MIP mode. In some embodiments of method 3500, the rule specifies that for a current video block encoded using the MIP mode, the MIP mode is converted to a specified intra-frame prediction mode when the conversion operation is performed by selecting a mode-dependent transform matrix or kernel. In some embodiments of method 3500, the rule indicates that a transform operation using a skip transform method is prohibited for the current video block that is encoded using the MIP mode. In some embodiments of method 3500, the bitstream representation excludes signaling that indicates use of the skip conversion technique. In some embodiments of method 3500, the rule indicates that a transform operation using a skip transform method is permitted for a current video block that is not encoded using the MIP mode. In some embodiments of method 3500, the bitstream presentation excludes signaling that indicates use of the MIP mode.

На фиг. 36 показана примерная блок-схема последовательности операций примерного способа 3600 для матричного внутрикадрового предсказания. Операция 3602 включает в себя выполнение преобразования между текущим видеоблоком видео и представлением битового потока текущего видеоблока с использованием режима матричного внутрикадрового предсказания (MIP), в котором блок предсказания текущего видеоблока определяется путем выполнения, над ранее кодированными отсчетами видео, понижающей дискретизации на границе операции, за которой следует операция матрично-векторного умножения, и за которой выборочно следует операция повышающей дискретизации, где выполнение преобразования включает в себя получение, в соответствии с правилом, граничных отсчетов путем применения операции сдвига битов влево или операции сдвига битов вправо к сумме по меньшей мере одного опорного граничного отсчета, и где правило определяет то, следует ли применить операцию сдвига битов влево или операцию сдвига битов вправо.In fig. 36 shows an example flowchart of an example method 3600 for matrix intra-frame prediction. Operation 3602 includes performing a transformation between the current video block of a video and a bitstream representation of the current video block using a matrix intra-prediction (MIP) mode, in which the prediction block of the current video block is determined by performing, on previously encoded video samples, downsampling at an operation boundary, at followed by a matrix-vector multiplication operation, and selectively followed by an upsampling operation, where performing the transformation involves obtaining, in accordance with the rule, the boundary samples by applying a left bit shift operation or a right bit shift operation to the sum of at least one reference boundary sample, and where the rule determines whether to apply a left shift operation or a right shift operation.

В некоторых вариантах осуществления способа 3600 правило точно определяет то, что операция сдвига битов вправо применяется в ответ на то, что количество сдвинутых битов больше или равно нулю. В некоторых вариантах осуществления способа 3600 правило точно определяет то, что операция сдвига битов вправо применяется с использованием первого способа в ответ на количество сдвинутых битов больше нуля, и где правило определяет то, что операция сдвига битов вправо применяется с использованием второй способ в ответ на то, что количество сдвинутых битов равно нулю, где первый способ отличается от второго способа.In some embodiments of method 3600, the rule specifies that a right shift operation is applied in response to the number of shifted bits being greater than or equal to zero. In some embodiments of method 3600, the rule specifies that a bit right shift operation is applied using a first method in response to a number of shifted bits greater than zero, and where the rule specifies that a bit right shift operation is applied using a second method in response to that the number of shifted bits is zero, where the first method is different from the second method.

В некоторых вариантах осуществления способа 3600 граничные отсчеты upsBdryX[ x ] вычисляются с использованием одного из следующих уравнений: upsBdryX[ x ] = ( + (1 << (Log2( uDwn ) - 1))) >> Log2( uDwn ), если uDwn> 1, или upsBdryX[ x ] = if uDwn = 1, где uDwn равно значению функции размера текущего видеоблока от размера границы, refX[x] указывает количество опорных отсчетов x, >> указывает операцию сдвига битов вправо, и << указывает операцию сдвига битов влево. В некоторых вариантах осуществления способа 3600 граничные отсчеты upsBdryX[ x ] вычисляются с использованием следующего уравнения: upsBdryX[ x ] = ( + (1 << Log2( uDwn ) >> 1 )) >> Log2( uDwn ), где uDwn – равно значению функции текущего видеоблока от размера границы, refX[x] указывает количество опорных отсчетов x, >> указывает операцию сдвига битов вправо, и << указывает операцию сдвига битов влево. In some embodiments of method 3600, the boundary samples upsBdryX[ x ] are calculated using one of the following equations: upsBdryX[ x ] = ( + (1 << (Log2( uDwn ) - 1))) >> Log2( uDwn ) if uDwn > 1, or upsBdryX[ x ] = if uDwn = 1, where uDwn is equal to the value of the current video block size function of the boundary size, refX[x] indicates the number of reference samples x, >> indicates the bit shift operation to the right, and << indicates the shift operation bits to the left. In some embodiments of method 3600, the boundary samples upsBdryX[ x ] are calculated using the following equation: upsBdryX[ x ] = ( + (1 << Log2( uDwn ) >> 1 )) >> Log2( uDwn ), where uDwn is equal to the value functions of the current video block on the boundary size, refX[x] indicates the number of reference samples x, >> indicates the right bit shift operation, and << indicates the left bit shift operation.

В некоторых вариантах осуществления способа 3600 размер границы предварительно определяется на основе размера текущего видеоблока. В некоторых вариантах осуществления способа 3600 uDwn вычисляется как uDwn = nTbs/BorderSize, где nTbs и BorderSize представляют текущий размер видеоблока и размер границы, соответственно. В некоторых вариантах осуществления способа 3600 граничные отсчеты upsBdryX[ x ] вычисляются с использованием одного из следующих уравнений: upsBdryX[ x ] = ( + (1 << (Log2( uDwn ) - 1))) >> Log2( uDwn ), если nTbs > BorderSize, или upsBdryX[ x ] = if nTbs = BorderSize.In some embodiments of method 3600, the size of the border is predetermined based on the size of the current video block. In some embodiments of method 3600, uDwn is calculated as uDwn = nTbs/BorderSize, where nTbs and BorderSize represent the current video block size and border size, respectively. In some embodiments of method 3600, the boundary samples upsBdryX[ x ] are calculated using one of the following equations: upsBdryX[ x ] = ( + (1 << (Log2( uDwn ) - 1))) >> Log2( uDwn ) if nTbs > BorderSize, or upsBdryX[ x ] = if nTbs = BorderSize.

На фиг. 37 показана примерная блок-схема последовательности операций примерного способа 3700 для матричного внутрикадрового предсказания. Операция 3702 включает в себя выполнение преобразования между текущим видеоблоком видео и представлением битового потока текущего видеоблока с использованием режима матричного внутрикадрового предсказания (MIP), в котором блок предсказания текущего видеоблока определяется путем выполнения, над ранее кодированными отсчетами видео, операции понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения, и за которой выборочно следует операция повышающей дискретизации, где отсчеты предсказания predSamples[ xHor + dX ][ yHor ] определяется в соответствии со следующей формулой в операции повышающей дискретизации: predSamples[ xHor + dX ][ yHor ] = ( ( upHor − dX ) * predSamples[ xHor ][ yHor ] + dX * predSamples[ xHor + upHor ][ yHor ] + offsetHor) / upHor, и predSamples[ xVer ][ yVer + dY ] = ( ( upVer − dY ) * predSamples[ xVer ][ yVer ] + dY * predSamples[ xVer ][ yVer + upVer ]+ offsetVer ) / upVer, где offsetHor и offsetVer – целые числа, где upHor – зависимость ширины текущего видеоблока от заданного значения, основанная на размере текущего видеоблока, где upVer – зависимость высоты текущего видеоблока от заданного значения, основанного на размера текущего видеоблока; где dX равно 1… upHor-1, где dY равно 1… upVer-1, и где xHor – позиции, основанные на upHor, и yHor – позиции, основанные на upVer. В некоторых вариантах осуществления способа 3700 offsetHor = upHor/2 и offsetVer = upVer/2.In fig. 37 shows an example flowchart of an example method 3700 for matrix intra-frame prediction. Operation 3702 includes performing a transformation between the current video block of the video and a bitstream representation of the current video block using a matrix intra-prediction (MIP) mode, in which the prediction block of the current video block is determined by performing, on the previously encoded video samples, a downsampling operation at the boundary, beyond followed by a matrix-vector multiplication operation, and selectively followed by an upsampling operation, where the prediction samples predSamples[ xHor + dX ][ yHor ] are determined according to the following formula in the upsampling operation: predSamples[ xHor + dX ][ yHor ] = ( ( upHor − dX ) * predSamples[ xHor ][ yHor ] + dX * predSamples[ xHor + upHor ][ yHor ] + offsetHor) / upHor, and predSamples[ xVer ][ yVer + dY ] = ( ( upVer − dY ) * predSamples[ xVer ][ yVer ] + dY * predSamples[ xVer ][ yVer + upVer ]+ offsetVer ) / upVer, where offsetHor and offsetVer are integers, where upHor is the dependence of the width of the current video block on the specified value, based on the size of the current video block, where upVer is the dependence of the height of the current video block on a given value based on the size of the current video block; where dX is equal to 1... upHor-1, where dY is equal to 1... upVer-1, and where xHor are positions based on upHor and yHor are positions based on upVer. In some embodiments of method 3700, offsetHor = upHor/2 and offsetVer = upVer/2.

На фиг. 38 показана примерная блок-схема последовательности операций примерного способа 3800 для матричного внутрикадрового предсказания. Операция 3802 включает в себя выработку, для преобразования между текущим видеоблоком видео и представлением битового потока текущего видеоблока, внутрикадрового режима предсказания для текущего видеоблока кодированного с помощью режима матричного внутрикадрового предсказания (MIP), в котором блок предсказания текущего видеоблока определяется путем выполнения, над ранее кодированными отсчетами видео, операция понижающей дискретизации на границе, за которой следует операция матрично-векторного умножения, и за которой выборочно следует операция повышающей дискретизации. Операция 3804 включает в себя определение правила для хранения информации, указывающей режима внутрикадрового предсказания на основе того, закодирован ли текущий видеоблок с помощью режима MIP. Операция 3806 включает в себя выполнение преобразования в соответствии с правилом, где правило точно определяет то, что представление битового потока исключает хранение информации, указывающей режим MIP, ассоциированный с текущим видеоблоком.In fig. 38 shows an example flowchart of an example method 3800 for matrix intra-frame prediction. Operation 3802 includes generating, to transform between the current video video block and the bitstream representation of the current video block, an intra-frame prediction mode for the current video block encoded using a matrix intra-frame prediction (MIP) mode, in which the prediction block of the current video block is determined by performing on previously encoded video samples, a downsampling operation at the boundary, followed by a matrix-vector multiplication operation, and selectively followed by an upsampling operation. Operation 3804 includes defining a rule for storing information indicating an intra-frame prediction mode based on whether the current video block is encoded using the MIP mode. Operation 3806 includes performing a conversion in accordance with a rule, where the rule specifies that the bitstream representation excludes storing information indicating the MIP mode associated with the current video block.

Данный патентный документ может относиться к представлению битового потока как к кодированному представлению и наоборот. Из вышеизложенного будет понятно, что конкретные варианты осуществления раскрытой здесь технологии были описаны в данном документе в целях иллюстрации, но при этом различные модификации могут быть выполнены без отклонения от объема изобретения. Соответственно, раскрытая в данном документе технология не ограничивается, за исключением прилагаемой формулы изобретения.This patent document may refer to a bitstream representation as an encoded representation and vice versa. From the foregoing, it will be understood that specific embodiments of the technology disclosed herein have been described herein for purposes of illustration, but various modifications may be made without departing from the scope of the invention. Accordingly, the technology disclosed herein is not limited except by the appended claims.

Реализации предмета изобретения и функциональные операции, описанные в данном патентном документе, могут быть реализованы в виде различных систем, цифровых электронных схем или компьютерного программного обеспечения, программно-аппаратных средств или аппаратных средств, включая структуры, раскрытые в настоящем описании, а также их структурные эквиваленты, или в виде комбинаций одного или нескольких из них. Реализации предмета изобретения, описанные в настоящем описании, могут быть реализованы в виде одного или нескольких программных продуктов, компьютерных, то есть одного или нескольких модулей инструкций компьютерной программы, закодированных на материальном и невременном машиночитаемом носителе информации, для исполнения или для управления работой из устройства обработки данных. Машиночитаемый носитель информации может представлять собой машиночитаемое запоминающее устройство, машиночитаемый носитель информации, устройство памяти, состав вещества, обеспечивающий распространяемый сигнал, считываемый машиной, или комбинацию одного или нескольких из них. Термин "блок обработки данных" или "устройство обработки данных" включает в себя все аппаратные устройства, устройства и машины для обработки данных, включая в качестве примера программируемый процессор, компьютер, или несколько процессоров или компьютеров. Устройство может включать в себя, в дополнение к аппаратным средствам, код, который создает среду исполнения для рассматриваемой компьютерной программы, например, код, который составляет микропрограмму процессора, стек протоколов, систему управления базами данных, операционную систему или комбинацию одного или нескольких из них.Implementations of the subject matter and functional operations described in this patent document may be implemented in the form of various systems, digital electronic circuits or computer software, firmware or hardware, including the structures disclosed herein, as well as their structural equivalents , or as combinations of one or more of them. The implementations of the subject matter described herein may be implemented as one or more computer program products, that is, one or more computer program instruction modules encoded on a tangible and non-transitory computer-readable storage medium, for execution or for control of operation from a processing device data. A computer-readable storage medium may be a computer-readable storage device, a computer-readable storage medium, a memory device, a composition of matter providing a propagated machine-readable signal, or a combination of one or more of these. The term "data processing unit" or "data processing device" includes all hardware devices, devices and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The device may include, in addition to hardware, code that creates an execution environment for the computer program in question, such as code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of these.

Компьютерная программа (также известная как программа, программное обеспечение, приложение, программа-скрипт или код) можно записать в любой форме языка программирования, включая скомпилированные или интерпретируемые языки, и она может быть развернута в любой форме, в том числе в виде автономной программы или модуля, компонента, подпрограммы или другого блока, пригодного для использования в вычислительной среде. Компьютерная программа не обязательно соответствует файлу в файловой системе. Программа может храниться в части файла, который содержит другие программы или данные (например, один или несколько сценариев, хранящихся на языке разметки документов), в одном файле, выделенном рассматриваемой программе, или в нескольких согласованных файлах (например, в файлах, которые хранят один или несколько модулей, вложенных программ или части кода). Компьютерная программа может быть развернута для исполнения на одном компьютере или на нескольких компьютерах, которые расположены в одном месте или распределены по нескольким сайтам и соединены между собой сетью связи.A computer program (also known as a program, software, application, script, or code) can be written in any form of a programming language, including compiled or interpreted languages, and can be deployed in any form, including as a stand-alone program or module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file on a file system. A program may be stored in a portion of a file that contains other programs or data (for example, one or more scripts stored in a document markup language), in a single file dedicated to the program in question, or in multiple coherent files (for example, files that store one or multiple modules, subprograms, or pieces of code). A computer program can be deployed for execution on a single computer or on multiple computers that are located in one location or distributed across multiple sites and interconnected by a communications network.

Процессы и логические потоки, описанные в настоящем описании, могут выполняться одним или несколькими программируемыми процессорами, выполняющими одну или несколько компьютерных программ для выполнения функций, оперируя входными данными и вырабатывая выходные данные. Кроме того, могут также выполняться процессы и логические потоки, и устройство может быть также реализовано в виде логической схемы специального назначения, например, FPGA (программируемая пользователем вентильная матрица) или ASIC (специализированная интегральная схема).The processes and logical flows described herein may be executed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and producing output data. In addition, processes and logic flows may also be executed, and the device may also be implemented as a special purpose logic circuit, such as an FPGA (Field Programmable Gate Array) or ASIC (Application Application Integrated Circuit).

Процессоры, подходящие для исполнения компьютерной программы, включают в себя, в качестве примера, микропроцессоры как общего, так и специального назначения, и любой один или более процессоров любого типа цифрового компьютера. Как правило, процессор принимает инструкции и данные только для считывания памяти или оперативной памяти или обоих. Основными элементами компьютера являются процессор для исполнения инструкций и одного или более устройств памяти для хранения инструкций и данных. В общем, компьютер будет также включать в себя или функционально соединен с возможностью приема данных из или передачи данных в или и то, и другое, одно или более запоминающих устройства большой емкости для хранения данных, например, магнитных дисков, магнитооптических или оптических дисков. Однако компьютер необязательно должен иметь такие устройства. Считываемые компьютером носители информации, пригодные для хранения инструкций и данных компьютерной программы включают в себя все виды энергонезависимой памяти, устройства для хранения данных и запоминающие устройства, включая в качестве примера полупроводниковые запоминающих устройств, например, например, EPROM, EEPROM и устройства флэш-памяти. Процессор и память могут быть дополнены специализированной логической схемой или включены в нее.Processors suitable for executing a computer program include, by way of example, both general purpose and special purpose microprocessors, and any one or more processors of any type of digital computer. Typically, the processor only accepts instructions and data to read memory or RAM or both. The basic elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. In general, a computer will also include, or be operatively coupled to receive data from or transmit data to, or both, one or more mass storage devices for storing data, such as magnetic disks, magneto-optical disks, or optical disks. However, the computer does not necessarily have to have such devices. Computer readable media suitable for storing computer program instructions and data include all types of non-volatile memory, data storage devices and storage devices, including by way of example semiconductor memory devices such as, for example, EPROMs, EEPROMs and flash memory devices. The processor and memory may be complemented by or incorporated into specialized logic circuitry.

Предполагается, что описание, вместе с чертежами, должно рассматриваться только в качестве примера, где термин "примерный" означает пример. Используемый в данном документе термин "или" предназначен для включения "и/или", если в контексте явно не указано иное.It is intended that the description, together with the drawings, be considered as exemplary only, where the term "exemplary" means example. As used herein, the term “or” is intended to include “and/or” unless the context clearly indicates otherwise.

Хотя данный патентный документ содержит много специфичных подробностей, их не следует рассматривать как ограничение объема изобретения или любого из того, что может быть заявлено, а скорее их следует рассматривать как описание функций, которые могут быть специфичными для конкретных вариантов осуществления конкретных изобретений. Некоторые признаки, описанные в настоящем патентном документе в контексте отдельных вариантов осуществления также могут быть реализованы в комбинации в одном варианте осуществления. И наоборот, различные признаки, которые описаны в контексте одного варианта осуществления также могут быть реализованы в нескольких вариантах по отдельности или в любой подходящей подкомбинации. Более того, хотя признаки были описаны выше как действующие в определенных комбинациях и даже изначально заявлены как таковые, один или несколько признаков из заявленной комбинации в некоторых случаях может быть исключен из комбинации, и заявленная комбинация может быть направлена на подкомбинацию или вариацию из подкомбинации.Although this patent document contains many specific details, they should not be construed as limiting the scope of the invention or anything that may be claimed, but rather they should be construed as describing features that may be specific to particular embodiments of particular inventions. Certain features described herein in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of one embodiment may also be implemented in multiple embodiments individually or in any suitable subcombination. Moreover, although features have been described above as operating in certain combinations and even initially claimed as such, one or more features from a claimed combination may in some cases be excluded from the combination, and the claimed combination may be directed to a subcombination or a variation of a subcombination.

Аналогичным образом, хотя операции изображены на чертежах в определенном порядке, это не следует понимать как требование того, чтобы такие операции выполнялись в конкретном указанном порядке или в последовательном порядке, или чтобы все проиллюстрированные операции выполнялись для достижения желаемых результатов. Более того, разделение различных компонентов системы в вариантах осуществления, описанных в данном патентном документе, не следует понимать как требующее такого разделения во всех вариантах осуществления.Likewise, although operations are depicted in the drawings in a particular order, this should not be understood to require that such operations be performed in a particular order stated or in a sequential order, or that all illustrated operations be performed to achieve the desired results. Moreover, the separation of various system components in the embodiments described in this patent document should not be understood to require such separation in all embodiments.

Выше было описано только несколько реализаций и примеров, и другие реализации, улучшения и изменения могут быть сделаны на основе того, что описано и проиллюстрировано в данном патентном документе.Only a few implementations and examples have been described above, and other implementations, improvements and changes may be made based on what is described and illustrated in this patent document.

Claims (34)

1. Способ обработки видео, содержащий этапы, на которых:1. A method for processing video, comprising the steps of: определяют, для преобразования между блоком цветности видео и битовым потоком видео, применять ли первый режим предсказания к блоку цветности;determining, for conversion between the video chrominance block and the video bitstream, whether to apply the first prediction mode to the chroma block; вырабатывают отсчеты предсказания для блока цветности на основе указанного определения; иgenerating prediction samples for the chrominance block based on the specified definition; And выполняют преобразование между блоком цветности и битовым потоком;performing a conversion between the chrominance block and the bitstream; причем в ответ на определение, что следует применить первый режим предсказания к блоку цветности, отсчеты предсказания вырабатываются путем выполнения операции пограничной понижающей дискретизации на основе размера блока цветности, за которой следует операция матрично-векторного умножения и за которой выборочно следует операция повышающей дискретизации.wherein, in response to determining that the first prediction mode should be applied to a chroma block, prediction samples are generated by performing a marginal downsampling operation based on the size of the chroma block, followed by a matrix-vector multiplication operation, and selectively followed by an upsampling operation. 2. Способ по п.1, в котором в ответ на определение, что не следует применять первый режим предсказания к блоку цветности, в случае, когда режим предсказания второго соответствующего блока яркости совпадает с первым режимом предсказания, отсчеты предсказания вырабатываются путем выполнения операции преобразования режима внутрикадрового предсказания яркости, за которой следует операция получения режима внутрикадрового предсказания цветности и за которой следует операция получения общих внутрикадровых отсчетов.2. The method of claim 1, wherein in response to determining that the first prediction mode should not be applied to the chroma block, in the case where the prediction mode of the second corresponding luminance block matches the first prediction mode, prediction samples are generated by performing a mode conversion operation intra-frame luminance prediction, followed by an operation of obtaining an intra-frame chrominance prediction mode, and followed by an operation of obtaining common intra-frame samples. 3. Способ по п.1 или 2, в котором определение, что следует применить первый режим предсказания к блоку цветности, основано на том, что режим предсказания блока цветности совпадает с режимом предсказания первого соответствующего блока яркости.3. The method of claim 1 or 2, wherein determining that the first prediction mode should be applied to the chroma block is based on the fact that the prediction mode of the chroma block is the same as the prediction mode of the first corresponding luminance block. 4. Способ по п.3, в котором то, что режим предсказания блока цветности совпадает с режимом предсказания первого соответствующего блока яркости, определяется на основе синтаксического элемента intra_chroma_pred_mode, причем синтаксический элемент intra_chroma_pred_mode используется для указания отношения отображения между режимом внутрикадрового предсказания компонента цветности и режимом внутрикадрового предсказания компонента яркости.4. The method of claim 3, wherein that the prediction mode of a chroma block is the same as the prediction mode of the first corresponding luminance block is determined based on an intra_chroma_pred_mode syntax element, wherein the intra_chroma_pred_mode syntax element is used to indicate a mapping relationship between the intra-chroma component prediction mode and the mode intra-frame prediction of the luminance component. 5. Способ по п.4, в котором синтаксический элемент intra_chroma_pred_mode указывает, что к блоку цветности применяется режим DM, причем в режиме DM режим внутрикадрового предсказания компонента цветности идентичен режиму внутрикадрового предсказания компонента яркости.5. The method of claim 4, wherein the intra_chroma_pred_mode syntax element indicates that the DM mode is applied to the chroma block, wherein in the DM mode, the intra-chroma prediction mode is identical to the intra-luminance prediction mode. 6. Способ по любому из пп.3-5, в котором первый соответствующий блок яркости является блоком яркости, покрывающим отсчет яркости, соответствующий левому верхнему отсчету блока цветности.6. The method according to any one of claims 3 to 5, wherein the first corresponding luminance block is a luminance block covering a luminance sample corresponding to the upper left sample of the chrominance block. 7. Способ по любому из пп.2-6, в котором в операции преобразования режима внутрикадрового предсказания яркости преобразованный режим предсказания яркости получается на основе режима предсказания второго соответствующего блока яркости.7. The method according to any one of claims 2 to 6, wherein in the intra-frame luminance prediction mode conversion operation, the converted luminance prediction mode is obtained based on the prediction mode of the second corresponding luminance block. 8. Способ по п.7, в котором второй соответствующий блок яркости является блоком яркости, покрывающим отсчет яркости, соответствующий центральному отсчету блока цветности.8. The method of claim 7, wherein the second corresponding luminance block is a luminance block covering a luminance sample corresponding to a central sample of the chrominance block. 9. Способ по п.7 или 8, в котором в ответ на то, что режим предсказания второго соответствующего блока яркости совпадает с первым режимом предсказания, преобразованный режим предсказания яркости выводится как нормальный режим внутрикадрового предсказания.9. The method as claimed in claim 7 or 8, wherein in response to the prediction mode of the second corresponding luminance block being the same as the first prediction mode, the converted luminance prediction mode is output as a normal intra-frame prediction mode. 10. Способ по п.9, в котором в нормальном режиме внутрикадрового предсказания применяются взвешенные вычисления на основе расстояния к опорным значениям в вертикальном и горизонтальном направлениях для выработки значений предсказания.10. The method of claim 9, wherein the normal intra-prediction mode applies distance-based weighted calculations to reference values in the vertical and horizontal directions to generate prediction values. 11. Способ по любому из пп.2-10, в котором в операции получения режима внутрикадрового предсказания цветности выводится второй режим предсказания для блока цветности на основе преобразованного режима предсказания яркости, при этом второй режим предсказания отличается от первого режима предсказания.11. The method according to any one of claims 2 to 10, wherein in the operation of obtaining an intra-frame chrominance prediction mode, a second prediction mode for the chrominance block is derived based on the transformed luminance prediction mode, wherein the second prediction mode is different from the first prediction mode. 12. Способ по любому из пп.3-6, в котором в ответ на то, что размер блока цветности совпадает с размером первого соответствующего блока яркости, в первом режиме предсказания и в режиме предсказания первого соответствующего блока яркости используются одинаковые матричные коэффициенты.12. The method according to any one of claims 3 to 6, wherein in response to the fact that the size of the chroma block is the same as the size of the first corresponding luma block, the same matrix coefficients are used in the first prediction mode and in the prediction mode of the first corresponding luma block. 13. Способ по любому из пп.1-12, в котором на этапе преобразования кодируют блок цветности в битовый поток.13. The method according to any one of claims 1 to 12, in which, at the conversion stage, the chrominance block is encoded into a bit stream. 14. Способ по любому из пп.1-12, в котором на этапе преобразования декодируют блок цветности из битового потока.14. The method according to any one of claims 1 to 12, in which, in the conversion step, the chrominance block from the bit stream is decoded. 15. Устройство обработки видеоданных, содержащее процессор и энергонезависимую память, в которой хранятся инструкции, причем инструкции при исполнении процессором вызывают выполнение процессором:15. A video data processing device comprising a processor and non-volatile memory in which instructions are stored, wherein the instructions, when executed by the processor, cause the processor to execute: определения, для преобразования между блоком цветности видео и битовым потоком видео, применять ли первый режим предсказания к блоку цветности;determining, for conversion between a video chrominance block and a video bitstream, whether to apply a first prediction mode to the chrominance block; выработки отсчетов предсказания для блока цветности на основе указанного определения; иgenerating prediction samples for the chrominance block based on said definition; And выполнения преобразования между блоком цветности и битовым потоком;performing a conversion between the chrominance block and the bitstream; при этом в ответ на определение, что следует применить первый режим предсказания к блоку цветности, отсчеты предсказания вырабатываются путем выполнения операции пограничной понижающей дискретизации на основе размера блока цветности, за которой следует операция матрично-векторного умножения и за которой выборочно следует операция повышающей дискретизации.wherein, in response to determining that a first prediction mode should be applied to a chroma block, prediction samples are generated by performing a marginal downsampling operation based on the size of the chroma block, followed by a matrix-vector multiplication operation, and followed selectively by an upsampling operation. 16. Энергонезависимый машиночитаемый носитель информации, на котором хранятся инструкции, которые вызывают выполнение процессором:16. A non-volatile computer-readable storage medium on which instructions are stored that cause the processor to execute: определения, для преобразования между блоком цветности видео и битовым потоком видео, применять ли первый режим предсказания к блоку цветности;determining, for conversion between a video chrominance block and a video bitstream, whether to apply a first prediction mode to the chrominance block; выработки отсчетов предсказания для блока цветности на основе указанного определения; иgenerating prediction samples for the chrominance block based on said definition; And выполнения преобразования между блоком цветности и битовым потоком;performing a conversion between the chrominance block and the bitstream; при этом в ответ на определение, что следует применить первый режим предсказания к блоку цветности, отсчеты предсказания вырабатываются путем выполнения операции пограничной понижающей дискретизации на основе размера блока цветности, за которой следует операция матрично-векторного умножения и за которой выборочно следует операция повышающей дискретизации.wherein, in response to determining that a first prediction mode should be applied to a chroma block, prediction samples are generated by performing a marginal downsampling operation based on the size of the chroma block, followed by a matrix-vector multiplication operation, and followed selectively by an upsampling operation. 17. Способ сохранения битового потока видео, содержащий этапы, на которых:17. A method for storing a video bitstream, comprising the steps of: определяют, применять ли первый режим предсказания к блоку цветности;determining whether to apply the first prediction mode to the chroma block; вырабатывают отсчеты предсказания для блока цветности на основе указанного определения;generating prediction samples for the chrominance block based on the specified definition; вырабатывают битовый поток на основе отсчетов предсказания; иgenerating a bit stream based on the prediction samples; And сохраняют битовый поток на энергонезависимом машиночитаемом носителе записи;storing the bit stream on a non-volatile computer readable recording medium; причем в ответ на определение, что следует применить первый режим предсказания к блоку цветности, отсчеты предсказания вырабатываются путем выполнения операции пограничной понижающей дискретизации на основе размера блока цветности, за которой следует операция матрично-векторного умножения и за которой выборочно следует операция повышающей дискретизации.wherein, in response to determining that the first prediction mode should be applied to a chroma block, prediction samples are generated by performing a marginal downsampling operation based on the size of the chroma block, followed by a matrix-vector multiplication operation, and selectively followed by an upsampling operation.
RU2021128856A 2019-04-12 2020-04-13 Determination of chromaticity coding mode using matrix-based intra-frame prediction RU2815738C2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNPCT/CN2019/082424 2019-04-12

Publications (2)

Publication Number Publication Date
RU2021128856A RU2021128856A (en) 2023-04-04
RU2815738C2 true RU2815738C2 (en) 2024-03-21

Family

ID=

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1784015A (en) * 2004-12-02 2006-06-07 中国科学院计算技术研究所 Inage predicting encoding method in frame
WO2012172779A1 (en) * 2011-06-13 2012-12-20 Panasonic Corporation Method and apparatus for encoding and decoding video using intra prediction mode dependent adaptive quantization matrix
RU2669005C2 (en) * 2014-01-03 2018-10-05 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Block vector prediction in video and image coding/decoding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1784015A (en) * 2004-12-02 2006-06-07 中国科学院计算技术研究所 Inage predicting encoding method in frame
WO2012172779A1 (en) * 2011-06-13 2012-12-20 Panasonic Corporation Method and apparatus for encoding and decoding video using intra prediction mode dependent adaptive quantization matrix
RU2669005C2 (en) * 2014-01-03 2018-10-05 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Block vector prediction in video and image coding/decoding

Similar Documents

Publication Publication Date Title
CN113678440B (en) Interaction between matrix-based intra prediction and other coding tools
JP7688092B2 (en) Constrained upsampling process in matrix-based intra prediction
CN113812150B (en) Matrix-based intra prediction using filtering
JP7632852B2 (en) Context Determination for Matrix-Based Intra Prediction
JP7612795B2 (en) Deriving the matrix in intra-coding mode
KR102698314B1 (en) Matrix-based intra prediction using upsampling
CN113728647B (en) Context Coding with Matrix-Based Intra Prediction
CN113853791A (en) Transform bypass codec residual block in digital video
RU2815738C2 (en) Determination of chromaticity coding mode using matrix-based intra-frame prediction
RU2815175C2 (en) Compilation of list of most probable modes for matrix intra-frame prediction