RU2797393C2 - Position-dependent intra prediction combination for wide-angle intra prediction - Google Patents

Position-dependent intra prediction combination for wide-angle intra prediction Download PDF

Info

Publication number
RU2797393C2
RU2797393C2 RU2020143757A RU2020143757A RU2797393C2 RU 2797393 C2 RU2797393 C2 RU 2797393C2 RU 2020143757 A RU2020143757 A RU 2020143757A RU 2020143757 A RU2020143757 A RU 2020143757A RU 2797393 C2 RU2797393 C2 RU 2797393C2
Authority
RU
Russia
Prior art keywords
block
square
prediction
video data
square video
Prior art date
Application number
RU2020143757A
Other languages
Russian (ru)
Other versions
RU2020143757A (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 RU2020143757A publication Critical patent/RU2020143757A/en
Application granted granted Critical
Publication of RU2797393C2 publication Critical patent/RU2797393C2/en

Links

Images

Abstract

FIELD: video coding and decoding.
SUBSTANCE: proposed methods and apparatus for performing intra-prediction in a coder or decoder for non-square blocks allow using a combination of reference samples from the row located on top of the non-square block and the column located to the left of the non-square block for prediction. A weighted combination of reference samples is used, and the number of prediction angles is expanded in the longer direction of the non-square block, so that fewer prediction angles are used in the shorter direction.
EFFECT: increasing the efficiency of video coding/decoding.
13 cl, 15 dwg

Description

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

По меньшей мере, один вариант осуществления настоящего изобретения относится, в общем, к способу или устройству для кодирования и декодирования видео.At least one embodiment of the present invention relates generally to a method or apparatus for encoding and decoding video.

Предшествующий уровень техники настоящего изобретенияBackground of the Invention

Для обеспечения высокой эффективности сжатия в схемах кодирования изображений и видеоданных обычно используется предсказание, включая предсказание вектора движения, и преобразование для задействования пространственной и временной избыточности в видео-контенте. Для использования межкадровой или внутрикадровой корреляции обычно применяется межкадровое (Inter) или внутрикадровое (Intra) предсказание, после чего разница между исходным изображением и прогнозированным изображением, часто именуемая ошибками предсказания или остаточными погрешностями предсказания, преобразуется, квантируется и подвергается энтропийному кодированию. Для воссоздания видео сжатые данные декодируются в ходе выполнения обратных процессов, соответствующих энтропийному кодированию, квантованию, преобразованию и предсказанию.To achieve high compression efficiency, image and video coding schemes typically use prediction, including motion vector prediction, and transformation to exploit spatial and temporal redundancy in video content. To use inter-frame or intra-frame correlation, inter-frame (Inter) or intra-frame (Intra) prediction is usually used, after which the difference between the original image and the predicted image, often referred to as prediction errors or residual prediction errors, is transformed, quantized and subjected to entropy encoding. To recreate the video, the compressed data is decoded by the inverse processes of entropy coding, quantization, transformation, and prediction.

Краткое раскрытие настоящего изобретенияBrief summary of the present invention

Недостатки и изъяны предшествующего уровня техники могут быть устранены с помощью общих аспектов заявленного изобретения, описанных в настоящем документе, которые относятся к направлениям адаптивного intra-предсказания формы блока при кодировании и декодировании.The shortcomings and shortcomings of the prior art can be eliminated using the general aspects of the claimed invention described in this document, which relate to the directions of adaptive intra block shape prediction in encoding and decoding.

Согласно первому аспекту настоящего изобретения предложен способ. Этот способ предусматривает следующие стадии: предсказание отсчетов блока видеоданных неквадратной формы с использованием, по меньшей мере, одного из опорных отсчетов N в строке, расположенной сверху блока видеоданных неквадратной формы, или, по меньшей мере, одного из опорных отсчетов М в столбце, расположенном слева от блока видеоданных неквадратной формы; и кодирование блока видеоданных неквадратной формы с использованием указанного предсказания в режиме intra-кодирования.According to the first aspect of the present invention, a method is provided. This method includes the following steps: predicting samples of a non-square video block using at least one of the reference samples N in the row located on top of the non-square video data block, or at least one of the reference samples M in the column located on the left from a block of non-square video data; and encoding the block of non-square video data using said prediction in the intra encoding mode.

Согласно другому аспекту настоящего изобретения предложен другой способ. Этот способ предусматривает следующие стадии: предсказание отсчета блока видеоданных неквадратной формы с использованием, по меньшей мере, одного отсчета из числа опорных отсчетов N в строке, расположенной сверху блока видеоданных неквадратной формы, или, по меньшей мере, одного отсчета из числа опорных отсчетов М в столбце, расположенном слева от блока видеоданных неквадратной формы; и декодирование блока видеоданных неквадратной формы с использованием указанного предсказания в режиме intra-кодирования.According to another aspect of the present invention, another method is provided. This method includes the following steps: predicting a sample of a non-square video data block using at least one sample from the number of reference samples N in the row located on top of the non-square video data block, or at least one sample from the number of reference samples M in a column to the left of the non-square video data block; and decoding the block of non-square video data using said prediction in the intra coding mode.

Согласно еще одному аспекту настоящего изобретения предложено устройство. Это устройство содержит процессор. Указанный процессор может быть выполнен с возможностью кодирования блока видеоданных или декодирования битового потока путем реализации любого из указанных способов.According to another aspect of the present invention, a device is provided. This device contains a processor. Said processor may be configured to encode a block of video data or decode a bitstream by implementing any of said methods.

Согласно еще одному общему аспекту, по меньшей мере, одного варианта осуществления настоящего изобретения предложен прибор, включающий в себя устройство согласно любому из вариантов осуществления декодирования; и, по меньшей мере, один из таких компонентов, как (i) антенна, выполненная с возможностью приема сигнала, причем сигнал содержит блок видеоданных, и (ii) ограничитель полосы частот, выполненный с возможностью ограничения принятого сигнала полосой частот, включающей в себя блок видеоданных, или (iii) дисплей, выполненный с возможностью отображения выходных данных, отражающих блок видеоданных.According to another general aspect of at least one embodiment of the present invention, an apparatus is provided, including an apparatus according to any of the decoding embodiments; and at least one of (i) an antenna configured to receive a signal, the signal comprising a block of video data, and (ii) a band limiter configured to limit the received signal to a frequency band including the block video data, or (iii) a display capable of displaying output data reflecting the block of video data.

Согласно еще одному общему аспекту, по меньшей мере, одного варианта осуществления настоящего изобретения предложено энергонезависимое машиночитаемое запоминающее устройство, в котором хранится контент данных, сгенерированный согласно любому из описанных вариантов или примеров осуществления кодирования.According to another general aspect of at least one embodiment of the present invention, there is provided a non-volatile computer-readable storage device that stores data content generated according to any of the described encoding embodiments or examples.

Согласно еще одному общему аспекту, по меньшей мере, одного варианта осуществления настоящего изобретения предложен сигнал, включающий в себя видеоданные, сгенерированные согласно любому из описанных вариантов или примеров осуществления кодирования.According to another general aspect of at least one embodiment of the present invention, a signal is provided, including video data generated according to any of the described encoding embodiments or examples.

Согласно еще одному общему аспекту, по меньшей мере, одного варианта осуществления настоящего изобретения битовый поток форматируется таким образом, чтобы он включал в себя контент данных, сгенерированный согласно любому из описанных вариантов или примеров осуществления кодирования.According to another general aspect of at least one embodiment of the present invention, the bitstream is formatted to include data content generated according to any of the described embodiments or encoding examples.

Согласно еще одному общему аспекту, по меньшей мере, одного варианта осуществления настоящего изобретения предложен компьютерный программный продукт, содержащий команды, которые при их исполнении компьютером инициируют реализацию этим компьютером любого из описанных вариантов или примеров осуществления декодирования.According to another general aspect of at least one embodiment of the present invention, there is provided a computer program product comprising instructions that, when executed by a computer, cause that computer to implement any of the described decoding embodiments or examples.

Эти и прочие аспекты, признаки и преимущества общих аспектов настоящего изобретения станут очевидными после ознакомления с последующим подробным описанием примеров осуществления заявленного изобретения, которое должно рассматриваться в привязке к прилагаемым чертежам.These and other aspects, features and advantages of the general aspects of the present invention will become apparent upon reading the following detailed description of exemplary embodiments of the claimed invention, which is to be read in conjunction with the accompanying drawings.

Краткое описание фигурBrief description of the figures

На фиг. 1 показан блок квадратной формы с расширенными опорными массивами, которые используются для intra-предсказания.In FIG. 1 shows a square-shaped block with extended reference arrays that are used for intra-prediction.

На фиг. 2 показаны верхние и левые опорные массивы длиной W+H+1.In FIG. 2 shows the top and left support arrays of length W+H+1.

На фиг. 3 показаны прямоугольные целевые блоки (приплюснутый блок слева и вертикально вытянутый блок справа) с их верхними и левыми контрольными массивами.In FIG. 3 shows the rectangular target boxes (flattened box on the left and vertically extended box on the right) with their top and left control arrays.

На фиг. 4 проиллюстрировано определение отсчетов, используемых при расширении PDPC диагональными и диагонально-смежными intra-режимами.In FIG. 4 illustrates the definition of the samples used in PDPC expansion by diagonal and diagonal-adjacent intra modes.

На фиг. 5 показан блок прямоугольной формы и определения различных режимов intra-предсказания.In FIG. 5 shows a block of rectangular shape and definitions of various modes of intra-prediction.

На фиг. 6 показан верхний опорный массив, характеризующийся длиной 2W+1, и левый опорный массив, характеризующийся длиной 2Н+1.In FIG. 6 shows the top support array having a length of 2W+1 and the left support array having a length of 2H+1.

На фиг. 7 приведен пример двух прямоугольников со схожими соотношениями сторон, но одинаковыми углами между их центрами и углами.In FIG. Figure 7 shows an example of two rectangles with similar aspect ratios but the same angles between their centers and corners.

На фиг. 8 приведен пример направленных intra-режимов, применимых к описанным общим аспектам.In FIG. 8 is an example of directional intra modes applicable to the general aspects described.

На фиг. 9 приведен другой пример направленных intra-режимов, применимых к описанным общим аспектам.In FIG. 9 shows another example of directional intra modes applicable to the general aspects described.

На фиг. 10 показан один из вариантов осуществления способа кодирования с использованием деблокирующей фильтрации во множестве областей.In FIG. 10 shows one embodiment of a multi-domain deblocking filtering encoding method.

На фиг. 11 показан один из вариантов осуществления другого способа декодирования с использованием деблокирующей фильтрации во множестве областей.In FIG. 11 shows one embodiment of another decoding method using multi-domain deblocking filtering.

На фиг. 12 показан один из вариантов осуществления устройства для кодирования или декодирования с использованием деблокирующей фильтрации во множестве областей.In FIG. 12 shows one embodiment of an apparatus for encoding or decoding using deblocking filtering in a plurality of areas.

На фиг. 13 показана типовая, стандартная схема кодирования.In FIG. 13 shows a typical, standard coding scheme.

На фиг. 14 показана типовая, стандартная схема декодирования.In FIG. 14 shows a typical, standard decoding scheme.

На фиг. 15 показана типичная процессорная схема, в которой могут быть реализованы описанные варианты осуществления настоящего изобретения.In FIG. 15 shows an exemplary processor circuit in which the described embodiments of the present invention may be implemented.

Подробное раскрытие настоящего изобретенияDetailed disclosure of the present invention

Варианты осуществления заявленного изобретения, описанные в настоящем документе, предназначены для использования в сфере сжатия видео и относятся к сжатию видеоданных, а также к кодированию и декодированию видео.The embodiments of the claimed invention described herein are for use in the field of video compression and relate to video data compression as well as video encoding and decoding.

В стандарте HEVC (высокоэффективное кодирование видеоизображений, ISO/IEC 23008-2, ITU-T Н.265), который регламентирует сжатие видеоданных, для задействования избыточности, возникающей между последовательными изображениями видео, используется временное предсказание с компенсацией движения.The HEVC (High Efficiency Video Coding, ISO/IEC 23008-2, ITU-T H.265) standard, which regulates video data compression, uses motion-compensated temporal prediction to take advantage of the redundancy that occurs between successive video images.

Для этого вектор движения соотносится с каждым блоком предсказания (PU). Каждый блок дерева кодирования (CTU) представлен деревом кодирования в сжатой области. Разделение CTU имеет вид квадродерева, где каждый лист называется кодирующей ячейкой (CU).To do this, a motion vector is associated with each prediction block (PU). Each coding tree unit (CTU) is represented by a coding tree in a compressed area. The CTU partition is quad-tree, where each leaf is called a coding unit (CU).

Затем ячейке CU придаются определенные параметры intra- или inter-предсказания (Prediction Info). Для этого она пространственно делится на один или несколько блоков предсказания (PU), причем каждому PU присваиваются определенная информация предсказания. Режим intra- или inter-кодирования назначается на уровне CU.The CU cell is then given certain intra- or inter-prediction parameters (Prediction Info). To do this, it is spatially divided into one or more prediction units (PUs), with each PU being assigned specific prediction information. The intra- or inter-coding mode is assigned at the CU level.

В предложении нового стандарта сжатия видео, известного под названием JEM (Объединенная исследовательская модель), которое было внесено группой JVET (Объединенная группа по исследованию видео), было предложено принять структуру разбивки блоков в виде бинарного квадродерева (QTBT) из-за высокой эффективности сжатия. Блок в бинарном дереве (ВТ) может быть разделен на два подблока одинакового размера путем его разбивки по горизонтали или вертикали посередине. Соответственно, блок ВТ может характеризоваться прямоугольной формой, где значения ширины и высоты не будут одинаковыми в отличие от блоков в квадродереве (QT), где блоки всегда характеризуются квадратной формой с одинаковыми значениями ширины и высоты. В стандарте HEVC направления углового intra-предсказания были заданы в диапазоне от 45 градусов до -135 градусов по углу 180 градусов, и они были сохранены в JEM, что сделало определение угловых направлений независимым от формы целевого блока.In a proposal for a new video compression standard, known as JEM (Joint Research Model), which was made by the JVET (Joint Video Research Group), it was proposed to adopt a binary quadtree (QTBT) blocking structure due to high compression efficiency. A block in a binary tree (BT) can be divided into two sub-blocks of the same size by splitting it horizontally or vertically in the middle. Accordingly, a BT block may have a rectangular shape where the width and height values will not be the same, in contrast to blocks in a quadtree (QT) where the blocks are always square in shape with the same width and height values. In the HEVC standard, intra-angle prediction directions were specified in the range of 45 degrees to -135 degrees over a 180-degree angle, and they were stored in JEM, making the definition of angle directions independent of the shape of the target block.

Для кодирования этих блоков используется intra-предсказание, предоставляющее расчетную версию блока с использованием ранее воссозданных соседних отсчетов. После этого кодируется разница между исходным блоком и предсказанием. В указанных классических кодеках используется одна строка опорных отсчетов вверху и слева от текущего блока.To encode these blocks, intra-prediction is used, providing a calculated version of the block using previously reconstructed neighboring samples. After that, the difference between the original block and the prediction is encoded. In these classic codecs, one line of reference samples is used at the top and left of the current block.

В одной из недавних работ было предложено широкоугольное intra-предсказание, которое обеспечивает углы направления intra-предсказания, превышающие обычный угол в 45 градусов. Кроме того, в текущем описании была принята позиционно-зависимая комбинация intra-предсказания (PDPC) для стандарта H.266/VVC кодирования видео следующего поколения.A recent paper has proposed wide-angle intra-prediction that provides intra-prediction direction angles greater than the usual 45 degree angle. In addition, in the current description, a position dependent intra prediction pattern (PDPC) has been adopted for the next generation H.266/VVC video coding standard.

В рамках описанных вариантов осуществления настоящего изобретения предлагается решение задачи обеспечения взаимодействия между широкоугольными режимами и PDPC применительно к диагональным и диагонально-смежным режимам. Задача, решаемая описанными общими аспектами настоящего изобретения, состоит в том, как эффективно объединить широкоугольное intra-предсказание с позиционно-зависимой комбинацией intra-предсказания (PDPC).Within the framework of the described embodiments of the present invention, a solution is provided for interoperability between wide-angle modes and PDPC in relation to diagonal and diagonal-adjacent modes. The problem solved by the described general aspects of the present invention is how to efficiently combine wide angle intra prediction with position dependent intra prediction combination (PDPC).

В предложении нового стандарта сжатия видео, известного под названием JEM (Объединенная исследовательская модель), которое было внесено группой JVET (Объединенная группа по исследованию видео), было предложено принять структуру разбивки блоков в виде бинарного квадродерева (QTBT) из-за высокой эффективности сжатия. Блок в бинарном дереве (ВТ) может быть разделен на два подблока одинаковых размеров путем его разбивки по горизонтали или вертикали посередине. Соответственно, блок ВТ может характеризоваться прямоугольной формой, где значения ширины и высоты не будут одинаковыми в отличие от блоков в QT, где блоки всегда характеризуются квадратной формой с одинаковыми значениями ширины и высоты. В стандарте HEVC направления углового intra-предсказания были заданы в диапазоне от 45 градусов до -135 градусов по углу 180 градусов, и они были сохранены в JEM, что сделало определение угловых направлений независимыми от формы целевого блока. Однако поскольку идея разделения блок дерева кодирования (CTU) на ячейки CU заключается в захвате объектов или частей объектов, а форма блока соотносится с направленностью объектов, для повышения эффективности сжатия целесообразно модифицировать уже установленные направления предсказания на основании формы блока. В этом контексте описанные общие аспекты предлагают переопределение направлений intra-предсказания для целевых блоков прямоугольной формы.In a proposal for a new video compression standard, known as JEM (Joint Research Model), which was made by the JVET (Joint Video Research Group), it was proposed to adopt a binary quadtree (QTBT) blocking structure due to high compression efficiency. A block in a binary tree (BT) can be divided into two sub-blocks of the same size by splitting it horizontally or vertically in the middle. Accordingly, a BT block may be rectangular in shape where the width and height will not be the same, unlike blocks in QT where blocks are always square in shape with the same width and height. In the HEVC standard, intra-angle prediction directions were specified in the range of 45 degrees to -135 degrees over a 180-degree angle, and they were stored in JEM, making the definition of angle directions independent of the shape of the target block. However, since the idea of dividing a coding tree block (CTU) into CU cells is to capture objects or parts of objects, and the shape of the block is related to the directionality of the objects, it is advisable to modify the already established prediction directions based on the shape of the block to improve the compression efficiency. In this context, the described general aspects suggest a redefinition of intra-prediction directions for rectangular target blocks.

Варианты осуществления заявленного изобретения, описанные в настоящем документе, направлены на повышение эффективности сжатия обычного видео за счет усовершенствования intra-предсказания с помощью структуры QTBT, где предлагается модифицировать направления intra-предсказания на основании формы CU. Если ячейка CU имеет квадратную форму, то уже определенные направления в JEM остаются неизменными. В противном случае обнаруженные направления модифицируются на основании формы CU. Однако общее количество угловых направлений для любой ячейки CU остается неизменным. Цель подстраивания направлений предсказания под форму блока состоит в повышении точности предсказания в отношении определяемых в данный момент времени набора направлений предсказания, которое не будет зависеть от формы блока.The embodiments of the claimed invention described herein aim to improve conventional video compression efficiency by improving intra prediction with the QTBT structure, where it is proposed to modify intra prediction directions based on the shape of the CU. If the CU cell is square, then the directions already defined in the JEM remain unchanged. Otherwise, the detected directions are modified based on the shape of the CU. However, the total number of angle directions for any CU cell remains the same. The purpose of adjusting the prediction directions to the block shape is to improve the prediction accuracy with respect to a currently determined set of prediction directions that will be independent of the block shape.

Кроме того, поскольку общее количество направлений предсказания для целевой ячейки CU остается неизменным, кодирование и декодирование режима предсказания с использованием набора МРМ (наиболее вероятных режимов) также остается неизменным. Однако поскольку ячейки CU разной формы имеют разные установленные наборы направлений, режимы предсказания соседних блоков отображаются на режимы предсказания целевого блока. Такое отображение представляет собой лишь переиндексацию режимов, а фактические направления предсказания остаются без изменений.In addition, since the total number of prediction directions for the target CU remains unchanged, the encoding and decoding of the prediction mode using the MPM (most likely modes) set also remains unchanged. However, since CU cells of different shapes have different sets of directions set, the prediction modes of neighboring blocks are mapped to the prediction modes of the target block. Such a mapping is only a reindexing of the modes, and the actual prediction directions remain unchanged.

В стандарте HEVC (высокоэффективное кодирование видеоизображений, Н.265) кодирование кадра видеопоследовательности основывается на структуре разбивки блоков в виде квадродерева (QT). Кадр разбивается на квадратные блоки дерева кодирования (CTU), которые все подвергаются разбивке по принципу квадродерева на множество кодирующих ячеек (CU) на основании критерия RD (зависимости искажений от скорости передачи данных). Каждая ячейка CU является либо intra-предсказанной, т.е. пространственно предсказанной по каузальным соседним ячейкам CU, либо inter-предсказанной, т.е. предсказанной во времени по уже декодированным опорным кадрам. В I-слайсе все ячейки CU являются intra-предсказанными, тогда как в Р- и В-слайсах ячейки CU могут быть как intra-, так и inter-предсказанными. Для intra-предсказания стандарт HEVC задает 35 режимов предсказания, которые включают в себя один режим Planar (обозначенный как режим 0), один режим DC (обозначенный как режим 1) и 33 угловых режимов (обозначенных как режимы 2-34). Угловые режимы соотносятся с направлениями предсказания, лежащими в диапазоне от 45 градусов до -135 градусов в направлении по часовой стрелке. Поскольку стандарт HEVC поддерживает структуру разбивки блоков в виде квадродерева (QT), все блоки предсказания (PU) характеризуются квадратной формой. Таким образом, определение углов предсказания в диапазоне от 45 градусов до -135 градусов оправдано с точки зрения формы PU (блока предсказания). Для целевого блока предсказания размерами N × N пикселов каждый массив из числа верхнего опорного массива и левого опорного массива имеет размеры 2N+1 отсчетов, что необходимо для покрытия указанного углового диапазона для всех целевых пикселов. Учитывая, что высота и ширина PU имеют одинаковую длину, равенство длин двух опорных массивов также обретает смысл.In the HEVC (High Efficiency Video Coding, H.265) standard, the frame coding of a video sequence is based on a quadtree (QT) block structure. The frame is partitioned into square coding tree blocks (CTUs), which are all quadtree-divided into multiple coding cells (CUs) based on the RD (Rate Rate Distortion) criterion. Each CU cell is either intra-predicted, i.e. spatially predicted by causal neighboring CU cells, or inter-predicted, i.e. predicted in time from already decoded reference frames. In an I-slice, all CU cells are intra-predicted, while in P- and B-slices, CU cells can be both intra- and inter-predicted. For intra prediction, the HEVC standard specifies 35 prediction modes, which include one Planar mode (denoted as mode 0), one DC mode (denoted as mode 1), and 33 angular modes (denoted as modes 2-34). Angular modes correspond to prediction directions ranging from 45 degrees to -135 degrees in a clockwise direction. Because the HEVC standard supports a quadtree (QT) block structure, all prediction blocks (PUs) are square in shape. Thus, defining prediction angles in the range of 45 degrees to -135 degrees is justified in terms of the shape of the PU (prediction unit). For an N×N pixel prediction target block, each of the top reference array and the left reference array has a size of 2N+1 samples, which is necessary to cover the specified angular range for all target pixels. Given that the height and width of the PU are the same length, the equality of the lengths of the two reference arrays also makes sense.

В рамках модели JEM (Объединенная исследовательская модель) группой JVET предлагается использовать 65 угловых режимов intra-предсказания в дополнение к режимам Planar и DC для следующего стандарта кодирования видео. Однако направления предсказания определяются в том же угловом диапазоне, т.е. от 45 градусов до -135 градусов в направлении по часовой стрелке. Для целевого блока размерами W × Н пикселов каждый массив из числа верхнего опорного массива и левого опорного массива имеет размеры (W+Н+1) пикселов, что необходимо для покрытия указанного углового диапазона для всех целевых пикселов. Такое определение угла в модели JEM было принято скорее для упрощения, чем по какой-либо иной конкретной причине. Однако это обернулось определенным снижением эффективности.Under the JEM (Joint Research Model) model, the JVET team proposes to use 65 angle intra-prediction modes in addition to the Planar and DC modes for the next video coding standard. However, the prediction directions are determined in the same angular range, i.e. 45 degrees to -135 degrees clockwise. For a target block of W×H pixels, each array of the top reference array and the left reference array has dimensions of (W+H+1) pixels, which is necessary to cover the specified angular range for all target pixels. This definition of the angle in the JEM model was adopted more for simplicity than for any other specific reason. However, this resulted in a certain decrease in efficiency.

В рамках модели JEM было предложено использовать структуру разбивки блоков в виде бинарного квадродерева (QTBT) вместо структуры в виде простого квадродерева из-за более высокой эффективности сжатия. В отличие от блоков QT, которые всегда имеют квадратную форму, блоки ВТ могут быть прямоугольными с неодинаковой шириной и высотой вследствие горизонтального или вертикального бинарного разделения. В текущем коде JEM соотношение сторон прямоугольного блока может варьироваться от 2:1 до 8:1. Таким образом, идея разных режимов углового предсказания заключается в фиксации разных направленностей объектов, а идея разбивки CTU на ячейки CU заключается в фиксации объектов или частей объектов, которые характеризуются такими направленностями. Следовательно, форма целевого блока структурно соотносится с направленностью объекта в блоке. Если блок имеет прямоугольную форму, то определенные направления предсказания могут быть более вероятны, чем другие. Следовательно, определение направлений предсказания не должно не соотноситься с формой целевого блока, как в модели JEM.Within the JEM model, it was proposed to use a binary quadtree (QTBT) block breakdown structure instead of a simple quadtree structure due to higher compression efficiency. Unlike QT blocks, which are always square, BT blocks can be rectangular with unequal widths and heights due to horizontal or vertical binary separation. In the current JEM code, the aspect ratio of a rectangular block can vary from 2:1 to 8:1. Thus, the idea of different angular prediction modes is to fix different directions of objects, and the idea of splitting CTU into CU cells is to fix objects or parts of objects that are characterized by such directions. Therefore, the shape of the target box is structurally related to the orientation of the object in the box. If the block is rectangular, then certain prediction directions may be more likely than others. Therefore, the definition of prediction directions should not be inconsistent with the shape of the target block, as in the JEM model.

В случае с квадратным блоком наблюдается структурная симметрия. Квадратный блок не только симметричен по высоте и ширине, но он также располагается симметрично относительно двух опорных массивов, как это показано на фиг. 1.In the case of a square block, structural symmetry is observed. The square block is not only symmetrical in height and width, but it is also positioned symmetrically with respect to the two support arrays, as shown in FIG. 1.

На фиг. 1 показан целевой блок квадратной формы с верхним и левым опорными массивами. Целевой блок располагается симметрично относительно двух опорных массивов. Направления предсказания определяются в диапазоне от 45 градусов до -135 градусов в направлении по часовой стрелке, причем режим 2 соответствует углу в 45 градусов, а режим 66 соответствует углу в -135 градусов.In FIG. 1 shows a square-shaped target block with top and left reference arrays. The target block is placed symmetrically with respect to the two reference arrays. Prediction directions are defined in the range of 45 degrees to -135 degrees in a clockwise direction, with mode 2 corresponding to an angle of 45 degrees and mode 66 corresponding to an angle of -135 degrees.

В случае с прямоугольным блоком этого нельзя сказать о текущих установленных направлениях. Если блок приплюснут (т.е. W>Н), то он располагается ближе к верхнему опорному массиву, но асимметрично. Аналогичным образом, если блок вертикально вытянут (т.е. W<Н), то он располагается ближе к левому опорному массиву, но тоже асимметрично. Эта асимметрия проиллюстрирована на фиг. 2.In the case of a rectangular block, the same cannot be said for the currently set directions. If the block is flattened (i.e. W>H), then it is located closer to the upper support array, but asymmetrically. Similarly, if the block is vertically extended (i.e. W<H), then it is located closer to the left reference array, but also asymmetrically. This asymmetry is illustrated in Fig. 2.

На фиг. 2 показаны целевые блоки прямоугольной формы (приплюснутый блок слева и вертикально вытянутый блок справа) с их верхними и левыми опорными массивами. Целевые блоки располагаются асимметрично относительно двух опорных массивов.In FIG. 2 shows rectangular target blocks (flattened block on the left and vertically extended block on the right) with their top and left support arrays. The target blocks are arranged asymmetrically with respect to the two reference arrays.

Результат такой асимметрии заключается в том, что для некоторых режимов предсказания целевой пиксел будет прогнозироваться по самому дальнему опорному массиву, тогда как ближайший опорный массив будет исключен из-за заданных углов. Это проиллюстрировано на фиг. 3.The result of this asymmetry is that, for some prediction modes, the target pixel will be predicted from the farthest reference array, while the closest reference array will be excluded due to the given angles. This is illustrated in FIG. 3.

На фиг. 3 показаны целевые блоки прямоугольной формы (приплюснутый блок слева и вертикально вытянутый блок справа) с их верхними и левыми опорными массивами. В левой части фигуры целевой пиксел А характеризуется наличием предсказывающего отсчета L на левом опорном массиве с горизонтальным направлением предсказания. Хотя в вертикальном направлении предсказания отсчет Т на верхнем опорном массиве является ближайшим отсчетом, который мог бы служить предсказывающим отсчетом для пиксела А, в модели JEM это запрещено. В правой части фигуры представлен аналогичный случай для целевого пиксела в вертикально вытянутом блоке.In FIG. 3 shows rectangular target blocks (flattened block on the left and vertically extended block on the right) with their top and left support arrays. On the left side of the figure, the target pixel A is characterized by having a predictive sample L on the left reference array with a horizontal prediction direction. Although in the vertical direction of prediction, the T sample on the top reference array is the closest sample that could serve as a predictive sample for pixel A, this is prohibited in the JEM model. The right side of the figure shows a similar case for a target pixel in a vertically extruded block.

Чем более приплюснут или вертикально вытянут блок (т.е. чем больше отношение его длинной стороны к короткой стороне), тем более выраженной будет эта асимметрия. Вследствие неточности предсказания такие режимы предсказания становятся все менее перспективными, что показывают фактические результаты тестирования.The more flattened or vertically elongated the block (i.e., the greater the ratio of its long side to the short side), the more pronounced this asymmetry will be. Due to the inaccuracy of the prediction, such prediction modes are becoming less promising, as shown by the actual test results.

Еще одним аргументом в пользу неэффективности текущих установленных направлений служит равенство числа направлений предсказания по горизонтали и вертикали. В модели JEM, за исключением диагонального режима (режима 34), предусмотрено 32 режима в обоих направлениях, т.е. по горизонтали и вертикали. Для квадратных CU, где высота и ширина одинаковы, имеет смысл иметь одинаковое число режимов предсказания в горизонтальном и вертикальном направлениях. Если блок имеет прямоугольную форму, при которой одна сторона длиннее другой, количество направлений предсказания на длинной стороне должно быть больше просто из-за потенциально большего числа структурных направленностей на этой стороне. Для приплюснутого блока соотношение между количеством вертикальных и горизонтальных режимов должно быть такого же порядка величины, что и отношение ширины к высоте. Аналогичным образом для вертикально вытянутого блока соотношение между количеством вертикальных и горизонтальных режимов должно быть такого же порядка величины, что и отношение высоты к ширине. Еще одним моментом, который следует принять во внимание, является длина опорных массивов. Для квадратных CU, где высота и ширина одинаковы, имеет смысл иметь такую же длину опорных массивов. Однако как можно интуитивно понять, в прямоугольных блоках, в которых ширина превышает высоту, верхний опорный массив должен иметь большее число отсчетов, чем левый опорный массив.Another argument in favor of the inefficiency of the current established directions is the equality of the number of prediction directions horizontally and vertically. In the JEM model, with the exception of the diagonal mode (mode 34), there are 32 modes in both directions, i.e. horizontally and vertically. For square CUs where the height and width are the same, it makes sense to have the same number of prediction modes in the horizontal and vertical directions. If the block is rectangular, with one side longer than the other, the number of prediction directions on the long side must be larger simply because of the potentially larger number of structural directions on that side. For a flattened block, the ratio between the number of vertical and horizontal modes must be of the same order of magnitude as the ratio of width to height. Similarly, for a vertically extruded block, the ratio between the number of vertical and horizontal modes should be of the same order of magnitude as the ratio of height to width. Another point to take into account is the length of the reference arrays. For square CUs where the height and width are the same, it makes sense to have the same length of the support arrays. However, as can be intuitively understood, in rectangular boxes where the width exceeds the height, the top reference array should have more samples than the left reference array.

Аналогичным образом для блоков, в которых высота превышает ширину, левый опорный массив должен иметь большее число отсчетов, чем верхний опорный массив. Такое интуитивное понимание основывается на том факте, что приплюснутый (вертикально вытянутый) прямоугольный блок характеризуется наличием большего числа отсчетов или информации в горизонтальном (вертикальном) направлении. Аналогичным образом вертикально вытянутый прямоугольный блок характеризуется наличием большего числа отсчетов или информации в вертикальном направлении. Следовательно, текущие установленные направления в диапазоне от 45 градусов до -135 градусов, которые обуславливают равное число режимов предсказания, как в горизонтальном, так и в вертикальном направлении, а также одинаковые значения длины опорных массивов, отчасти неэффективны для прямоугольных блоков.Similarly, for blocks where the height exceeds the width, the left reference array must have more samples than the top reference array. This intuitive understanding is based on the fact that a flattened (vertically elongated) rectangular block is characterized by the presence of more samples or information in the horizontal (vertical) direction. Similarly, a vertically elongated rectangular block is characterized by having more samples or information in the vertical direction. Therefore, the current set directions in the range of 45 degrees to -135 degrees, which result in an equal number of prediction modes in both the horizontal and vertical directions, as well as the same reference array lengths, are somewhat inefficient for rectangular blocks.

В модели JEM целевые блоки ВТ (бинарное дерево) могут характеризоваться разными формами, что зависит от их длины по ширине и высоте. Прямоугольник задается его шириной W и высотой Н, как это показано на фиг. 7. Если А, В, С и D обозначают четыре его вершины, как показано на указанной фигуре, то АС обозначает его главную диагональ, a BD - его побочную диагональ. Квадрат представляет собой прямоугольник особого рода, когда W=Н. На фиг. 7 показаны отличительные признаки прямоугольного блока.In the JEM model, the target blocks of the BT (binary tree) can be characterized by different shapes, which depends on their length in width and height. A rectangle is defined by its width W and height H, as shown in Fig. 7. If A, B, C and D denote its four vertices, as shown in the indicated figure, then AC denotes its main diagonal, and BD its secondary diagonal. A square is a special kind of rectangle when W=H. In FIG. 7 shows the distinguishing features of a rectangular block.

Для любого целевого блока шириной W и высотой Н режим 2 будет соотноситься с направлением от вершины D к вершине В, а режим 66 - с направлением от вершины В к вершине D вдоль побочной диагонали, как это показано на фиг. 5. Диагональный режим соотносится с направлением от вершины А к вершине С вдоль главной диагонали. Все режимы в диапазоне от режима 2 до диагонального режима будут называться режимами предсказания «влево». Аналогичным образом все режимы в диапазоне от диагонального режима до режима 66, включая диагональный режим, будут называться режимами предсказания «вверх». Режимы предсказания «влево» соотносятся с горизонтальными направлениями. Аналогичным образом режимы предсказания «вверх» соотносятся с вертикальными направлениями. Горизонтальный режим или чисто горизонтальный режим представляет собой режим предсказания «влево», который соответствует нулевому углу. Вертикальный режим или чисто вертикальный режим представляет собой режим предсказания «вверх», который соответствует углу в -90 градусов.For any target block of width W and height H, mode 2 will correspond to the direction from vertex D to vertex B, and mode 66 will correspond to the direction from vertex B to vertex D along the side diagonal, as shown in Fig. 5. Diagonal mode refers to the direction from vertex A to vertex C along the main diagonal. All modes in the range from mode 2 to diagonal mode will be referred to as left prediction modes. Similarly, all modes in the range from diagonal mode to mode 66, including diagonal mode, will be referred to as up prediction modes. Left prediction modes correspond to horizontal directions. Similarly, up prediction modes correspond to vertical directions. The horizontal mode or purely horizontal mode is a left prediction mode that corresponds to a zero angle. The vertical mode or purely vertical mode is an up prediction mode that corresponds to an angle of -90 degrees.

На фиг. 5 показано определение направлений предсказания для блока прямоугольной формы. Режим 2 направлен вдоль побочной диагонали от вершины D к вершине В. Направление режима 66 противоположно направлению режима 2. Диагональный режим направлен вдоль главной диагонали от вершины А к вершине С.In FIG. 5 shows the definition of prediction directions for a rectangular block. Mode 2 is directed along the secondary diagonal from vertex D to vertex B. The direction of mode 66 is opposite to the direction of mode 2. Diagonal mode is directed along the main diagonal from vertex A to vertex C.

На фиг. 6 показан верхний опорный массив, характеризующийся длиной 2W+1, и левый опорный массив, характеризующийся длиной 2Н+1. Ширина W и высота Н являются размерами блоков белого цвета, показанных на фиг. 6.In FIG. 6 shows the top support array having a length of 2W+1 and the left support array having a length of 2H+1. Width W and height H are the sizes of the white blocks shown in FIG. 6.

Для поддержки этих направлений предсказания верхний опорный массив длиной 2W+1 и левый опорный массив длиной 2Н+1 заданы так, как это показано на фиг. 6. Для сценария с квадратным блоком фигура будет идентичной фиг. 1, где W=Н=N.To support these prediction directions, the top reference array of length 2W+1 and the left reference array of length 2H+1 are defined as shown in FIG. 6. For the square block scenario, the figure will be identical to fig. 1, where W=H=N.

Следует иметь в виду, что для приплюснутого блока длина верхнего опорного массива превышает длину левого опорного массива. Это же относится к количеству режимов предсказания «вверх» в сравнении с режимами предсказания «влево». Аналогичным образом для вертикально вытянутого блока верно обратное. В этом случае длина левого опорного массива превышает длину верхнего опорного массива.Note that for a flattened block, the length of the top reference pattern is greater than the length of the left reference pattern. The same applies to the number of "up" prediction modes compared to the "left" prediction modes. Similarly, the opposite is true for a vertically extruded block. In this case, the length of the left reference array is greater than the length of the upper reference array.

Более того, блок располагается симметрично относительно опорных массивов. Когда целевой блок имеет квадратную форму, эта симметрия является абсолютной, и направления предсказания и значения длины опорных массивов точно согласуются с определениями JEM, как это показано на фиг. 1.Moreover, the block is located symmetrically with respect to the reference arrays. When the target block is square, this symmetry is absolute, and the prediction directions and reference array lengths match the JEM definitions exactly, as shown in FIG. 1.

Преимущество указанного определения заключается в адаптивности направлений предсказания к форме блока. Следует отметить, что в данном случае режимы 2 и 66 заданы таким образом, что они соответствуют не направлениям вдоль угла 45 градусов и угла -135 градусов, а направлениям вдоль побочной диагонали. В случае с приплюснутым блоком некоторые направления, приближающиеся или равные 45 градусам, исключены, но точно такое же количество направлений добавлено к противоположным направлениям сверх угла в -135 градусов. Аналогичным образом в случае с вертикально вытянутым блоком некоторые направления, приближающиеся или равные -135 градусам, исключены, но точно такое же количество направлений добавлено к противоположным направлениям сверх угла в 45 градусов. Отклонение режима 2 от угла в 45 градусов будет называться термином «modeShift», который определяется как число исключенных режимов (в диапазоне от режима 2 до угла в 45 градусов), или эквивалентно как число добавленных режимов (в диапазоне от угла в -135 градусов до режима 66). Приплюснутые блоки характеризуются положительным отклонением modeShift, тогда как вертикально вытянутее блоки характеризуются отрицательным отклонением modeShift. Для квадратного блока modeShift равен нулю.This definition has the advantage of adapting prediction directions to the shape of the block. It should be noted that in this case, modes 2 and 66 are set in such a way that they correspond not to the directions along the 45 degree angle and the -135 degree angle, but to the directions along the secondary diagonal. In the case of the flattened block, some directions approaching or equal to 45 degrees are excluded, but exactly the same number of directions are added to the opposite directions above the -135 degree angle. Similarly, in the case of the vertically extruded block, some directions approaching or equal to -135 degrees are excluded, but exactly the same number of directions are added to the opposite directions above the 45 degree angle. The deviation of mode 2 from an angle of 45 degrees will be referred to by the term "modeShift", which is defined as the number of excluded modes (in the range from mode 2 to an angle of 45 degrees), or equivalently as the number of added modes (in the range from an angle of -135 degrees to mode 66). Flattened blocks are characterized by a positive modeShift deviation, while vertically elongated blocks are characterized by a negative modeShift deviation. For a square block, modeShift is zero.

Отклонение modeShift блока отображает смещение его начального режима (т.е. режима 2) относительно начального режима квадратного блока. Бесспорно, это зависит от формы блока. Важно отметить, что modeShift блока зависит не от абсолютных значений его ширины и высоты, а от соотношения между указанными параметрами. Это проиллюстрировано на фиг. 7. Прямоугольник ABCD (шириной W1 и высотой H1) и прямоугольник EFGH (шириной W2 и высотой Н2) характеризуются одними и теми же направлениями предсказания (т.е. одинаковым отклонением modeShift). Используя подобие треугольников, можно увидеть, что W1/W2=Н1/Н2. Следовательно, W1/H1=W2/H2. Следовательно, блоки с одинаковым отношением ширины к высоте (или наоборот) будут характеризоваться одинаковыми режимами предсказания в горизонтальном и вертикальном направлениях.The block's modeShift offset represents the offset of its initial mode (ie mode 2) relative to the square block's initial mode. Undoubtedly, it depends on the shape of the block. It is important to note that the modeShift of a block does not depend on the absolute values of its width and height, but on the ratio between the specified parameters. This is illustrated in FIG. 7. Rectangle ABCD (width W1 and height H1) and rectangle EFGH (width W2 and height H2) are characterized by the same prediction directions (i.e., the same modeShift deviation). Using similar triangles, we can see that W1/W2=H1/H2. Therefore, W1/H1=W2/H2. Therefore, blocks with the same width-to-height ratio (or vice versa) will have the same prediction modes in the horizontal and vertical directions.

На фиг. 7 показаны блоки с одинаковым соотношением сторон (отношением ширины к высоте), которые характеризуются одинаковыми режимами предсказания и, соответственно, одинаковым отклонением modeShift.In FIG. 7 shows blocks with the same aspect ratio (width to height ratio), which are characterized by the same prediction modes and, accordingly, the same modeShift deviation.

Широкоугольное intra-предсказание служит цели определения лучшего множества направлений intra-предсказания, когда блок имеет прямоугольную форму.The wide-angle intra prediction serves the purpose of determining the best set of intra prediction directions when the block is rectangular.

В случае с неквадратными блоками для некоторых режимов предсказания целевой пиксел будет предсказан по наиболее удаленному опорному массиву, тогда как ближайший опорный массив будет исключен из-за установленных углов. Это показано на фиг. 3.In the case of non-square blocks, for some prediction modes, the target pixel will be predicted from the outermost reference array, while the nearest reference array will be excluded due to the set angles. This is shown in FIG. 3.

На фиг. 3 показаны прямоугольные целевые блоки (приплюснутый блок слева и вертикально вытянутый блок справа) с их верхними и левыми опорными массивами. В левой части фигуры целевой пиксел А характеризуется наличием предсказывающего отсчета L на левом опорном массиве с горизонтальным направлением предсказания. Хотя в вертикальном направлении предсказания отсчет Т на верхнем опорном массиве является ближайшим отсчетом, который мог бы служить предсказывающим отсчетом для пиксела А, в VTM/BMS это запрещено. В правой части фигуры представлен аналогичный сценарий для целевого пиксела в вертикально вытянутом блоке.In FIG. 3 shows the rectangular target blocks (flattened block on the left and vertically extended block on the right) with their top and left support arrays. On the left side of the figure, the target pixel A is characterized by having a predictive sample L on the left reference array with a horizontal prediction direction. Although in the vertical direction of prediction, the T sample on the top reference array is the closest sample that could serve as a predictive sample for pixel A, this is prohibited in the VTM/BMS. The right side of the figure shows a similar scenario for a target pixel in a vertically extruded box.

Для неквадратных блоков предлагается заменить обычные угловые режимы intra-предсказания широкоугольными направленными режимами. Заменяемые режимы активизируются с использованием исходного метода и переназначаются к индексам широкоугольных режимов после парсинга. Общее число режимов intra-предсказания не изменяется, равно как и режим intra-кодирования.For non-square blocks, it is proposed to replace the usual intra-angle prediction modes with wide-angle directional modes. The replaced modes are activated using the original method and reassigned to the wide-angle mode indices after parsing. The total number of intra prediction modes does not change, as does the intra coding mode.

Для поддержки этих направлений предсказания предлагается задать верхний опорный массив длиной 2W+1 и левый опорный массив длиной 2Н+1.To support these prediction directions, it is proposed to define the top reference array of length 2W+1 and the left reference array of length 2H+1.

На фиг. 6 показан верхний опорный массив, характеризующийся длиной 2W+1, и левый опорный массив, характеризующийся длиной 2Н+1. В случае с квадратным блоком направления и значения длины опорных массивов идентичны аналогичным параметрам в VTM/BMS.In FIG. 6 shows the top support array having a length of 2W+1 and the left support array having a length of 2H+1. In the case of a square block, the directions and lengths of the support arrays are identical to those in the VTM/BMS.

На фиг. 8 показаны направления intra-предсказания, когда используется 65 направленных intra-режимов. Диагональные режимы соответствуют режиму #2 (-135 градусов) и режиму #66 (45 градусов). К этому случаю также применимы варианты осуществления заявленного изобретения, описанные в настоящем документе, хотя некоторые примеры показаны с 35 направленными intra-режимами.In FIG. 8 shows intra prediction directions when 65 directed intra modes are used. Diagonal modes correspond to mode #2 (-135 degrees) and mode #66 (45 degrees). The embodiments of the claimed invention described herein also apply to this case, although some examples are shown with 35 directional intra modes.

На фиг. 9 приведен пример того, как угловые intra-режимы заменяются широкоугольными режимами для неквадратных блоков в случае с 35 направленными intra-режимами. В этом примере режим 2 и режим 3 заменяются широкоугольным режимом 35 и режимом 36, где направление режима 35 противоположно направлению режима 3, а направление режима 36 противоположно направлению режима 4.In FIG. Figure 9 shows an example of how angled intra modes are replaced by wide angle modes for non-square blocks in the case of 35 directional intra modes. In this example, mode 2 and mode 3 are replaced by wide angle mode 35 and mode 36, where the direction of mode 35 is opposite to that of mode 3 and the direction of mode 36 is opposite to that of mode 4.

На фиг. 9 показана замена intra-направлений для сценария с приплюснутым прямоугольником (ширина > высоты). В этом примере два режима (#2 и #3) заменяются широкоугольными режимами (35 и 36).In FIG. Figure 9 shows the substitution of intra directions for the flattened rectangle scenario (width > height). In this example, two modes (#2 and #3) are replaced by wide-angle modes (35 and 36).

Для сценария с 65 направленными intra-режимами, который проиллюстрирован на фиг. 8, широкоугольное intra-предсказание может передавать до 10 режимов. Если ширина блока превышает его высоту, то согласно вариантам осуществления заявленного изобретения, описанным в настоящем документе, например, режимы с #2 по #11 исключаются, а режимы с #67 по #76 добавляются.For the 65 directed intra scenario illustrated in FIG. 8, wide-angle intra-prediction can transmit up to 10 modes. If the block's width exceeds its height, then according to the embodiments of the claimed invention described herein, for example, modes #2 to #11 are excluded and modes #67 to #76 are added.

Режим PDPC, принятый в настоящем времени в проекте перспективного стандарта H.266/VVC, применим к нескольким intra-режимам: Planar, DC, горизонтальным, вертикальным и диагональным режимам, а также к так называемым диагонально-смежным режимам, т.е. направлениям, примыкающим к диагонали. В примере, приведенном на фиг. 3, диагональные режимы соответствуют режиму 2 и режиму 34. Смежные режимы могут включать в себя, например, режимы 3, 4, 32 и 33, если к каждому диагональному направлению добавлено по два смежных режима. В текущем техническом решении принятого режима PDPC для каждой диагонали предусмотрено 8 режимов, т.е. всего 16 диагонально-смежных режимов. Подробное описание PDPC для диагональных и диагонально-смежных режимов представлено ниже.The PDPC mode currently adopted in the draft forward H.266/VVC standard is applicable to several intra modes: Planar, DC, horizontal, vertical and diagonal modes, as well as to the so-called diagonal-adjacent modes, i.e. directions adjacent to the diagonal. In the example shown in FIG. 3, the diagonal modes correspond to mode 2 and mode 34. The adjacent modes may include, for example, modes 3, 4, 32, and 33 if two adjacent modes are added to each diagonal direction. In the current technical solution of the adopted PDPC mode, 8 modes are provided for each diagonal, i.e. a total of 16 diagonal-adjacent modes. A detailed description of PDPC for diagonal and diagonal adjacent modes is provided below.

На фиг. 4(a) проиллюстрировано определение опорных отсчетов Rx,-1, R-1,y и R-1,-1 при расширения PDPC диагональным режимом «вверх-вправо». Отсчет предсказания pred(x', у') лежит в координатах (х', у') в пределах блока предсказания. Координата х опорного отсчета Rx,-1 имеет следующий вид: х=х'+у'+1; а координата у опорного отсчета R-1,y аналогичным образом записывается следующим образом: у=х'+у'+1.In FIG. 4(a) illustrates the determination of the reference samples Rx ,-1 , R -1,y , and R -1,-1 in diagonal up-right PDPC extensions. The prediction count pred(x', y') lies at coordinates (x', y') within the prediction block. The x-coordinate of the reference reference R x,-1 has the following form: x=x'+y'+1; and the y-coordinate of the reference sample R -1,y is similarly written as follows: y=x'+y'+1.

Весовые значения PDPC для диагонального режима «вверх-вправо» имеют следующий вид:The PDPC weights for the up-right diagonal mode are as follows:

wT=16 >> ((у'<<1) >> shift), wL=16 >> ((х'<<1) >> shift), wTL=0.wT=16 >> ((y'<<1) >> shift), wL=16 >> ((x'<<1) >> shift), wTL=0.

На фиг. 4 проиллюстрировано определение отсчетов, используемых при расширении PDPC диагональными и диагонально-смежными intra-режимами.In FIG. 4 illustrates the definition of the samples used in PDPC expansion by diagonal and diagonal-adjacent intra modes.

Аналогичным образом на фиг. 4(b) проиллюстрировано определение опорных отсчетов Rx,-1, R-1,y и R-1,-1 при расширении PDPC диагональным режимом «вниз-влево». Координата х опорного отсчета Rx,-1 описывается как х=х'+у'+1, а координата у опорного отсчета R-1,y описывается как у=х'+у'+1. Весовые значения PDPC для диагонального режима «вверх-вправо» имеют следующий вид: wT=16 >> ((у'<<1) >> shift), wL=16 >> ((х'<<1) >> shift), wTL=0. Сценарий с диагонально-смежным режимом «вверх-вправо» проиллюстрирован на фиг. 4(c). Весовые значения PDPC для диагонально-смежного режима «вверх-вправо» записываются следующим образом: wT=32 >> ((у'<<1) >> shift), wL=0, wTL=0. Аналогичным образом на фиг. 4(d) проиллюстрирован сценарий с диагонально-смежным режимом «вниз-влево». Весовые значения PDPC для диагонально-смежного режима «вниз-влево» записываются следующим образом: wL=32 >> ((х'<<1) >> shift), wT=0, wTL=0. Координаты опорных отсчетов для двух последних сценариев вычисляются с помощью таблиц, которые уже используются для угловых режимов intra-предсказания. Линейная интерполяция опорных отсчетов используется, если вычислены дробные координаты опорных отсчетов.Similarly, in FIG. 4(b) illustrates the definition of the reference samples R x,-1 , R -1, y and R -1, -1 when extending the PDPC in a downward-left diagonal mode. The x-coordinate of the reference sample R x,-1 is described as x=x'+y'+1, and the y-coordinate of the reference sample R -1,y is described as y=x'+y'+1. The PDPC weights for the up-right diagonal mode are as follows: wT=16 >>((y'<<1)>> shift), wL=16 >>((x'<<1)>> shift) , wTL=0. The diagonal-adjacent up-right scenario is illustrated in FIG. 4(c). The PDPC weights for the up-right diagonal adjacent mode are written as follows: wT=32 >>((y'<<1)>> shift), wL=0, wTL=0. Similarly, in FIG. 4(d) illustrates a diagonal-adjacent down-left scenario. The PDPC weights for the diagonally adjacent down-left mode are written as follows: wL=32 >>((x'<<1)>> shift), wT=0, wTL=0. The reference sample coordinates for the last two scenarios are calculated using the tables that are already used for intra-angle modes. Reference point linear interpolation is used if fractional reference point coordinates are computed.

В сценарии с диагональными режимами и диагонально-смежными режимами предусмотрено взаимодействие с широкоугольным intra-предсказанием.In the scenario with diagonal modes and diagonal-adjacent modes, interaction with wide-angle intra-prediction is provided.

Во-первых, в текущем техническом решении JEM доступные опорные отсчеты для любого блока располагаются в верхнем линейном сегменте и левом линейном сегменте размерами «ширина + высота + 1», как это показано на фиг. 1. В сценарии с диагональным углом режим PDPC применим к любому пикселу в блоке, поскольку обеспечено постоянное наличие как R(x,-1), так и R(-1,y). Дело обстоит иначе для диагонально-смежных углов, где линия, проходящая через нижние правые пикселы блока, может не пересекать доступные сегменты отсчетов. В этом случае режим PDPC применим к блоку частично, что требует попиксельного тестирования на наличие опорных отсчетов. Это может рассматриваться как проблема сложности практической реализации.First, in the current JEM solution, the available reference samples for any block are located in the top line segment and the left line segment with dimensions "width + height + 1", as shown in Fig. 1. In the diagonal corner scenario, the PDPC mode is applicable to any pixel in the block, since both R(x,-1) and R(-1,y) are always present. The situation is different for diagonally adjacent corners, where the line passing through the lower right pixels of the block may not cross the available sample segments. In this case, the PDPC mode is partially applicable to the block, which requires pixel-by-pixel testing for the presence of reference samples. This can be seen as a problem of practical implementation complexity.

Для решения этой задачи разработаны некоторые варианты реализации общих аспектов, описанных в настоящем документе.To solve this problem, some options for implementing the general aspects described in this document have been developed.

В описанных вариантах осуществления настоящего изобретения для сценария с неквадратными блоками предлагается модифицировать множество режимов, в отношении которых применяется PDPC.In the described embodiments of the present invention, for the scenario with non-square blocks, it is proposed to modify the set of modes in relation to which PDPC is applied.

В текущем решении модели JEM множество смежных режимов не включает в себя расширенные режимы. Например, как это показано на фиг. 3, режимы #35 и #36 не могут использовать преимущества PDPC.In the current JEM solution, the set of adjacent modes does not include extended modes. For example, as shown in FIG. 3, modes #35 and #36 cannot take advantage of PDPC.

Предлагается расширить добавленные широкоугольные режимы диагонально-смежными режимами.It is proposed to expand the added wide-angle modes with diagonal-adjacent modes.

Вариант 1:Option 1:

Режим PDPC применяется ко всем широкоугольным режимам помимо диагональных и диагонально-смежных режимов.The PDPC mode applies to all wide-angle modes except diagonal and diagonal-adjacent modes.

Вариант 2:Option 2:

Режим PDPC применяется к множеству смежных режимов по обе стороны диагональных режимов.The PDPC mode is applied to a plurality of adjacent modes on both sides of the diagonal modes.

Вариант 3:Option 3:

Поскольку смежные режимы поднимают вопрос частичного применения PDPC к блоку, а опорные отсчеты не всегда доступны, предлагается применять PDPC не к имеющимся смежным режимам, таким как режим 33 на фиг. 3, а к расширенным направлениям, так как по обе стороны этих направлений имеются опорные отсчеты.Because adjacent modes raise the issue of partially applying PDPC to a block, and reference samples are not always available, it is suggested that PDPC be applied to non-available adjacent modes, such as mode 33 in FIG. 3, but to extended directions, since there are reference readings on both sides of these directions.

Вариант 4:Option 4:

В случае с неквадратным блоком не следует рассматривать диагональный режим в качестве режима 45 градусов или -135 градусов, как это делается в настоящее время, при этом для PDPC диагональным следует считать последнее расширенное широкоугольное направление, а углы, примыкающие к этому новому направлению, следует рассматривать в качестве диагонально-смежных режимов.In the case of a non-square block, the diagonal mode should not be considered as a 45 degree or -135 degree mode, as is currently done, while for PDPC, the last extended wide angle direction should be considered diagonal, and angles adjacent to this new direction should be considered as diagonally adjacent modes.

Как показано на фиг. 4, режим PDPC в сценарии с диагонально-смежными режимами требуется наличие как верхних, так и левых опорных отсчетов.As shown in FIG. 4, the PDPC mode in the diagonal-adjacent mode scenario requires both top and left reference samples.

Широкоугольное intra-предсказание, представленное в JVET-K0500, изменяет размеры буфера опорных отсчетов с «ширина + высота + 1», как для левого, так и для правого линейных сегментов, на «2*высота + 1», соответственно, «2*height + l» для буфера левых и, соответственно, правых опорных отсчетов. Этим обеспечивается модификация доступных отсчетов для PDPC.Wide-angle intra prediction, introduced in JVET-K0500, resizes the reference sample buffer from "width + height + 1", for both left and right line segments, to "2*height + 1", respectively, "2* height + l" for the buffer of left and, respectively, right reference samples. This provides a modification of the available readings for PDPC.

Вариант 5:Option 5:

Предлагается не уменьшать размеры буфера опорных отсчетов в отношении наименьшей стороны. Например, для приплюснутого блока, показанного на фиг. 2 (слева), следует использовать отсчеты «ширина + высота + 1» вместо «2*высота + 1». Это решает проблему, связанную с диагональным режимом PDPC, который может быть применен ко всему блоку в текущем техническом решении, но не может быть применен к некоторым отсчетам в нижней правой части текущего блока, если размеры изменяются на «2*высоты + 1». В этом случае все широкоугольные режимы могут также в полной мере использовать преимущества PDPC, т.е. могут быть обработаны все отсчеты блока.It is proposed not to reduce the size of the reference sample buffer with respect to the smallest side. For example, for the flattened block shown in FIG. 2 (left), "width + height + 1" should be used instead of "2*height + 1". This solves an issue with PDPC's diagonal mode, which can be applied to the entire block in the current design, but cannot be applied to some samples in the lower right of the current block if resized to "2*height + 1". In this case, all wide modes can also take full advantage of PDPC, i.e. all block samples can be processed.

Вариант 6:Option 6:

Если размеры опорного буфера не увеличены, то не следует ограничивать использование PDPC при отсутствии опорного отсчета, а следует взять значение последнего опорного отсчета в строке.If the reference buffer size is not increased, then the use of PDPC should not be restricted in the absence of a reference sample, but the value of the last reference sample in the line should be taken.

На фиг. 10 показан один из вариантов осуществления способа 1000 декодирования блока видеоданных с использованием общих аспектов, описанных в настоящем документе. Этот способ начинается со стадии 1001 (Пуск), после чего осуществляется переход к стадии 1010 для предсказания отсчета неквадратного блока видеоданных с использованием, по меньшей мере, одного из опорных отсчетов N в строке, расположенной сверху блока видеоданных неквадратной формы, или, по меньшей мере, одного из опорных отсчетов М в столбце, расположенном слева от блока видеоданных неквадратной формы. Затем выполняется переход от стадии 1010 к стадии 1020 для декодирования неквадратного блока видеоданных с использованием указанного предсказания в режиме intra-кодирования.In FIG. 10 shows one embodiment of a method 1000 for decoding a block of video data using the general aspects described herein. This method starts at step 1001 (Start), after which it proceeds to step 1010 to predict a non-square video block sample using at least one of the N reference samples in the line above the non-square video block, or at least , one of the reference samples M in the column located to the left of the block of non-square video data. Next, a transition is made from step 1010 to step 1020 to decode the non-square block of video data using the specified prediction in the intra coding mode.

На фиг. 11 показан один из вариантов осуществления способа 1100 декодирования блока видеоданных с использованием общих аспектов, описанных в настоящем документе. Этот способ начинается со стадии 1101 (Пуск), после чего осуществляется переход к стадии 1110 для предсказания отсчета неквадратного блока видеоданных с использованием, по меньшей мере, одного из опорных отсчетов N в строке, расположенной сверху блока видеоданных неквадратной формы, или, по меньшей мере, одного из опорных отсчетов М в столбце, расположенном слева от блока видеоданных неквадратной формы. Затем выполняется переход от стадии 1110 к стадии 1120 для декодирования неквадратного блока видеоданных с использованием указанного предсказания в режиме intra-кодирования.In FIG. 11 shows one embodiment of a method 1100 for decoding a block of video data using the general aspects described herein. The method starts at step 1101 (Start), after which it proceeds to step 1110 to predict a non-square video block sample using at least one of the N reference samples in a row on top of the non-square video block, or at least , one of the reference samples M in the column located to the left of the block of non-square video data. Next, a transition is made from step 1110 to step 1120 to decode the non-square block of video data using the specified prediction in the intra coding mode.

На фиг. 12 показан один из вариантов осуществления устройства 1200 для кодирования или декодирования блока видеоданных. Это устройство включает в себя процессор 1210, и может быть соединено с памятью 1220, по меньшей мере, через один порт. Как процессор 1210, так и память 1220 может также характеризоваться наличием одного или нескольких дополнительных межсоединений с внешними выводами.In FIG. 12 shows one embodiment of an apparatus 1200 for encoding or decoding a block of video data. This device includes a processor 1210, and may be connected to the memory 1220 through at least one port. Both processor 1210 and memory 1220 may also have one or more additional external pin interconnects.

Процессор 1210 выполнен с возможностью или кодирования, или декодирования видеоданных путем предсказания отсчета неквадратного блока видеоданных с использованием, по меньшей мере, одного из опорных отсчетов N в строке, расположенной сверху блока видеоданных неквадратной формы, или, по меньшей мере, одного из опорных отсчетов М в столбце, расположенном слева от блока видеоданных неквадратной формы; и либо кодирования, либо декодирования неквадратного блока видеоданных с использованием предсказания в режиме intra-кодирования.Processor 1210 is configured to either encode or decode video data by predicting a sample of a non-square video block using at least one of the reference samples N in a row located on top of the non-square video block, or at least one of the reference samples M in the column to the left of the non-square video data block; and either encoding or decoding the non-square block of video data using intra-mode prediction.

В этом документе описываются различные аспекты, включая инструменты, признаки, варианты осуществления, модели, подходы и тому подобное. Многие из этих аспектов описаны подробно и, по меньшей мере, с целью демонстрации их индивидуальных характеристик; и часто они раскрыты таким образом, который может показаться носящим ограничительный характер. Однако это сделано для наглядности описания и никоим образом не ограничивает применение или объем этих аспектов. В действительности все эти аспекты могут объединяться и заменяться друг другом для получения дополнительных аспектов. Более того, эти аспекты могут также объединяться и заменяться аспектами, описанными в ранее поданных заявках.This document describes various aspects, including tools, features, embodiments, models, approaches, and the like. Many of these aspects are described in detail, and at least for the purpose of demonstrating their individual characteristics; and often they are disclosed in a way that may seem restrictive. However, this is done for the sake of clarity of description and does not in any way limit the application or scope of these aspects. In fact, all these aspects can be combined and replaced with each other to obtain additional aspects. Moreover, these aspects may also be combined and replaced by aspects described in previously filed applications.

Варианты осуществления заявленного изобретения, описанные и предполагаемые в настоящем документе, могут быть реализованы самыми разными способами. На фиг. 13, 14 и 15, описанных ниже, представлены лишь некоторые варианты осуществления заявленного изобретения, однако настоящее изобретение предполагает также и иные варианты своего осуществления, и описание на примере фиг. 13, 14 и 15 не ограничивает объем практической реализации заявленного изобретения. По меньшей мере, один из аспектов относится, в общем, к кодированию и декодированию видео; а, по меньшей мере, один другой аспект относится, в общем, к передаче сгенерированного или кодированного битового потока. Эти и прочие аспекты могут быть реализованы в виде способа, устройства, машиночитаемого запоминающего устройства, в котором хранятся команды для кодирования и декодирования видеоданных согласно любому из описанных способов, и/или машиночитаемого запоминающего устройства, в котором сохраняется битовый поток, сгенерированный согласно любому из описанных способов.The embodiments of the claimed invention described and contemplated herein may be implemented in a variety of ways. In FIG. 13, 14 and 15 described below are only some embodiments of the claimed invention, however, the present invention also contemplates other embodiments of its implementation, and the description on the example of FIG. 13, 14 and 15 does not limit the scope of the practical implementation of the claimed invention. At least one aspect relates generally to video encoding and decoding; and at least one other aspect relates generally to the transmission of a generated or encoded bitstream. These and other aspects may be implemented as a method, apparatus, computer-readable memory that stores instructions for encoding and decoding video data according to any of the methods described, and/or computer-readable memory that stores a bitstream generated according to any of the described methods. ways.

В настоящем документе термины «воссозданный» и «декодированный» могут использоваться взаимозаменяемо; термины «пиксел» и «отсчет» также могут использоваться взаимозаменяемо; и термины «изображение», «картинка» и «кадр» также могут использоваться взаимозаменяемо. Обычно, но не обязательно, термин «воссозданный» используется на стороне кодера, тогда как термин «декодированный» используется на стороне декодера.In this document, the terms "recreated" and "decoded" may be used interchangeably; the terms "pixel" and "sample" can also be used interchangeably; and the terms "image", "picture", and "frame" may also be used interchangeably. Typically, but not necessarily, the term "recreated" is used on the encoder side, while the term "decoded" is used on the decoder side.

В настоящем документе описаны различные способы, и каждый из них предусматривает одну или несколько стадий или операций по реализации описываемого способа. Если для надлежащей реализации способа не требуется какой-либо особый порядок выполнения его стадий или операций, то последовательность и/или использование конкретных стадий и/или операций может быть изменено или скомбинировано.Various methods are described herein, and each of them includes one or more steps or operations for implementing the described method. If the proper implementation of the method does not require any special order of its stages or operations, then the sequence and/or use of specific stages and/or operations can be changed or combined.

Различные способы и другие аспекты, описанные в настоящем документе, могут быть использованы для модификации модулей, например, модулей (160, 360, 145 и 330) intra-предсказания, энтропийного кодирования и/или декодирования видеокодера 100 и видеодекодера 200, показанных на фиг. 13 и 14. Более того, представленные аспекты не ограничены стандартом VVC или HEVC, и могут быть применены, например, к другим стандартам и рекомендациям, как уже существующим, так и перспективным, а также к дополнениям к любым таким стандартам и рекомендациям (включая VVC и HEVC). Если не указано или технически не предполагается иное, то аспекты, описанные в настоящем документе, могут быть использованы по отдельности или в сочетании.Various methods and other aspects described herein may be used to modify modules, such as intra prediction, entropy coding, and/or decoding modules (160, 360, 145, and 330), of video encoder 100 and video decoder 200 shown in FIG. 13 and 14. Moreover, the aspects presented are not limited to the VVC or HEVC standard, and may be applied, for example, to other standards and recommendations, both existing and future, as well as additions to any such standards and recommendations (including VVC and HEVC). Unless otherwise noted or technically implied, the aspects described herein may be used alone or in combination.

В настоящем документе используются различные численные значения, например, {{1,0}, {3,1}, {1,1}}. Конкретные значения представлены исключительно в иллюстративных целях, и описанные аспекты ими не ограничены.Various numerical values are used in this document, for example, {{1.0}, {3.1}, {1.1}}. Specific values are provided for illustrative purposes only, and the described aspects are not limited to them.

На фиг. 13 показан кодер 100. Предполагаются различные варианты осуществления кодера 100, который описан ниже лишь для наглядности без представления всех предполагаемых вариантов его осуществления.In FIG. 13 shows encoder 100. Various embodiments of encoder 100 are contemplated, and are described below for illustrative purposes only without presenting all contemplated embodiments thereof.

Перед кодированием видеопоследовательность может быть подвергнута предварительной обработке (101), например, путем применения технологии преобразования цветности к входному цветному изображению (например, путем переключения формата RGB 4:4:4 на YCbCr 4:2:0) или путем переназначения компонентов входного изображения с тем, чтобы добиться более устойчивого к сжатию распределения сигнала (например, с использованием выравнивания гистограммы одной из цветовых составляющих). С предобработкой могут быть соотнесены метаданные, которые прикрепляются к битовому потоку.Before encoding, the video sequence may be pre-processed (101), for example, by applying a chrominance conversion technique to the input color image (eg, by switching the RGB 4:4:4 format to YCbCr 4:2:0) or by remapping the components of the input image from in order to achieve a more compression-resistant distribution of the signal (for example, using histogram equalization of one of the color components). Preprocessing can be associated with metadata that is attached to the bitstream.

В кодере 100 изображение кодируется элементами кодера согласно описанию, представленному ниже. Изображение, подлежащее кодированию, разбивается (102) на блоки, например, на ячейки CU и подвергается поблоковой обработке. Каждый блок кодируется с использованием, например, или intra-режима, или inter-режима. Когда блок кодируется в intra-режиме, выполняется intra-предсказание (160). В inter-режиме выполняется оценка параметров (175) и компенсация (170) движения. Кодер определяет (105), какой режим из числа intra-режима и inter-режима должен быть использован для кодирования блока, и отмечает свое решение (intra или inter), например, флажком режима предсказания. Остаточные погрешности предсказания вычисляются, например, путем вычитания (110) блока-прогноза из блока исходного изображения.In the encoder 100, the picture is encoded with encoder elements as described below. The image to be encoded is divided (102) into blocks, for example into CU cells, and subjected to block-by-block processing. Each block is encoded using either intra mode or inter mode, for example. When a block is encoded in intra mode, intra prediction is performed (160). In the inter mode, parameter estimation (175) and motion compensation (170) are performed. The encoder determines (105) which mode among the intra mode and inter mode should be used to encode the block, and marks its decision (intra or inter), for example, with a prediction mode flag. Residual prediction errors are calculated, for example, by subtracting (110) the prediction block from the original image block.

После этого остаточные погрешности предсказания преобразуются (125) и квантуются (130). Квантованные коэффициенты преобразования, равно как и векторы движения и прочие элементы синтаксиса, подвергаются энтропийному кодированию (145) с выдачей битового потока. Кодер может пропустить стадию преобразования и применить квантование непосредственно к непреобразованному остаточному сигналу. Кодер может обойти как стадию преобразования, так и стадию квантования, т.е. остаточный сигнал кодируется напрямую без выполнения процесса преобразования или квантования.After that, the residual prediction errors are transformed (125) and quantized (130). The quantized transform coefficients, as well as motion vectors and other syntax elements, are entropy encoded (145) with a bitstream output. The encoder may skip the transform step and apply quantization directly to the untransformed residual signal. The encoder can bypass both the transform stage and the quantization stage, i.e. the residual signal is encoded directly without performing a transformation or quantization process.

Кодер декодирует кодированный блок, предоставляя опорные данные для последующих предсказаний. Квантованные коэффициенты преобразования подвергаются деквантизации (140) и обратному преобразованию (150) для декодирования остаточных погрешностей предсказания. Путем объединения (155) декодированных остаточных погрешностей предсказания и блока-прогноза воссоздается блок изображения. К воссозданному изображению применяются деблокирующие фильтры (165) для осуществления, например, деблокирующей фильтрации/фильтрации SAO (адаптивных сдвигов значений отсчетов) с целью уменьшения артефактов кодирования. Отфильтрованное изображение сохраняется в буфере (180) опорных изображений.The encoder decodes the encoded block, providing reference data for subsequent predictions. The quantized transform coefficients are dequantized (140) and inverse transformed (150) to decode the residual prediction errors. By combining (155) the decoded prediction residuals and the prediction block, an image block is recreated. Deblocking filters (165) are applied to the reconstructed image to perform, for example, deblocking/SAO filtering (adaptive sample shifts) to reduce coding artifacts. The filtered image is stored in the reference image buffer (180).

На фиг. 14 показана блок-схема видеодекодера 200. В декодере 200 осуществляется декодирование битового потока элементами декодера согласно описанию, представленному ниже. Согласно общей практике видеодекодер 200 выполняет проход кодирования, обратный по отношению к проходу декодирования, как это показано на фиг. 13. Согласно общей практике кодер 100 также выполняет декодирование видео в рамках кодирования видеоданных.In FIG. 14 shows a block diagram of a video decoder 200. In the decoder 200, the bit stream is decoded by the decoder elements as described below. In general practice, video decoder 200 performs the reverse encoding pass of the decoding pass, as shown in FIG. 13. As a general practice, encoder 100 also performs video decoding as part of video encoding.

В частности, входные данные декодера включают в себя битовый поток видеоданных, который может быть сгенерирован видеокодером 100. Битовый поток сначала подвергается энтропийному декодированию (230) для получения коэффициентов преобразования, векторов движения и прочей кодированной информации. Информация о разбивке изображения указывает на то, каким образом разбивается изображение. Следовательно, декодер может разделить (235) изображение на основании кодированной информации о разбивке изображения. Для декодирования остаточных погрешностей предсказания коэффициенты преобразования подвергаются деквантизации (240) и обратному преобразованию (250). Путем объединения (255) декодированных остаточных погрешностей предсказания и блока-прогноза воссоздается блок изображения. Блок-прогноз может быть получен (270) по intra-предсказанию (260) или предсказанию с компенсацией движения (т.е. по inter-предсказанию) (275). К воссозданному изображению применяются деблокирующие фильтры (265). Отфильтрованное изображение сохраняется в буфере (280) опорных изображений.In particular, the decoder input includes a video bitstream that can be generated by video encoder 100. The bitstream is first subjected to entropy decoding (230) to obtain transform coefficients, motion vectors, and other encoded information. The image split information indicates how the image is split. Therefore, the decoder can divide (235) the picture based on the encoded picture breakdown information. To decode residual prediction errors, the transform coefficients are dequantized (240) and inversely transformed (250). By combining (255) the decoded prediction residuals and the prediction block, an image block is recreated. A block prediction can be obtained (270) from intra prediction (260) or motion compensated prediction (ie, inter prediction) (275). Deblocking filters (265) are applied to the reconstructed image. The filtered image is stored in the reference picture buffer (280).

Декодированное изображение может быть дополнительно подвергнуто обработке (285) после декодирования, например, обратному преобразованию цветности (например, путем переключения формата YCbCr 4:2:0 на RGB 4:4:4) или обратному переназначению, в ходе которого осуществляется обратное преобразование процесса переназначения, выполненного при обработке (101) перед кодированием. При обработке после декодирования могут быть использованы метаданные, извлеченные в процессе обработки перед кодированием и сообщенные в битовом потоке.The decoded image may be further processed (285) after decoding, such as chroma demapping (eg, by switching YCbCr 4:2:0 format to RGB 4:4:4) or demapping, which inverts the remapping process. performed during processing (101) before encoding. Post-decoding processing may use metadata extracted during pre-encoding processing and reported in the bitstream.

На фиг. 15 показана блок-схема, иллюстрирующая один из примеров системы, в которой реализуются различные варианты осуществления настоящего изобретения. Система 1000 может быть реализована в виде устройства, включающего в себя различные компоненты, описанные ниже, и выполнена с возможностью реализации аспектов, описанных в настоящем документе. Примеры таких устройств включают в себя, помимо прочего, различные электронные устройства, такие как персональные компьютеры, портативные персональные компьютеры типа «лаптоп», смартфоны, планшетные компьютеры, цифровые мультимедийные телевизионные приставки, приемники цифрового телевидения, индивидуальные системы видеозаписи, подключенные к Интернету бытовые приборы и серверы. Элементы системы 1000, по отдельности или в сочетании, могут быть реализованы в одной интегральной схеме, во множестве интегральных схем и/или в дискретных компонентах. Например, по меньшей мере, в одном из вариантов осуществления настоящего изобретения обрабатывающие элементы и элементы кодера/декодера системы 1000 распределены по множеству интегральных схем и/или дискретных компонентов. В различных вариантах осуществления настоящего изобретения система 1000 коммуникативно связана с другими схожими системами или другими электронными устройствами посредством, например, коммуникационной шины или через выделенные входные и/или выходные порты. В различных вариантах осуществления заявленного изобретения система 1000 выполнена с возможностью реализации одного или нескольких аспектов, описанных в настоящем документе.In FIG. 15 is a block diagram illustrating one example of a system in which various embodiments of the present invention are implemented. System 1000 may be implemented as an apparatus including various components described below and configured to implement the aspects described herein. Examples of such devices include, but are not limited to, various electronic devices such as personal computers, laptop computers, smartphones, tablet computers, digital media set-top boxes, digital television receivers, personal video recording systems, Internet-connected home appliances. and servers. The elements of system 1000, individually or in combination, may be implemented on a single integrated circuit, multiple integrated circuits, and/or discrete components. For example, in at least one embodiment of the present invention, the processing and encoder/decoder elements of system 1000 are distributed across a plurality of integrated circuits and/or discrete components. In various embodiments of the present invention, system 1000 is communicatively coupled to other similar systems or other electronic devices via, for example, a communications bus or through dedicated input and/or output ports. In various embodiments of the claimed invention, system 1000 is configured to implement one or more of the aspects described herein.

Система 1000 включает в себя, по меньшей мере, один процессор 1010, выполненный с возможностью исполнения загружаемых в него команд для реализации, например, различных аспектов, описанных в настоящем документе. Процессор 1010 может содержать встроенную память, входной/выходной интерфейс и различные иные схемы, известные в данной области техники. Система 1000 включает в себя, по меньшей мере, одну память 1020 (например, энергозависимое запоминающее устройство и/или энергонезависимое запоминающее устройство). Система 1000 содержит накопитель 1040, который может включать в себя энергонезависимое запоминающее устройство и/или энергозависимое запоминающее устройство, в том числе, помимо прочего, EEPROM (электрически стираемое программируемое постоянное запоминающее устройство), ROM (постоянное запоминающее устройство), PROM (программируемое ROM), RAM (оперативное запоминающее устройство), DRAM (динамическое RAM), SRAM (статическое RAM), флеш-память, накопитель на магнитных дисках и/или накопитель на оптических дисках. В качестве примеров, не носящих ограничительный характер, накопитель 1040 может включать в себя внутреннее запоминающее устройство, внешнее запоминающее устройство и/или запоминающее устройство с доступом через сеть.System 1000 includes at least one processor 1010 configured to execute instructions loaded into it to implement, for example, various aspects described herein. Processor 1010 may include built-in memory, an input/output interface, and various other circuits known in the art. System 1000 includes at least one memory 1020 (eg, volatile storage and/or non-volatile storage). System 1000 includes a drive 1040 that may include non-volatile memory and/or volatile memory, including but not limited to EEPROM (Electrically Erasable Programmable Read Only Memory), ROM (Read Only Memory), PROM (Programmable ROM) , RAM (Random Access Memory), DRAM (Dynamic RAM), SRAM (Static RAM), flash memory, magnetic disk drive, and/or optical disk drive. As non-limiting examples, storage device 1040 may include internal storage, external storage, and/or network-accessible storage.

Система 1000 включает в себя модуль 1030 кодера/декодера, выполненный с возможностью, например, обработки данных с целью получения кодированного или декодированного видео, причем модуль 1030 кодера/декодера может включать в себя свой собственный процессор и память. Модуль 1030 кодера/декодера представляет собой модуль/модули, которые могут быть включены в состав устройства, выполняющего функции кодирования и/или декодирования. Как известно, такое устройство может включать в себя один из модулей кодирования и декодирования или оба эти модуля. Кроме того, модуль 1030 кодера/декодера может быть реализован в виде отдельного элемента системы 1000, или же он может быть интегрирован в процессор 1010 в виде комбинации аппаратных и программных средств, что понятно специалистам в данной области техники.System 1000 includes an encoder/decoder module 1030 configured to, for example, process data to obtain encoded or decoded video, where encoder/decoder module 1030 may include its own processor and memory. Encoder/decoder module 1030 is a module/modules that may be included in an apparatus that performs encoding and/or decoding functions. As is known, such a device may include one or both of the encoding and decoding modules. In addition, encoder/decoder module 1030 may be implemented as a separate element of system 1000, or it may be integrated into processor 1010 as a combination of hardware and software, as will be appreciated by those skilled in the art.

Программный код, загружаемый в процессор 1010 или модуль 1030 кодера/декодера для реализации различных вариантов осуществления настоящего изобретения, описанных в этом документе, может храниться в накопителе 1040, а затем загружаться в память 1020 для приведения в исполнение процессором 1010. Согласно различным вариантам осуществления настоящего изобретения в одном или нескольких процессорах 1010, памяти 1020, накопителе 1040 и модуле 1030 кодера/декодера может быть сохранен один или несколько различных элементов во время выполнения процессов, описанных в этом документе. К таким сохраняемым элементам относится, помимо прочего, входной видеосигнал, декодированные видеоданные или части декодированных видеоданных, битовый поток, матрицы, переменные величины и промежуточные или окончательные результаты обработки уравнений, формул, операций и логики действий.Software code loaded into processor 1010 or encoder/decoder module 1030 for implementing various embodiments of the present invention described herein may be stored in storage device 1040 and then loaded into memory 1020 for execution by processor 1010. According to various embodiments of the present invention, of the invention, one or more different elements may be stored in one or more processors 1010, memory 1020, storage 1040, and encoder/decoder module 1030 during the execution of the processes described herein. Such stored elements include, but are not limited to, the input video signal, decoded video data or portions of decoded video data, bitstream, matrices, variables, and intermediate or final results of processing equations, formulas, operations, and action logic.

В нескольких вариантах осуществления настоящего изобретения память, располагающаяся внутри процессора 1010 и/или модуля 1030 кодера/декодера, используется для хранения команд и обеспечения оперативной памяти для обработки данных, что необходимо во время кодирования или декодирования. Однако в других вариантах осуществления настоящего изобретения для выполнения одной или нескольких таких функций используется память, внешняя по отношению к устройству обработки данных (которым может служить, например, или процессор 1010, и/или модуль 1030 кодера/декодера). В качестве внешней памяти может использоваться память 1020 и/или накопитель 1040, например, динамическое энергозависимое запоминающее устройство и/или энергонезависимая флешь-память. В некоторых вариантах осуществления настоящего изобретения внешняя энергонезависимая флешь-память используется для хранения телевизионной операционной системы. По меньшей мере, в одном варианте осуществления настоящего изобретения в качестве операционной памяти для выполнения операций по кодированию и декодированию видео (например, согласно стандартам MPEG-2, HEVC или VVC (универсальное кодирование видео)) используется внешнее быстродействующее энергозависимое динамическое запоминающее устройство, такое как RAM.In several embodiments of the present invention, memory located within processor 1010 and/or encoder/decoder module 1030 is used to store instructions and provide RAM for data processing as needed during encoding or decoding. However, in other embodiments of the present invention, memory external to the data processing device (which may be, for example, either processor 1010 and/or encoder/decoder module 1030) is used to perform one or more of these functions. The external memory may be memory 1020 and/or storage 1040, such as dynamic volatile storage and/or non-volatile flash memory. In some embodiments of the present invention, an external non-volatile flash memory is used to store the television operating system. In at least one embodiment of the present invention, an external fast volatile dynamic memory such as ram.

Входные данные для элементов системы 1000 могут поступать через различные устройства ввода, обозначенные позицией 1130. Такие устройства ввода включают в себя, помимо прочего: (i) RF-часть, которая принимает радиочастотный (RF) сигнал, передаваемый, например, вещательным передатчиком по каналу беспроводной связи; (ii) входной разъем Composite; (iii) входной разъем USB; и/или (iv) входной разъем HDMI.Input to system elements 1000 may come through various input devices, indicated at 1130. Such input devices include, but are not limited to: (i) an RF portion that receives a radio frequency (RF) signal transmitted, for example, by a broadcast transmitter over wireless communication; (ii) Composite input connector; (iii) USB input connector; and/or (iv) an HDMI input connector.

В различных вариантах осуществления настоящего изобретения устройства ввода согласно позиции 1130 снабжены соответствующими ассоциированными элементами обработки входной информации, известными в данной области техники. Например, RF-часть может быть связана с элементами, предназначенными для: (i) выбора требуемой частоты (что называется также выбором сигнала или ограничением полосы сигнала определенным диапазоном частот); (ii) преобразования выбранного сигнала с понижением частоты; (iii) повторного ограничения полосы более узким диапазоном частот для выбора (например) полосы частот сигнала, которая в некоторых вариантах осуществления настоящего изобретения может называться каналом; (iv) демодулирования сигнала, преобразованного с понижением частоты и ограниченного по частотному диапазону; (v) коррекции ошибок; и (vi) демультиплексирования для выбора требуемого потока пакетов данных. RF-часть согласно различным вариантам осуществления настоящего изобретения включает в себя один или несколько элементов для выполнения указанных функций, например, селекторы частоты, селекторы сигналы, ограничители полосы частот, селекторы каналов, фильтры, понижающие преобразователи частоты, демодуляторы, корректоры ошибок и демультиплексеры. RF-часть может включать в себя орган настройки, который выполняет множество таких функций, в том числе, преобразование полученного сигнала с понижением его частоты до более низкого уровня (например, до промежуточной частоты или до диапазона частот, близкого к базовому) или до базового частотного диапазона. В одном из вариантов осуществления телевизионной приставки RF-часть и ассоциированные с ней элементы обработки входной информации получают RF-сигнал, передаваемый проводным образом (например, по кабелю), и осуществляют выбор частоты путем фильтрации, преобразования сигнала с понижением его частоты и повторной фильтрации до требуемого уровня частотного диапазона. Различные варианты осуществления настоящего изобретения предусматривают переупорядочивание указанных (и других) элементов, удаление некоторых из этих элементов и/или добавление других элементов, выполняющих аналогичные или другие функции. Добавление элементов может предусматривать вставку элементов между уже имеющимися элементами, например, вставку усилителей и аналого-цифрового преобразователя. В различных вариантах осуществления RF-часть содержит антенну.In various embodiments of the present invention, the input devices of 1130 are provided with appropriate associated input processing elements known in the art. For example, the RF part may be associated with elements for: (i) selecting a desired frequency (also called signal selection or limiting the signal bandwidth to a certain frequency range); (ii) downconverting the selected signal; (iii) re-limiting the bandwidth to a narrower frequency range to select (for example) a signal bandwidth, which in some embodiments of the present invention may be referred to as a channel; (iv) demodulating the downconverted and limited frequency domain signal; (v) error correction; and (vi) demultiplexing to select the desired stream of data packets. The RF portion according to various embodiments of the present invention includes one or more elements to perform the above functions, such as frequency selectors, signal selectors, band limiters, channel selectors, filters, downconverters, demodulators, error correctors, and demultiplexers. The RF part may include a tuner that performs many of these functions, including down-converting the received signal to a lower frequency (for example, to an intermediate frequency or to a frequency range close to the base) or to the base frequency. range. In one embodiment of a set-top box, the RF portion and its associated input processing elements receive an RF signal transmitted by wire (for example, over a cable) and perform frequency selection by filtering, down-converting the signal, and re-filtering to the required level of the frequency range. Various embodiments of the present invention provide for the reordering of these (and other) elements, the removal of some of these elements and/or the addition of other elements that perform similar or different functions. Adding elements may involve inserting elements between already existing elements, such as inserting amplifiers and an analog-to-digital converter. In various embodiments, the implementation of the RF part contains an antenna.

Кроме того, разъемы USB и/или HDMI могут включать в себя соответствующие процессоры сопряжения для соединения системы 1000 с другими электронными устройствами через разъемы USB и/или HDMI. Следует понимать, что различные аспекты обработки входной информации (например, коррекция ошибок Рида-Соломона) могут быть реализованы, например, в отдельной интегральной схеме для обработки входной информации или в процессоре 1010. Аналогичным образом в отдельной интегральной схеме для обработки входной информации или в процессоре 1010 могут быть реализованы аспекты обработки данных через интерфейс USB или HDMI. На различные обрабатывающие элементы, такие как процессор 1010 и кодер/декодер 1030, функционирующие во взаимодействии с памятью и накопителями, подается демодулированный и демультиплексированный поток со скорректированными ошибками для обработки потока данных с целью его отображения на устройстве вывода данных.In addition, the USB and/or HDMI connectors may include appropriate interface processors for connecting the system 1000 to other electronic devices via the USB and/or HDMI connectors. It should be understood that various aspects of input processing (e.g., Reed-Solomon error correction) may be implemented, for example, in a separate input processing integrated circuit or processor 1010. Similarly, in a separate input processing integrated circuit or processor 1010, data processing aspects can be implemented via the USB or HDMI interface. Various processing elements, such as processor 1010 and encoder/decoder 1030, operating in conjunction with memory and accumulators, are provided with a demodulated and demultiplexed error corrected stream to process the data stream for display on an output device.

Различные элементы системы 1000 могут располагаться в общем корпусе. В этом общем корпусе различные элементы могут быть соединены друг с другом и обмениваться данными с использованием подходящих соединительных средств 1140, например, внутренней шины, известной в данной области техники, которая включает в себя шину I2C, разводку и печатные монтажные платы.Various elements of system 1000 may be located in a common housing. In this common package, various elements can be connected to each other and communicate using suitable connectors 1140, such as an internal bus known in the art, which includes an I2C bus, wiring, and printed circuit boards.

Система 1000 включает в себя интерфейс 1050 связи, обеспечивающий возможность ее взаимодействия с другими устройствами по каналу 1060 связи. Интерфейс 1050 связи может включать в себя, помимо прочего, приемопередатчик, выполненный с возможностью передачи и приема данных по каналу 1060 связи. Интерфейс 1050 связи может включать в себя, помимо прочего, модемную или сетевую карту, а канал 1060 связи может быть реализован, например, в проводной и/или беспроводной среде.The system 1000 includes a communication interface 1050 enabling it to interact with other devices over a communication channel 1060 . Communication interface 1050 may include, among other things, a transceiver configured to transmit and receive data over communication channel 1060. Communication interface 1050 may include, but is not limited to, a modem or network card, and communication channel 1060 may be implemented in a wired and/or wireless environment, for example.

В различных вариантах осуществления настоящего изобретения потоковые данные поступают в систему 1000 с использованием сети беспроводной связи, такой как IEEE 802.11. Радиосигнал в этих вариантах осуществления настоящего изобретения принимается по каналу 1060 связи и через интерфейс 1050 связи, которые приспособлены, например, под связь Wi-Fi. Канал 1060 связи согласно этим вариантам осуществления настоящего изобретения обычно соединен с точкой доступа или маршрутизатором, который обеспечивает доступ к внешним сетям, включая сеть Интернет, для потоковой передачи данных и других видов связи по технологии ОТТ (один из методов предоставления услуг через Интернет). В других вариантах осуществления настоящего изобретения потоковые данные поступают в систему 1000 с использованием телевизионной приставки, которая передает данные через HDMI-соединение устройства 1130 ввода. В некоторых других вариантах осуществления настоящего изобретения потоковые данные поступают в систему 1000 через RF-соединение устройства 1130 ввода.In various embodiments of the present invention, streaming data is received by system 1000 using a wireless communication network such as IEEE 802.11. The radio signal in these embodiments of the present invention is received over a communication channel 1060 and via a communication interface 1050, which are adapted, for example, for Wi-Fi communication. The communication link 1060 according to these embodiments of the present invention is typically connected to an access point or router that provides access to external networks, including the Internet, for streaming data and other types of OTT communications (one of the methods of providing services over the Internet). In other embodiments of the present invention, streaming data enters the system 1000 using a set-top box that transmits the data via the HDMI connection of the input device 1130. In some other embodiments of the present invention, streaming data enters the system 1000 through the RF connection of the input device 1130.

Система 1000 может передавать выходной сигнал на различные устройства вывода данных, включая дисплей 1100, динамики 1110 и прочие периферийные устройства 1120. Прочие периферийные устройства 1120 в различных вариантах осуществления настоящего изобретения включают в себя одно или несколько устройств записи цифрового видео (DVR), проигрыватель дисков, стереосистему, осветительную систему и прочие устройства, которые выполняют свои функции на основании выходных данных системы 1000. В различных вариантах осуществления настоящего изобретения управляющие сигналы передаются между системой 1000 и дисплеем 1100, динамиками 1110 или иными периферийными устройствами 1120 с помощью сигнальных протоколов, таких как AV.Link, СЕС или иных протоколов передачи данных, которые осуществляют управление между устройствами с участием или без участия пользователя. Устройства вывода данных могут быть коммуникативно связаны с системой 1000 посредством выделенных соединений через соответствующие интерфейсы 1070, 1080 и 1090. В альтернативном варианте устройства вывода данных могут быть соединены с системой 1000 с задействованием канала 1060 связи через интерфейс 1050 связи. Дисплей 1100 и динамики 1110 могут быть интегрированы вместе с другими компонентами системы 1000 в единый блок электронного устройства, такого как телевизор. В различных вариантах осуществления настоящего изобретения интерфейс 1070 дисплея включает в себя драйвер дисплея, например, микросхему контроллера синхронизации (Т Con).The system 1000 may provide output to various output devices, including a display 1100, speakers 1110, and other peripheral devices 1120. Other peripheral devices 1120 in various embodiments of the present invention include one or more digital video recorders (DVRs), a disc player , stereo system, lighting system, and other devices that perform their functions based on the output of the system 1000. In various embodiments of the present invention, control signals are transmitted between the system 1000 and the display 1100, speakers 1110, or other peripheral devices 1120 using signaling protocols such as AV.Link, CEC or other data transfer protocols that control between devices with or without user participation. Output devices may be communicatively coupled to system 1000 via dedicated connections through appropriate interfaces 1070, 1080, and 1090. Alternatively, output devices may be connected to system 1000 using a communication channel 1060 via communication interface 1050. Display 1100 and speakers 1110 may be integrated with other components of system 1000 into a single piece of electronic device such as a television. In various embodiments of the present invention, display interface 1070 includes a display driver, such as a timing controller chip (T Con).

В альтернативном варианте дисплей 1100 и динамики 1110 могут быть отделены от одного или нескольких других компонентов, например, если RF-часть устройства 1130 ввода является частью отдельной телевизионной приставки. В различных вариантах осуществления настоящего изобретения, в которых дисплей 1100 и динамики 1110 представляют собой внешние компоненты, выходной сигнал может передаваться через выделенные выходные соединения, включая, например, порты HDMI, порты USB или выводы СОМР.Alternatively, display 1100 and speakers 1110 may be separate from one or more other components, such as if the RF portion of input device 1130 is part of a separate set-top box. In various embodiments of the present invention in which the display 1100 and speakers 1110 are external components, the output signal may be transmitted through dedicated output connections, including, for example, HDMI ports, USB ports, or COMP outputs.

Варианты осуществления настоящего изобретения могут быть реализованы программным обеспечением для компьютеров, которое приводится в исполнение процессором 1010, или аппаратными средствами, или сочетанием аппаратных и программных средств. В качестве примера, не носящего ограничительного характера, варианты осуществления настоящего изобретения могут быть реализованы одной или несколькими интегральными схемами. Память 1020 может представлять собой память любого типа, соответствующего технической среде, и она может быть реализована с использованием любой подходящей технологии хранения данных, например, оптических запоминающих устройств, магнитных запоминающих устройств, запоминающих устройств на базе полупроводников, постоянных запоминающих устройств и съемных запоминающих устройств, причем эти примеры не носят ограничительного характера. Процессор 1010 может представлять собой процессор любого типа, соответствующего технической среде, и он может включать в себя один или несколько микропроцессоров, универсальные компьютеры, специализированные компьютеры и процессоры на базе многоядерной архитектуры, причем эти примеры не носят ограничительного характера.Embodiments of the present invention may be implemented in computer software, which is executed by the processor 1010, or in hardware, or a combination of hardware and software. By way of non-limiting example, embodiments of the present invention may be implemented with one or more integrated circuits. The memory 1020 may be any type of memory appropriate to the technical environment, and may be implemented using any suitable storage technology, such as optical storage devices, magnetic storage devices, semiconductor-based storage devices, read-only storage devices, and removable storage devices, and these examples are not limiting. Processor 1010 may be any type of processor appropriate to the technical environment, and may include one or more microprocessors, general purpose computers, specialized computers, and processors based on multi-core architectures, but these examples are not limiting.

Различные варианты осуществления настоящего изобретения предусматривают декодирование. Термин «декодирование» в контексте настоящего документа может охватывать все или часть процессов, выполняемых, например, в отношении полученной кодированной последовательности с целью получения окончательных выходных данных, пригодных для отображения. В различных вариантах осуществления настоящего изобретения такие процессы включают в себя один или несколько процессов, обычно выполняемых декодером, например, энтропийное декодирование, обратное квантование, обратное преобразование и дифференциальное декодирование. В различных вариантах осуществления настоящего изобретения такие процессы дополнительно или альтернативно включают в себя процессы, выполняемые декодером согласно различным вариантам его осуществления, описанным в настоящем документе, например, извлечение весовых показателей, используемых для различных опорных массивов intra-предсказания.Various embodiments of the present invention provide for decoding. The term "decoding" in the context of this document may cover all or part of the processes performed, for example, in relation to the received encoded sequence in order to obtain the final output suitable for display. In various embodiments of the present invention, such processes include one or more of the processes typically performed by a decoder, such as entropy decoding, inverse quantization, inverse transform, and differential decoding. In various embodiments of the present invention, such processes additionally or alternatively include processes performed by the decoder according to the various embodiments described herein, such as extracting the weights used for various intra prediction reference arrays.

В качестве дополнительных примеров в одном из вариантов осуществления настоящего изобретения термин «декодирование» относится только к энтропийному декодированию; в другом варианте осуществления настоящего изобретения только к дифференциальному декодированию; а в еще одном из вариантов осуществления настоящего изобретения - к комбинации энтропийного декодирования и дифференциального декодирования. Относится ли фраза «процесс декодирования», в частности, к подмножеству операций или, в общем, к процессу декодирования в широком смысле, станет ясно из контекста конкретного описания и, как предполагается, это понятно специалистам в данной области техники.As additional examples, in one of the embodiments of the present invention, the term "decoding" refers only to entropy decoding; in another embodiment of the present invention only to differential decoding; and in yet another embodiment of the present invention, to a combination of entropy decoding and differential decoding. Whether the phrase "decoding process" specifically refers to a subset of operations or, more generally, to a decoding process in a broad sense will become clear from the context of the specific description and is intended to be understood by those skilled in the art.

Различные варианты осуществления настоящего изобретения предусматривают кодирование. Аналогично описанию, представленному выше в отношении термина «декодирование», термин «кодирование» в контексте настоящего документа может охватывать все или часть процессов, выполняемых, например, в отношении входной видеопоследовательности с целью получения кодированного битового потока. В различных вариантах осуществления настоящего изобретения такие процессы включают в себя один или несколько процессов, обычно выполняемых кодером, например, разбивку, дифференциальное кодирование, преобразование, квантование и энтропийное кодирование. В различных вариантах осуществления настоящего изобретения такие процессы дополнительно или альтернативно включают в себя процессы, выполняемы кодером согласно различным вариантам его осуществления, описанным в настоящем документе, например, взвешивание опорных массивов intra-предсказания.Various embodiments of the present invention provide for encoding. Similar to the description given above with respect to the term "decoding", the term "encoding" in the context of this document may cover all or part of the processes performed, for example, on an input video sequence in order to obtain an encoded bitstream. In various embodiments of the present invention, such processes include one or more processes typically performed by an encoder, such as splitting, differential coding, transformation, quantization, and entropy coding. In various embodiments of the present invention, such processes additionally or alternatively include processes performed by the encoder according to its various embodiments described herein, such as weighting intra-prediction reference arrays.

В качестве дополнительных примеров в одном из вариантов осуществления настоящего изобретения термин «кодирование» относится только к энтропийному кодированию; в другом варианте осуществления настоящего изобретения только к дифференциальному кодированию; а в еще одном из вариантов осуществления настоящего изобретения - к комбинации энтропийного кодирования и дифференциального кодирования. Относится ли фраза «процесс кодирования», в частности, к подмножеству операций или, в общем, к процессу кодирования в широком смысле, станет ясно из контекста конкретного описания и, как предполагается, это понятно специалистам в данной области техники.As additional examples, in one of the embodiments of the present invention, the term "coding" refers only to entropy coding; in another embodiment of the present invention only to differential coding; and in yet another embodiment of the present invention, to a combination of entropy coding and differential coding. Whether the phrase "encoding process" specifically refers to a subset of operations, or in general to an encoding process in a broad sense, will become clear from the context of the particular description and is intended to be understood by those skilled in the art.

Следует иметь в виду, что элементы синтаксиса в контексте настоящего документа являются описательными терминами. Таким образом, не исключается использование элементов синтаксиса с другими названиями.It should be noted that syntax elements in the context of this document are descriptive terms. Thus, the use of syntax elements with other names is not excluded.

Когда фигура представлена в виде схемы последовательности технологических операций, следует понимать, что она также иллюстрирует блок-схему соответствующего устройства. Аналогичным образом, когда фигура представлена в виде блок-схемы, она также иллюстрирует схему последовательности технологических операций соответствующего способа/процесса.When the figure is presented as a flow chart, it should be understood that it also illustrates a block diagram of the corresponding apparatus. Likewise, when a figure is presented in block diagram form, it also illustrates a flow chart of the associated method/process.

Различные варианты осуществления настоящего изобретения относятся к вычислению зависимости искажений от скорости передачи данных или оптимизации зависимости искажений от скорости передачи данных. В частности, в процессе кодирования обычно принимается во внимание баланс или оптимальное соотношение между скоростью передачи данных и искажениями, часто с учетом ограничений вычислительной сложности. Оптимизация зависимости искажений от скорости передачи данных обычно формулируется как минимизация такой зависимости, которая представляет собой взвешенную сумму скорости передачи данных и искажений. Для решения задачи оптимизации зависимости искажений от скорости передачи данных существует множество подходов. Например, эти подходы могут основываться на всестороннем тестировании всех опций кодирования, включая все рассматриваемые режимы или значения параметров кодирования, с полной оценкой затрат на кодирование и сопутствующих искажений воссозданного сигнала после кодирования и декодирования. Для экономии средств на сложном кодировании могут быть также использованы и более скоростные подходы, в частности, с вычислением приближенно выраженных искажений на основании предсказания или остаточного, а не воссозданного сигнала предсказания. Может быть также использовано сочетание двух этих подходов, например, с использованием приближенно выраженных искажений только в отношении некоторых опций кодирования и полных искажений в отношении остальных опций кодирования. Прочие подходы лишь оценивают подмножество возможных опций кодирования. В более общем смысле для осуществления оптимизации многие подходы используют любой из множества различных методов, но оптимизация не обязательно предусматривает полную оценку как затрат на кодирование, так и сопутствующих искажений.Various embodiments of the present invention relate to calculating distortion versus data rate or optimizing distortion versus data rate. In particular, the encoding process typically takes into account a balance or an optimal tradeoff between bit rate and distortion, often subject to computational complexity constraints. Optimization of the dependence of distortion on the data rate is usually formulated as minimizing such dependence, which is the weighted sum of the data rate and distortion. There are many approaches to solving the problem of optimizing the dependence of distortion on the data transfer rate. For example, these approaches may be based on extensive testing of all encoding options, including all encoding modes or parameter values under consideration, with a full assessment of encoding costs and associated distortions of the reconstructed signal after encoding and decoding. To save money on complex coding, faster approaches can also be used, in particular, with the calculation of approximate distortions based on the prediction or the residual, rather than the reconstructed prediction signal. A combination of the two approaches may also be used, for example, using approximate distortions for only some coding options and full distortions for the rest of the coding options. Other approaches only evaluate a subset of possible encoding options. More generally, many approaches use any of a variety of different techniques to perform optimization, but optimization does not necessarily involve a full assessment of both coding costs and associated distortions.

Варианты осуществления заявленного изобретения и аспекты, описанные в настоящем документе, могут быть реализованы, например, в виде способа или процесса, устройства, программы, потока данных или сигнала. Даже если описан лишь один вид реализации (например, только в виде способа), описанные признаки могут быть также реализованы и в другой форме (например, в виде устройства или программы). Устройство может быть реализовано, например, в виде соответствующих аппаратных средств, программных средств и программно-аппаратных средств. Способы могут быть реализованы, например, в процессоре, который относится в общем смысле к устройствам обработки данных, включающим в себя, например, компьютер, микропроцессор, интегральную схему или программируемое логическое устройство. Процессоры также включают в себя устройства связи, такие как, например, компьютеры, сотовые телефоны, портативные/карманные персональные компьютеры (PDA) и прочие устройства, облегчающие обмен информацией между конечными пользователями.Embodiments of the claimed invention and the aspects described herein may be implemented, for example, as a method or process, apparatus, program, data stream, or signal. Even if only one kind of implementation is described (for example, only as a method), the features described can also be implemented in another form (for example, as a device or program). The device may be implemented, for example, in the form of appropriate hardware, software and firmware. The methods may be implemented, for example, in a processor, which refers generally to data processing devices, including, for example, a computer, microprocessor, integrated circuit, or programmable logic device. Processors also include communication devices such as, for example, computers, cellular phones, personal digital assistants (PDAs) and other devices that facilitate the exchange of information between end users.

Ссылка на «один из вариантов осуществления настоящего изобретения», «вариант осуществления настоящего изобретения», «один из примеров осуществления настоящего изобретения» или «пример осуществления настоящего изобретения», а также на прочие производные этих выражений, означает, что конкретный признак, структура, характеристика и тому подобное, описанное в привязке к конкретному варианту осуществления настоящего изобретения, включено, по меньшей мере, в один вариант осуществления настоящего изобретения. Таким образом, фразы «в одном из вариантов осуществления настоящего изобретения», «в варианте осуществления настоящего изобретения» или «в одном из примеров осуществления настоящего изобретения», а также другие их производные, встречающиеся в различных местах по всему тексту настоящего документа, не обязательно относятся к одному и тому же варианту осуществления настоящего изобретения.Reference to "one of the embodiments of the present invention", "an embodiment of the present invention", "one of the embodiments of the present invention" or "an exemplary embodiment of the present invention", as well as other derivatives of these expressions, means that a particular feature, structure, a characteristic and the like described in connection with a specific embodiment of the present invention is included in at least one embodiment of the present invention. Thus, the phrases "in one of the embodiments of the present invention", "in an embodiment of the present invention" or "in one of the embodiments of the present invention", as well as other derivatives thereof, occurring in various places throughout the text of this document, are not necessarily refer to the same embodiment of the present invention.

Кроме того, настоящий документ может относиться к «определению» различных единиц информации. Определение информации может предусматривать, например, один или несколько таких процессов, как оценка информации, вычисление информации, предсказание информации или извлечение информации из памяти.In addition, this document may refer to the "definition" of various items of information. Determining the information may include, for example, one or more of processes such as evaluating information, computing information, predicting information, or retrieving information from memory.

Кроме того, настоящий документ может относиться к «оценке» различных единиц информации. Оценка информации может предусматривать, например, один или несколько таких процессов, как получение информации, извлечение информации (например, из памяти), сохранение информации, перенос информации, копирование информации, вычисление информации, определение информации, предсказание информации или оценка информации.In addition, this document may refer to the "evaluation" of various items of information. Information evaluation may include, for example, one or more of information acquisition, information retrieval (eg, from memory), information storage, information transfer, information copying, information calculation, information determination, information prediction, or information evaluation.

Кроме того, настоящий документ может относиться к «получению» различных единиц информации. Как и в случае с термином «оценка» предполагается, что термин «получение» является широким по значению термином. Получение информации может предусматривать, например, один или несколько таких процессов, как оценка информации или извлечение информации (например, из памяти). Далее, «получение» обычно происходит, так или иначе, во время выполнения, например, таких операций, как сохранение информации, обработка информации, передача информации, перенос информации, копирование информации, стирание информации, вычисление информации, определение информации, предсказание информации или оценка информации.In addition, this document may refer to the "acquisition" of various pieces of information. As with the term "assessment", it is assumed that the term "acquisition" is a broad term. The acquisition of information may involve, for example, one or more processes such as evaluation of information or retrieval of information (eg, from memory). Further, “acquisition” usually occurs, one way or another, during the execution of, for example, operations such as storing information, processing information, transmitting information, transferring information, copying information, erasing information, calculating information, determining information, predicting information, or evaluating information.

Следует иметь в виду, что использование любого из таких символов, как «/», «и/или» и «по меньшей мере, один из», например, в таких случаях, как «А/В», «А и/или В» и «по меньшей мере, один из элементов А и В», предполагает выбор только первого из перечисленных элементов (А), или выбор только второго из перечисленных элементов (B), или выбор обоих элементов (А и В). В другом примере использование таких фраз, как «А, В и/или С» и «по меньшей мере, один из таких элементов, как А, В и С» предполагает выбор только первого из перечисленных элементов (А), или выбор только второго из перечисленных элементов (В), или выбор только третьего из перечисленных элементов (C), или выбор только первого и второго из перечисленных элементов (А и В), или выбор только первого и третьего из перечисленных элементов (А и С), или выбор только второго и третьего из перечисленных элементов (В и С), или выбор всех трех элементов (А, В и С). Это правило может быть распространено, что очевидно любому специалисту в данной и смежных областях техники, на все перечисляемые элементы.It should be understood that the use of any of the characters such as "/", "and/or" and "at least one of", for example, in cases such as "A/B", "A and/or B" and "at least one of the elements A and B", involves the choice of only the first of the listed elements (A), or the choice of only the second of the listed elements (B), or the choice of both elements (A and B). In another example, the use of phrases such as "A, B and / or C" and "at least one of the elements such as A, B and C" involves the choice of only the first of the listed elements (A), or the choice of only the second of the listed items (B), or the selection of only the third of the listed items (C), or the selection of only the first and second of the listed items (A and B), or the selection of only the first and third of the listed items (A and C), or the selection only the second and third of the listed elements (B and C), or the choice of all three elements (A, B and C). This rule can be extended, as is obvious to any person skilled in the art and related fields of technology, to all enumerated elements.

Кроме того, в контексте настоящего изобретения термин «сигнализация» относится, помимо прочего, к индикации чего-либо для соответствующего декодера. Например, в некоторых вариантах осуществления настоящего изобретения кодер сигнализирует о конкретном весовом значении из числа множества весовых значений, подлежащих использованию для опорных массивов intra-предсказания. Таким образом, например, в одном из вариантов осуществления настоящего изобретения, как на стороне кодера, так и на стороне декодера используется один и тот же параметр. Таким образом, например, кодер может передать на декодер (явная сигнализация) конкретный параметр с тем, чтобы декодер мог использовать этот же конкретный параметр. И наоборот, если декодер, помимо прочих параметров, уже имеет конкретный параметр, то может быть использована сигнализация без передачи данных (неявная сигнализация), позволяющая декодеру просто определить и выбрать этот конкретный параметр. За счет недопущения передачи каких-либо фактических функций в различных вариантах осуществления настоящего изобретения обеспечивается экономия битов. Следует иметь в виду, что сигнализация может осуществляться самыми разными способами. Например, в различных вариантах осуществления настоящего изобретения для передачи сигнальной информации на соответствующий декодер используется один или несколько элементов синтаксиса, флажков и тому подобное. Хотя вышеуказанное относится к глагольной форме слова «сигнализация», это слово может быть также использовано в настоящем документе в качестве существительного.In addition, in the context of the present invention, the term "signaling" refers, among other things, to an indication of something for the corresponding decoder. For example, in some embodiments of the present invention, the encoder signals a particular weight value from among a plurality of weight values to be used for intra-prediction reference arrays. Thus, for example, in one embodiment of the present invention, both the encoder side and the decoder side use the same parameter. Thus, for example, an encoder can send (explicit signaling) a specific parameter to a decoder so that the decoder can use that same specific parameter. Conversely, if the decoder, among other parameters, already has a particular parameter, then no data signaling (implicit signaling) can be used, allowing the decoder to simply determine and select that particular parameter. By not allowing any actual functions to be transferred, various embodiments of the present invention provide bit savings. It should be borne in mind that signaling can be carried out in a variety of ways. For example, in various embodiments of the present invention, one or more syntax elements, flags, and the like are used to convey signaling information to an appropriate decoder. Although the above refers to the verb form of the word "alarm", this word can also be used in this document as a noun.

Варианты осуществления настоящего изобретения, что очевидно любому специалисту в данной области техники, могут генерировать множество сигналов, форматируемых таким образом, чтобы они могли переносить информацию, которую можно, например, сохранить или передать. Эта информация может содержать, например, команды для реализации способа или данные, сгенерированные согласно одному из описанных вариантов осуществления настоящего изобретения. Например, сигнал может быть отформатирован таким образом, чтобы он мог переносить битовый поток согласно описанному варианту осуществления. Такой сигнал может быть отформатирован, например, в виде электромагнитной волны (например, с использованием радиочастотной части спектра) или модулирующего сигнала. Форматирование может предусматривать, например, кодирование потока данных и модуляцию несущей потоком кодированных данных. Информация, которую несет в себе сигнал, может представлять собой, например, аналоговые или цифровые данные. Сигнал может передаваться по разным каналам проводной или беспроводной связи, известным в данной области техники. Сигнал может быть сохранен на читаемом процессором носителе.Embodiments of the present invention, as is obvious to any person skilled in the art, can generate a variety of signals formatted so that they can carry information that can be stored or transmitted, for example. This information may include, for example, instructions for implementing a method or data generated according to one of the described embodiments of the present invention. For example, the signal may be formatted such that it can carry a bitstream according to the described embodiment. Such a signal may be formatted, for example, as an electromagnetic wave (eg using the radio frequency portion of the spectrum) or a modulating signal. The formatting may include, for example, encoding the data stream and modulating the carrier with the encoded data stream. The information carried by the signal may be, for example, analog or digital data. The signal may be transmitted over various wired or wireless communication channels known in the art. The signal may be stored on a processor-readable medium.

В предшествующем описании раскрыт ряд вариантов осуществления настоящего изобретения. Эти и прочие варианты осуществления настоящего изобретения включают в себя перечисленные ниже необязательные признаки, используемые по отдельности или в сочетании, по множеству самых разных категорий и типов требований:In the foregoing description, a number of embodiments of the present invention have been disclosed. These and other embodiments of the present invention include the following optional features, used alone or in combination, across a wide variety of categories and types of requirements:

- Использование направлений предсказания во время intra-предсказания при кодировании и декодировании, выходящих за пределы углов в -135 и 45 градусов.- Using prediction directions during intra prediction when encoding and decoding beyond -135 and 45 degree angles.

- расширение взаимодействия между широкоугольными режимами и PDPC;- expanding the interaction between wide-angle modes and PDPC;

- расширение направлений предсказания в горизонтальном или вертикальном направлении с исключением некоторых направлений в противоположном направлении для сохранения такого же количества всех направлений;- expanding the directions of prediction in the horizontal or vertical direction, with the exception of some directions in the opposite direction to keep the same number of all directions;

- расширение количества направлений, как сверх угла в -135 градусов, так и сверх угла в 45 градусов;- expansion of the number of directions, both above the angle of -135 degrees, and above the angle of 45 degrees;

- объединение PDPC и широкоугольного intra-предсказания для отсчетов в пределах блока;- combining PDPC and wide-angle intra-prediction for samples within the block;

- передача кодером на декодер сигнальной информации о том, какие направления предсказания используются;- transmission by the encoder to the decoder of signaling information about which prediction directions are used;

- использование подмножества направлений предсказания;- use of a subset of prediction directions;

- блоком служит CU прямоугольной формы;- the block is a rectangular CU;

- другим блоком служит соседний блок.- another block is a neighboring block.

- Битовый поток или сигнал, который включает в себя один или несколько описанных элементов синтаксиса или их вариаций.- A bitstream or signal that includes one or more of the described syntax elements, or variations thereof.

- Вставка в сигнализацию элементов синтаксиса, которые позволяют декодеру выполнить обработку битового потока, обратную обработке, выполненной кодером.- Insertion in the signaling of syntax elements that allow the decoder to perform the processing of the bitstream, the reverse of the processing performed by the encoder.

- Создание и/или передача и/или прием и/или декодирование битового потока или сигнала, который включает в себя один или несколько описанных элементов синтаксиса или их вариаций.- Creation and/or transmission and/or reception and/or decoding of a bitstream or signal that includes one or more of the described syntax elements or their variations.

- Телевизор, телевизионная приставка, сотовый телефон, планшет или иное электронное устройство, которое реализует любой из описанных вариантов осуществления настоящего изобретения.- TV, set-top box, cell phone, tablet or other electronic device that implements any of the described embodiments of the present invention.

Телевизор, телевизионная приставка, сотовый телефон, планшет или иное электронное устройство, которое реализует любой из описанных вариантов осуществления настоящего изобретения, и которое отображает (например, с помощью монитора, экрана или устройства отображения другого типа) итоговое изображение.A television, set-top box, cell phone, tablet, or other electronic device that implements any of the described embodiments of the present invention and that displays (for example, using a monitor, screen, or other type of display device) the resulting image.

- Телевизор, телевизионная приставка, сотовый телефон, планшет или иное электронное устройство, которое настраивает (например, с помощью органа настройки) канал для приема сигнала, содержащего кодированное изображение, и реализует любой из описанных вариантов осуществления настоящего изобретения.- A television, set-top box, cell phone, tablet or other electronic device that tunes (for example, using a tuning element) a channel to receive a signal containing an encoded image, and implements any of the described embodiments of the present invention.

- Телевизор, телевизионная приставка, сотовый телефон, планшет или иное электронное устройство, которое принимает (например, с помощью антенны) сигнал, содержащий кодированное изображение, и реализует любой из описанных вариантов осуществления настоящего изобретения.- A television, set-top box, cell phone, tablet or other electronic device that receives (for example, via an antenna) a signal containing an encoded image and implements any of the described embodiments of the present invention.

- По всему представленному описанию поддерживаются и предполагаются различные другие обобщенные, а также конкретизированные признаки.Throughout the description presented, various other generic as well as specific features are supported and contemplated.

Claims (24)

1. Способ кодирования блока видеоданных, предусматривающий:1. A method for encoding a block of video data, which includes: предсказание отсчета блока видеоданных неквадратной формы с использованием, по меньшей мере, одного из опорных отсчетов N в строке, расположенной сверху блока видеоданных неквадратной формы, или, по меньшей мере, одного из опорных отсчетов М в столбце, расположенном слева от блока видеоданных неквадратной формы; иpredicting a non-square video block sample using at least one of the N reference samples in a row above the non-square video block or at least one of the M reference samples in a column to the left of the non-square video block; And кодирование блока видеоданных неквадратной формы с использованием указанного предсказания в режиме intra-кодирования, причем N и М адаптивно варьируются в зависимости от сторон блока видеоданных неквадратной формы, причем N в два раза превышает ширину блока видеоданных неквадратной формы, плюс один отсчет, М в два раза превышает высоту блока видеоданных неквадратной формы, плюс один отсчет, и причем указанное предсказание содержит взвешенную комбинацию указанных опорных отсчетов, в которой количество направлений предсказания вдоль самой длинной стороны блока видеоданных неквадратной формы больше, чем количество направлений предсказания вдоль самой короткой стороны блока видеоданных неквадратной формы, причем направления предсказания вдоль самой длинной стороны блока видеоданных неквадратной формы выполнены с возможностью выходить за пределы углов в 45 и -135 градусов при измерении между горизонтальным лучом и лучом, проходящим в направлении предсказания от опорного блока к целевому блоку.encoding a non-square video block using the specified prediction in intra-coding mode, wherein N and M adaptively vary depending on the sides of the non-square video block, with N being twice the width of the non-square video block plus one sample, M being twice exceeds the height of the non-square video data block plus one sample, and wherein said prediction comprises a weighted combination of said reference samples in which the number of prediction directions along the longest side of the non-square video data block is greater than the number of prediction directions along the shortest side of the non-square video data block, wherein the prediction directions along the longest side of the non-square video data block are configured to extend beyond the 45 and -135 degree angles when measured between the horizontal beam and the beam extending in the prediction direction from the reference block to the target block. 2. Устройство кодирования блока видеоданных, содержащее: процессор, выполненный с возможностью:2. A device for encoding a block of video data, comprising: a processor configured to: предсказания отсчета блока видеоданных неквадратной формы с использованием, по меньшей мере, одного из опорных отсчетов N в строке, расположенной сверху блока видеоданных неквадратной формы, или, по меньшей мере, одного из опорных отсчетов М в столбце, расположенном слева от блока видеоданных неквадратной формы; иpredicting a non-square video block sample using at least one of the N reference samples in a row above the non-square video block or at least one of the M reference samples in a column to the left of the non-square video block; And кодирования блока видеоданных неквадратной формы с использованием указанного предсказания в режиме intra-кодирования, причем N и М адаптивно варьируются в зависимости от сторон блока видеоданных неквадратной формы, причем N в два раза превышает ширину блока видеоданных неквадратной формы, плюс один отсчет, М в два раза превышает высоту блока видеоданных неквадратной формы, плюс один отсчет, и причем указанное предсказание содержит взвешенную комбинацию указанных опорных отсчетов, в которой количество направлений предсказания вдоль самой длинной стороны блока видеоданных неквадратной формы больше, чем количество направлений предсказания вдоль самой короткой стороны блока видеоданных неквадратной формы, причем направления предсказания вдоль самой длинной стороны блока видеоданных неквадратной формы выполнены с возможностью выходить за пределы углов в 45 и -135 градусов при измерении между горизонтальным лучом и лучом, проходящим в направлении предсказания от опорного блока к целевому блоку.encoding a non-square video block using the specified intra-coding prediction, wherein N and M adaptively vary depending on the sides of the non-square video block, with N being twice the width of the non-square video block, plus one sample, M being twice exceeds the height of the non-square video data block plus one sample, and wherein said prediction comprises a weighted combination of said reference samples in which the number of prediction directions along the longest side of the non-square video data block is greater than the number of prediction directions along the shortest side of the non-square video data block, wherein the prediction directions along the longest side of the non-square video data block are configured to extend beyond the 45 and -135 degree angles when measured between the horizontal beam and the beam extending in the prediction direction from the reference block to the target block. 3. Способ декодирования блока видеоданных, предусматривающий:3. A method for decoding a block of video data, which includes: предсказание отсчета блока видеоданных неквадратной формы с использованием, по меньшей мере, одного из опорных отсчетов N в строке, расположенной сверху блока видеоданных неквадратной формы, или, по меньшей мере, одного из опорных отсчетов М в столбце, расположенном слева от блока видеоданных неквадратной формы; иpredicting a non-square video block sample using at least one of the N reference samples in a row above the non-square video block or at least one of the M reference samples in a column to the left of the non-square video block; And декодирование блока видеоданных неквадратной формы с использованием указанного предсказания в режиме intra-кодирования, причем N и М адаптивно варьируются в зависимости от сторон блока видеоданных неквадратной формы, причем N в два раза превышает ширину блока видеоданных неквадратной формы, плюс один отсчет, М в два раза превышает высоту блока видеоданных неквадратной формы, плюс один отсчет, и причем указанное предсказание содержит взвешенную комбинацию указанных опорных отсчетов, в которой количество направлений предсказания вдоль самой длинной стороны блока видеоданных неквадратной формы больше, чем количество направлений предсказания вдоль самой короткой стороны блока видеоданных неквадратной формы, причем направления предсказания вдоль самой длинной стороны блока видеоданных неквадратной формы выполнены с возможностью выходить за пределы углов в 45 и -135 градусов при измерении между горизонтальным лучом и лучом, проходящим в направлении предсказания от опорного блока к целевому блоку.decoding the non-square video block using the specified prediction in the intra-coding mode, wherein N and M adaptively vary depending on the sides of the non-square video block, with N being twice the width of the non-square video block plus one sample, M being twice exceeds the height of the non-square video data block plus one sample, and wherein said prediction comprises a weighted combination of said reference samples in which the number of prediction directions along the longest side of the non-square video data block is greater than the number of prediction directions along the shortest side of the non-square video data block, wherein the prediction directions along the longest side of the non-square video data block are configured to extend beyond the 45 and -135 degree angles when measured between the horizontal beam and the beam extending in the prediction direction from the reference block to the target block. 4. Устройство декодирования блока видеоданных, содержащее:4. Device for decoding a block of video data, comprising: процессор, выполненный с возможностью:a processor configured to: предсказания отсчета блока видеоданных неквадратной формы с использованием, по меньшей мере, одного из опорных отсчетов N в строке, расположенной сверху блока видеоданных неквадратной формы, или, по меньшей мере, одного из опорных отсчетов М в столбце, расположенном слева от блока видеоданных неквадратной формы; иpredicting a non-square video block sample using at least one of the N reference samples in a row above the non-square video block or at least one of the M reference samples in a column to the left of the non-square video block; And декодирования блока видеоданных неквадратной формы с использованием указанного предсказания в режиме intra-кодирования, причем N и М адаптивно варьируются в зависимости от сторон блока видеоданных неквадратной формы, причем N в два раза превышает ширину блока видеоданных неквадратной формы, плюс один отсчет, М в два раза превышает высоту блока видеоданных неквадратной формы, плюс один отсчет, и причем указанное предсказание содержит взвешенную комбинацию указанных опорных отсчетов, в которой количество направлений предсказания вдоль самой длинной стороны блока видеоданных неквадратной формы больше, чем количество направлений предсказания вдоль самой короткой стороны блока видеоданных неквадратной формы, причем направления предсказания вдоль самой длинной стороны блока видеоданных неквадратной формы выполнены с возможностью выходить за пределы углов в 45 и -135 градусов при измерении между горизонтальным лучом и лучом, проходящим в направлении предсказания от опорного блока к целевому блоку.decoding a non-square video block using said prediction in intra-coding mode, wherein N and M adaptively vary depending on the sides of the non-square video block, with N being twice the width of the non-square video block, plus one sample, M being twice exceeds the height of the non-square video data block plus one sample, and wherein said prediction comprises a weighted combination of said reference samples in which the number of prediction directions along the longest side of the non-square video data block is greater than the number of prediction directions along the shortest side of the non-square video data block, wherein the prediction directions along the longest side of the non-square video data block are configured to extend beyond the 45 and -135 degree angles when measured between the horizontal beam and the beam extending in the prediction direction from the reference block to the target block. 5. Способ по п. 1 или 3 или устройство по п. 2 или 4, где указанное предсказание содержит взвешенную комбинацию указанных опорных отсчетов.5. The method of claim 1 or 3, or the apparatus of claim 2 or 4, wherein said prediction comprises a weighted combination of said reference samples. 6. Способ по п. 1 или 3 или устройство по п. 2 или 4, где отношение N к М по существу равно отношению ширины к высоте указанного блока видеоданных не квадратной формы.6. The method of claim 1 or 3, or the apparatus of claim 2 or 4, wherein the ratio of N to M is substantially equal to the ratio of width to height of said non-square video data block. 7. Способ по п. 1 или 3 или устройство по п. 2 или 4, где указанный режим intra-кодирования использует опорные отсчеты из числа указанных опорных отсчетов N, расположенных сверху, и из числа указанных опорных отсчетов М, расположенных слева от блока видеоданных неквадратной формы.7. The method according to claim 1 or 3 or the apparatus according to claim 2 or 4, wherein said intra-coding mode uses reference samples from among said reference samples N located above and from among said reference samples M located to the left of the video data block non-square shape. 8. Способ по п. 1 или 3 или устройство по п. 2 или 4, где N вдвое превышает ширину блока видеоданных неквадратной формы, а М вдвое превышает высоту блока видеоданных неквадратной формы.8. The method of claim 1 or 3, or the apparatus of claim 2 or 4, wherein N is twice the width of the non-square video block and M is twice the height of the non-square video block. 9. Способ по п. 1 или 3 или устройство по п. 2 или 4, где режимы intra-предсказания выходят за пределы углов в 45 и -135 градусов.9. The method of claim 1 or 3, or the apparatus of claim 2 or 4, wherein the intra prediction modes extend beyond 45 and -135 degree angles. 10. Способ по п. 1 или 3 или устройство по п. 2 или 4, где указанное число N превышает ширину указанного блока неквадратной формы, причем указанные опорные отсчеты N выходят за пределы правого края указанного блока неквадратной формы.10. The method of claim 1 or 3, or the apparatus of claim 2 or 4, wherein said number N is greater than the width of said non-square block, said reference counts N extending beyond the right edge of said non-square block. 11. Способ по п. 1 или 3 или устройство по п. 2 или 4, где указанное число М превышает высоту указанного блока неквадратной формы, причем указанные опорные отсчеты М выходят за пределы нижнего края указанного блока неквадратной формы.11. The method of claim 1 or 3, or the apparatus of claim 2 or 4, wherein said number M is greater than the height of said non-square block, said M reference readings extending beyond the lower edge of said non-square block. 12. Прибор декодирования блока видеоданных, включающий в себя:12. Device for decoding a block of video data, including: устройство по п. 4; иdevice according to claim 4; And по меньшей мере, один из таких компонентов как (i) антенна, выполненная с возможностью приема сигнала, содержащего блок видеоданных, (ii) ограничитель полосы частот, выполненный с возможностью ограничения принятого сигнала полосой частот, включающего в себя блок видеоданных, и (iii) дисплей, выполненный с возможностью отображения выходных данных, отражающих блок видеоданных.at least one of (i) an antenna configured to receive a signal comprising a video data block, (ii) a bandwidth limiter configured to limit a received signal to a frequency band including the video data block, and (iii) a display configured to display output data reflecting the block of video data. 13. Энергонезависимое машиночитаемое запоминающее устройство, содержащее загруженный на процессор программный код для осуществления способа по пп. 1, 3 и для воспроизведения с использованием процессора.13. Non-volatile computer-readable storage device containing loaded on the processor program code for implementing the method according to paragraphs. 1, 3 and for playback using the processor.
RU2020143757A 2018-07-16 2019-06-14 Position-dependent intra prediction combination for wide-angle intra prediction RU2797393C2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP18290084.5 2018-07-16
EP18306225.6 2018-09-21

Publications (2)

Publication Number Publication Date
RU2020143757A RU2020143757A (en) 2022-08-16
RU2797393C2 true RU2797393C2 (en) 2023-06-05

Family

ID=

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WO 2013023518 A1 - 2013.02.21. US 2014198855 A1 - 2014.07.17. WO 2018127624 A1 - 2018.07.12. F. RACAPE et al., CE3-related: Wide-angle intra prediction for non-square blocks, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-K0500_r1, 11th Meeting: Ljubljana, 10-18 July 2018, (version 5 - date 2018-07-15 19:39:10) найдено в Интернет на http://phenix.it-sudparis.eu/jvet/doc_end_user/current_document.php?id=4030. WO 2018117894 A1 - 2018.06.28. RU 2573744 С2 - 2016.01.27. JANI LAINEMA et al., Intra Coding of the HEVC Standard, IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, vol. 22, N.12, December 2012. *

Similar Documents

Publication Publication Date Title
US11856184B2 (en) Block shape adaptive intra prediction directions for quadtree-binary tree
US20220038684A1 (en) Multi-reference line intra prediction and most probable mode
US20220191474A1 (en) Wide angle intra prediction with sub-partitions
EP3598757A1 (en) Block shape adaptive intra prediction directions for quadtree-binary tree
US20230396805A1 (en) Template matching prediction for versatile video coding
US20220046244A1 (en) Directions for wide angle intra prediction
EP3627835A1 (en) Wide angle intra prediction and position dependent intra prediction combination
US20240163423A1 (en) Intra prediction mode extension
US12022079B2 (en) Wide angle intra prediction and position dependent intra prediction combination
US20220150485A1 (en) Intra prediction mode partitioning
US20220124337A1 (en) Harmonization of intra transform coding and wide angle intra prediction
US11956436B2 (en) Multiple reference intra prediction using variable weights
US20230023837A1 (en) Subblock merge candidates in triangle merge mode
RU2797393C2 (en) Position-dependent intra prediction combination for wide-angle intra prediction
RU2815092C2 (en) Wide-angle intra-frame prediction with subsections
US11758197B2 (en) In-loop filter with multiple regions
US20230024223A1 (en) Intra sub partitions for video encoding and decoding combined with multiple transform selection, matrix weighted intra prediction or multi-reference-line intra prediction
US20230156190A1 (en) Signaling of merge indices for triangle partitions
CN116648908A (en) Intra prediction for asymmetric partitions