RU2784004C2 - Derivation of internal prediction mode based on neighboring blocks - Google Patents

Derivation of internal prediction mode based on neighboring blocks Download PDF

Info

Publication number
RU2784004C2
RU2784004C2 RU2021111111A RU2021111111A RU2784004C2 RU 2784004 C2 RU2784004 C2 RU 2784004C2 RU 2021111111 A RU2021111111 A RU 2021111111A RU 2021111111 A RU2021111111 A RU 2021111111A RU 2784004 C2 RU2784004 C2 RU 2784004C2
Authority
RU
Russia
Prior art keywords
mode
block
intra prediction
mpm
index
Prior art date
Application number
RU2021111111A
Other languages
Russian (ru)
Other versions
RU2021111111A (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 RU2021111111A publication Critical patent/RU2021111111A/en
Application granted granted Critical
Publication of RU2784004C2 publication Critical patent/RU2784004C2/en

Links

Images

Abstract

FIELD: image encoding/decoding.
SUBSTANCE: invention relates to the field of a technology of image and/or video encoding and decoding and, in particular, to a method and equipment for an internal prediction. A list of the most probable modes (MPM) for an internal prediction is built. At the same time, list building contains: determination, whether a block left from the current encoding block is available; determination, whether a block above the current encoding block is available; use of a planar mode, DC mode, a vertical mode (VER_IDX index), a horizontal mode (HOR_IDX index), an internal prediction mode corresponding to the specified vertical mode with a shift of -4, an internal prediction mode corresponding to the specified vertical mode with a shift of 4 to obtain an index value for an internal prediction mode for the current encoding block, if one of conditions is met.
EFFECT: increase in the encoding efficiency.
17 cl, 10 dwg, 2 tbl

Description

Область техники, к которой относится изобретениеThe technical field to which the invention belongs

Настоящее изобретение относится к области техники кодирования и декодирования изображения и/или видео, и в частности, к способу и аппаратуре для внутреннего предсказания.The present invention relates to the field of image and/or video coding and decoding, and in particular to a method and apparatus for intra prediction.

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

Цифровое видео стало широко использоваться со времени внедрения DVD-дисков. Перед тем, как передать, видео кодируют и затем передают с использованием передающей среды. Зритель принимает это видео и использует просмотровое устройство для декодирования и представления видео на дисплее. С годами качество видео улучшалось, например, вследствие более высоких величин разрешения, глубины цвета и частоты кадров. Это привело к увеличенным объемам потоков данных, которые сегодня обычно транспортируют через сеть интернет и через сети мобильной связи.Digital video has become widely used since the introduction of DVDs. Before being transmitted, the video is encoded and then transmitted using a transmission medium. The viewer receives this video and uses the viewing device to decode and present the video on a display. Video quality has improved over the years, for example due to higher resolutions, color depths and frame rates. This has led to increased volumes of data streams, which today are usually transported through the Internet and through mobile networks.

Для пропускания видео с более высоким разрешением, однако, обычно требуется более широкая полоса частот, поскольку такое видео содержит больше информации. Для снижения требований к ширине полосы частот были разработаны и внедрены стандарты кодирования видео, использующие сжатие видео. Когда видео кодировано, требования к ширине полосы частот пропускания (или соответствующие требования к объему памяти в случае запоминающих устройств и хранения информации) снижаются. Часто такое снижение происходит за счет качества. Таким образом, стандарты видео кодирования стремятся найти баланс между требованиями к ширине полосы частот и качеством.Higher resolution video, however, usually requires more bandwidth because the video contains more information. To reduce bandwidth requirements, video coding standards using video compression have been developed and implemented. When video is encoded, the bandwidth requirements (or corresponding memory requirements in the case of memory and information storage) are reduced. Often this decline comes at the expense of quality. Thus, video coding standards strive to strike a balance between bandwidth requirements and quality.

Высокоэффективное видео кодирование (High Efficiency Video Coding (HEVC)) представляет собой пример стандарта видео кодирования, который широко известен специалистам в рассматриваемой области. В стандарте кодирования HEVC применяется разбиение единицы кодирования (coding unit (CU)) на единицы предсказания (prediction unit (PU)) или единицы преобразования (transform unit (TU)). Стандарт «Универсальное видео кодирование» (Versatile Video Coding (VVC)), являющийся стандартом следующего поколения, представляет собой самый последний совместный видео проект Группы экспертов по кодированию видео (Video Coding Experts Group (VCEG)) при секторе по стандартизации телекоммуникаций в международном союзе по телекоммуникациям (ITU-T) и Группы экспертов по кинематографии (Moving Picture Experts Group (MPEG)) международной организации стандартизации/международной электротехнической комиссии (ISO/IEC), которые совместно работают в партнерстве, известном как Объединенная группа исследований в области видео (Joint Video Exploration Team (JVET))). Стандарт кодирования VVC также называется Стандартом кодирования видео следующего поколения (ITU-T H.266/Next Generation Video Coding (NGVC)). В стандарте кодирования VVC предполагается исключить концепции несколько типов разбиений, т.е. разделение концепций единиц CU, единиц PU и единиц TU, за исключением той степени, которая необходима для единиц CU, имеющих слишком большой размер для максимальной длины преобразования, и поддерживать больше гибкости для форм разбиения единиц CU.High Efficiency Video Coding (HEVC) is an example of a video coding standard that is widely known to those skilled in the art. The HEVC coding standard splits the coding unit (CU) into prediction units (PU) or transform units (TU). Versatile Video Coding (VVC), the next generation standard, is the latest collaborative video project of the Video Coding Experts Group (VCEG) in the telecommunications standardization sector of the International Union for telecommunications (ITU-T) and the International Standards Organization/International Electrotechnical Commission (ISO/IEC) Moving Picture Experts Group (MPEG), which work together in a partnership known as the Joint Video Research Group (Joint Video). Exploration Team (JVET))). The VVC coding standard is also called the Next Generation Video Coding (ITU-T H.266/Next Generation Video Coding (NGVC)). The VVC coding standard is supposed to eliminate the concept of multiple types of splits, i.e. separating the concepts of CUs, PUs, and TUs, except to the extent necessary for CUs that are too large for the maximum transform length, and maintain more flexibility for CU partitioning forms.

Характер обработки этих единиц кодирования (CU) (также называемых блоков) зависит от их размера, внутреннего расположения и режима кодирования, специфицированного кодирующим устройством. Режимы кодирования можно классифицировать на две группы в соответствии с типом предсказания: режимы внутреннего предсказания и взаимного предсказания. Режимы внутреннего предсказания используют отсчеты из той же самой картинки (также называемой здесь кадром или изображением) для генерации опорных отсчетов с целью вычисления прогнозируемых величин для отсчетов блока, который в текущий момент реконструируется. Внутреннее предсказание также называется пространственным предсказанием. Режимы взаимного предсказания предназначены для временного предсказания и используют опорные отсчеты из предыдущих или следующих картинок для предсказания блока текущей картинки.How these coding units (CUs) (also referred to as blocks) are processed depends on their size, internal layout, and the coding mode specified by the encoder. The coding modes can be classified into two groups according to the type of prediction: intra prediction and inter prediction modes. The intra prediction modes use samples from the same picture (also referred to here as a frame or image) to generate reference samples to calculate predictive values for the samples of the block that is currently being reconstructed. Intra prediction is also called spatial prediction. Mutual prediction modes are for temporal prediction and use reference samples from previous or next pictures to predict a block of the current picture.

Группы экспертов ITU-T VCEG (Q6/16) и ISO/IEC MPEG (JTC 1/SC 29/WG 11) занимаются сейчас исследованиями в области потенциальной необходимости в стандартизации будущих технологий кодирования видео, способности которых в области сжатия изображения значительно превосходили бы аналогичные способности современного стандарта кодирования HEVC (включая его сегодняшние расширения и расширения близкого будущего для кодирования содержания экрана и кодирования в широком динамическом диапазоне). Эти группы совместно работают над исследованиями в этой области в рамках совместной деятельности в группе, называемой Объединенной группой экспертов в области видео (JVET) для оценки вариантов технологий сжатия, предлагаемых экспертами-членами группы в этой области.The ITU-T VCEG (Q6/16) and ISO/IEC MPEG (JTC 1/SC 29/WG 11) Expert Groups are currently investigating the potential need for standardization of future video coding technologies that would greatly outperform video compression capabilities. capabilities of the current HEVC coding standard (including its current and near future extensions for screen content encoding and high dynamic range encoding). These groups work together on research in this area as part of a collaborative activity in a group called the Joint Video Experts Group (JVET) to evaluate compression technology options proposed by the group's expert members in the field.

Стандарт «Универсальная испытательная модель» (VTM (Versatile Test Model)) использует 35 режимов внутреннего предсказания, тогда как стандарт «Набор контрольных точек» (BMS (Benchmark Set)) использует 67 режимов внутреннего предсказания.The Versatile Test Model (VTM) standard uses 35 intra prediction modes, while the Benchmark Set (BMS) standard uses 67 intra prediction modes.

Схема кодирования в режиме внутреннего предсказания, описываемая сегодня в стандарте BMS, считается сложной, а недостаток набора режимов без выбора состоит в том, что список индексов всегда остается постоянным, а не адаптируется на основе свойств текущего блока (например, для режимов внутреннего предсказания относительно соседних с ним блоков).The intra prediction mode coding scheme described today in the BMS standard is considered complex, and the disadvantage of the non-selection mode set is that the index list always remains constant rather than adapting based on the properties of the current block (for example, for intra prediction modes with respect to neighboring blocks with it).

Краткое изложение существа изобретенияBrief summary of the invention

Предложены аппаратура и способ для внутреннего предсказания. Эти аппаратура и способ используют процедуру отображения для упрощения процедуры вычислений для внутреннего предсказания, чтобы повысить эффективность кодирования. Объем защиты определяется Формулой изобретения.Apparatus and method for internal prediction are proposed. This apparatus and method uses a mapping procedure to simplify the calculation procedure for intra prediction in order to improve coding efficiency. The scope of protection is determined by the Claims.

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

Следующие варианты описаны более подробно со ссылками на прилагаемые чертежи, на которых: The following options are described in more detail with reference to the accompanying drawings, in which:

фиг. 1 представляет блок-схему, показывающую пример системы видео кодирования, конфигурированной для осуществления вариантов настоящего изобретения;fig. 1 is a block diagram showing an example of a video coding system configured to implement embodiments of the present invention;

фиг. 2 представляет блок-схему, показывающую пример видео кодирующего устройства, конфигурированного для осуществления вариантов настоящего изобретения;fig. 2 is a block diagram showing an example of a video encoder configured to implement embodiments of the present invention;

фиг. 3 представляет блок-схему, показывающую пример структуры видео декодирующего устройства, конфигурированного для осуществления вариантов настоящего изобретения;fig. 3 is a block diagram showing an example of the structure of a video decoder configured to implement embodiments of the present invention;

фиг. 4 показывает упрощенную схему, иллюстрирующую предлагаемые 67 режимов внутреннего предсказания;fig. 4 shows a simplified diagram illustrating the proposed 67 intra prediction modes;

фиг. 5 показывает упрощенную схему, иллюстрирующую соседние блоки для деривации режимов MPM;fig. 5 shows a simplified diagram illustrating neighboring blocks for deriving MPM modes;

фиг. 6 показывают упрощенную схему, иллюстрирующую режимы внутреннего предсказания с соседними блоками второго яруса, используемые для определения первых трех режимов в списке остальных режимов;fig. 6 shows a simplified diagram illustrating second-tier adjacent intra prediction modes used to determine the first three modes in the remaining mode list;

фиг. 7 показывает упрощенную схему, иллюстрирующую пример первых трех режимов в процессе генерации списка остальных режимов;fig. 7 shows a simplified diagram illustrating an example of the first three modes in the process of generating a list of the remaining modes;

фиг. 8 показывает упрощенную схему, иллюстрирующую пример способа декодирования видео;fig. 8 shows a simplified diagram illustrating an example of a video decoding method;

фиг. 9 показывает другую упрощенную схему, иллюстрирующую пример способа декодирования видео;fig. 9 shows another simplified diagram illustrating an example of a video decoding method;

фиг. 10 показывает блок-схему аппаратуры.fig. 10 shows a block diagram of the apparatus.

Подробное описаниеDetailed description

В последующем описании ссылки сделаны на прилагаемые чертежи, которые составляют часть настоящего изобретения и на которых показаны, посредством иллюстраций, конкретные аспекты реализации настоящего изобретения.In the following description, reference is made to the accompanying drawings, which form part of the present invention and which show, by means of illustrations, specific aspects of the implementation of the present invention.

Например, понятно, что изобретение вместе с описываемым способом может также оставаться действительным для соответствующего устройства или системы, конфигурированных для осуществления этого способа, и наоборот. Например, при описании конкретного этапа способа соответствующее устройство может содержать модуль для осуществления описываемого этапа способа, даже если такой модуль не описан здесь в явном виде или не иллюстрирован на чертежах. Далее, понятно, что признаки различных примеров аспектов, описываемые здесь, могут быть скомбинированы одни с другими, если только специально не указано противное.For example, it is understood that the invention, together with the described method, may also remain valid for the corresponding device or system configured to implement this method, and vice versa. For example, when describing a specific method step, the corresponding device may contain a module for implementing the described method step, even if such a module is not explicitly described here or illustrated in the drawings. Further, it is to be understood that features of the various exemplary aspects described herein may be combined with one another unless specifically indicated to the contrary.

Термин «кодирование видео» обозначает обработку последовательности картинок, которые составляют видео или виде последовательность. Термины «картинка», «изображение» или «кадр» в области кодирования видео, равно как и в настоящем описании, могут использоваться/используются как синонимы. Каждое изображение обычно разбивают на множество блоков, не накладывающихся один на другой. Кодирование/декодирование изображения обычно осуществляется на уровне блоков, где, например, используется взаимное предсказание или внутреннее предсказание для генерации прогнозируемого блока с целью вычитания этого прогнозируемого блока из текущего блока (блока, обрабатываемого/подлежащего обработке в текущий момент) для получения остаточного блока, который далее трансформируют и квантуют для уменьшения объема данных, подлежащего передаче, (сжатия), тогда как на стороне декодирующего устройства к кодированному/сжатому блоку применяется обратная процедура с целью реконструкции этого блока для представления.The term "video coding" refers to the processing of a sequence of pictures that make up a video or video sequence. The terms "picture", "picture" or "frame" in the field of video coding, as well as in the present description, can be/are used interchangeably. Each image is usually divided into many blocks that do not overlap one another. Image encoding/decoding is usually done at the block level, where, for example, inter prediction or intra prediction is used to generate a predictive block in order to subtract this predictive block from the current block (block currently being processed/to be processed) to obtain a residual block that it is then transformed and quantized to reduce the amount of data to be transmitted (compressed), while at the decoder side, the encoded/compressed block is reversed to reconstruct the block for presentation.

На фиг. 1 представлена концептуальная или упрощенная блок-схема, иллюстрирующая пример системы 10 кодирования, например, системы 10 кодирования видео, которая может использовать технологию настоящей заявки (настоящего изобретения). Кодирующее устройство 20 (например, видео кодирующее устройство 20) и декодирующее устройство 30 (например, видео декодирующее устройство 30) в системе 10 кодирования видео представляют примеры устройств, которые могут быть конфигурированы для осуществления технологий в соответствии с различными примерами, описываемыми в настоящей заявке. Как показано на фиг. 1, система 10 кодирования содержит устройство-источник 12, конфигурированное для предоставления кодированных данных 13, например, кодированного изображения 13, например, устройству-адресату 14 для декодирования этих кодированных данных 13.In FIG. 1 is a conceptual or simplified block diagram illustrating an example of an encoding system 10, such as a video encoding system 10, that may use the technology of the present application (of the present invention). Encoder 20 (eg, video encoder 20) and decoder 30 (eg, video decoder 30) in video encoding system 10 represent examples of devices that can be configured to implement technologies in accordance with the various examples described herein. As shown in FIG. 1, encoding system 10 comprises a source device 12 configured to provide encoded data 13, such as an encoded image 13, to, for example, a destination device 14 to decode the encoded data 13.

Устройство-источник 12 содержит кодирующее устройство 20, и может дополнительно, т.е. в качестве опции, содержать источник 16 изображения, модуль 18 предварительной обработки, например, модуль 18 предварительной обработки изображения, и интерфейс связи или модуль 22 связи.Source device 12 includes an encoder 20 and may additionally, i. e. optionally comprise an image source 16 , a preprocessing module 18 , such as an image preprocessing module 18 , and a communication interface or communication module 22 .

Источник 16 изображения может содержать или представлять собой устройство для захвата изображения какого-либо типа, например, для захвата изображения реального мира, и/или какое-либо устройство для генерации изображения или комментария какого-либо типа (для кодирования контента, присутствующего на экране, какой-либо текст на этом экране также считается частью картинки или изображения, подлежащего кодированию), например, компьютерный графический процессор для генерации изображения компьютерной анимации, и/или устройство какого-либо типа для получения и/или для создания изображения реального мира, изображения компьютерной анимации (например, контента экрана, изображения виртуальной реальности (virtual reality (VR))) и/или какой-либо комбинации таких изображений (например, изображения дополненной реальности (augmented reality (AR))).Image source 16 may comprise or be some type of image capturing device, such as for capturing an image of the real world, and/or some type of image or comment generation device (for encoding content present on the screen, any text on that screen is also considered to be part of the picture or image to be encoded), such as a computer graphics processor for generating a computer animation image, and/or some type of device for capturing and/or generating an image of the real world, an image of a computer animations (e.g., screen content, virtual reality (VR) images, and/or any combination of such images (e.g., augmented reality (AR) images).

Изображение (цифровое) представляет собой или может рассматриваться в качестве двумерного массива или матрицы отсчетов, каждый из которых имеет некоторую величину интенсивности. Отсчет в массиве может также называться пикселем (сокращенная форма от элемента изображения) или элементом растра (пел (pel)). Число отсчетов в горизонтальном и вертикальном направлении (или вдоль соответствующих осей) определяет размер и/или разрешение (разрешающую способность) изображения. Для представления цвета обычно используются три цветовых составляющих, т.е. изображение может быть представлено или может содержать три массива отсчетов. В формате или в цветовом пространстве RBG изображение содержит соответствующие массивы красных (red), зеленых (green) и синих (blue) отсчетов. Однако при кодировании видео каждый пиксель обычно представляют в формате или в цветовом пространстве яркость/цветность, например, YCbCr, что содержит яркостную составляющую, обозначенную литерой Y, (иногда вместо нее используется также литера L) и две цветностные составляющие, обозначенные посредством Cb и Cr. Яркостная (или сокращенно «luma») составляющая Y представляет яркость или уровень интенсивности зеленого цвета (например, как в полутоновом (черно-белом) изображении), тогда как две цветностные (или сокращенно chroma) составляющие Cb и Cr представляют составляющие хроматичности (цветности) или цветовой информации. Соответственно, изображение в формате YCbCr содержит массив яркостных отсчетов, образованный из величин отсчетов яркости (Y), и два массива цветностных отсчетов, образованных из величин отсчетов цветности (Cb и Cr). Изображения в формате RGB могут быть конвертированы или преобразованы в формат YCbCr и наоборот, этот процесс также известен как преобразования или конверсия цветовых координат. Когда изображение является одноцветным (черно-белым), такое изображение может содержать только массив яркостных отсчетов.An image (digital) is or can be viewed as a two-dimensional array or matrix of samples, each of which has some intensity value. A sample in an array can also be called a pixel (short for image element) or a raster element (pel). The number of samples in the horizontal and vertical direction (or along the respective axes) determines the size and/or resolution (resolution) of the image. Three color components are usually used to represent a color, i.e. the image may be represented or may contain three arrays of samples. In RBG format or color space, an image contains corresponding arrays of red (red), green (green), and blue (blue) samples. However, in video coding, each pixel is typically represented in a luma/chrominance format or color space, such as YCbCr, which contains a luminance component, denoted by the letter Y (sometimes the letter L is also used instead) and two chrominance components, denoted by Cb and Cr . The luminance (or abbreviated "luma") Y component represents the brightness or intensity level of the green color (such as in a grayscale (black and white) image), while the two chroma (or abbreviated chroma) components Cb and Cr represent the chromaticity (chromaticity) components. or color information. Accordingly, the YCbCr format image contains an array of luminance samples formed from the values of the luminance samples (Y) and two arrays of chrominance samples formed from the values of the chrominance samples (Cb and Cr). Images in RGB format can be converted or converted to YCbCr format and vice versa, this process is also known as color coordinate conversions or conversion. When an image is monochrome (black and white), such an image can only contain an array of luminance samples.

Источник 16 изображения (например, источник 16 видео) может представлять собой, например, видеокамеру для захвата изображений, запоминающее устройство, например, запоминающее устройство изображений, содержащее или сохраняющее ранее захваченное или сформированное изображение, и/или какого-либо рода интерфейс (внутренний или внешний) для получения или приема изображения. Видеокамера может представлять собой, например, локальную или интегральную видеокамеру, интегрированную в устройство-источник, запоминающее устройство может быть локальным или интегральным запоминающим устройством, например, интегрированным в устройство-источник. Интерфейс может быть, например, внешним интерфейсом для приема изображения от внешнего источника видео, например, внешнего устройства для захвата изображений, такого как видеокамера, от внешнего запоминающего устройства или от внешнего устройства для формирования изображений, например, внешнего компьютерного графического процессора, компьютера или сервера. Интерфейс может представлять собой интерфейс любого типа, например, проводной или беспроводной интерфейс, оптический интерфейс, работающий в соответствии с каким-либо специализированным или стандартизованным протоколом интерфейса. Интерфейс для получения данных 17 изображения может быть тем же самым интерфейсом или составлять часть интерфейса 22 связи.Image source 16 (e.g., video source 16) may be, for example, a video camera for capturing images, a storage device, such as an image storage device, containing or storing a previously captured or generated image, and/or some kind of interface (internal or external) to acquire or receive an image. The video camera may be, for example, a local or integral video camera integrated into the source device, the storage device may be a local or integral storage device, for example, integrated into the source device. The interface may be, for example, an external interface for receiving an image from an external video source, such as an external image capture device such as a video camera, from an external storage device, or from an external imaging device, such as an external computer GPU, computer, or server. . The interface may be any type of interface, such as a wired or wireless interface, an optical interface operating in accordance with any specialized or standardized interface protocol. The interface for obtaining image data 17 may be the same interface or be part of the communication interface 22 .

В отличие от модуля 18 предварительной обработки и обработки, выполняемой этим модулем 18 предварительной обработки, изображение или данные 17 изображения (например, видеоданные 16) могут также называться необработанным изображением или необработанными данными 17 изображения.Unlike the pre-processing module 18 and the processing performed by this pre-processing module 18, the image or image data 17 (eg, video data 16) may also be referred to as a raw image or raw image data 17 .

Модуль 18 предварительной обработки конфигурирован для приема (необработанных) данных 17 изображения и для осуществления предварительной обработки этих данных 17 изображения с целью получения предварительно обработанного изображения 19 или предварительно обработанных данных 19 изображения. Предварительная обработка, осуществляемая модулем 18 предварительной обработки, может, например, содержать обрезку по формату, преобразование цветового формата (например, от RGB к YCbCr), коррекцию цвета или подавление шумов. Должно быть понятно, что модуль 18 предварительной обработки может быть необязательным компонентом, применяемым при необходимости (в качестве опции).The pre-processing module 18 is configured to receive (raw) image data 17 and to perform pre-processing of this image data 17 to obtain a pre-processed image 19 or pre-processed image data 19. The pre-processing performed by the pre-processing module 18 may, for example, include format cropping, color format conversion (eg, from RGB to YCbCr), color correction, or noise reduction. It should be understood that the module 18 pre-processing may be an optional component, applied when necessary (as an option).

Кодирующее устройство 20 (например, видео кодирующее устройство 20) конфигурировано для приема предварительно обработанных данных 19 изображения и генерации кодированных данных 21 изображения (дальнейшие подробности будут описаны ниже, например, на основе фиг. 2).An encoder 20 (eg, video encoder 20) is configured to receive pre-processed image data 19 and generate encoded image data 21 (further details will be described below, for example, based on FIG. 2).

Интерфейс 22 связи в устройстве-источнике 12 может быть конфигурирован для приема кодированных 21 данных изображения и для передачи их другому устройству, например, устройству-адресату 14 или какому-либо другому устройству для сохранения или прямого восстановления, либо, соответственно, для обработки кодированных данных 21 изображения прежде соответственно сохранения кодированных данных 13 и/или передачи кодированных данных 13 другому устройству, например, устройству-адресату 14 или какому-либо другому устройству для декодирования или сохранения.The communication interface 22 in the source device 12 can be configured to receive the encoded image data 21 and to transmit it to another device, such as the destination device 14 or some other device for storage or direct restoration, or, respectively, for processing the encoded data. 21 of the image before respectively storing the encoded data 13 and/or transmitting the encoded data 13 to another device, such as a destination device 14 or some other device for decoding or storage.

Устройство-адресат 14 содержит декодирующее устройство 30 (например, видео декодирующее устройство 30) и может дополнительно, т.е. в качестве опции, содержать интерфейс связи или модуль 28 связи, модуль 32 постобработки и дисплейное устройство 34.Destination device 14 includes a decoder 30 (eg, video decoder 30) and may additionally, i.e. optionally comprise a communication interface or communication module 28, a post-processing module 32 and a display device 34.

Интерфейс 28 связи в устройстве-адресате 14 конфигурирован для приема кодированных данных 21 изображения или кодированных данных 13, например, напрямую от устройства-источника 12 или от какого-либо другого источника, например, запоминающего, например, запоминающего устройства для кодированных данных изображения.Communication interface 28 at destination device 14 is configured to receive encoded image data 21 or encoded data 13, for example directly from source device 12 or from some other source such as a storage device, such as a storage device for encoded image data.

Интерфейс 22 связи и интерфейс 28 связи могут быть конфигурированы для передачи или приема кодированных данных 21 изображения или кодированных данных 13 по прямому каналу связи между устройством-источником 12 и устройством-адресатом 14, например, прямому проводному или беспроводному соединению, или через какую-либо сеть связи, например, проводную или беспроводную сеть связи или какие-либо комбинации таких сетей, либо через частную или общественную сеть связи какого-либо типа или какую-либо комбинацию таких сетей.Communication interface 22 and communication interface 28 may be configured to transmit or receive encoded image data 21 or encoded data 13 over a direct communication channel between source device 12 and destination device 14, such as a direct wired or wireless connection, or through any a communications network, such as a wired or wireless communications network, or any combination of such networks, or through any type of private or public communications network, or any combination of such networks.

Интерфейс 22 связи может быть, например, конфигурирован для упаковки кодированных данных 21 изображения в соответствующий формат, например, пакетов данных, для передачи по каналу связи или через сеть связи.The communication interface 22 may, for example, be configured to package the encoded image data 21 into an appropriate format, such as data packets, for transmission over a communication channel or over a communication network.

Интерфейс 28 связи, образующий контрагента для интерфейса 22 связи, может быть, например, конфигурирован для распаковки кодированных данных 13 с целью получения кодированных данных 21 изображения.The communication interface 28 constituting the counterparty for the communication interface 22 may, for example, be configured to decompress the encoded data 13 in order to obtain the encoded image data 21 .

Оба интерфейса, и интерфейс 22 связи, и интерфейс 28 связи, могут быть конфигурированы в качестве однонаправленных интерфейсов связи, как это обозначено стрелкой для кодированных данных 13 изображения на фиг. 1A, где эта стрелка указывает от устройства-источника 12 к устройству-адресату 14, либо в качестве двунаправленных интерфейсов связи и могут быть конфигурированы, например, для передачи и приема сообщений, например, с целью установления соединения, для квитирования и обмена какой-либо другой информацией относительно канала связи и/или передачи данных, например, передачи кодированных данных изображения.Both interfaces, communication interface 22 and communication interface 28, can be configured as unidirectional communication interfaces, as indicated by the arrow for encoded image data 13 in FIG. 1A, where this arrow points from the source device 12 to the destination device 14, or as bidirectional communication interfaces and can be configured, for example, to send and receive messages, for example, to establish a connection, to handshake and exchange any other information regarding the communication channel and/or data transmission, for example, the transmission of encoded image data.

Декодирующее устройство 30 конфигурировано для приема кодированных данных 21 изображения и генерации декодированных данных 31 изображения или декодированного изображения 31 (дальнейшие подробности будут описаны ниже, например, на основе фиг. 3).The decoder 30 is configured to receive encoded image data 21 and generate decoded image data 31 or decoded image 31 (further details will be described below, for example, based on Fig. 3).

Постпроцессор 32 в устройстве-адресате 14 конфигурирован для постобработки декодированных данных 31 изображения (также называемых данными реконструированного изображения), например, декодированного изображения 31, с целью получения постобработанных данных 33 изображения, например, постобработанного изображения 33. Постобработка, осуществляемая модулем 32 постобработки, может содержать, например, преобразование цветового формата (например, от формата YCbCr к формату RGB), коррекцию цвета, обрезку по формату или редискретизацию, или какую-либо другую обработку, например, для подготовки декодированных данных 31 изображения для представления на дисплее, например, дисплейным устройством 34.The post processor 32 in the destination device 14 is configured to post-process the decoded image data 31 (also referred to as reconstructed image data), such as the decoded image 31, to obtain post-processed image data 33, such as the post-processed image 33. The post-processing performed by the post-processing module 32 may contain, for example, color format conversion (for example, from YCbCr format to RGB format), color correction, format cropping or resampling, or some other processing, for example, to prepare the decoded image data 31 for presentation on a display, for example, a display device 34.

Дисплейное устройство 34 в устройстве-адресате 14 конфигурировано для приема постобработанных данных 33 изображений с целью представления изображения на дисплее, например, пользователю или зрителю. Дисплейное устройство 34 может представлять собой или может содержать дисплей какого-либо типа для представления реконструированного изображения, например, интегрированный или внешний дисплей, или монитор. Такой дисплей может представлять собой, например, жидкокристаллический дисплей (liquid crystal display (LCD)), дисплей на органических светодиодах (organic light emitting diode (OLED)), плазменный дисплей, проектор, микро светодиодный (LED) дисплей, жидкокристаллический дисплей на кремнии (liquid crystal on silicon (LCoS)), цифровой процессор световых сигналов (digital light processor (DLP)) или дисплей какого-либо другого типа.Display device 34 at destination device 14 is configured to receive post-processed image data 33 for the purpose of presenting an image on a display to, for example, a user or viewer. The display device 34 may be or may include some type of display for presenting the rendered image, such as an integrated or external display or monitor. Such a display may be, for example, a liquid crystal display (LCD), an organic light emitting diode (OLED) display, a plasma display, a projector, a micro light-emitting diode (LED) display, a silicon liquid crystal display ( liquid crystal on silicon (LCoS), digital light processor (DLP), or some other type of display.

Хотя на фиг. 1 устройство-источник 12 и устройство-адресат 14 показаны в качестве раздельных устройств, варианты устройств могут содержать оба устройства или функциональные возможности обоих устройств, а именно, устройство-источник 12 или соответствующие функциональные возможности и устройство-адресат 14 или соответствующие функциональные возможности. В таких вариантах устройство-источник 12 или соответствующие функциональные возможности и устройство-адресат 14 или соответствующие функциональные возможности могут быть реализованы с использованием одной и той же аппаратуры и/или программного обеспечения, либо разной аппаратуры и/или программного обеспечения, или какой-либо комбинации перечисленных компонентов.Although in FIG. 1, source device 12 and destination device 14 are shown as separate devices, device variants may contain both devices or functionality of both devices, namely source device 12 or related functionality and destination device 14 or related functionality. In such embodiments, source device 12 or related functionality and destination device 14 or related functionality may be implemented using the same hardware and/or software, or different hardware and/or software, or some combination. listed components.

Как должно быть понятно специалистам в рассматриваемой области на основе настоящего описания, существование и (точное) разбиение функциональных возможностей различных модулей, либо функциональных возможностей внутри устройства-источника 12 и/или устройства-адресата 14, как показано на фиг. 1, может варьироваться в зависимости от фактического устройства и приложения.As will be appreciated by those skilled in the art based on the present disclosure, the existence and (exact) breakdown of the functionality of the various modules, or functionality within source device 12 and/or destination device 14, as shown in FIG. 1 may vary depending on the actual device and application.

Каждое устройство – кодирующее устройство 20 (например, видео кодирующее устройство 20) и декодирующее устройство 30 (например, видео декодирующее устройство 30), может быть реализовано в виде какой-либо одной из разнообразия подходящих схем, такой как одно или несколько устройств из списка – микропроцессоры, цифровые процессоры сигнала (digital signal processor (DSP)), специализированные интегральные схемы (application-specific integrated circuit (ASIC)), программируемые пользователем вентильные матрицы (field-programmable gate array (FPGA)), дискретные логические устройства, аппаратура или какие-либо комбинации перечисленных компонентов. Когда эти технологии реализуются частично в программном обеспечении, устройство может сохранять команды для программного обеспечения на подходящем энергонезависимом читаемом компьютером носителе для хранения информации и может выполнять команды в аппаратуре с использованием одного или нескольких процессоров для осуществления технологии согласно настоящему изобретению. Что-либо из перечисленного выше (включая аппаратуру, программное обеспечение, комбинацию аппаратуры и программного обеспечения и т.п.) может рассматриваться в качестве одного или нескольких процессоров. Каждое из устройств – видео кодирующее устройство 20 и видео декодирующее устройство 30, может быть включено в одно или несколько кодирующих устройств или декодирующих устройств, где любое такое устройство может быть интегрировано в качестве части комбинированного кодирующего устройства / декодирующего устройства (кодека (CODEC)) в соответствующее устройство.Each device, encoder 20 (e.g., video encoder 20) and decoder 30 (e.g., video decoder 30), can be implemented as any one of a variety of suitable circuits, such as one or more devices from the list − microprocessors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), discrete logic devices, hardware, or any or a combination of the listed components. When these technologies are implemented in part in software, a device may store instructions for the software on a suitable non-volatile computer-readable storage medium and may execute instructions in hardware using one or more processors to implement the technology of the present invention. Any of the above (including hardware, software, a combination of hardware and software, and the like) may be considered one or more processors. Each of video encoder 20 and video decoder 30 may be included in one or more encoders or decoders, where any such device may be integrated as part of a combined encoder/decoder (CODEC) in corresponding device.

На фиг. 2 показана упрощенная/концептуальная блок-схема примера видео кодирующего устройства 20, конфигурированного для осуществления технологии согласно настоящему приложению. В примере, показанном на фиг. 2, видео кодирующее устройство 20 содержит модуль вычисления остатка 204, модуль 206 процессора преобразования, модуль 208 квантования, модуль 210 обратного квантования и модуль 212 процессора обратного преобразования, модуль 214 реконструкции, буфер 216, модуль 220 контурного фильтра, буфер 230 декодированного изображения (decoded picture buffer (DPB)), модуль 260 процессора предсказания и модуль 270 энтропийного кодирования. Модуль 260 процессора предсказания может содержать модуль 244 взаимного предсказания, модуль 254 внутреннего предсказания и модуль 262 выбора режима. Модуль 244 взаимного предсказания может содержать модуль оценки движения и модуль компенсации движения (не показано). Видео кодирующее устройство 20, как показано на фиг. 2, может также называться гибридным видео кодирующим устройством или видео кодирующим устройством в соответствии с гибридным видео кодеком.In FIG. 2 shows a simplified/conceptual block diagram of an example of a video encoder 20 configured to implement the technology of this application. In the example shown in FIG. 2, the video encoder 20 includes a residual calculation module 204, a transform processor module 206, a quantizer module 208, an inverse quantizer module 210, and an inverse transform processor module 212, a reconstruction module 214, a buffer 216, a loop filter module 220, a decoded image buffer 230 (decoded picture buffer (DPB)), prediction processor module 260, and entropy encoding module 270. Prediction processor module 260 may include an inter prediction module 244, an intra prediction module 254, and a mode selection module 262. The inter prediction module 244 may include a motion estimation module and a motion compensation module (not shown). Video encoder 20, as shown in FIG. 2 may also be referred to as a hybrid video encoder or a video encoder according to a hybrid video codec.

Например, модуль 204 вычисления остатка, модуль 206 процессора преобразования, модуль 208 квантования, модуль 260 процессора предсказания и модуль 270 энтропийного кодирования образуют тракт прямой передачи сигнала в кодирующем устройстве 20, в то время как, например, модуль 210 обратного квантования, модуль 212 процессора обратного преобразования, модуль 214 реконструкции, буфер 216, контурный фильтр 220, буфер 230 декодированного изображения (DPB) 230, модуль 260 процессора предсказания образуют тракт обратной передачи сигнала в кодирующем устройстве, где тракт обратной передачи сигнала в кодирующем устройстве соответствует тракту передачи сигнала в декодирующем устройство (см. декодирующее устройство 30, показанное на фиг. 3).For example, the residual calculation unit 204, the transform processor unit 206, the quantization unit 208, the prediction processor unit 260, and the entropy encoding unit 270 form a forward signal path in the encoder 20, while, for example, the inverse quantization unit 210, the processor unit 212 inverse transform, reconstruction module 214, buffer 216, loop filter 220, decoded picture buffer (DPB) 230 230, prediction processor module 260 form a signal return path in the encoder, where the signal return path in the encoder corresponds to the signal transmission path in the decoder. device (see decoder 30 shown in FIG. 3).

Кодирующее устройство 20 конфигурировано для приема, например, на вход 202, изображения 201 или блока 203 этого изображения 201, например, изображения из последовательности изображений, образующих видео или видео последовательность. Блок 203 изображения может также называться текущим блоком изображения или блоком изображения, подлежащим кодированию, а изображение 201 может также называться текущим изображением или изображением, подлежащим кодированию, (в частности, при кодировании видео для того, чтобы отличать текущее изображение от других изображений, например, ранее кодированных и/или декодированных изображений из той же самой видео последовательности, т.е. видео последовательности, которая также содержит текущее изображение).Encoder 20 is configured to receive, for example, at input 202, an image 201 or a block 203 of this image 201, for example, an image from a sequence of images constituting a video or video sequence. Image block 203 may also be referred to as the current image block or image block to be encoded, and image 201 may also be referred to as the current image or image to be encoded (particularly when encoding video to distinguish the current image from other images, for example, previously encoded and/or decoded pictures from the same video sequence, i.e. a video sequence that also contains the current picture).

Модуль 260 процессора предсказания, также называемый здесь модулем 260 процессора предсказания блоков, конфигурирован для приема или получения блока 203 (текущего блока 203 из текущего изображения 201) и данных реконструированного изображения, например, опорных отсчетов того же самого (текущего) изображения из буфера 216 и/или данных 231 опорного изображения из одного или нескольких ранее декодированных изображений из буфера 230 декодированного изображения, и для обработки таких данных с целью предсказания, т.е. генерации прогнозируемого блока 265, который может представлять собой блок 245, предсказанный в режиме взаимного предсказания, или блок 255, предсказанный в режиме внутреннего предсказания.The prediction processor module 260, also referred to here as the block prediction processor module 260, is configured to receive or obtain a block 203 (the current block 203 from the current picture 201) and reconstructed picture data, such as reference samples of the same (current) picture from the buffer 216 and /or reference picture data 231 from one or more previously decoded pictures from decoded picture buffer 230, and for processing such data for prediction purposes, i. e. generating a predicted block 265, which may be an inter prediction block 245 or an intra prediction block 255.

Модуль 262 выбора режима может быть конфигурирован для выбора режима предсказания (например, режима внутреннего или взаимного предсказания) и/или соответствующего прогнозируемого блока 245 или 255 для использования в качестве прогнозируемого блока 265 с целью вычисления остаточного блока 205 и реконструкции реконструированного блока 215.Mode select module 262 may be configured to select a prediction mode (e.g., intra or inter prediction mode) and/or an appropriate predictive block 245 or 255 for use as predictor 265 to calculate residual block 205 and reconstruct reconstructed block 215.

Варианты модуля 262 выбора режима могут быть конфигурированы для выбора режима предсказания (например, из совокупности режимов, поддерживаемых модулем 260 процессора предсказания), который обеспечивает наилучшее согласование и, другими словами, минимальный остаток (минимальный остаток означает лучшее сжатие для передачи или хранения), или минимальные сигнализационные издержки (минимальные сигнализационные издержки означают лучшее сжатие для передачи или хранения), или такого режима, который учитывает или балансирует оба показателя – остаток и издержки. Модуль 262 выбора режима может быть конфигурирован для определения режима предсказания на основе оптимизации соотношения между скоростью передачи данных и искажениями (rate distortion optimization (RDO)), т.е. выбора такого режима предсказания, который обеспечит минимальную оптимизацию соотношения между скоростью и искажениями, или для которого ассоциированное соотношение между скоростью и искажениями по меньшей мере удовлетворяет критерию выбора режима предсказания.Variants of mode select module 262 may be configured to select the prediction mode (eg, from a set of modes supported by prediction processor module 260) that provides the best match and, in other words, minimum residual (minimum residual means better compression for transmission or storage), or minimum signaling overhead (lowest signaling overhead means better compression for transmission or storage), or a mode that takes into account or balances both residue and overhead. The mode selector 262 may be configured to determine a prediction mode based on rate distortion optimization (RDO) optimization, i. selecting a prediction mode that provides the least optimization of the rate-to-distortion relationship, or for which the associated rate-to-distortion relationship at least satisfies the prediction mode selection criterion.

Модуль 254 внутреннего предсказания далее конфигурирован для определения блока 255, прогнозируемого во внутреннем режиме, на основе параметра внутреннего предсказания, например, выбранного режима внутреннего предсказания. В любом случае, после выбора режима внутреннего предсказания для блока, модуль 254 внутреннего предсказания также конфигурирован для передачи параметра внутреннего предсказания, т.е. информации, указывающей выбранный режим внутреннего предсказания для этого блока, в модуль 270 энтропийного кодирования. В одном из примеров модуль 254 внутреннего предсказания может быть конфигурирован для осуществления какой-либо комбинации способов внутреннего предсказания, которые будут описаны позднее.The intra prediction module 254 is further configured to determine the intra prediction block 255 based on an intra prediction parameter, such as the selected intra prediction mode. In any case, after selecting the intra prediction mode for the block, the intra prediction module 254 is also configured to transmit an intra prediction parameter, i.e. information indicating the selected intra prediction mode for that block to entropy encoding unit 270 . In one example, intra prediction module 254 may be configured to perform any combination of intra prediction methods, which will be described later.

На фиг. 3 представлен пример видео декодирующего устройства 30, конфигурированного для осуществления технологии согласно настоящей заявке. Это видео декодирующее устройство 30 конфигурировано для приема кодированных данных 21 изображения (например, кодированного потока битов данных), например, кодированного посредством кодирующего устройства 100, для получения декодированного изображения 131. В процессе декодирования видео декодирующее устройство 30 принимает видеоданные, например, кодированный поток битов данных видео, представляющий блоки изображения кодированного среза видео и ассоциированные синтаксические элементы, от видео кодирующего устройства 100.In FIG. 3 shows an example of a video decoder 30 configured to implement the technology of the present application. This video decoder 30 is configured to receive encoded image data 21 (for example, an encoded data bitstream), for example, encoded by encoder 100, to obtain a decoded image 131. In the process of decoding video, decoder 30 receives video data, for example, an encoded bitstream video data representing image blocks of the encoded video slice and associated syntax elements, from video encoder 100.

В примере, показанном на фиг. 3, декодирующее устройство 30 содержит модуль 304 энтропийного декодирования, модуль 310 обратного квантования, модуль 312 процессора обратного преобразования, модуль 314 реконструкции (например, сумматор 314), буфер 316, контурный фильтр 320, буфер 330 декодированного изображения и модуль 360 процессора предсказания. Этот модуль 360 процессора предсказания может содержать модуль 344 взаимного предсказания, модуль 354 внутреннего предсказания и модуль 362 выбора режима. Видео декодирующее устройство 30 может, в некоторых примерах, осуществлять поток операций декодирования в основном противоположный потоку операций кодирования, описываемому применительно к видео кодирующему устройству 100, показанному на фиг. 2.In the example shown in FIG. 3, the decoder 30 includes an entropy decoding module 304, an inverse quantization module 310, an inverse transform processor module 312, a reconstruction module 314 (e.g., adder 314), a buffer 316, a loop filter 320, a decoded image buffer 330, and a prediction processor module 360. This prediction processor module 360 may include an inter prediction module 344 , an intra prediction module 354 , and a mode selection module 362 . Video decoder 30 may, in some examples, perform a decoding workflow substantially opposite to the encoding workflow described with respect to video encoder 100 shown in FIG. 2.

Модуль 304 энтропийного декодирования конфигурирован для осуществления энтропийного декодирования кодированных данных 21 изображения с целью получения, например, квантованных коэффициентов 309 и/или декодированных параметров кодирования (не показаны на фиг. 3), например, (декодированных) каких-либо или всех параметров взаимного предсказания, параметра внутреннего предсказания, параметров контурного фильтра и/или других синтаксических элементов. Модуль 304 энтропийного декодирования далее конфигурирован для передачи параметров взаимного предсказания, параметра внутреннего предсказания и/или других синтаксических элементов модулю 360 процессора предсказания. Видео декодирующее устройство 30 может принимать синтаксические элементы на уровне среза видео и/или на уровне блока видео.The entropy decoding module 304 is configured to entropy decode the encoded image data 21 to obtain, for example, quantized coefficients 309 and/or decoded coding parameters (not shown in FIG. 3), such as (decoded) any or all of the inter prediction parameters. , an intra prediction parameter, loop filter parameters, and/or other syntax elements. The entropy decoding module 304 is further configured to send the inter prediction parameters, the intra prediction parameter, and/or other syntax elements to the prediction processor module 360 . Video decoder 30 may receive syntax elements at the video slice level and/or at the video block level.

Модуль 310 обратного квантования может быть идентичен функционально модулю 110 обратного квантования модуль 312 процессора обратного преобразования может быть идентичен функционально модулю 112 процессора обратного преобразования, модуль 314 реконструкции может быть идентичен функционально модулю 114 реконструкции, буфер 316 может быть идентичен функционально буферу 116, контурный фильтр 320 может быть идентичен функционально контурному фильтру 120 и буфер 330 декодированного изображения может быть идентичен функционально буферу 130 декодированного изображения.Inverse quantization module 310 may be functionally identical to inverse quantization module 110, inverse transform processor module 312 may be functionally identical to inverse transform processor module 112, reconstruction module 314 may be functionally identical to reconstruction module 114, buffer 316 may be functionally identical to buffer 116, loop filter 320 may be functionally identical to the loop filter 120 and the decoded image buffer 330 may be functionally identical to the decoded image buffer 130.

Модуль 360 процессора предсказания может содержать модуль 344 взаимного предсказания и модуль 354 внутреннего предсказания, где модуль 344 взаимного предсказания может быть функционально похожим на модуль 144 взаимного предсказания, и модуль 354 внутреннего предсказания может быть функционально похожим на модуль 154 внутреннего предсказания. Модуль 360 процессора предсказания обычно конфигурирован для осуществления предсказания блока и/или получения прогнозируемого блока 365 на основе кодированных данных 21 и для приема или получения (в явном или в неявном виде) параметров, относящихся к предсказанию и/или информации относительно выбранного режима предсказания, например, от модуля 304 энтропийного декодирования.Prediction processor module 360 may comprise an inter prediction module 344 and an intra prediction module 354, where inter prediction module 344 may be functionally similar to inter prediction module 144 and intra prediction module 354 may be functionally similar to intra prediction module 154. Prediction processor module 360 is typically configured to perform block prediction and/or obtain block prediction 365 based on encoded data 21 and to receive or obtain (explicit or implicit) prediction related parameters and/or information regarding the selected prediction mode, for example , from entropy decoding module 304 .

Когда срез видео кодирован в виде среза, кодированного с применением внутреннего предсказания (I), модуль 354 внутреннего предсказания из модуля 360 процессора предсказания конфигурирован для генерации прогнозируемого блока 365 для блока изображения из текущего среза видео на основе сообщенного посредством сигнализации режима внутреннего предсказания и данных из ранее декодированных блоков текущего кадра или изображения. Когда кадр видео кодирован в виде среза, кодированного с применением взаимного предсказания (т.е. B или P), модуль 344 взаимного предсказания (например, модуль компенсации движения) из модуля 360 процессора предсказания конфигурирован для генерации прогнозируемых блоков 365 для видео блока из текущего среза видео на основе векторов движения и других синтаксических элементов, принятых от модуля 304 энтропийного декодирования. Для взаимного предсказания прогнозируемые блоки могут быть сформированы из одного из опорных изображений в пределах одного списка опорных изображений. Видео декодирующее устройство 30 может построить списки опорных кадров, а именно Список 0 (List 0) и Список 1 (List 1), с использованием технологии построения по умолчанию на основе опорных изображений, сохраняемых в буфере DPB 330.When a video slice is encoded as an intra prediction (I) encoded slice, intra prediction module 354 of prediction processor module 360 is configured to generate predictive block 365 for a picture block from the current video slice based on signaled intra prediction mode and data from previously decoded blocks of the current frame or picture. When a video frame is encoded as an inter prediction (i.e., B or P) encoded slice, the inter prediction module 344 (e.g., motion compensation module) from the prediction processor module 360 is configured to generate predictive blocks 365 for the video block from the current slice video based on motion vectors and other syntax elements received from module 304 entropy decoding. For inter prediction, predictive blocks may be generated from one of the reference pictures within the same reference picture list. The video decoder 30 may construct lists of reference frames, namely List 0 (List 0) and List 1 (List 1), using a default construction technique based on the reference pictures stored in the DPB 330.

Модуль 360 процессора предсказания конфигурирован для определения информации о предсказании для блока видео из текущего среза видео путем синтаксического анализа векторов движения и других синтаксических элементов и использования этой информации о предсказании для генерации прогнозируемых блоков для текущего блока видео, который декодируют в текущий момент. Например, модуль 360 процессора предсказания использует некоторые принятые синтаксические элементы для определения режима предсказания, (например, внутреннего или взаимного предсказания) используемого для кодирования блоков видео из среза видео, типа среза для взаимного предсказания (например, срез B, срез P или срез GPB), информации о построении одного или нескольких списков опорных изображений для рассматриваемого среза, векторов движения для каждого блока видео, кодированного с применением взаимного предсказания, статуса взаимного предсказания для каждого блока видео, кодированного с применением взаимного предсказания, из этого среза, и другой информации для декодирования блоков видео в текущем срезе видео.Prediction processor module 360 is configured to determine prediction information for a video block from the current video slice by parsing motion vectors and other syntax elements and using that prediction information to generate predictive blocks for the current video block that is currently being decoded. For example, prediction processor module 360 uses some received syntax elements to determine the prediction mode (e.g., intra or inter prediction) used to encode video blocks from a video slice, the type of slice for inter prediction (e.g., slice B, slice P, or slice GPB) , information about building one or more lists of reference pictures for the slice in question, motion vectors for each block of inter-predictive video, the status of inter-prediction for each block of inter-predictive video from that slice, and other information for decoding blocks of video in the current video slice.

Модуль 310 обратного квантования конфигурирован для обратного квантования, т.е. деквантования, квантованных коэффициентов преобразования, получаемых в потоке битов данных и декодируемых модулем 304 энтропийного декодирования. Процедура обратного квантования может содержать использование параметров квантования, вычисленных видео кодирующим устройством 100 для каждого блока видео в рассматриваемом срезе видео, для определения степени квантования и, аналогично, степени обратного квантования, которые должны быть применены.The inverse quantizer 310 is configured for inverse quantization, i. dequantization, quantized transform coefficients obtained in the data bit stream and decoded by entropy decoding module 304 . The inverse quantization procedure may comprise using the quantization parameters computed by video encoder 100 for each video block in the video slice under consideration to determine the amount of quantization, and likewise the amount of inverse quantization, to be applied.

Модуль 312 процессора обратного преобразования конфигурирован для применения обратного преобразования, например, обратного дискретного косинусного преобразования (DCT), обратного целочисленного преобразования или концептуально аналогичной процедуры обратного преобразования к коэффициентам преобразования с целью генерации остаточных блоков в области пикселей.The inverse transform processor module 312 is configured to apply an inverse transform, such as an inverse discrete cosine transform (DCT), an inverse integer transform, or a conceptually similar inverse transform procedure, to the transform coefficients to generate residual blocks in the pixel region.

Модуль 314 реконструкции (например, сумматор 314) конфигурирован для добавления обратно преобразованного блока 313 (т.е. реконструированного остаточного блока 313) к прогнозируемому блоку 365 для получения реконструированного блока 315 в области отсчетов, например, путем суммирования величин отсчетов реконструированного остаточного блока 313 и величин отсчетов прогнозируемого блока 365.Reconstruction module 314 (eg, adder 314) is configured to add inversely transformed block 313 (i.e., reconstructed residual block 313) to predicted block 365 to obtain reconstructed block 315 in the sample domain, for example, by summing the sample values of reconstructed residual block 313 and values of samples of the predicted block 365.

Модуль 320 контурного фильтра (либо в контуре кодирования, либо после контура кодирования) конфигурирован для фильтрации реконструированного блока 315 с целью получения фильтрованного блока 321, например, для сглаживания переходов пикселей или для повышения качества видео другим способом. В другом примере, модуль 320 контурного фильтра может быть конфигурирован для осуществления какой-либо комбинации способов фильтрации, описываемых позднее. Модуль 320 контурного фильтра предназначен для представления одного или нескольких контурных фильтров, таких как деблокирующий фильтр, фильтр с адаптивным сдвигом отсчетов (sample-adaptive offset (SAO)) или другие фильтры, например, двунаправленный фильтр или адаптивный контурный фильтр (adaptive loop filter (ALF)), либо фильтры для повышения резкости или сглаживающие фильтры, или совместные фильтры. Хотя модуль 320 контурного фильтра показан на фиг. 3, как находящийся в контурном фильтре, в других конфигурациях модуль 320 контурного фильтра может быть реализован в виде пост-контурного фильтра.The loop filter module 320 (either in the coding loop or after the coding loop) is configured to filter the reconstructed block 315 to obtain the filtered block 321, for example, to smooth pixel transitions or to improve video quality in another way. In another example, loop filter module 320 may be configured to implement any combination of the filtering methods described later. The loop filter module 320 is designed to represent one or more loop filters, such as a deblocking filter, a sample-adaptive offset (SAO) filter, or other filters, such as a bidirectional filter or an adaptive loop filter (ALF). )), or sharpening filters or smoothing filters, or joint filters. Although the loop filter module 320 is shown in FIG. 3 as being in a loop filter, in other configurations, loop filter module 320 may be implemented as a post loop filter.

Декодированные блоки 321 видео в рассматриваемом кадре или изображении затем сохраняют в буфере 330 декодированного изображения, который сохраняет опорные изображения, используемые для последующей компенсации движения.The decoded video blocks 321 in the frame or picture in question are then stored in a decoded picture buffer 330 which stores reference pictures used for subsequent motion compensation.

Декодирующее устройство 30 конфигурировано для вывода декодированного изображения 331, например, через выход 332, для представления пользователю или просмотра им.The decoder 30 is configured to output the decoded image 331, for example, via output 332, for presentation to or viewing by a user.

Другие вариации видео декодирующего устройства 30 могут быть использованы для декодирования сжатого потока битов данных. Например, декодирующее устройство 30 может генерировать выходной поток видео без использования модуля 320 контурного фильтра. Например, декодирующее устройство 30 без преобразования может осуществлять обратное квантование остаточного сигнала непосредственно без модуля 312 процессора обратного преобразования для определенных блоков или кадров. В другой реализации видео декодирующее устройство 30 может содержать модуль 310 обратного квантования и модуль 312 процессора обратного преобразования 312, объединенные в одном блоке.Other variations of video decoder 30 may be used to decode the compressed data bitstream. For example, decoder 30 may generate a video output stream without using loop filter module 320 . For example, non-transform decoder 30 may inversely quantize the residual signal directly without inverse transform processor module 312 for certain blocks or frames. In another implementation, video decoder 30 may include an inverse quantization module 310 and an inverse transform processor module 312 312 combined in a single block.

Согласно стандарту HEVC/H.265 имеются 35 режимов внутреннего предсказания. Как показано на фиг. 4, это множество содержит следующие режимы: планарный режим (индекс режима внутреннего предсказания равен 0), DC-режим (индекс режима внутреннего предсказания равен 1) и направленные (угловые) режимы, охватывающие угловой диапазон 180°, имеющие диапазон значений индекса режима внутреннего предсказания от 2 до 34 м показанные черными стрелками на фиг. 4. Для захвата произвольных направлений края, присутствующих в естественном видео, число направленных режимов внутреннего предсказания увеличивается от 33, как используется в стандарте кодирования HEVC, до 65. Дополнительные направленные режимы изображены пунктирными стрелками на фиг. 4, а планарный режим и DC-режим остаются теми же самыми. Имеет смысл отметить, что диапазон, охватываемый режимами внутреннего предсказания, может быть шире 180°. В частности, 62 направленных режима со значениями индексов от 3 до 64 охватывают диапазон приблизительно 230°, т.е. несколько пар режимов имеют противоположные направленности. В случае платформ «референсной модели кодирования HEVC» (HEVC Reference Model (HM)) и Совместной исследовательской модели (JEM), только одна пара угловых режимов (а именно, режимы 2 и 66) имеет противоположную направленность, как показано на фиг. 4. Для построения предиктора обычные угловые режимы принимают опорные отсчеты и (когда необходимо) фильтруют их для получения предиктора отсчетов. Число опорных отсчетов, необходимое для построения предиктора, зависит от длины фильтра, используемого для интерполяции (например, билинейные или кубические фильтры имеют длины 2 и 4, соответственно).According to the HEVC/H.265 standard, there are 35 intra prediction modes. As shown in FIG. 4, this set contains the following modes: planar mode (intra prediction mode index is 0), DC mode (intra prediction mode index is 1), and directional (angular) modes spanning an angular range of 180° having a range of values of the intra prediction mode index from 2 to 34 m, shown by black arrows in Fig. 4. To capture arbitrary edge directions present in natural video, the number of directional intra prediction modes is increased from 33, as used in the HEVC coding standard, to 65. Additional directional modes are depicted by dotted arrows in FIG. 4, while planar mode and DC mode remain the same. It is worth noting that the range covered by the intra prediction modes may be wider than 180°. In particular, 62 directional modes with index values from 3 to 64 cover a range of approximately 230°, i.e. several pairs of modes have opposite directions. In the case of the "HEVC Reference Model (HM)" and the Joint Research Model (JEM) platforms, only one pair of angle modes (namely, modes 2 and 66) has the opposite directionality, as shown in FIG. 4. To build a predictor, conventional angular modes take reference samples and (when necessary) filter them to obtain a sample predictor. The number of reference samples required to build a predictor depends on the length of the filter used for interpolation (for example, bilinear or cubic filters have lengths of 2 and 4, respectively).

На фиг. 7 показан пример 67 режимов внутреннего предсказания, например, как предлагается для кодирования VVC, совокупность режимов внутреннего предсказания, составленная из 67 режимов внутреннего предсказания, содержит: планарный режим (индекс 0), dc-режим (индекс 1) и угловые режимы с индексами 2 – 66, где левый нижний угловой режим, показанный на фиг. 7, имеет индекс 2, и нумерация индексов увеличивается до индекса 66, соответствующего самому крайнему верхнему правому угловому режиму на фиг. 7.In FIG. 7 shows an example of 67 intra prediction modes, for example, as proposed for VVC coding, a set of intra prediction modes composed of 67 intra prediction modes includes: planar mode (index 0), dc mode (index 1), and angular modes with indices 2 – 66, where the lower left corner mode shown in FIG. 7 has index 2, and the index numbering increases to index 66, corresponding to the uppermost right corner mode in FIG. 7.

На фиг. 10 представлена упрощенная схема сетевого устройства 1300 согласно одному из вариантов настоящему изобретения. Сетевое устройство 1300 подходит для реализации рассматриваемых вариантов, как описано здесь. Это сетевое устройство 1300 содержит входные порты 1310 и приемные модули (Rx) 1320 для приема данных; процессор, логический модуль или центральный процессор (central processing unit (CPU)) 1330 для обработки данных; передающие модули (Tx) 1340 и выходные порты 1350 для передачи данных; и запоминающее устройство 1360 для сохранения данных. Сетевое устройство 1300 может также содержать оптоэлектрические (optical-to-electrical (OE)) компоненты и электрооптические (electrical-to-optical (EO)), соединенные с входными портами 1310, приемные модули 1320, передающие модули 1340 и выходные порты 1350 для вывода или ввода оптических, или электрических сигналов.In FIG. 10 is a simplified diagram of a network device 1300 according to one embodiment of the present invention. Network device 1300 is suitable for implementation of the considered options, as described here. This network device 1300 includes input ports 1310 and receive modules (Rx) 1320 for receiving data; a processor, logic unit, or central processing unit (CPU) 1330 for data processing; transmitting modules (Tx) 1340 and output ports 1350 for data transmission; and a storage device 1360 for storing data. Network device 1300 may also contain optoelectric (optical-to-electrical (OE)) components and electro-optical (electrical-to-optical (EO)), connected to input ports 1310, receiving modules 1320, transmitting modules 1340 and output ports 1350 for output or input of optical or electrical signals.

Процессор 1330 реализован посредством аппаратуры и программного обеспечения. Процессор 1330 может быть реализован в виде одного или нескольких кристаллов CPU, ядер (например, как многоядерный процессор), программируемых пользователем вентильных матриц (FPGA), специализированных интегральных схем (ASIC) и цифровых процессоров сигнала (DSP). Процессор 1330 имеет связь с входными портами 1310, приемными модулями 1320, передающими модулями 1340, выходными портами 1350 и запоминающими устройствами 1360. Процессор 1330 содержит кодирующий модуль 1370. Кодирующий модуль 1370 реализует варианты, описанные выше. Например, кодирующий модуль 1370 реализует, обрабатывает, готовит или предоставляет разнообразные сетевые функции. Введение кодирующего модуля 1370 поэтому предоставляет существенное усовершенствование функциональных возможностей сетевого устройства 1300 и осуществляет преобразование сетевого устройства 1300 в другое состояние. В качестве альтернативы, кодирующий модуль реализован в виде команд, сохраняемых в запоминающем устройстве 360 и выполняемых процессором 1330.Processor 1330 is implemented in hardware and software. Processor 1330 may be implemented as one or more CPU chips, cores (eg, as a multi-core processor), field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), and digital signal processors (DSPs). Processor 1330 is in communication with input ports 1310, receiver modules 1320, transmitter modules 1340, output ports 1350, and storage devices 1360. Processor 1330 includes an encoder module 1370. Encoder module 1370 implements the embodiments described above. For example, encoding module 1370 implements, processes, prepares, or provides a variety of network functions. The introduction of the encoder module 1370 therefore provides a significant improvement in the functionality of the network device 1300 and transforms the network device 1300 into a different state. Alternatively, the encoding module is implemented as instructions stored in memory 360 and executed by processor 1330.

Запоминающее устройство 1360 содержит один или несколько дисков, накопителей на магнитной ленте и твердотельных дисков и может быть использовано в качестве переполняемого устройства для хранения данных с целью хранения программ, когда такие программы выбраны для выполнения, и для сохранения команд и данных, считываемых при выполнении программ. Запоминающее устройство 1360 может быть энергозависимым и/или энергонезависимым и может представлять собой постоянное запоминающее устройство (ПЗУ (read-only memory (ROM))), запоминающее устройство с произвольной выборкой (ЗУПВ (random access memory (RAM))), троичное ассоциативное запоминающее устройство (ternary content-addressable memory (TCAM)) и/или статическое ЗУПВ (static random-access memory (SRAM)).The storage device 1360 includes one or more disks, tape drives, and solid state drives and can be used as a refillable data storage device for storing programs when such programs are selected for execution and for storing instructions and data read when programs are executed. . The memory device 1360 may be volatile and/or non-volatile and may be a read-only memory (ROM))), random access memory (RAM))), ternary associative memory device (ternary content-addressable memory (TCAM)) and / or static RAM (static random-access memory (SRAM)).

На фиг. 10 представлена блок-схема аппаратуры 1100, которая может быть использована для реализации различных вариантов. Аппаратура 1100 может представлять собой устройство-источник 102, как показано на фиг. 1, или видео кодирующее устройство 200, как показано на фиг. 2, или устройство-адресат 104, как показано на фиг. 1, или видео декодирующее устройство 300, как показано на фиг. 3. В дополнение к этому, аппаратура 1100 может служить хостом для одного или нескольких описываемых элементов. В некоторых вариантах, аппаратура 1100 оснащена одним или несколькими устройствами ввода/вывода, такими как громкоговоритель, микрофон, мышь, сенсорный экран, клавишная панель, клавиатура, принтер, дисплей или другие подобные устройства. Аппаратура 1100 может содержать один или несколько центральных процессоров (CPU) 1510, запоминающее устройство 1520, запоминающее устройство 1530 большой емкости, видео адаптер 1540 и интерфейс 1560 ввода/вывода, соединенные с шиной. Эта шина может иметь одну или несколько архитектур шин различных типов, включая шину памяти или контроллер памяти, периферийную шину, видео шину или другую подобную шину.In FIG. 10 is a block diagram of hardware 1100 that can be used to implement various options. Apparatus 1100 may be source device 102 as shown in FIG. 1 or video encoder 200 as shown in FIG. 2 or destination device 104 as shown in FIG. 1 or video decoder 300 as shown in FIG. 3. In addition, hardware 1100 may host one or more of the described items. In some embodiments, apparatus 1100 is equipped with one or more input/output devices such as a speaker, microphone, mouse, touch screen, keypad, keyboard, printer, display, or other similar device. Apparatus 1100 may include one or more central processing units (CPUs) 1510, memory 1520, mass storage 1530, video adapter 1540, and I/O interface 1560 coupled to the bus. This bus may have one or more bus architectures of various types, including a memory bus or memory controller, a peripheral bus, a video bus, or the like.

Процессор CPU 1510 может иметь электронный процессор данных любого типа. Запоминающее устройство 1520 может иметь или быть системным запоминающим устройством любого типа, таким как статическое запоминающее устройство с произвольной выборкой (SRAM), динамическое запоминающее устройство с произвольной выборкой (DRAM), синхронное устройство DRAM (SDRAM), постоянное запоминающее устройство (ROM), комбинацию таких устройств или другое подобное устройство. В одном из вариантов, запоминающее устройство 1520 может содержать ПЗУ (ROM) для использования при загрузке и устройство DRAM для хранения программ и данных с целью использования при выполнении программ. В некоторых вариантах запоминающее устройство 1520 является энергонезависимым. Запоминающее устройство 1530 большой емкости представляет собой запоминающее устройство какого-либо типа, сохраняющее данные, программы и другую информацию и обеспечивающее доступность этих данных, программ и другой информации через шину. Это запоминающее устройство 1530 большой емкости содержит, например, одно или несколько устройств из группы твердотельный диск, накопитель на жестком диске, накопитель на магнитном диске, оптический дисковод или другое подобное устройство.The CPU 1510 may have any type of electronic data processor. The storage device 1520 may have or be any type of system storage device, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), read only memory (ROM), a combination of such devices or other similar device. In one embodiment, the storage device 1520 may include a ROM for use in booting and a DRAM device for storing programs and data for use in executing programs. In some embodiments, the storage device 1520 is non-volatile. The mass storage device 1530 is some type of storage device that stores data, programs, and other information and makes that data, programs, and other information available via a bus. This mass storage device 1530 includes, for example, one or more devices from the group of solid state disk, hard disk drive, magnetic disk drive, optical drive, or other similar device.

Видео адаптер 1540 и интерфейс 1560 ввода/вывода создают интерфейсы для соединения внешних устройств ввода и вывода с аппаратурой 1100. Например, аппаратура 1100 может создать интерфейс для команд на языке структурных запросов (SQL) для клиентов. Как иллюстрируется здесь, к примерам устройств ввода и вывода относятся дисплей 1590, соединенный с видео адаптером 1540, и какая-либо комбинация мыши/клавиатуры/принтера 1570, соединенная с интерфейсом 1560 ввода/вывода. С аппаратурой 1100 могут быть соединены и другие устройства, и могут быть использованы дополнительные платы интерфейсов или меньшее число таких плат. Например, плата последовательного интерфейса (не показана) может быть использована для создания последовательного интерфейса для принтера.Video adapter 1540 and I/O interface 1560 provide interfaces for connecting external input and output devices to hardware 1100. For example, hardware 1100 can create an interface for Structured Query Language (SQL) commands for clients. As illustrated here, examples of input and output devices include a display 1590 connected to a video adapter 1540, and any mouse/keyboard/printer combination 1570 connected to an input/output interface 1560. Other devices may be connected to the apparatus 1100, and additional or fewer interface cards may be used. For example, a serial interface board (not shown) can be used to create a serial interface for a printer.

Аппаратура 1100 содержит также один или несколько сетевых интерфейсов 1550, имеющих проводные линии связи, такие как кабель Этернет или другие подобные линии, и/или беспроводные линии связи, ведущие к узлам доступа, либо к одной или нескольким сетям 1580 связи. Сетевой интерфейс 1550 позволяет аппаратуре 1100 осуществлять связь с удаленными устройствами через сети 1580 связи. Например, сетевой интерфейс 1550 может предоставлять связь с базой данных. В одном из вариантов, аппаратура 1100 соединена с локальной сетью связи или с широкомасштабной сетью связи для обработки данных и связи с удаленными устройствами, такими как другие процессорные модули, сеть Интернет, удаленные хранилища данных или другие подобные объекты.Apparatus 1100 also includes one or more network interfaces 1550 having wired links, such as Ethernet cable or the like, and/or wireless links leading to access points or one or more communication networks 1580. The network interface 1550 allows the apparatus 1100 to communicate with remote devices via communication networks 1580. For example, network interface 1550 may provide communication with a database. In one embodiment, apparatus 1100 is connected to a local area network or a wide area communications network for processing data and communicating with remote devices such as other processor modules, the Internet, remote data stores, or the like.

Определения аббревиатур и глоссарийAbbreviation definitions and glossary

CTU / CTB – Единица дерева кодирования/Блок дерева кодирования (Coding Tree Unit / Coding Tree Block)CTU / CTB - Coding Tree Unit / Coding Tree Block

CU / CB – Единица кодирования/Блок кодирования (Coding unit / Coding Block)CU / CB - Coding unit / Coding Block

PU / PB – Единица предсказания/Прогнозируемый блок (Prediction unit / Prediction block)PU / PB - Prediction unit / Prediction block

TU/TB – Единица преобразования/Блок преобразования (Transform unit / Transform Block)TU/TB - Transform unit / Transform Block

HEVC – Высокоэффективное видео кодирование (High Efficiency Video Coding)HEVC - High Efficiency Video Coding

Схемы видео кодирования, такие как стандарты кодирования H.264/AVC и HEVC разработаны в соответствии с успешными принципами гибридного видео кодирования на блочной основе. Используя эти принципы, изображение (картинку) сначала разбивают на блоки, а затем осуществляют предсказание каждого блока с использованием внутреннего или взаимного предсказания.Video coding schemes such as the H.264/AVC and HEVC coding standards have been developed in accordance with successful block-based hybrid video coding principles. Using these principles, the image (picture) is first divided into blocks, and then each block is predicted using intra or inter prediction.

Ряд стандартов видео кодирования со времени стандарта H.261 принадлежат к группе «гибридных видео кодеков с потерями» (т.е. комбинируют пространственное и временное предсказание в области отсчетов и двумерное (2D) кодирование с преобразованием для применения квантования в преобразованной области). Каждое изображение из видео последовательности обычно разбивают на множество не накладывающихся один на другой блоков, и затем кодирование осуществляют обычно на уровне блоков. Другими словами, в кодирующем устройстве видео обычно обрабатывают, т.е. кодируют, на уровне блоков (блоков изображения), например, с использованием пространственного (внутри картинки) предсказания и временного (между картинками) предсказания для генерации прогнозируемого блока, вычитания этого прогнозируемого блока из текущего блока (блока, обрабатываемого/подлежащего обработке в текущий момент) для получения остаточного блока, преобразования этого остаточного блока и квантования остаточного блока в преобразованной области для уменьшения объема данных, которые нужно передать, (сжатия), тогда как в декодирующем устройстве к кодированному или сжатому блоку частично применяется обратная процедура обработки по сравнению с кодирующим устройством с целью реконструкции текущего блока для представления на дисплее. Более того, кодирующее устройство дублирует контур обработки данных декодирующего устройства, так что оба устройства будут генерировать идентичные результаты предсказания (например, внутреннего или взаимного предсказания) и/или реконструкции для обработки, т.е. кодирования, последующих блоков.A number of video coding standards since the H.261 standard belong to the group of "hybrid lossy video codecs" (i.e., combine spatial and temporal sample-domain prediction and two-dimensional (2D) transform coding to apply quantization in the transformed domain). Each picture from a video sequence is usually broken into a plurality of non-overlapping blocks, and then encoding is usually done at the block level. In other words, in the encoder, the video is usually processed, i. encode, at the block (image block) level, for example, using spatial (intra-picture) prediction and temporal (between-picture) prediction to generate a predictive block, subtracting this predictive block from the current block (block currently being processed / to be processed at the moment) to obtain a residual block, transform this residual block, and quantize the residual block in the transformed region to reduce the amount of data to be transmitted (compression), while the decoder partially applies the reverse processing procedure to the encoded or compressed block compared to the encoder with the purpose of reconstructing the current block for presentation on the display. Moreover, the encoder duplicates the processing loop of the decoder so that both devices will generate identical prediction (eg, intra or inter prediction) and/or reconstruction results for processing, i. coding, subsequent blocks.

Как используется здесь, термин «блок» может означать часть картинки (изображения) или кадра. Для удобства изложения варианты настоящего изобретения описаны здесь со ссылками на стандарт высокоэффективного видео кодирования (High-Efficiency Video Coding (HEVC)) или на эталонное программное обеспечение для универсального видео кодирования (Versatile video coding (VVC)), разработанное Объединенной группой по видео кодированию (Joint Collaboration Team on Video Coding (JCT-VC)), созданной Группой экспертов по кодированию видео (Video Coding Experts Group (VCEG)) при секторе по стандартизации телекоммуникаций в международном союзе по телекоммуникациям (ITU-T) и Группой экспертов по кинематографии (Moving Picture Experts Group (MPEG)) международной организации стандартизации/международной электротехнической комиссии (ISO/IEC). Даже рядовой специалист в рассматриваемой области должен понимать, что варианты настоящего изобретения не исчерпываются стандартами кодирования HEVC или VVC. Он может опираться на единицы CU, единицы PU и единицы TU. В стандарте кодирования HEVC единицу CTU разбивают на единицы CU с использованием структуры дерева квадратов, называемой деревом кодирования. Решение о том, следует ли кодировать некую область изображения с использованием взаимного (временного) или внутреннего (пространственного) предсказания, принимается на уровне единиц CU. Каждую единицу CU можно далее разбить на одну, две или четыре единицы PU в соответствии с типом разбиения на единицы PU. Внутри одной единицы PU применяется одна и та же процедура предсказания, и относящуюся к этому информацию передают декодирующему устройству на основе единиц PU. После получения остаточного блока путем применения процедуры предсказания на основе типа разбиения на единицы PU единица CU может быть разбита на единицы преобразования (TU) в соответствии с другой структурой дерева квадратов, аналогичной дереву кодирования для рассматриваемой единицы CU. В самой последней разработке технологии сжатия видео для разбиения блока кодирования используется секционирование (разбиение) в соответствии с деревом квадратом и двоичным деревом (Quad-tree and binary tree (QTBT)). В структуре блоков согласно дереву QTBT единица CU может иметь либо квадратную, либо прямоугольную форму. Например, единицу дерева кодирования (CTU) сначала разбивают в соответствии со структурой дерева квадратов. Боковые узлы (узлы-«листья») дерева квадратов затем разбивают в соответствии со структурой двоичного дерева. Боковые узлы («листья») двоичного дерева также называются единицами кодирования (CU), и такая сегментация используется для процедуры предсказания и преобразовании без какого-либо дальнейшего секционирования. Это означает, что в структуре блоков кодирования дерева QTBT единица CU, единица PU и единица TU имеют одинаковый размер блоков. Параллельно, вместе со структурой блоков дерева QTBT, также предлагается использование других видов разбиения, например, разбиение в соответствии с троичным деревом.As used here, the term "block" may mean a portion of a picture (image) or frame. For convenience, embodiments of the present invention are described herein with reference to the High-Efficiency Video Coding (HEVC) standard or Versatile video coding (VVC) reference software developed by the Joint Video Coding Group ( Joint Collaboration Team on Video Coding (JCT-VC)), created by the Video Coding Experts Group (VCEG) in the telecommunications standardization sector of the international telecommunications union (ITU-T) and the Motion Picture Experts Group (Moving Picture Experts Group (MPEG)) International Organization for Standardization/International Electrotechnical Commission (ISO/IEC). Even an ordinary person skilled in the art should understand that the variants of the present invention are not limited to the HEVC or VVC coding standards. It can be based on CU units, PU units and TU units. In the HEVC coding standard, a CTU is broken down into CUs using a square tree structure called a coding tree. The decision on whether to encode a certain area of the image using mutual (temporal) or intra (spatial) prediction is made at the CU level. Each CU can be further subdivided into one, two or four PUs according to the type of PU subdivision. Within one PU, the same prediction procedure is applied, and related information is transmitted to the decoder based on the PUs. After obtaining the residual block by applying a prediction procedure based on the PU partitioning type, the CU can be partitioned into transform units (TUs) according to a different square tree structure similar to the coding tree for the CU in question. The latest development of video compression technology uses Quad-tree and binary tree (QTBT) partitioning to partition a coding block. In the block structure according to the QTBT tree, the CU can be either square or rectangular. For example, a coding tree unit (CTU) is first split according to a square tree structure. The side nodes ("leaf" nodes) of the square tree are then split according to the structure of the binary tree. The side nodes ("leaves") of a binary tree are also called coding units (CUs), and such segmentation is used for the prediction and transformation procedure without any further partitioning. This means that in the coding block structure of the QTBT tree, the CU, the PU, and the TU have the same block size. In parallel, along with the block structure of the QTBT tree, the use of other types of partitioning is also proposed, for example, partitioning according to a ternary tree.

Группы экспертов ITU-T VCEG (Q6/16) и ISO/IEC MPEG (JTC 1/SC 29/WG 11) занимаются сейчас исследованиями в области потенциальной необходимости в стандартизации будущих технологий кодирования видео, способности которых в области сжатия изображения значительно превосходили бы аналогичные способности современного стандарта кодирования HEVC (включая его сегодняшние расширения и расширения близкого будущего для кодирования содержания экрана и кодирования в широком динамическом диапазоне). Эти группы совместно работают над исследованиями в этой области в рамках совместной деятельности в группе, называемой Объединенной группой экспертов в области видео (JVET) для оценки вариантов технологий сжатия, предлагаемых экспертами-членами группы в этой области.The ITU-T VCEG (Q6/16) and ISO/IEC MPEG (JTC 1/SC 29/WG 11) Expert Groups are currently investigating the potential need for standardization of future video coding technologies that would greatly outperform video compression capabilities. capabilities of the current HEVC coding standard (including its current and near future extensions for screen content encoding and high dynamic range encoding). These groups work together on research in this area as part of a collaborative activity in a group called the Joint Video Experts Group (JVET) to evaluate compression technology options proposed by the group's expert members in the field.

Стандарт «Универсальная испытательная модель» (VTM (Versatile Test Model)) использует 35 режимов внутреннего предсказания, тогда как стандарт «Набор контрольных точек» (BMS (Benchmark Set)) использует 67 режимов внутреннего предсказания. Для кодирования 67 режимов внутреннего предсказания существующая схема кодирования в режиме внутреннего предсказания в стандарте BMS использует следующий способ:The Versatile Test Model (VTM) standard uses 35 intra prediction modes, while the Benchmark Set (BMS) standard uses 67 intra prediction modes. To encode 67 intra prediction modes, the existing intra prediction mode coding scheme in the BMS standard uses the following method:

Для аккомодации увеличенного числа направленных режимов внутреннего предсказания в стандарте BMS используется способ кодирования с внутренним предсказанием с применением 6 наиболее вероятных режимов (Most Probable Mode (MPM)). Здесь используются два важных технических аспекта.In order to accommodate the increased number of directional intra prediction modes, the BMS standard uses an intra prediction coding method using 6 most probable modes (Most Probable Mode (MPM)). There are two important technical aspects involved here.

1) деривация 6 режимов MPM, и1) derivation of 6 MPM modes, and

2) энтропийное кодирование этих 6 режимов MPM и режимов, не являющихся режимами MPM, т.е. режимов не-MPM.2) entropy encoding of these 6 MPM modes and non-MPM modes, i.e. non-MPM modes.

В стандарте BMS, режимы, включенные в списки режимов MPM, классифицируют на три группы: Соседние режимы внутреннего предсказания, Производные режимы внутреннего предсказания и Режимы по умолчанию внутреннего предсказания.In the BMS standard, the modes included in the MPM mode lists are classified into three groups: Neighbor intra prediction modes, Derived intra prediction modes, and Default intra prediction modes.

Пять соседних режимов внутреннего предсказания используются для формирования списка режимов MPM. Расположение 5 соседних блоков является таким же, как используемое в режиме объединения, т.е. слева (L), сверху (A), снизу слева (BL), сверху справа (AR) и сверху слева (AL), как показано на Figure 5. Соответственно режимы предсказания относительно этих блоков имеют такие же обозначения. Первоначальный список режимов MPM формируют путем вставки 5 соседних режимов внутреннего предсказания, планарного режима и DC-режима в список режимов MPM. Для удаления дублированных режимов используется процедура усечения, так что в списке режимов MPM остаются только уникальные режимы. Первоначальные режимы включены в следующем порядке – слева, сверху, планарный режим, DC-режим, снизу слева, сверху справа и сверху слева.The five adjacent intra prediction modes are used to form a list of MPM modes. The arrangement of the 5 adjacent blocks is the same as that used in the merge mode, i.e. left (L), top (A), bottom left (BL), top right (AR), and top left (AL) as shown in Figure 5. Accordingly, the prediction modes for these blocks have the same designations. The initial MPM mode list is formed by inserting 5 adjacent intra prediction modes, a planar mode, and a DC mode into the MPM mode list. A truncation procedure is used to remove duplicate modes so that only the unique modes remain in the MPM mode list. The initial modes are enabled in the following order - left, top, planar mode, DC mode, bottom left, top right, and top left.

Когда список режимов MPM не полон (т.е. содержит меньше 6 режимов-кандидатов MPM в списке), добавляют производные режимы, т.е. режимы внутреннего предсказания, индексы которых получают путем добавления −1 или +1 к индексам тех угловых режимов, которые уже входят в этот список режимов MPM. Процедура деривации производных режимов не применяется к неугловым режимам, т.е. к DC-режиму или к планарному режиму.When the list of MPM modes is incomplete (i.e., contains less than 6 candidate MPM modes in the list), derived modes are added, i.e. intra prediction modes whose indices are obtained by adding −1 or +1 to the indices of those angular modes already included in this list of MPM modes. The derivative modes derivation procedure does not apply to non-angular modes, i.e. to DC mode or planar mode.

Наконец, если список режимов MPM все еще не полон, к нему добавляют режимы по умолчанию в следующем порядке: вертикальный режим, горизонтальный режим, режим (2) внутреннего предсказания и диагональный режим. В результате этой процедуры получается уникальный список из 6 режимов MPM.Finally, if the list of MPM modes is still incomplete, default modes are added to it in the following order: vertical mode, horizontal mode, intra prediction mode (2), and diagonal mode. The result of this procedure is a unique list of 6 MPM modes.

Для энтропийного кодирования 6 режимов MPM используется усеченная унарная бинаризация этих режимов MPM. Первые три пакета кодируют с контекстом, зависящим от режима MPM, относящегося к пакету, сигнализируемому в текущий момент. Рассматриваемый режим MPM относят к одной из трех классификационных категорий: (a) принадлежит ли этот режим к горизонтальным режимам (индекс режима MPM не выше индекса диагонального направления), (b) к вертикальным режимам (индекс режима MPM больше индекса диагонального направления), или (c) к классу неугловых режимов (DC-режим и планарный режим). Соответственно, для сигнализации индекса режима MPM используются три контекста.For entropy encoding of the 6 MPM modes, a truncated unary binarization of these MPM modes is used. The first three packets are encoded with context depending on the MPM mode associated with the packet currently being signaled. The MPM mode under consideration falls into one of three classification categories: (a) whether it belongs to horizontal modes (the MPM mode index is not greater than the diagonal direction index), (b) to vertical modes (the MPM mode index is greater than the diagonal direction index), or ( c) to the class of non-angular modes (DC mode and planar mode). Accordingly, three contexts are used to signal the MPM mode index.

Кодирование остальных 61 режимов не-MPM осуществляется следующим образом. Эти 61 режимов не-MPM сначала разбивают на два множества: множество выбранных режимов и множество невыбранных режимов. Множество выбранных режимов содержит 16 режимов, а остальные (45) режимы назначены множеству невыбранных режимов. Множество режимов, к которому принадлежит текущий режим, обозначено в потоке битов данных флагом. Затем сигнализацию о режиме из выбранного множества передают посредством 4-битового кода фиксированной длины, а режим из невыбранного множества кодируют посредством усеченного двоичного кода. Множество выбранных режимов генерируют путем субдискретизации индексов всего 61 режимов не-MPM со следующими индексами:The remaining 61 non-MPM modes are coded as follows. These 61 non-MPM modes are first divided into two sets: a set of selected modes and a set of unselected modes. The set of selected modes contains 16 modes, and the remaining (45) modes are assigned to the set of unselected modes. The mode set to which the current mode belongs is indicated in the data bit stream by a flag. The mode from the selected set is then signaled with a 4-bit fixed length code, and the mode from the unselected set is encoded with a truncated binary code. A set of selected modes is generated by subsampling the indices of a total of 61 non-MPM modes with the following indices:

Множество выбранных режимов = {0, 4, 8, 12, 16, 20 … 60},Set of selected modes = {0, 4, 8, 12, 16, 20 ... 60},

Множество невыбранных режимов = {1, 2, 3, 5, 6, 7, 9, 10 … 59}Set of unselected modes = {1, 2, 3, 5, 6, 7, 9, 10 ... 59}

Сводка механизмов сигнализации о режимах внутреннего предсказания приведена в таблице 1.A summary of the signaling mechanisms for intra prediction modes is given in Table 1.

Таблица 1. Сигнализация режима внутреннего предсказания яркостной составляющей в стандарте BMSTable 1. Luminance Intra Prediction Mode Signaling in the BMS Standard

Режимы внутреннего предсказанияIntra prediction modes Флаг режимов MPMMPM Modes Flag Флаг выбораSelection Flag Двоичная строкаbinary string Режимы MPM (6)MPM Modes (6) 1one 00 10ten 110110 11101110 1111011110 1111111111 Выбранные режимы (16)Selected modes (16) Код фиксированной длины 4 битFixed length code 4 bits Невыбранные режимы (45)Unselected modes (45) Усеченный двоичный кодTruncated Binary

В другом примере используется способ кодирования режима внутреннего предсказания с 3 наиболее вероятными режимами (MPM). В одном из примеров, синтаксические элементы intra_luma_mpm_flag[ x0 ][ y0 ], intra_luma_mpm_idx[ x0 ][ y0 ] и intra_luma_mpm_remainder[ x0 ][ y0 ] специфицируют режим внутреннего предсказания для яркостных отсчетов. Индексы x0, y0 массива специфицируют положение (x0, y0) верхнего-левого яркостного отсчета рассматриваемого прогнозируемого блока относительно верхнего-левого яркостного отсчета изображения. Когда флаг intra_luma_mpm_flag[ x0 ][ y0 ] равен 1, режим внутреннего предсказания выводят из соседней единицы предсказания, обрабатываемой путем внутреннего предсказания.In another example, a 3 most likely modes (MPM) intra prediction mode encoding method is used. In one example, the syntax elements intra_luma_mpm_flag[ x0 ][ y0 ], intra_luma_mpm_idx[ x0 ][ y0 ], and intra_luma_mpm_remainder[ x0 ][ y0 ] specify the intra-prediction mode for luma samples. The array indices x0, y0 specify the position (x0, y0) of the top-left luminance sample of the predicted block in question relative to the top-left luminance sample of the image. When the flag intra_luma_mpm_flag[ x0 ][ y0 ] is equal to 1, the intra prediction mode is output from the adjacent prediction unit processed by intra prediction.

Внутреннее предсказание для текущего блока (IntraPredModeY[ xPb ][ yPb ]) производят посредством следующих упорядоченных этапов:Intraprediction for the current block (IntraPredModeY[ xPb ][ yPb ]) is performed through the following ordered steps:

Соседние положения ( xNbA, yNbA ) и ( xNbB, yNbB ) устанавливают совпадающими с ( xPb − 1, yPb ) и ( xPb, yPb − 1 ), соответственно.Adjacent positions ( xNbA, yNbA ) and ( xNbB, yNbB ) are set to match ( xPb − 1, yPb ) and ( xPb, yPb − 1 ), respectively.

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

Процедура деривации доступности для блока осуществляется, когда положение ( xCurr, yCurr ) устанавливают совпадающим с ( xPb, yPb ) и соседнее положение ( xNbY, yNbY ) устанавливают совпадающим с ( xNbX, yNbX ) в качестве входных переменных, а выход этой процедуры назначают как availableX.The accessibility derivation procedure for a block is performed when the position ( xCurr, yCurr ) is set to be the same as ( xPb, yPb ) and the adjacent position ( xNbY, yNbY ) is set to be the same as ( xNbX, yNbX ) as input variables, and the output of this procedure is assigned as availableX .

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

Когда одно или более из следующих условий является истинным, параметр candIntraPredModeX устанавливают равным INTRA_DC.When one or more of the following conditions is true, the candIntraPredModeX parameter is set to INTRA_DC.

Переменная availableX равна FALSE.The availableX variable is FALSE.

Переменная CuPredMode[ xNbX ][ yNbX ] не равна MODE_INTRA.Variable CuPredMode[ xNbX ][ yNbX ] is not equal to MODE_INTRA.

Переменная X равна B и yPb − 1 меньше ( ( yPb >> CtbLog2SizeY ) << CtbLog2SizeY ).The variable X is equal to B and yPb − 1 is less than ( ( yPb >> CtbLog2SizeY ) << CtbLog2SizeY ).

В противном случае, переменную candIntraPredModeX устанавливают равной IntraPredModeY[ xNbX ][ yNbX ].Otherwise, the variable candIntraPredModeX is set to IntraPredModeY[ xNbX ][ yNbX ].

Параметр candModeList[ x ] при x = 0..2 определяют следующим образом:The candModeList[ x ] parameter for x = 0..2 is defined as follows:

Когда параметр candIntraPredModeB равен candIntraPredModeA, применимо следующее:When the parameter candIntraPredModeB is equal to candIntraPredModeA, the following applies:

Когда параметр candIntraPredModeA меньше 2 (т.е. равен INTRA_PLANAR или INTRA_DC), Параметр candModeList[ x ] при x = 0..2 определяют следующим образом:When the parameter candIntraPredModeA is less than 2 (i.e. equal to INTRA_PLANAR or INTRA_DC), the parameter candModeList[ x ] when x = 0..2 is defined as follows:

candModeList[ 0 ] = INTRA_PLANAR candModeList[ 0 ] = INTRA_PLANAR

candModeList[ 1 ] = INTRA_DC candModeList[ 1 ] = INTRA_DC

candModeList[ 2 ] = INTRA_ANGULAR50 candModeList[ 2 ] = INTRA_ANGULAR50

В противном случае, параметр candModeList[ x ] при x = 0..2 определяют следующим образом:Otherwise, the parameter candModeList[ x ] for x = 0..2 is defined as follows:

candModeList[ 0 ] = candIntraPredModeA candModeList[ 0 ] = candIntraPredModeA

candModeList[ 1 ] = 2 + ( ( candIntraPredModeA + 61 ) % 64 ) candModeList[ 1 ] = 2 + ( ( candIntraPredModeA + 61 ) % 64 )

candModeList[ 2 ] = 2 + ( ( candIntraPredModeA − 1 ) % 64 )candModeList[ 2 ] = 2 + ( ( candIntraPredModeA − 1 ) % 64 )

В противном случае (candIntraPredModeB не равно candIntraPredModeA), применимо следующее:Otherwise (candIntraPredModeB is not equal to candIntraPredModeA), the following applies:

Параметры candModeList[ 0 ] и candModeList[ 1 ] определяют следующим образом:The parameters candModeList[ 0 ] and candModeList[ 1 ] are defined as follows:

candModeList[ 0 ] = candIntraPredModeAcandModeList[ 0 ] = candIntraPredModeA

candModeList[ 1 ] = candIntraPredModeBcandModeList[ 1 ] = candIntraPredModeB

Когда ни один из параметров candModeList[ 0 ] и candModeList[ 1 ] не равен INTRA_PLANAR, параметр candModeList[ 2 ] устанавливают равным INTRA_PLANAR,When neither of candModeList[ 0 ] and candModeList[ 1 ] is INTRA_PLANAR, candModeList[ 2 ] is set to INTRA_PLANAR,

В противном случае, когда ни один из параметров candModeList[ 0 ] и candModeList[ 1 ] не равен INTRA_DC, параметр candModeList[ 2 ] устанавливают равным INTRA_DC,Otherwise, when neither of candModeList[ 0 ] and candModeList[ 1 ] is INTRA_DC, candModeList[ 2 ] is set to INTRA_DC,

В противном случае, параметр candModeList[ 2 ] устанавливают равным INTRA_ANGULAR50.Otherwise, the parameter candModeList[ 2 ] is set to INTRA_ANGULAR50.

Параметр IntraPredModeY[ xPb ][ yPb ] определяют посредством применения следующей процедуры:The IntraPredModeY[ xPb ][ yPb ] parameter is determined by applying the following procedure:

Когда флаг intra_luma_mpm_flag[ xPb ][ yPb ] равен 1, параметр IntraPredModeY[ xPb ][ yPb ] устанавливают равным candModeList[ intra_luma_mpm_idx[ xPb ][ yPb ] ].When the intra_luma_mpm_flag[ xPb ][ yPb ] is set to 1, the parameter IntraPredModeY[ xPb ][ yPb ] is set to candModeList[ intra_luma_mpm_idx[ xPb ][ yPb ] ].

В противном случае, IntraPredModeY[ xPb ][ yPb ] определяют путем применения следующими упорядоченными этапами:Otherwise, IntraPredModeY[ xPb ][ yPb ] is determined by applying the following ordered steps:

Массив candModeList[ x ], x = 0..2 модифицируют посредством следующих упорядоченных этапов:The array candModeList[ x ], x = 0..2 is modified through the following ordered steps:

Когда параметр candModeList[ 0 ] больше candModeList[ 1 ], обе величины подкачивают следующим образом:When the parameter candModeList[ 0 ] is greater than candModeList[ 1 ], both values are swapped as follows:

(candModeList[ 0 ], candModeList[ 1 ]) = Swap( candModeList[ 0 ], candModeList[ 1 ] )(candModeList[ 0 ], candModeList[ 1 ]) = Swap( candModeList[ 0 ], candModeList[ 1 ] )

Когда параметр candModeList[ 0 ] is greater than candModeList[ 2 ], обе величины подкачивают следующим образом:When the parameter candModeList[ 0 ] is greater than candModeList[ 2 ], both values are swapped as follows:

(candModeList[ 0 ], candModeList[ 2 ]) = Swap( candModeList[ 0 ], candModeList[ 2 ] )(candModeList[ 0 ], candModeList[ 2 ]) = Swap( candModeList[ 0 ], candModeList[ 2 ] )

Когда параметр candModeList[ 1 ] больше candModeList[ 2 ], обе величины подкачивают следующим образом:When the parameter candModeList[ 1 ] is greater than candModeList[ 2 ], both values are swapped as follows:

(candModeList[ 1 ], candModeList[ 2 ]) = Swap( candModeList[ 1 ], candModeList[ 2 ] )(candModeList[ 1 ], candModeList[ 2 ]) = Swap( candModeList[ 1 ], candModeList[ 2 ] )

Параметр IntraPredModeY[ xPb ][ yPb ] определяют посредством следующих упорядоченных этапов:The IntraPredModeY[ xPb ][ yPb ] parameter is determined through the following ordered steps:

Параметр IntraPredModeY[ xPb ][ yPb ] устанавливают равным intra_luma_mpm_remainder[ xPb ][ yPb ].The parameter IntraPredModeY[ xPb ][ yPb ] is set to intra_luma_mpm_remainder[ xPb ][ yPb ].

Для i равного 0 – 2, включительно, когда параметр IntraPredModeY[ xPb ][ yPb ] больше или равен candModeList[ i ], величина параметра IntraPredModeY[ xPb ][ yPb ] увеличивается на единицу.For i equal to 0 - 2, inclusive, when the parameter IntraPredModeY[ xPb ][ yPb ] is greater than or equal to candModeList[ i ], the value of the parameter IntraPredModeY[ xPb ][ yPb ] is increased by one.

В одной из форм реализации настоящей заявки кадр является тем же самым, как изображение (картинка).In one form of implementation of the present application, a frame is the same as an image (picture).

В одном из аспектов настоящего изобретения предложен способ построения списка наиболее вероятных режимов, MPM, способ содержит:In one aspect of the present invention, a method for constructing a list of most likely modes, MPM, is provided, the method comprising:

определение, доступен ли блок слева от текущего блока кодирования или нет, если такой блок слева от текущего блока кодирования доступен, добавляют режим внутреннего предсказания относительно этого блока слева в список режимов MPM;determining whether a block to the left of the current coding block is available or not, if such a block to the left of the current coding block is available, adding an intra prediction mode with respect to this block to the left of the MPM mode list;

определение, доступен ли блок сверху от текущего блока кодирования или нет, если такой блок сверху от текущего блока кодирования доступен, добавляют режим внутреннего предсказания относительно этого блока сверху в список режимов MPM;determining whether a block above the current coding block is available or not, if such a block above the current coding block is available, adding an intra prediction mode with respect to this block above to the MPM mode list;

когда планарный режим не входит в список режимов MPM, добавление планарного режима в список режимов MPM; когда DC-режим не входит в список режимов MPM, добавление DC-режима в список режимов MPM.when the planar mode is not included in the MPM mode list, adding the planar mode to the MPM mode list; when DC mode is not in the MPM mode list, add DC mode to the MPM mode list.

В одной из форм реализации настоящей заявки, когда имеется (доступен) блок сверху от текущего блока кодирования и режим внутреннего предсказания относительно этого блока сверху отсутствует в списке режимов MPM, добавляют режим внутреннего предсказания относительно этого блока сверху в список режимов MPM.In one form of implementation of the present application, when there is (available) a block above the current coding block and the intra prediction mode relative to this block above is not in the MPM mode list, the intra prediction mode relative to this block above is added to the MPM mode list.

В одной из форм реализации настоящей заявки, когда имеется (доступен) блок сверху от текущего блока кодирования и режим внутреннего предсказания относительно этого блока сверху присутствует в списке режимов MPM, осуществляется «добавление», либо мы можем сказать, что результат процедуры «добавления» не изменяет списка режимов MPM.In one form of implementation of the present application, when there is (available) a block above the current coding block and the intra prediction mode relative to this block above is present in the list of MPM modes, “adding” is performed, or we can say that the result of the “adding” procedure is not changes the list of MPM modes.

В одной из форм реализации настоящей заявки, когда режим предсказания относительно блока слева не является режимом внутреннего предсказания, блок слева от текущего блока кодирования недоступен.In one embodiment of the present application, when the block-relative prediction mode on the left is not an intra prediction mode, the block to the left of the current coding block is unavailable.

В одной из форм реализации настоящей заявки, когда текущий блок кодирования расположен на крайней левой стороне своего кадра, блок слева от текущего блока кодирования недоступен.In one form of implementation of the present application, when the current coding block is located on the extreme left side of its frame, the block to the left of the current coding block is not available.

В одной из форм реализации настоящей заявки, где поддерживается параллельная обработка и где текущий блок кодирования представляет собой блок кодирования, расположенный на крайней левой стороны своей плитки, блок слева от текущего блока кодирования недоступен.In one form of implementation of the present application where parallel processing is supported and where the current coding block is a coding block located on the extreme left side of its tile, the block to the left of the current coding block is not available.

В одной из форм реализации настоящей заявки, где не поддерживается параллельная обработка и где текущий блок кодирования представляет собой блок кодирования, расположенный на крайней левой стороны своей плитки, но не на крайней левой стороне кадра, блок слева от текущего блока кодирования доступен.In one form of implementation of the present application where parallel processing is not supported and where the current coding block is a coding block located on the far left side of its tile, but not on the far left side of the frame, the block to the left of the current coding block is available.

В одной из форм реализации настоящей заявки, где поддерживается параллельная обработка и где текущий блок кодирования представляет собой блок кодирования, расположенный на крайней левой стороны своего среза, блок слева от текущего блока кодирования недоступен.In one form of implementation of the present application, where parallel processing is supported and where the current coding block is a coding block located on the extreme left side of its slice, the block to the left of the current coding block is not available.

В одной из форм реализации настоящей заявки, где не поддерживается параллельная обработка и где текущий блок кодирования представляет собой блок кодирования, расположенный на крайней левой стороны своего среза, но не на крайней левой стороне кадра, блок слева от текущего блока кодирования доступен.In an embodiment of the present application where parallel processing is not supported and where the current coding block is a coding block located on the leftmost side of its slice, but not on the leftmost side of the frame, the block to the left of the current coding block is available.

В одной из форм реализации настоящей заявки, когда режим предсказания относительно блока сверху не является режимом внутреннего предсказания, блок сверху от текущего блока кодирования недоступен.In one embodiment of the present application, when the block-above prediction mode is not an intra prediction mode, the block-above from the current coding block is unavailable.

В одной из форм реализации настоящей заявки, когда текущий блок кодирования представляет собой блок кодирования, расположенный на крайней верхней стороне своего кадра, блок сверху от текущего блока кодирования недоступен.In one form of implementation of the present application, when the current coding block is a coding block located on the topmost side of its frame, the block above the current coding block is not available.

В одной из форм реализации настоящей заявки, где поддерживается параллельная обработка и где текущий блок кодирования представляет собой блок кодирования, расположенный на крайней верхней стороне своей плитки, блок сверху от текущего блока кодирования недоступен.In an embodiment of the present application where parallel processing is supported and where the current coding block is a coding block located on the topmost side of its tile, the block above the current coding block is not available.

В одной из форм реализации настоящей заявки, где не поддерживается параллельная обработка и где текущий блок кодирования представляет собой блок кодирования, расположенный на крайней верхней стороне своей плитки, но не на крайней верхней стороне кадра, блок сверху от текущего блока кодирования доступен.In an embodiment of the present application where parallel processing is not supported and where the current coding block is a coding block located on the topmost side of its tile, but not on the topmost side of the frame, the block above the current coding block is available.

В одной из форм реализации настоящей заявки, где поддерживается параллельная обработка и где текущий блок кодирования представляет собой блок кодирования, расположенный на крайней верхней стороне своего среза, блок сверху от текущего блока кодирования недоступен.In one form of implementation of the present application, where parallel processing is supported and where the current coding block is a coding block located on the uppermost side of its slice, the block above the current coding block is not available.

В одной из форм реализации настоящей заявки, где не поддерживается параллельная обработка и где текущий блок кодирования представляет собой блок кодирования, расположенный на крайней верхней стороне своей плитки, но не на крайней верхней стороне кадра, блок сверху от текущего блока кодирования доступен.In an embodiment of the present application where parallel processing is not supported and where the current coding block is a coding block located on the topmost side of its tile, but not on the topmost side of the frame, the block above the current coding block is available.

В одной из форм реализации настоящей заявки, когда размер буфера строк ограничен и когда текущий блок кодирования представляет собой блок кодирования, расположенный на крайней верхней стороне единицы CTU, блок сверху от текущего блока кодирования недоступен.In one embodiment of the present application, when the line buffer size is limited and when the current coding unit is a coding unit located on the uppermost side of the CTU, the block above the current coding unit is not available.

В одной из форм реализации настоящей заявки, если текущий блок кодирования представляет собой блок кодирования, не расположенный на крайней левой стороне кадра, блок слева от текущего блока кодирования доступен.In one form of implementation of the present application, if the current coding block is a coding block that is not located on the far left side of the frame, the block to the left of the current coding block is available.

В одной из форм реализации настоящей заявки, если текущий блок кодирования представляет собой блок кодирования, не расположенный на крайней верхней стороне кадра, блок сверху от текущего блока кодирования доступен.In one form of implementation of the present application, if the current coding block is a coding block that is not located on the topmost side of the frame, the block above the current coding block is available.

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит: когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, проверку, входит ли первый режим внутреннего предсказания из множества режимов внутреннего предсказания в список режимов MPM, и добавление этого первого режима внутреннего предсказания в список режимов MPM, если этот первый режим внутреннего предсказания не входит в список режимов MPM, где множество режимов внутреннего предсказания содержит вертикальный режим (индекс VER_IDX) (в качестве первого режима внутреннего предсказания), горизонтальный режим (индекс HOR_IDX), режим внутреннего предсказания (индекс 2), вертикальный диагональный режим (индекс VDIA_IDX) или диагональный режим (индекс DIA_IDX).In one form of implementation of the present application, this method further comprises: when the number of intra prediction modes in the MPM mode list is less than a threshold value, checking whether the first intra prediction mode of the plurality of intra prediction modes is included in the MPM mode list, and adding this first intra prediction mode into the MPM mode list if this first intra prediction mode is not included in the MPM mode list, where the plurality of intra prediction modes contains vertical mode (VER_IDX index) (as the first intra prediction mode), horizontal mode (HOR_IDX index), intra prediction mode (index 2), vertical diagonal mode (index VDIA_IDX), or diagonal mode (index DIA_IDX).

В одной из форм реализации настоящей заявки, величина, соответствующая индексу VER_IDX, равна 50; величина, соответствующая индексу HOR_IDX, равна 18; величина, соответствующая индексу VDIA_IDX, равна 66, и эта величина может быть наибольшей величиной из совокупности величин, соответствующих угловым режимам; величина 2, соответствующая режиму 2 внутреннего предсказания, может быть наименьшей величиной из совокупности величин, соответствующих угловым режимам; величина, соответствующая индексу DIA_IDX, равна 34.In one form of implementation of the present application, the value corresponding to the index VER_IDX is equal to 50; the value corresponding to the HOR_IDX index is 18; the value corresponding to the index VDIA_IDX is equal to 66, and this value may be the largest value from the set of values corresponding to the angular modes; value 2 corresponding to intra prediction mode 2 may be the smallest value from a plurality of values corresponding to angular modes; the value corresponding to the DIA_IDX index is 34.

В одной из форм реализации настоящей заявки, когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, осуществляют проверку, входит ли первый режим внутреннего предсказания из множества режимов внутреннего предсказания в список режимов MPM, и добавление этого первого режима внутреннего предсказания в список режимов MPM, если этот первый режим внутреннего предсказания не входит в список режимов MPM, где множество режимов внутреннего предсказания содержит вертикальный режим (индекс VER_IDX) (в качестве первого режима внутреннего предсказания), горизонтальный режим (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), вертикальный, диагональный режим (индекс VDIA_IDX) или диагональный режим (индекс DIA_IDX).In one embodiment of the present application, when the number of intra prediction modes in the MPM mode list is less than a threshold, it is checked whether the first intra prediction mode of the plurality of intra prediction modes is included in the MPM mode list, and the first intra prediction mode is added to the mode list. MPM if this first intra prediction mode is not included in the list of MPM modes, where the plurality of intra prediction modes contains vertical mode (VER_IDX index) (as the first intra prediction mode), horizontal mode (HOR_IDX index), intra prediction mode 2 (index 2 ), vertical, diagonal mode (index VDIA_IDX), or diagonal mode (index DIA_IDX).

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит: когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, итеративное добавление режима внутреннего предсказания из множества режимов внутреннего предсказания, содержащего вертикальный режим (индекс VER_IDX), горизонтальный режим (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), вертикальный диагональный режим (индекс VDIA_IDX) или диагональный режим (индекс DIA_IDX), в соответствии с указанным выше порядком в список режимов MPM, когда этот режим внутреннего предсказания не входит в список режимов MPM, пока число режимов предсказания в этом списке не станет равно пороговой величине.In one form of implementation of the present application, this method further comprises: when the number of intra prediction modes in the MPM mode list is less than a threshold value, iteratively adding an intra prediction mode from a plurality of intra prediction modes, containing a vertical mode (VER_IDX index), a horizontal mode (HOR_IDX index ), intra prediction mode 2 (index 2), vertical diagonal mode (VDIA_IDX index), or diagonal mode (DIA_IDX index), according to the above order in the MPM mode list, when that intra prediction mode is not included in the MPM mode list, until the number of prediction modes in this list will not become equal to the threshold value.

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит: когда блок слева от текущего блока кодирования недоступен и когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, проверку, входит ли первый режим внутреннего предсказания из множества режимов внутреннего предсказания в список режимов MPM, и добавление этого первого режима внутреннего предсказания в список режимов MPM, если этот первый режим внутреннего предсказания не входит в список режимов MPM, где множество режимов внутреннего предсказания содержит вертикальный режим (индекс VER_IDX) (в качестве первого режима внутреннего предсказания), вертикальный диагональный режим (индекс VDIA_IDX), диагональный режим (индекс DIA_IDX) или режим 2 внутреннего предсказания (индекс 2).In one form of implementation of the present application, this method further comprises: when the block to the left of the current coding block is not available and when the number of intra prediction modes in the MPM mode list is less than a threshold value, checking whether the first intra prediction mode of the plurality of intra prediction modes is included in the list of MPM modes, and adding this first intra prediction mode to the MPM mode list, if this first intra prediction mode is not included in the MPM mode list, where the plurality of intra prediction modes contains vertical mode (VER_IDX index) (as the first intra prediction mode), vertical diagonal mode (VDIA_IDX index), diagonal mode (DIA_IDX index), or intra prediction mode 2 (index 2).

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит: когда блок слева от текущего блока кодирования недоступен и когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, итеративное добавление режима внутреннего предсказания из множества режимов внутреннего предсказания, содержащего вертикальный режим (индекс VER_IDX), вертикальный диагональный режим (индекс VDIA_IDX), диагональный режим (индекс DIA_IDX) или режим 2 внутреннего предсказания (2), в соответствии с указанным выше порядком в список режимов MPM, когда указанный режим внутреннего предсказания отсутствует в списке режимов MPM, пока число режимов предсказания в этом списке не станет равно пороговой величине.In one form of implementation of the present application, this method further comprises: when the block to the left of the current coding block is not available and when the number of intra prediction modes in the MPM mode list is less than a threshold, iteratively adding an intra prediction mode from a plurality of intra prediction modes containing a vertical mode ( VER_IDX index), vertical diagonal mode (VDIA_IDX index), diagonal mode (DIA_IDX index), or intra prediction mode 2 (2), according to the above order into the MPM mode list, when the specified intra prediction mode is not in the MPM mode list, while the number of prediction modes in this list will not become equal to the threshold value.

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит: когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, проверку, входит ли первый режим внутреннего предсказания из множества режимов внутреннего предсказания в список режимов MPM, и добавление этого первого режима внутреннего предсказания в список режимов MPM, если этот первый режим внутреннего предсказания не входит в список режимов MPM, где указанное множество режимов внутреннего предсказания содержит вертикальный режим (индекс VER_IDX) (в качестве первого режима внутреннего предсказания), горизонтальный режим (индекс HOR_IDX), режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом -4, или режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом 4.In one form of implementation of the present application, this method further comprises: when the number of intra prediction modes in the MPM mode list is less than a threshold value, checking whether the first intra prediction mode of the plurality of intra prediction modes is included in the MPM mode list, and adding this first intra prediction mode into the MPM mode list, if this first intra prediction mode is not included in the MPM mode list, where the specified set of intra prediction modes contains a vertical mode (VER_IDX index) (as the first intra prediction mode), a horizontal mode (HOR_IDX index), an intra prediction mode prediction corresponding to the VER_IDX index with an offset of -4, or an intra prediction mode corresponding to the VER_IDX index with an offset of 4.

В одной из форм реализации настоящей заявки, режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом -4, использует величину, соответствующую индексу VER_IDX, для добавления сдвига -4 и получения величины индекса соответствующего режима внутреннего предсказания, например, когда величина индекса VER_IDX равна 50, режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом -4, представляет собой режим 46 внутреннего предсказания, режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом 4, представляет собой режим 54 внутреннего предсказания. Другие примеры со сдвигом получают с использованием процедуры, аналогичной этому примеру.In one embodiment of the present application, the intra prediction mode corresponding to the VER_IDX index with an offset of -4 uses the value corresponding to the VER_IDX index to add an offset of -4 and obtain the index value of the corresponding intra prediction mode, for example, when the value of the VER_IDX index is 50, the intra prediction mode corresponding to the VER_IDX index with offset -4 is the intra prediction mode 46, the intra prediction mode corresponding to the VER_IDX index with offset 4 is the intra prediction mode 54 . Other offset examples are obtained using a procedure similar to this example.

Отметим, что при осуществлении сдвига на -1 или +1, либо на другую величину, это может охватывать операцию перехода по кругу вверх или вниз, например, если индекс режима внутреннего предсказания равен (2) (наименьшая величина из совокупности величин, соответствующих угловым режимам), тогда режим внутреннего предсказания с индексом (2)-1 будет соответствовать индексу 66 (случай перехода по кругу вверх), либо если величина индекса VDIA_IDX равна 66 (наибольшая величина из совокупности величин, соответствующих угловым режимам), тогда индекс VDIA_IDX +1 будет равен 2 (случай перехода по кругу вниз).Note that when shifting by -1 or +1, or another amount, this may cover the operation of moving around up or down, for example, if the index of the intra prediction mode is (2) (the smallest value of the set of values corresponding to the angular modes ), then the intra prediction mode with index (2)-1 will correspond to index 66 (up-circle case), or if the value of the VDIA_IDX index is 66 (the largest value of the set of values corresponding to the angular modes), then the index VDIA_IDX +1 will be is equal to 2 (case of transition in a circle downwards).

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит: когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, итеративное добавление режима внутреннего предсказания из множества режимов внутреннего предсказания, содержащего вертикальный режим (индекс VER_IDX), горизонтальный режим (индекс HOR_IDX), режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом -4, или режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом 4, в соответствии с указанным выше порядком в список режимов MPM, если рассматриваемый режим внутреннего предсказания не входит в список режимов MPM, пока число режимов предсказания в этом списке не станет равно пороговой величине.In one form of implementation of the present application, this method further comprises: when the number of intra prediction modes in the MPM mode list is less than a threshold value, iteratively adding an intra prediction mode from a plurality of intra prediction modes, containing a vertical mode (VER_IDX index), a horizontal mode (HOR_IDX index ), the intra prediction mode corresponding to the VER_IDX index with an offset of -4, or the intra prediction mode corresponding to the VER_IDX index with an offset of 4, according to the above order in the MPM mode list, if the intra prediction mode in question is not included in the MPM mode list, while the number of prediction modes in this list will not become equal to the threshold value.

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит: когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, проверку, входит ли первый режим внутреннего предсказания из множества режимов внутреннего предсказания в список режимов MPM, и добавление этого первого режима внутреннего предсказания в список режимов MPM, если этот первый режим внутреннего предсказания не входит в список режимов MPM, где указанное множество режимов внутреннего предсказания содержит вертикальный режим (индекс VER_IDX) (в качестве первого режима внутреннего предсказания), горизонтальный режим (индекс HOR_IDX), режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом 4, или режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом -4.In one form of implementation of the present application, this method further comprises: when the number of intra prediction modes in the MPM mode list is less than a threshold value, checking whether the first intra prediction mode of the plurality of intra prediction modes is included in the MPM mode list, and adding this first intra prediction mode into the MPM mode list, if this first intra prediction mode is not included in the MPM mode list, where the specified set of intra prediction modes contains a vertical mode (VER_IDX index) (as the first intra prediction mode), a horizontal mode (HOR_IDX index), an intra prediction mode prediction corresponding to the VER_IDX index with an offset of 4, or an intra prediction mode corresponding to the VER_IDX index with an offset of -4.

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит: когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, итеративное добавление режима внутреннего предсказания из множества режимов внутреннего предсказания, содержащего вертикальный режим (индекс VER_IDX), горизонтальный режим (индекс HOR_IDX), режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом 4, или режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом -4, в соответствии с указанным выше порядком в список режимов MPM, если этот режим внутреннего предсказания не входит в список режимов MPM, пока число режимов предсказания в этом списке не станет равно пороговой величине.In one form of implementation of the present application, this method further comprises: when the number of intra prediction modes in the MPM mode list is less than a threshold value, iteratively adding an intra prediction mode from a plurality of intra prediction modes, containing a vertical mode (VER_IDX index), a horizontal mode (HOR_IDX index ), the intra prediction mode corresponding to the VER_IDX index with offset 4, or the intra prediction mode corresponding to the VER_IDX index with offset -4, according to the above order in the MPM mode list, if this intra prediction mode is not included in the MPM mode list, while the number of prediction modes in this list will not become equal to the threshold value.

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит: когда блок слева относительно текущего блока кодирования недоступен, и когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины,In one form of implementation of the present application, this method further comprises: when the block to the left of the current coding block is not available, and when the number of intra prediction modes in the MPM mode list is less than a threshold,

проверку, входит ли первый режим внутреннего предсказания из множества режимов внутреннего предсказания в список режимов MPM, и добавление этого первого режима внутреннего предсказания в список режимов MPM, если этот первый режим внутреннего предсказания не входит в список режимов MPM, где указанное множество режимов внутреннего предсказания содержит одно из следующих множеств режимов внутреннего предсказания:checking whether the first intra prediction mode of the plurality of intra prediction modes is included in the MPM mode list, and adding this first intra prediction mode to the MPM mode list, if this first intra prediction mode is not included in the MPM mode list, where said plurality of intra prediction modes contains one of the following sets of intra prediction modes:

вертикальный режим (индекс VER_IDX) (в качестве первого режима внутреннего предсказания), вертикальный диагональный режим (индекс VDIA_IDX), режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом -1, и режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом 1; илиa vertical mode (VER_IDX index) (as the first intra prediction mode), a vertical diagonal mode (VDIA_IDX index), an intra prediction mode corresponding to a VER_IDX index with an offset of -1, and an intra prediction mode corresponding to a VER_IDX index with an offset of 1; or

вертикальный режим (индекс VER_IDX) (в качестве первого режима внутреннего предсказания), вертикальный диагональный режим (индекс VDIA_IDX), режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом -4, и режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом 4; илиa vertical mode (VER_IDX index) (as the first intra prediction mode), a vertical diagonal mode (VDIA_IDX index), an intra prediction mode corresponding to a VER_IDX index with an offset of -4, and an intra prediction mode corresponding to a VER_IDX index with an offset of 4; or

вертикальный режим (индекс VER_IDX) (в качестве первого режима внутреннего предсказания), вертикальный диагональный режим (индекс VDIA_IDX), режим внутреннего предсказания, соответствующий индексу VDIA_IDX со сдвигом -4, и режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом -1; илиa vertical mode (VER_IDX index) (as the first intra prediction mode), a vertical diagonal mode (VDIA_IDX index), an intra prediction mode corresponding to the VDIA_IDX index with a -4 offset, and an intra prediction mode corresponding to the VER_IDX index with a -1 offset; or

вертикальный режим (индекс VER_IDX) (в качестве первого режима внутреннего предсказания), вертикальный диагональный режим (индекс VDIA_IDX), режим внутреннего предсказания, соответствующий индексу VDIA_IDX со сдвигом -4, и режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом +1; илиa vertical mode (VER_IDX index) (as the first intra prediction mode), a vertical diagonal mode (VDIA_IDX index), an intra prediction mode corresponding to the VDIA_IDX index with a -4 offset, and an intra prediction mode corresponding to the VER_IDX index with a +1 offset; or

вертикальный режим (индекс VER_IDX) (в качестве первого режима внутреннего предсказания), вертикальный диагональный режим (индекс VDIA_IDX), режим внутреннего предсказания, соответствующий индексу VDIA_IDX со сдвигом -1, и режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом -1; илиa vertical mode (VER_IDX index) (as the first intra prediction mode), a vertical diagonal mode (VDIA_IDX index), an intra prediction mode corresponding to the VDIA_IDX index with a -1 offset, and an intra prediction mode corresponding to the VER_IDX index with a -1 offset; or

вертикальный режим (индекс VER_IDX) (в качестве первого режима внутреннего предсказания), вертикальный диагональный режим (индекс VDIA_IDX), режим внутреннего предсказания, соответствующий индексу VDIA_IDX со сдвигом -1, и режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом 1; илиa vertical mode (VER_IDX index) (as the first intra prediction mode), a vertical diagonal mode (VDIA_IDX index), an intra prediction mode corresponding to the VDIA_IDX index with an offset of -1, and an intra prediction mode corresponding to the VER_IDX index with an offset of 1; or

вертикальный режим (индекс VER_IDX) (в качестве первого режима внутреннего предсказания), вертикальный диагональный режим (индекс VDIA_IDX), режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом -1, и режим внутреннего предсказания, соответствующий индексу VDIA_IDX со сдвигом -4; илиa vertical mode (VER_IDX index) (as the first intra prediction mode), a vertical diagonal mode (VDIA_IDX index), an intra prediction mode corresponding to the VER_IDX index with a -1 offset, and an intra prediction mode corresponding to the VDIA_IDX index with a -4 offset; or

вертикальный режим (индекс VER_IDX) (в качестве первого режима внутреннего предсказания), вертикальный диагональный режим (индекс VDIA_IDX), режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом 1, и режим внутреннего предсказания, соответствующий индексу VDIA_IDX со сдвигом -4; илиvertical mode (VER_IDX index) (as the first intra prediction mode), vertical diagonal mode (VDIA_IDX index), intra prediction mode corresponding to VER_IDX index with offset 1, and intra prediction mode corresponding to VDIA_IDX index with offset -4; or

вертикальный режим (индекс VER_IDX) (в качестве первого режима внутреннего предсказания), вертикальный диагональный режим (индекс VDIA_IDX), режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом -1, и режим внутреннего предсказания, соответствующий индексу VDIA_IDX со сдвигом -1; илиa vertical mode (VER_IDX index) (as the first intra prediction mode), a vertical diagonal mode (VDIA_IDX index), an intra prediction mode corresponding to the VER_IDX index with a -1 offset, and an intra prediction mode corresponding to the VDIA_IDX index with a -1 offset; or

вертикальный режим (индекс VER_IDX) (в качестве первого режима внутреннего предсказания), вертикальный диагональный режим (индекс VDIA_IDX), режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом 1, и режим внутреннего предсказания, соответствующий индексу VDIA_IDX со сдвигом -1.vertical mode (VER_IDX index) (as the first intra prediction mode), vertical diagonal mode (VDIA_IDX index), intra prediction mode corresponding to VER_IDX index with offset 1, and intra prediction mode corresponding to VDIA_IDX index with offset -1.

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит: когда блок слева относительно текущего блока кодирования недоступен и когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, итеративное добавление режима внутреннего предсказания из множества режимов внутреннего предсказания в соответствии с указанным выше порядком в список режимов MPM, если рассматриваемый режим внутреннего предсказания не входит в список режимов MPM, пока число режимов предсказания в этом списке не станет равно пороговой величине;In one form of implementation of the present application, this method further comprises: when the block to the left of the current coding block is not available and when the number of intra prediction modes in the MPM mode list is less than a threshold, iteratively adding an intra prediction mode from a plurality of intra prediction modes in accordance with the above in order in the list of MPM modes, if the considered intra prediction mode is not included in the list of MPM modes, until the number of prediction modes in this list becomes equal to a threshold value;

где указанное множество режимов внутреннего предсказания содержит одно из следующих множеств режимов внутреннего предсказания:where said set of intra prediction modes contains one of the following sets of intra prediction modes:

вертикальный режим (индекс VER_IDX), вертикальный диагональный режим (индекс VDIA_IDX), режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом -1, и режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом 1; илиvertical mode (VER_IDX index), vertical diagonal mode (VDIA_IDX index), intra prediction mode corresponding to VER_IDX index with offset -1, and intra prediction mode corresponding to VER_IDX index with offset 1; or

вертикальный режим (индекс VER_IDX), вертикальный диагональный режим (индекс VDIA_IDX), режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом -4, и режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом 4; илиa vertical mode (VER_IDX index), a vertical diagonal mode (VDIA_IDX index), an intra prediction mode corresponding to a VER_IDX index with an offset of -4, and an intra prediction mode corresponding to a VER_IDX index with an offset of 4; or

вертикальный режим (индекс VER_IDX), вертикальный диагональный режим (индекс VDIA_IDX), режим внутреннего предсказания, соответствующий индексу VDIA_IDX со сдвигом -4, и режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом -1; илиa vertical mode (VER_IDX index), a vertical diagonal mode (VDIA_IDX index), an intra prediction mode corresponding to the VDIA_IDX index with a -4 offset, and an intra prediction mode corresponding to the VER_IDX index with a -1 offset; or

вертикальный режим (индекс VER_IDX), вертикальный диагональный режим (индекс VDIA_IDX), режим внутреннего предсказания, соответствующий индексу VDIA_IDX со сдвигом -4, и режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом +1; илиa vertical mode (VER_IDX index), a vertical diagonal mode (VDIA_IDX index), an intra prediction mode corresponding to the VDIA_IDX index with a -4 offset, and an intra prediction mode corresponding to the VER_IDX index with a +1 offset; or

вертикальный режим (индекс VER_IDX), вертикальный диагональный режим (индекс VDIA_IDX), режим внутреннего предсказания, соответствующий индексу VDIA_IDX со сдвигом -1, и режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом -1; илиvertical mode (VER_IDX index), vertical diagonal mode (VDIA_IDX index), intra prediction mode corresponding to VDIA_IDX index with -1 offset, and intra prediction mode corresponding to VER_IDX index with -1 offset; or

вертикальный режим (индекс VER_IDX), вертикальный диагональный режим (индекс VDIA_IDX), режим внутреннего предсказания, соответствующий индексу VDIA_IDX со сдвигом -1, и режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом 1; илиa vertical mode (VER_IDX index), a vertical diagonal mode (VDIA_IDX index), an intra prediction mode corresponding to the VDIA_IDX index with an offset of -1, and an intra prediction mode corresponding to the VER_IDX index with an offset of 1; or

вертикальный режим (индекс VER_IDX), вертикальный диагональный режим (индекс VDIA_IDX), режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом -1, и режим внутреннего предсказания, соответствующий индексу VDIA_IDX со сдвигом -4; илиvertical mode (VER_IDX index), vertical diagonal mode (VDIA_IDX index), intra prediction mode corresponding to VER_IDX index with -1 offset, and intra prediction mode corresponding to VDIA_IDX index with -4 offset; or

вертикальный режим (индекс VER_IDX), вертикальный диагональный режим (индекс VDIA_IDX), режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом 1, и режим внутреннего предсказания, соответствующий индексу o VDIA_IDX со сдвигом -4; илиvertical mode (VER_IDX index), vertical diagonal mode (VDIA_IDX index), intra prediction mode corresponding to VER_IDX index with offset 1, and intra prediction mode corresponding to VDIA_IDX index o with offset -4; or

вертикальный режим (индекс VER_IDX), вертикальный диагональный режим (индекс VDIA_IDX), режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом -1, и режим внутреннего предсказания, соответствующий индексу VDIA_IDX со сдвигом -1; илиvertical mode (VER_IDX index), vertical diagonal mode (VDIA_IDX index), intra prediction mode corresponding to VER_IDX index with -1 offset, and intra prediction mode corresponding to VDIA_IDX index with -1 offset; or

вертикальный режим (индекс VER_IDX), вертикальный диагональный режим (индекс VDIA_IDX), режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом 1, и режим внутреннего предсказания, соответствующий индексу VDIA_IDX со сдвигом -1.vertical mode (VER_IDX index), vertical diagonal mode (VDIA_IDX index), intra prediction mode corresponding to VER_IDX index with offset 1, and intra prediction mode corresponding to VDIA_IDX index with offset -1.

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит: когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, и блок сверху от текущего блока кодирования недоступен, проверку, входит ли первый режим внутреннего предсказания из множества режимов внутреннего предсказания в список режимов MPM, и добавление этого первого режима внутреннего предсказания в список режимов MPM, если этот первый режим внутреннего предсказания не входит в список режимов MPM, где множество режимов внутреннего предсказания содержит горизонтальный режим (индекс HOR_IDX) (в качестве первого режима внутреннего предсказания), режим 2 внутреннего предсказания (индекс 2), диагональный режим (индекс DIA_IDX) или вертикальный диагональный режим (индекс VDIA_IDX).In one form of implementation of the present application, this method further comprises: when the number of intra prediction modes in the MPM mode list is less than a threshold value, and the block above the current coding block is not available, checking whether the first intra prediction mode of the plurality of intra prediction modes is included in the list of MPM modes, and adding this first intra prediction mode to the MPM mode list, if this first intra prediction mode is not included in the MPM mode list, where the plurality of intra prediction modes contains a horizontal mode (HOR_IDX index) (as the first intra prediction mode), mode 2 intra prediction (index 2), diagonal mode (DIA_IDX index), or vertical diagonal mode (VDIA_IDX index).

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит: когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, и блок сверху относительно текущего блока кодирования недоступен, итеративное добавление режима внутреннего предсказания из множества режимов внутреннего предсказания, содержащего горизонтальный режим (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), диагональный режим (индекс DIA_IDX) или вертикальный диагональный режим (индекс VDIA_IDX), в соответствии с указанным выше порядком в список режимов MPM, если этот режим внутреннего предсказания не входит в список режимов MPM, пока число режимов предсказания в этом списке не станет равно пороговой величине.In one form of implementation of the present application, this method further comprises: when the number of intra prediction modes in the MPM mode list is less than a threshold value, and a block above the current coding block is not available, iteratively adding an intra prediction mode from a plurality of intra prediction modes containing a horizontal mode ( HOR_IDX index), intra prediction mode 2 (index 2), diagonal mode (DIA_IDX index), or vertical diagonal mode (VDIA_IDX index), according to the above order into the MPM mode list, if this intra prediction mode is not included in the MPM mode list until the number of prediction modes in this list is equal to the threshold value.

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит: когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, и блок слева от текущего блока кодирования доступен, проверку, входит ли первый режим внутреннего предсказания из множества режимов внутреннего предсказания в список режимов MPM, и добавление этого первого режима внутреннего предсказания в список режимов MPM, если этот первый режим внутреннего предсказания не входит в список режимов MPM, где указанное множество режимов внутреннего предсказания содержит вертикальный режим (индекс VER_IDX) (в качестве первого режима внутреннего предсказания), горизонтальный режим (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), вертикальный диагональный режим (индекс VDIA_IDX) или диагональный режим (индекс DIA_IDX).In one form of implementation of the present application, this method further comprises: when the number of intra prediction modes in the MPM mode list is less than a threshold value, and the block to the left of the current coding block is available, checking whether the first intra prediction mode of the plurality of intra prediction modes is included in the list MPM modes, and adding this first intra prediction mode to the MPM mode list, if this first intra prediction mode is not included in the MPM mode list, where the specified set of intra prediction modes contains a vertical mode (VER_IDX index) (as the first intra prediction mode), horizontal mode (HOR_IDX index), intra prediction mode 2 (index 2), vertical diagonal mode (VDIA_IDX index), or diagonal mode (DIA_IDX index).

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит: когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, и блок слева от текущего блока кодирования доступен, итеративное добавление режима внутреннего предсказания из множества режимов внутреннего предсказания, содержащего вертикальный режим (индекс VER_IDX), горизонтальный режим (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), вертикальный диагональный режим (индекс VDIA_IDX) или диагональный режим (индекс DIA_IDX), в соответствии с указанным выше порядком в список режимов MPM, когда указанный режим внутреннего предсказания не входит в список режимов MPM, пока число режимов предсказания в этом списке не станет равно пороговой величине.In one form of implementation of the present application, this method further comprises: when the number of intra prediction modes in the MPM mode list is less than a threshold, and the block to the left of the current coding block is available, iteratively adding an intra prediction mode from a set of intra prediction modes containing a vertical mode ( VER_IDX index), horizontal mode (HOR_IDX index), intra prediction mode 2 (index 2), vertical diagonal mode (VDIA_IDX index), or diagonal mode (DIA_IDX index), according to the above order in the MPM mode list, when the specified intra mode prediction mode is not included in the MPM mode list until the number of prediction modes in the list is equal to a threshold.

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит: когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, и блок сверху от текущего блока кодирования недоступен, проверку, входит ли первый режим внутреннего предсказания из множества режимов внутреннего предсказания в список режимов MPM, и добавление этого первого режима внутреннего предсказания в список режимов MPM, если этот первый режим внутреннего предсказания не входит в список режимов MPM, где указанное множество режимов внутреннего предсказания содержит горизонтальный режим (индекс HOR_IDX) (в качестве первого режима внутреннего предсказания), режим 2 внутреннего предсказания (индекс 2), диагональный режим (индекс DIA_IDX) или вертикальный диагональный режим (индекс VDIA_IDX).In one form of implementation of the present application, this method further comprises: when the number of intra prediction modes in the MPM mode list is less than a threshold value, and the block above the current coding block is not available, checking whether the first intra prediction mode of the plurality of intra prediction modes is included in the list MPM modes, and adding this first intra prediction mode to the MPM mode list, if this first intra prediction mode is not included in the MPM mode list, where the specified set of intra prediction modes contains a horizontal mode (HOR_IDX index) (as the first intra prediction mode), intra prediction mode 2 (index 2), diagonal mode (DIA_IDX index), or vertical diagonal mode (VDIA_IDX index).

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит: когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, и блок сверху от текущего блока кодирования недоступен, итеративное добавление режима внутреннего предсказания из множества режима внутреннего предсказания, содержащего горизонтальный режим (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), диагональный режим (индекс DIA_IDX) или вертикальный диагональный режим (индекс VDIA_IDX), в соответствии с указанным выше порядком в список режимов MPM, когда указанный режим внутреннего предсказания не входит в список режимов MPM, пока число режимов предсказания в этом списке не станет равно пороговой величине.In one form of implementation of the present application, this method further comprises: when the number of intra prediction modes in the MPM mode list is less than a threshold, and the block above the current coding block is not available, iteratively adding an intra prediction mode from an intra prediction mode set containing a horizontal mode ( HOR_IDX index), intra prediction mode 2 (index 2), diagonal mode (DIA_IDX index), or vertical diagonal mode (VDIA_IDX index), according to the above order into the MPM mode list, when the specified intra prediction mode is not included in the MPM mode list until the number of prediction modes in this list is equal to the threshold value.

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит: когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, блок слева от текущего блока кодирования доступен и блок сверху относительно текущего блока кодирования доступен, проверку, входит ли первый режим внутреннего предсказания из множества режимов внутреннего предсказания в список режимов MPM, и добавление этого первого режима внутреннего предсказания в список режимов MPM, если этот первый режим внутреннего предсказания не входит в список режимов MPM, где указанное множество режимов внутреннего предсказания содержит вертикальный режим (индекс VER_IDX) (в качестве первого режима внутреннего предсказания), горизонтальный режим (индекс HOR_IDX), режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом -4, или режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом 4.In one form of implementation of the present application, this method further comprises: when the number of intra prediction modes in the MPM mode list is less than a threshold value, the block to the left of the current coding block is available and the block above the current coding block is available, checking if the first intra prediction mode is included of the plurality of intra prediction modes to the MPM mode list, and adding that first intra prediction mode to the MPM mode list if the first intra prediction mode is not included in the MPM mode list, where said plurality of intra prediction modes contains a vertical mode (VER_IDX index) (in as the first intra prediction mode), a horizontal mode (HOR_IDX index), an intra prediction mode corresponding to a VER_IDX index with an offset of -4, or an intra prediction mode corresponding to a VER_IDX index with an offset of 4.

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит: когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, блок слева от текущего блока кодирования доступен и блок сверху от текущего блока кодирования доступен, итеративное добавление режима внутреннего предсказания из множества режимов внутреннего предсказания, содержащего вертикальный режим (индекс VER_IDX), горизонтальный режим (индекс HOR_IDX), режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом -4, или режим внутреннего предсказания, соответствующий индексу VER_IDX со сдвигом 4, в соответствии с указанным выше порядком в список режимов MPM, когда этот режим внутреннего предсказания не входит в список режимов MPM, пока число режимов предсказания в этом списке не станет равно пороговой величине.In one form of implementation of the present application, this method further comprises: when the number of intra prediction modes in the MPM mode list is less than a threshold value, the block to the left of the current coding block is available and the block above the current coding block is available, iteratively adding an intra prediction mode from a plurality of modes an intra prediction mode comprising a vertical mode (VER_IDX index), a horizontal mode (HOR_IDX index), an intra prediction mode corresponding to a VER_IDX index with an offset of -4, or an intra prediction mode corresponding to a VER_IDX index with an offset of 4, according to the above order in the list MPM modes when that intra prediction mode is not included in the list of MPM modes until the number of prediction modes in the list is equal to a threshold.

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит: когда блок сверху от текущего блока кодирования не доступен и когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, проверку, входит ли первый режим внутреннего предсказания из множества режимов внутреннего предсказания в список режимов MPM, и добавление этого первого режима внутреннего предсказания в список режимов MPM, если этот первый режим внутреннего предсказания не входит в список режимов MPM, где указанное множество режимов внутреннего предсказания содержит одно из следующих множеств режимов внутреннего предсказания:In one embodiment of the present application, this method further comprises: when a block upstream of the current coding block is not available, and when the number of intra prediction modes in the MPM mode list is less than a threshold, checking whether the first intra prediction mode of the plurality of intra prediction modes is in a list of MPM modes, and adding this first intra prediction mode to the list of MPM modes, if this first intra prediction mode is not included in the list of MPM modes, where the specified set of intra prediction modes contains one of the following sets of intra prediction modes:

горизонтальный режим (индекс HOR_IDX) (в качестве первого режима внутреннего предсказания), режим 2 внутреннего предсказания (индекс 2), режим внутреннего предсказания, соответствующий индексу HOR_IDX со сдвигом -1, и режим внутреннего предсказания, соответствующий индексу HOR_IDX со сдвигом 1; илиa horizontal mode (HOR_IDX index) (as the first intra prediction mode), intra prediction mode 2 (index 2), an intra prediction mode corresponding to the HOR_IDX index with an offset of -1, and an intra prediction mode corresponding to the HOR_IDX index with an offset of 1; or

горизонтальный режим (индекс HOR_IDX) (в качестве первого режима внутреннего предсказания), режим 2 внутреннего предсказания (индекс 2), режим внутреннего предсказания, соответствующий индексу HOR_IDX со сдвигом -4, и индексу HOR_IDX с добавленным сдвигом 4; илиa horizontal mode (HOR_IDX index) (as the first intra prediction mode), intra prediction mode 2 (index 2), an intra prediction mode corresponding to the HOR_IDX index with an offset of -4, and the HOR_IDX index with an added offset of 4; or

горизонтальный режим (индекс HOR_IDX) (в качестве первого режима внутреннего предсказания), режим 2 внутреннего предсказания (индекс 2), режим внутреннего предсказания, соответствующий режиму 2 внутреннего предсказания (индекс 2) со сдвигом 4, и режим внутреннего предсказания, соответствующий индексу HOR_IDX со сдвигом -1; илиa horizontal mode (HOR_IDX index) (as the first intra prediction mode), an intra prediction mode 2 (index 2), an intra prediction mode corresponding to intra prediction mode 2 (index 2) with a shift of 4, and an intra prediction mode corresponding to the HOR_IDX index with shift -1; or

горизонтальный режим (индекс HOR_IDX) (в качестве первого режима внутреннего предсказания), режим 2 внутреннего предсказания (индекс 2), режим внутреннего предсказания, соответствующий режиму 2 внутреннего предсказания (индекс 2) со сдвигом 4, и режим внутреннего предсказания, соответствующий индексу HOR_IDX со сдвигом 1; илиa horizontal mode (HOR_IDX index) (as the first intra prediction mode), an intra prediction mode 2 (index 2), an intra prediction mode corresponding to intra prediction mode 2 (index 2) with a shift of 4, and an intra prediction mode corresponding to the HOR_IDX index with shift 1; or

или горизонтальный режим (индекс HOR_IDX) (в качестве первого режима внутреннего предсказания), режим 2 внутреннего предсказания (индекс 2), режим внутреннего предсказания, соответствующий режиму 2 внутреннего предсказания (индекс 2) со сдвигом 1, и режим внутреннего предсказания, соответствующий индексу HOR_IDX со сдвигом -1; илиor horizontal mode (index HOR_IDX) (as the first intra prediction mode), intra prediction mode 2 (index 2), intra prediction mode corresponding to intra prediction mode 2 (index 2) with offset 1, and intra prediction mode corresponding to index HOR_IDX with a shift of -1; or

горизонтальный режим (индекс HOR_IDX) (в качестве первого режима внутреннего предсказания), режим 2 внутреннего предсказания (индекс 2), режим внутреннего предсказания, соответствующий режиму 2 внутреннего предсказания (индекс 2) со сдвигом 1, и режим внутреннего предсказания, соответствующий индексу HOR_IDX со сдвигом 1; илиhorizontal mode (index HOR_IDX) (as the first intra prediction mode), intra prediction mode 2 (index 2), intra prediction mode corresponding to intra prediction mode 2 (index 2) with offset 1, and intra prediction mode corresponding to index HOR_IDX with shift 1; or

горизонтальный режим (индекс HOR_IDX) (в качестве первого режима внутреннего предсказания), режим 2 внутреннего предсказания (индекс 2), режим внутреннего предсказания, соответствующий индексу HOR_IDX со сдвигом -1, и режим внутреннего предсказания, соответствующий режиму 2 внутреннего предсказания (индекс 2) со сдвигом 4; orhorizontal mode (HOR_IDX index) (as the first intra prediction mode), intra prediction mode 2 (index 2), intra prediction mode corresponding to HOR_IDX index with offset -1, and intra prediction mode corresponding to intra prediction mode 2 (index 2) with shift 4; or

горизонтальный режим (индекс HOR_IDX) (в качестве первого режима внутреннего предсказания), режим 2 внутреннего предсказания (индекс 2), режим внутреннего предсказания, соответствующий индексу HOR_IDX со сдвигом 1, и режим внутреннего предсказания, соответствующий режиму 2 внутреннего предсказания (индекс 2) со сдвигом 4; илиhorizontal mode (HOR_IDX index) (as the first intra prediction mode), intra prediction mode 2 (index 2), intra prediction mode corresponding to HOR_IDX index with offset 1, and intra prediction mode corresponding to intra prediction mode 2 (index 2) with shift 4; or

горизонтальный режим (индекс HOR_IDX) (в качестве первого режима внутреннего предсказания), режим 2 внутреннего предсказания (индекс 2), режим внутреннего предсказания, соответствующий индексу HOR_IDX со сдвигом -1, и режим внутреннего предсказания, соответствующий режиму 2 внутреннего предсказания (индекс 2) со сдвигом 1; илиhorizontal mode (HOR_IDX index) (as the first intra prediction mode), intra prediction mode 2 (index 2), intra prediction mode corresponding to HOR_IDX index with offset -1, and intra prediction mode corresponding to intra prediction mode 2 (index 2) with shift 1; or

горизонтальный режим (индекс HOR_IDX) (в качестве первого режима внутреннего предсказания), режим 2 внутреннего предсказания (индекс 2), режим внутреннего предсказания, соответствующий индексу HOR_IDX со сдвигом 1, и режим внутреннего предсказания, соответствующий режиму 2 внутреннего предсказания (индекс 2) со сдвигом 1.horizontal mode (HOR_IDX index) (as the first intra prediction mode), intra prediction mode 2 (index 2), intra prediction mode corresponding to HOR_IDX index with offset 1, and intra prediction mode corresponding to intra prediction mode 2 (index 2) with shift 1.

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит: если блок сверху от текущего блока кодирования недоступен и если число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, итеративное добавление режима внутреннего предсказания из множества режимов внутреннего предсказания в соответствии с указанным выше порядком в список режимов MPM, когда рассматриваемый режим внутреннего предсказания не входит в список режимов MPM, пока число режимов предсказания в этом списке не станет равно пороговой величине; где указанное множество режимов внутреннего предсказания содержит одно из следующих множеств режимов внутреннего предсказания:In one form of implementation of the present application, this method further comprises: if a block above the current coding block is not available and if the number of intra prediction modes in the MPM mode list is less than a threshold, iteratively adding an intra prediction mode from a plurality of intra prediction modes in accordance with the above in order in the list of MPM modes, when the considered intra prediction mode is not included in the list of MPM modes, until the number of prediction modes in this list becomes equal to a threshold value; where said set of intra prediction modes contains one of the following sets of intra prediction modes:

горизонтальный режим (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), режим внутреннего предсказания, соответствующий индексу HOR_IDX со сдвигом -1, и режим внутреннего предсказания, соответствующий индексу HOR_IDX со сдвигом 1; илиa horizontal mode (HOR_IDX index), an intra prediction mode 2 (index 2), an intra prediction mode corresponding to the HOR_IDX index with an offset of -1, and an intra prediction mode corresponding to the HOR_IDX index with an offset of 1; or

горизонтальный режим (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), режим внутреннего предсказания, соответствующий индексу HOR_IDX со сдвигом -4, и индексу HOR_IDX с добавленным сдвигом 4; илиhorizontal mode (HOR_IDX index), intra prediction mode 2 (index 2), intra prediction mode corresponding to HOR_IDX index with offset -4, and HOR_IDX index with offset 4 added; or

горизонтальный режим (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), режим внутреннего предсказания, соответствующий режиму 2 внутреннего предсказания (индекс 2) со сдвигом 4, и режим внутреннего предсказания, соответствующий индексу HOR_IDX со сдвигом -1; илиhorizontal mode (HOR_IDX index), intra prediction mode 2 (index 2), intra prediction mode corresponding to intra prediction mode 2 (index 2) with offset 4, and intra prediction mode corresponding to HOR_IDX index with offset -1; or

горизонтальный режим (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), режим внутреннего предсказания, соответствующий режиму 2 внутреннего предсказания (индекс 2) со сдвигом 4, и режим внутреннего предсказания, соответствующий индексу HOR_IDX со сдвигом 1; илиhorizontal mode (HOR_IDX index), intra prediction mode 2 (index 2), intra prediction mode corresponding to intra prediction mode 2 (index 2) with offset 4, and intra prediction mode corresponding to HOR_IDX index with offset 1; or

горизонтальный режим (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), режим внутреннего предсказания, соответствующий режиму 2 внутреннего предсказания (индекс 2) со сдвигом 1, и режим внутреннего предсказания, соответствующий индексу HOR_IDX со сдвигом -1; илиhorizontal mode (HOR_IDX index), intra prediction mode 2 (index 2), intra prediction mode corresponding to intra prediction mode 2 (index 2) with offset 1, and intra prediction mode corresponding to HOR_IDX index with offset -1; or

горизонтальный режим (индекс HOR_IDX ), режим 2 внутреннего предсказания (индекс 2), режим внутреннего предсказания, соответствующий режиму 2 внутреннего предсказания (индекс 2) со сдвигом 1, и режим внутреннего предсказания, соответствующий индексу HOR_IDX со сдвигом 1; илиhorizontal mode (index HOR_IDX ), intra prediction mode 2 (index 2), intra prediction mode corresponding to intra prediction mode 2 (index 2) with offset 1, and intra prediction mode corresponding to index HOR_IDX with offset 1; or

горизонтальный режим (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), режим внутреннего предсказания, соответствующий индексу HOR_IDX со сдвигом -1, и режим внутреннего предсказания, соответствующий режиму 2 внутреннего предсказания (индекс 2) со сдвигом 4; илиhorizontal mode (HOR_IDX index), intra prediction mode 2 (index 2), intra prediction mode corresponding to HOR_IDX index with offset -1, and intra prediction mode corresponding to intra prediction mode 2 (index 2) with offset 4; or

горизонтальный режим (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), режим внутреннего предсказания, соответствующий индексу HOR_IDX со сдвигом 1, и режим внутреннего предсказания, соответствующий режиму 2 внутреннего предсказания (индекс 2) со сдвигом 4; илиhorizontal mode (HOR_IDX index), intra prediction mode 2 (index 2), intra prediction mode corresponding to HOR_IDX index with offset 1, and intra prediction mode corresponding to intra prediction mode 2 (index 2) with offset 4; or

горизонтальный режим (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), режим внутреннего предсказания, соответствующий индексу HOR_IDX со сдвигом -1, и режим внутреннего предсказания, соответствующий режиму 2 внутреннего предсказания (индекс 2) со сдвигом 1; илиhorizontal mode (HOR_IDX index), intra prediction mode 2 (index 2), intra prediction mode corresponding to HOR_IDX index with offset -1, and intra prediction mode corresponding to intra prediction mode 2 (index 2) with offset 1; or

горизонтальный режим (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), режим внутреннего предсказания, соответствующий индексу HOR_IDX со сдвигом 1, и режим внутреннего предсказания, соответствующий режиму 2 внутреннего предсказания (индекс 2) со сдвигом 1.horizontal mode (HOR_IDX index), intra prediction mode 2 (index 2), intra prediction mode corresponding to HOR_IDX index with offset 1, and intra prediction mode corresponding to intra prediction mode 2 (index 2) with offset 1.

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит: когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, итеративное добавление режима внутреннего предсказания из множества режимов внутреннего предсказания, содержащего вертикальный режим (индекс VER_IDX), горизонтальный режим (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), вертикальный диагональный режим (индекс VDIA_IDX) или диагональный режим (индекс DIA_IDX), в соответствии с указанным выше порядком в список режимов MPM, когда этот режим внутреннего предсказания не входит в список режимов MPM, пока число режимов предсказания в этом списке не станет равно пороговой величине.In one form of implementation of the present application, this method further comprises: when the number of intra prediction modes in the MPM mode list is less than a threshold value, iteratively adding an intra prediction mode from a plurality of intra prediction modes, containing a vertical mode (VER_IDX index), a horizontal mode (HOR_IDX index ), intra prediction mode 2 (index 2), vertical diagonal mode (VDIA_IDX index), or diagonal mode (DIA_IDX index), according to the above order in the MPM mode list, when that intra prediction mode is not included in the MPM mode list, until the number of prediction modes in this list will not become equal to the threshold value.

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит: когда блок слева от текущего блока кодирования недоступен, и когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, проверку, входит ли первый режим внутреннего предсказания из множества режимов внутреннего предсказания в список режимов MPM, и добавление этого первого режима внутреннего предсказания в список режимов MPM, если этот первый режим внутреннего предсказания не входит в список режимов MPM, где множество режимов внутреннего предсказания содержит вертикальный режим (индекс VER_IDX), a вертикальный диагональный режим (индекс VDIA_IDX), a диагональный режим (индекс DIA_IDX) или режим 2 внутреннего предсказания (индекс 2).In one form of implementation of the present application, this method further comprises: when the block to the left of the current coding block is not available, and when the number of intra prediction modes in the MPM mode list is less than a threshold value, checking whether the first intra prediction mode of the plurality of intra prediction modes is included in a list of MPM modes, and adding this first intra prediction mode to the MPM mode list if this first intra prediction mode is not included in the MPM mode list, where the set of intra prediction modes contains a vertical mode (VER_IDX index) and a vertical diagonal mode (VDIA_IDX index) , a diagonal mode (index DIA_IDX) or intra prediction mode 2 (index 2).

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит: когда блок слева от текущего блока кодирования недоступен и когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, итеративное добавление режима внутреннего предсказания из множества режимов внутреннего предсказания, содержащего вертикальный режим (индекс VER_IDX), вертикальный диагональный режим (индекс VDIA_IDX), диагональный режим (индекс DIA_IDX) или режим 2 внутреннего предсказания (индекс 2), в соответствии с указанным выше порядком в список режимов MPM, когда рассматриваемый режим внутреннего предсказания не входит в список режимов MPM, пока число режимов предсказания в этом списке не станет равно пороговой величине.In one form of implementation of the present application, this method further comprises: when the block to the left of the current coding block is not available and when the number of intra prediction modes in the MPM mode list is less than a threshold, iteratively adding an intra prediction mode from a plurality of intra prediction modes containing a vertical mode ( VER_IDX index), vertical diagonal mode (VDIA_IDX index), diagonal mode (DIA_IDX index), or intra prediction mode 2 (index 2), according to the above order into the MPM mode list, when the intra prediction mode in question is not included in the MPM mode list until the number of prediction modes in this list is equal to the threshold value.

В одной из форм реализации настоящей заявки, может быть понятно, что добавление какого-либо режима внутреннего предсказания в список режимов MPM представляет собой добавление величины, соответствующей этому режиму внутреннего предсказания в список режимов MPM.In one embodiment of the present application, it may be understood that adding any intra prediction mode to the MPM mode list is adding the value corresponding to that intra prediction mode to the MPM mode list.

В одной из форм реализации настоящей заявки, пороговая величина равна 6.In one form of implementation of the present application, the threshold value is 6.

Согласно одному из аспектов настоящей заявки, кодирующее устройство содержит процессорную схему для осуществления приведенных выше способов.According to one aspect of the present application, the encoder contains a processor circuit for implementing the above methods.

Согласно одному из аспектов настоящей заявки, декодирующее устройство содержит процессорную схему для осуществления приведенных выше способов.According to one aspect of the present application, the decoder includes a processor circuit for implementing the above methods.

Согласно одному из аспектов настоящей заявки, компьютерный программный продукт содержит программный код для осуществления приведенных выше способов.According to one aspect of the present application, the computer program product contains program code for implementing the above methods.

Согласно одному из аспектов настоящей заявки, декодирующее устройство для построения списка наиболее вероятных режимов, MPM, содержит: один или несколько процессоров; и энергонезависимый читаемый компьютером носитель для сохранения информации, соединенный с процессорами и сохраняющий программу для выполнения этими процессорами, где эти программы, при выполнении процессорами, конфигурируют декодирующее устройство для осуществления описанных выше способов.According to one aspect of the present application, the decoder for building a list of the most probable modes, MPM, contains: one or more processors; and a non-volatile computer-readable storage medium coupled to the processors and storing a program for execution by the processors, wherein the programs, when executed by the processors, configure a decoder to perform the methods described above.

Согласно одному из аспектов настоящей заявки, кодирующее устройство для построения списка наиболее вероятных режимов, MPM, содержит: один или несколько процессоров; и энергонезависимый читаемый компьютером носитель для хранения информации, соединенный с процессорами и сохраняющий программу для выполнения этими процессорами, где эти программы, при выполнении процессорами, конфигурируют кодирующее устройство для осуществления описанных выше способов.According to one aspect of the present application, the encoder for building a list of the most likely modes, MPM, contains: one or more processors; and a non-volatile computer-readable storage medium coupled to the processors and storing a program for execution by the processors, wherein the programs, when executed by the processors, configure an encoder to perform the methods described above.

В одном из примеровIn one of the examples

Этап один: определение, доступен ли блок слева относительно текущего блока кодирования или нет.Step one: determining if a block is available to the left of the current encoding block or not.

Когда блок слева от текущего блока кодирования доступен, добавление режима внутреннего предсказания относительно этого блока слева в список режимов MPM. Этот список режимов MPM может быть пустым списком, когда блок слева от текущего блока кодирования доступен, режим внутреннего предсказания относительно этого блока слева добавляют в этот список режимов MPM, после этого список режимов MPM содержит один режим внутреннего предсказания; а когда блок слева относительно текущего блока кодирования недоступен, список режимов MPM остается по-прежнему пустым после завершения этапа один.When a block to the left of the current coding block is available, add an intra prediction mode relative to that block to the left of the MPM mode list. This MPM mode list may be an empty list, when the block to the left of the current coding block is available, the intra prediction mode relative to this block to the left is added to this MPM mode list, after that, the MPM mode list contains one intra prediction mode; and when the block to the left of the current coding block is not available, the MPM mode list is still empty after completion of step one.

Этап два: определение, доступен ли блок сверху от текущего блока кодирования или нет.Step two: determining if a block is available above the current encoding block or not.

Когда блок сверху от текущего блока кодирования доступен, добавляют режим внутреннего предсказания относительно этого блока сверху в список режимов MPM. Этот список режимов MPM может содержать режим внутреннего предсказания относительно блока слева или по-прежнему оставаться пустым списком.When a block above the current coding block is available, the intra prediction mode relative to this block above is added to the list of MPM modes. This list of MPM modes may contain an intra prediction mode relative to the block on the left, or still remain an empty list.

Когда блок сверху от текущего блока кодирования доступен и когда список режимов MPM содержит режим внутреннего предсказания относительно блока слева, далее следует определить, является ли режим внутреннего предсказания относительно указанного блока сверху таким же, как и режим внутреннего предсказания относительно указанного блока слева, когда эти режимы совпадают, результат этапа «добавления режима внутреннего предсказания относительно блока сверху в список режимов MPM» не изменяет числа режимов внутреннего предсказания в списке режимов MPM, этот список режимов MPM содержит только один режим внутреннего предсказания; если режим внутреннего предсказания для указанного блока сверху не является таким же, как и режим внутреннего предсказания для указанного блока слева, тогда добавляют режим внутреннего предсказания для указанного блока сверху в список режимов MPM и тогда этот список режимов MPM содержит уже два режима внутреннего предсказания.When a block above the current coding block is available and when the MPM mode list contains an intra prediction mode relative to the block on the left, it is next to determine whether the intra prediction mode relative to the specified block above is the same as the intra prediction mode relative to the specified block left, when these modes match, the result of the step of "adding the block-upward intra prediction mode to the MPM mode list" does not change the number of intra prediction modes in the MPM mode list, this MPM mode list contains only one intra prediction mode; if the intra prediction mode for the specified block from above is not the same as the intra prediction mode for the specified block from the left, then the intra prediction mode for the specified block from above is added to the MPM mode list, and then this MPM mode list already contains two intra prediction modes.

Когда блок сверху от текущего блока кодирования доступен и когда список режимов MPM по-прежнему является пустым списком, добавляют режим внутреннего предсказания относительно указанного блока сверху в список режимов MPM, после чего этот список режимов MPM содержит только один режим внутреннего предсказания.When a block above the current coding block is available and when the MPM mode list is still an empty list, an intra prediction mode relative to the specified block above is added to the MPM mode list, after which this MPM mode list contains only one intra prediction mode.

Когда блок сверху от текущего блока кодирования недоступен, и когда список режимов MPM содержит режим внутреннего предсказания относительно блока слева, список режимов MPM будет по-прежнему содержать только режим внутреннего предсказания относительно блока слева.When the block above the current coding block is not available, and when the MPM mode list contains the intra prediction mode relative to the left block, the MPM mode list will still only contain the intra prediction mode relative to the left block.

Когда блок сверху от текущего блока кодирования недоступен и список режимов MPM по-прежнему остается пустым списком, тогда список режимов MPM будет по-прежнему пустым пуском.When the block above the current encoding block is not available and the MPM mode list is still an empty list, then the MPM mode list will still be an empty start.

Этап три: когда планарного режима нет в списке режимов MPM, добавление планарного режима в список режимов MPM.Step three: when the planar mode is not in the MPM mode list, adding the planar mode to the MPM mode list.

Если после этапа два список режимов MPM не содержит планарный режим, тогда добавление этого планарного режима в список режимов MPM.If, after step two, the MPM mode list does not contain a planar mode, then adding that planar mode to the MPM mode list.

Когда оба режима – режим внутреннего предсказания относительно блока слева и режим внутреннего предсказания относительно блока сверху, недоступны, или доступный режим внутреннего предсказания не является планарным режимом, список режимов MPM не содержит планарный режим.When both the intra block-left intra prediction mode and the block-up intra prediction mode are not available, or the available intra prediction mode is not a planar mode, the MPM mode list does not contain a planar mode.

Если планарный режим присутствует в список режимов MPM, переход к этапу четыре.If planar mode is present in the MPM mode list, go to step four.

Этап четыре: когда DC-режим отсутствует в списке режимов MPM, добавление этого DC-режима в список режимов MPM.Step four: when the DC mode is not in the MPM mode list, add this DC mode to the MPM mode list.

Если после этапа два или этапа три список режимов MPM не содержит DC-режим, тогда добавляют DC-режим в список режимов MPM.If, after step two or step three, the MPM mode list does not contain a DC mode, then the DC mode is added to the MPM mode list.

Когда оба режима – режим внутреннего предсказания относительно блока слева и режим внутреннего предсказания относительно блока сверху, недоступны, или доступный режим внутреннего предсказания не является DC-режимом, тогда список режимов MPM не содержит DC-режим.When both the intra block-left intra prediction mode and the block-up intra prediction mode are not available, or the available intra prediction mode is not the DC mode, then the MPM mode list does not contain the DC mode.

Если DC-режим присутствует в списке режимов MPM, тогда происходит переход к следующим этапам или завершение построения списка режимов MPM.If the DC mode is present in the MPM mode list, then proceed to the next steps or finish building the MPM mode list.

В одной из форм реализации настоящей заявки, на каждом этапе, при выполнении процедуры добавления какого-либо режима предсказания в список режимов MPM необходимо убедиться, что в этом списке режимов MPM нет дублирующего режима предсказания. Следовательно, когда режим внутреннего предсказания, который нужно добавить в список режимов MPM, является таким же, как один из режимов внутреннего предсказания, уже присутствующих в этом списке режимов MPM, процедура «добавления» не изменяет список режимов MPM, либо эта процедура «добавления» не выполняется.In one form of implementation of the present application, at each step, when performing the procedure for adding any prediction mode to the list of MPM modes, it is necessary to make sure that there is no duplicate prediction mode in this list of MPM modes. Therefore, when the intra prediction mode to be added to the MPM mode list is the same as one of the intra prediction modes already present in this MPM mode list, the "add" procedure does not change the MPM mode list, or this "add" procedure is not performed.

В одной из форм реализации настоящей заявки, после этапа 4, только если существует угловой режим, тогда выполняют присвоение индексов – индекс углового режима - 1 (angular-1), индекс углового режима + 1 (angular+1).In one form of implementation of the present application, after step 4, only if there is an angular mode, then index assignment is performed - angular mode index - 1 (angular-1), angular mode index + 1 (angular+1).

В одном из примеров, когда число режимов внутреннего предсказания в списке режимов MPM равно шести, после этапа четыре возможны три случая относительно длины режима MPM:In one example, when the number of intra prediction modes in the MPM mode list is six, after step four, three cases are possible regarding the length of the MPM mode:

Случай 1: длина режима MPM равна 2: → режимы относительно обоих блоков – слева (L) и сверху (A) не являются угловыми (>DC) или недоступны, только планарный режим и DC-режим в → используют все четыре режима по умолчанию.Case 1: MPM mode length is 2: → modes relative to both blocks - left (L) and top (A) are not angular (>DC) or not available, only planar mode and DC mode in → use all four modes by default.

Случай 2: длина режима MPM равна 3: → режим относительно одного из блоков L или A является угловым, или они являются одинаковыми угловыми. → используют один режим по умолчанию.Case 2: The length of the MPM mode is 3: → the mode with respect to one of the blocks L or A is angular, or they are the same angular. → use one default mode.

Случай 3: длина режима MPM равна 4: → режимы относительно обоих блоков L и A являются угловыми и отличными один от другого → режимы по умолчанию не используются, поскольку по меньшей мере один из режимов с индексами L-1, L+1, должен быть добавлен. Когда один из этих режимов является дублированием указанного выше (разница diff(L-A)=1), тогда должен быть дополнительно вставлен по меньшей мере один из режимов с индексами A-1 и A+1.Case 3: MPM mode length is 4: → modes with respect to both blocks L and A are angular and different from one another → default modes are not used because at least one of the modes with indices L-1, L+1 must be added. When one of these modes is a duplicate of the above (diff(L-A)=1), then at least one of the modes with indices A-1 and A+1 must be additionally inserted.

В одной из форм реализации настоящей заявки, способ дополнительно содержит: когда блок слева от текущего блока кодирования доступен и когда режим внутреннего предсказания относительно этого блока слева является угловым режимом, добавление сдвига к индексу режим предсказания относительно блока слева с целью получения нового режима предсказания, когда этот новый режим предсказания не входит в список режимов MPM, добавление этого нового режима предсказания в список режимов MPM.In one form of implementation of the present application, the method further comprises: when a block to the left of the current coding block is available and when the intra prediction mode relative to this block to the left is an angular mode, adding a shift to the prediction mode index relative to the block to the left to obtain a new prediction mode when this new prediction mode is not in the list of MPM modes, adding this new prediction mode to the list of MPM modes.

В другом примере, список режимов MPM содержит шесть режимов внутреннего предсказания, поскольку приведенные выше четыре этапа могут получить только четыре режима внутреннего предсказания в наибольшем варианте. Этот способ дополнительно содержит:In another example, the MPM mode list contains six intra prediction modes because the above four steps can only obtain four intra prediction modes in the largest case. This method additionally contains:

Этап пять: когда блок слева от текущего блока кодирования доступен и когда режим внутреннего предсказания относительно этого блока слева является угловым режимом, добавление сдвига к индексу режима предсказания относительно блока слева с целью получения нового режима предсказания, и когда этот новый режим предсказания не входит в список режимов MPM, добавление этого нового режима предсказания в список режимов MPM.Step five: when a block to the left of the current coding block is available and when the intra prediction mode relative to that block to the left is corner mode, adding an offset to the prediction mode index relative to the block to the left to obtain a new prediction mode, and when this new prediction mode is not in the list MPM modes, adding this new prediction mode to the list of MPM modes.

Например, когда блок слева от текущего блока кодирования имеет угловой режим 27 (величина индекса, соответствующая этому угловому режиму внутреннего предсказания равна 27), и список режимов MPM после приведенных выше четырех этапов имеет вид (27, 15, 0, 1). Добавляют сдвиг к индексу режима предсказания относительно блока слева с целью получения нового режима предсказания, когда этот новый режим предсказания не входит в список режимов MPM, и добавляют этот новый режим предсказания в список режимов MPM. В одном из примеров, этот сдвиг равен -1, так что индекс этого нового режима предсказания равен 26, и обновленный список режимов MPM принял вид (27, 15, 0, 1, 26). В другом примере, этот сдвиг равен 1, так что индекс этого нового режима предсказания равен 28, и обновленный список режимов MPM принял вид (27, 15, 0, 1, 28). В другом примере, на этапе пять могут быть добавлены две величины сдвигов к индексу режима внутреннего предсказания относительно блока слева, сначала добавлено -1 и затем добавлено 1, либо сначала добавлено 1 и затем добавлено -1, так что обновленный список режимов MPM может иметь вид (27, 15, 0, 1, 26, 28) или (27, 15, 0, 1, 28, 26).For example, when the block to the left of the current coding block has an angle mode of 27 (the index value corresponding to this intra prediction angle mode is 27), and the list of MPM modes after the above four steps is (27, 15, 0, 1). A shift is added to the prediction mode index with respect to the block on the left to obtain a new prediction mode when this new prediction mode is not included in the MPM mode list, and this new prediction mode is added to the MPM mode list. In one example, this offset is -1, so that the index of this new prediction mode is 26, and the updated list of MPM modes is (27, 15, 0, 1, 26). In another example, this shift is 1, so the index of this new prediction mode is 28, and the updated list of MPM modes is (27, 15, 0, 1, 28). In another example, in step five, two amounts of shifts may be added to the intra prediction mode index relative to the block on the left, first adding -1 and then adding 1, or first adding 1 and then adding -1, so that the updated list of MPM modes may be (27, 15, 0, 1, 26, 28) or (27, 15, 0, 1, 28, 26).

После этапа пять, проверяют, заполнен ли список режимов MPM (Когда число режимов внутреннего предсказания в списке режимов MPM равно пороговой величине, например, эта пороговая величина равна 6, тогда список режимов MPM заполнен. Если число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, тогда список режимов MPM не заполнен). Когда список режимов MPM заполнен, процедуру построения списка режимов MPM завершают; когда список режимов MPM не заполнен, переходят к следующим этапам.After step five, it is checked whether the MPM mode list is full (When the number of intra prediction modes in the MPM mode list is equal to a threshold, for example, this threshold is 6, then the MPM mode list is full. If the number of intra prediction modes in the MPM mode list is less than the threshold values, then the list of MPM modes is empty). When the MPM mode list is full, the MPM mode list building procedure is terminated; when the MPM mode list is empty, proceed to the next steps.

И когда блок слева относительно текущего блока кодирования недоступен, этап пять не выполняют, а переходят к следующим этапам.And when the block to the left of the current coding block is unavailable, step five is not performed, but proceeds to the next steps.

Отметим, что процедура добавления сдвига (например, -1 или +1) к индексу углового режима предсказания, должна содержать операцию перехода по кругу вверх или вниз, например. Когда индекс углового режима предсказания относительно блока слева (angularLeft) равен 2, тогда индекс режима angularLeft-1 будет равен 66 (случай операции перехода по кругу вверх), или когда индекс режима angularLeft равен 66, тогда индекс режима angularLeft+1 будет равен 2 (случай операции перехода по кругу вниз).Note that the procedure for adding an offset (eg, -1 or +1) to the index of the angular mode of prediction, should contain the operation of moving around the circle up or down, for example. When the prediction angular mode index relative to the block left (angularLeft) is 2, then the angularLeft-1 mode index will be 66 (circle up operation case), or when the angularLeft mode index is 66, then the angularLeft+1 mode index will be 2 ( the case of the operation of moving around the circle down).

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит: когда блок сверху от текущего блока кодирования доступен, и когда режим внутреннего предсказания относительно этого блока сверху является угловым режимом, добавление сдвига к индексу режима предсказания относительно блока сверху с целью получения индекса смещенного режима предсказания относительно блока сверху, если этот смещенный режим предсказания относительно блока сверху не входит в список режимов MPM, добавление этого смещенного режима предсказания относительно блока сверху в список режимов MPM.In one form of implementation of the present application, this method further comprises: when a block above the current coding block is available, and when the intra prediction mode relative to this block above is angular mode, adding an offset to the prediction mode index relative to the block above to obtain the shifted mode index block-up prediction, if this offset block-up prediction mode is not in the MPM mode list, adding this offset block-up prediction mode to the MPM mode list.

В одном из примеров, этот способ дополнительно содержит:In one example, this method further comprises:

Этап шесть: когда блок сверху от текущего блока кодирования доступен, и когда режим внутреннего предсказания относительно этого блока сверху является угловым режимом, добавление сдвига к индексу режима предсказания относительно блока сверху с целью получения индекса смещенного режима предсказания относительно блока сверху, и если этот смещенный режим предсказания относительно блока сверху не входит в список режимов MPM, добавление этого нового режима предсказания в список режимов MPM.Step six: when a block up from the current coding block is available, and when the intra prediction mode with respect to that block up is an angle mode, adding an offset to the block up prediction mode index to obtain an offset prediction mode index with respect to the block up, and if this offset mode block top prediction is not in the MPM mode list, adding this new prediction mode to the MPM mode list.

Например, режим предсказания относительно блока сверху от текущего блока кодирования является угловым режимом 26 (величина индекса, соответствующая этому угловому режиму внутреннего предсказания, равна 26), и список режимов MPM после перечисленных выше пяти этапов имеет вид (27, 26, 0, 1, 28). Добавление сдвига к индексу режима предсказания относительно блока слева с целью получения индекса смещенного режима предсказания относительно блока сверху, когда этот смещенный режим предсказания относительно блока сверху не входит в список режимов MPM, добавление этого смещенного режима предсказания относительно блока сверху в список режимов MPM. В одном из примеров, величина сдвига равна -1, тогда индекс смещенного режима предсказания относительно блока сверху равен 25 и обновленный список режимов MPM имеет вид (27, 26, 0, 1, 28, 25). В другом примере, величина сдвига равна 1, тогда индекс смещенного режима предсказания относительно блока сверху равен 27 и вставка этого индекса смещенного режима предсказания относительно блока сверху, равного 27, оказывается заблокирована, поскольку режим 27 уже был вставлен. В другом примере, на этапе шесть могут быть добавлены две величины сдвига к индексу режима внутреннего предсказания относительно блока сверху, сначала добавляют -1 и затем добавляют 1, либо сначала добавляют 1, а затем добавляют -1, если список режимов MPM все еще остается неполным после добавления одного сдвига.For example, the block-upward prediction mode of the current coding block is angle mode 26 (the index value corresponding to this intra prediction angle mode is 26), and the list of MPM modes after the above five steps is (27, 26, 0, 1, 28). Adding an offset to the block-up prediction mode index on the left to obtain an index of the block-up offset prediction mode, when this block-up offset prediction mode is not included in the MPM mode list, adding this block-up offset prediction mode to the MPM mode list. In one example, the offset value is -1, then the offset prediction mode index relative to the top block is 25 and the updated list of MPM modes is (27, 26, 0, 1, 28, 25). In another example, if the offset value is 1, then the block-up offset prediction mode index is 27, and insertion of this block-up offset prediction mode index of 27 is blocked because mode 27 has already been inserted. In another example, in step six, two offset values can be added to the intra prediction mode index relative to the top block, adding -1 first and then adding 1, or adding 1 first and then adding -1 if the list of MPM modes is still incomplete. after adding one shift.

А когда блок сверху от текущего блока кодирования недоступен, этап шесть не выполняют, а переходят к следующим этапам. После этапа шесть, проверяют, заполнен ли список режимов MPM (число режимов внутреннего предсказания в списке режимов MPM равно 6). Когда список режимов MPM заполнен, построение списка режимов MPM завершают; если список режимов MPM не заполнен (число режимов внутреннего предсказания в списке режимов MPM меньше 6), переходят к следующим этапам.And when the block above the current coding block is not available, step six is not performed, but proceeds to the next steps. After step six, it is checked whether the MPM mode list is full (the number of intra prediction modes in the MPM mode list is 6). When the MPM mode list is full, the construction of the MPM mode list is completed; if the MPM mode list is empty (the number of intra prediction modes in the MPM mode list is less than 6), proceed to the next steps.

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит:In one form of implementation of the present application, this method further comprises:

когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины (например, пороговая величина равна 6), используют список по умолчанию для построения списка режимов MPM.when the number of intra prediction modes in the MPM mode list is less than a threshold value (eg, the threshold value is 6), the default list is used to build the MPM mode list.

В одном из примеров, когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, список по умолчанию содержит вертикальный режим (индекс VER_IDX), горизонтальный режим (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), вертикальный диагональный режим (индекс VDIA_IDX) или диагональный режим (индекс DIA_IDX).In one example, when the number of intra prediction modes in the MPM mode list is less than a threshold, the default list contains vertical mode (VER_IDX index), horizontal mode (HOR_IDX index), intra prediction mode 2 (index 2), vertical diagonal mode (index VDIA_IDX) or diagonal mode (DIA_IDX index).

В одном из примеров, когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, список по умолчанию содержит вертикальный режим (индекс VER_IDX), горизонтальный режим (индекс HOR_IDX), режим с индексом VER_IDX с добавленным сдвигом -4 или режим с индексом VER_IDX с добавленным сдвигом 4.In one example, when the number of intra prediction modes in the MPM mode list is less than a threshold, the default list contains a vertical mode (VER_IDX index), a horizontal mode (HOR_IDX index), a VER_IDX index mode with an offset of -4, or a VER_IDX index mode. with added shift 4.

В одном из примеров, когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, список по умолчанию содержит вертикальный режим (индекс VER_IDX), горизонтальный режим (индекс HOR_IDX), режим с индексом VER_IDX с добавленным сдвигом 4 или режим с индексом VER_IDX с добавленным сдвигом -4.In one example, when the number of intra prediction modes in the MPM mode list is less than a threshold, the default list contains a vertical mode (VER_IDX index), a horizontal mode (HOR_IDX index), a VER_IDX index mode with an added offset of 4, or a VER_IDX index mode with added shift -4.

В одном из примеров, когда блок слева от текущего блока кодирования недоступен, и когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, список по умолчанию содержит:In one example, when the block to the left of the current coding block is not available, and when the number of intra prediction modes in the MPM mode list is less than a threshold, the default list contains:

вертикальный режим (индекс VER_IDX), вертикальный диагональный режим (индекс VDIA_IDX), диагональный режим (индекс DIA_IDX) или режим 2 внутреннего предсказания (индекс 2); илиvertical mode (VER_IDX index), vertical diagonal mode (VDIA_IDX index), diagonal mode (DIA_IDX index), or intra prediction mode 2 (index 2); or

вертикальный режим (индекс VER_IDX), вертикальный диагональный режим (индекс VDIA_IDX), режим с индексом VER_IDX с добавленным сдвигом -1, и режим с индексом VER_IDX с добавленным сдвигом 1; илиvertical mode (VER_IDX index), vertical diagonal mode (VDIA_IDX index), VER_IDX index mode with offset -1 added, and VER_IDX index mode with offset 1 added; or

вертикальные режимы (индекс VER_IDX), вертикальный диагональный режим (индекс VDIA_IDX), режим с индексом VER_IDX с добавленным сдвигом -4, и режим с индексом VER_IDX с добавленным сдвигом 4; илиvertical modes (VER_IDX index), vertical diagonal mode (VDIA_IDX index), VER_IDX index mode with offset -4 added, and VER_IDX index mode with offset 4 added; or

вертикальные режимы (индекс VER_IDX), вертикальный диагональный режим (индекс VDIA_IDX), режим с индексом VDIA_IDX с добавленным сдвигом -4, и режим с индексом VER_IDX с добавленным сдвигом -1; илиvertical modes (VER_IDX index), vertical diagonal mode (VDIA_IDX index), VDIA_IDX index mode with -4 offset added, and VER_IDX index mode with -1 offset added; or

вертикальные режимы (индекс VER_IDX), вертикальный диагональный режим (индекс VDIA_IDX), режим с индексом VDIA_IDX с добавленным сдвигом -4, и режим с индексом VER_IDX с добавленным сдвигом +1; илиvertical modes (VER_IDX index), vertical diagonal mode (VDIA_IDX index), VDIA_IDX index mode with -4 offset added, and VER_IDX index mode with +1 offset added; or

вертикальные режимы (индекс VER_IDX), вертикальный диагональный режим (индекс VDIA_IDX), режим с индексом VDIA_IDX с добавленным сдвигом -1, и режим с индексом VER_IDX с добавленным сдвигом -1; илиvertical modes (VER_IDX index), vertical diagonal mode (VDIA_IDX index), VDIA_IDX index mode with -1 offset added, and VER_IDX index mode with -1 offset added; or

вертикальные режимы (индекс VER_IDX), вертикальный диагональный режим (индекс VDIA_IDX), режим с индексом VDIA_IDX с добавленным сдвигом -1, и режим с индексом VER_IDX с добавленным сдвигом 1; илиvertical modes (VER_IDX index), vertical diagonal mode (VDIA_IDX index), VDIA_IDX index mode with offset -1 added, and VER_IDX index mode with offset 1 added; or

вертикальные режимы (индекс VER_IDX), вертикальный диагональный режим (индекс VDIA_IDX), режим с индексом VER_IDX с добавленным сдвигом -1, и режим с индексом VDIA_IDX с добавленным сдвигом -4; илиvertical modes (VER_IDX index), vertical diagonal mode (VDIA_IDX index), VER_IDX index mode with -1 offset added, and VDIA_IDX index mode with -4 offset added; or

вертикальные режимы (индекс VER_IDX), вертикальный диагональный режим (индекс VDIA_IDX), режим с индексом VER_IDX с добавленным сдвигом 1, и режим с индексом VDIA_IDX с добавленным сдвигом -4; илиvertical modes (VER_IDX index), vertical diagonal mode (VDIA_IDX index), VER_IDX index mode with offset 1 added, and VDIA_IDX index mode with offset -4 added; or

вертикальные режимы (индекс VER_IDX), вертикальный диагональный режим (индекс VDIA_IDX), режим с индексом VER_IDX с добавленным сдвигом -1, и режим с индексом VDIA_IDX с добавленным сдвигом -1; илиvertical modes (VER_IDX index), vertical diagonal mode (VDIA_IDX index), VER_IDX index mode with -1 offset added, and VDIA_IDX index mode with -1 offset added; or

вертикальные режимы (индекс VER_IDX), вертикальный диагональный режим (индекс VDIA_IDX), режим с индексом VER_IDX с добавленным сдвигом 1, и режим с индексом VDIA_IDX с добавленным сдвигом -1.vertical modes (VER_IDX index), vertical diagonal mode (VDIA_IDX index), VER_IDX index mode with offset 1 added, and VDIA_IDX index mode with offset -1 added.

В одном из примеров, когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, блок сверху от текущего блока кодирования недоступен, список по умолчанию содержит:In one example, when the number of intra prediction modes in the MPM mode list is less than a threshold, the block above the current coding block is not available, the default list contains:

горизонтальный режим (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), диагональный режим (индекс DIA_IDX) или вертикальный диагональный режим (индекс VDIA_IDX).horizontal mode (HOR_IDX index), intra prediction mode 2 (index 2), diagonal mode (DIA_IDX index), or vertical diagonal mode (VDIA_IDX index).

В одном из примеров, когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, блок слева от текущего блока кодирования доступен и блок сверху от текущего блока кодирования доступен, список по умолчанию содержит:In one example, when the number of intra prediction modes in the MPM mode list is less than a threshold, the block to the left of the current coding block is available, and the block above the current coding block is available, the default list contains:

вертикальный режим (индекс VER_IDX), горизонтальный режим (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), вертикальный диагональный режим (индекс VDIA_IDX) или диагональный режим (индекс DIA_IDX); илиvertical mode (VER_IDX index), horizontal mode (HOR_IDX index), intra prediction mode 2 (index 2), vertical diagonal mode (VDIA_IDX index), or diagonal mode (DIA_IDX index); or

вертикальный режим (индекс VER_IDX), горизонтальный режим (индекс HOR_IDX), режим с индексом VER_IDX с добавленным сдвигом -4 или режим с индексом VER_IDX с добавленным сдвигом 4; илиvertical mode (VER_IDX index), horizontal mode (HOR_IDX index), VER_IDX index mode with offset -4 added, or VER_IDX index mode with offset 4 added; or

вертикальный режим (индекс VER_IDX), горизонтальный режим (индекс HOR_IDX), режим с индексом VER_IDX с добавленным сдвигом 4 или режим с индексом VER_IDX с добавленным сдвигом -4.vertical mode (VER_IDX index), horizontal mode (HOR_IDX index), VER_IDX index mode with an offset of 4, or VER_IDX index mode with an offset of -4 added.

В одном из примеров, когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины и блок сверху от текущего блока кодирования недоступен, список по умолчанию содержит:In one example, when the number of intra prediction modes in the MPM mode list is less than a threshold and the block above the current coding block is not available, the default list contains:

горизонтальный режим (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), режим с индексом HOR_IDX с добавленным сдвигом -1, и режим с индексом HOR_IDX с добавленным сдвигом 1; илиhorizontal mode (HOR_IDX index), intra prediction mode 2 (index 2), HOR_IDX index mode with an offset of -1, and HOR_IDX index mode with an offset of 1; or

горизонтальные режимы (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), режим с индексом HOR_IDX с добавленным сдвигом -4, и режим с индексом HOR_IDX с добавленным сдвигом 4; или horizontal modes (HOR_IDX index), intra prediction mode 2 (index 2), HOR_IDX index mode with offset -4 added, and HOR_IDX index mode with offset 4 added; or

горизонтальные режимы (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), режим 2 внутреннего предсказания (2) с добавленным сдвигом 4, и режим с индексом HOR_IDX с добавленным сдвигом -1; илиhorizontal modes (HOR_IDX index), intra prediction mode 2 (index 2), intra prediction mode 2 (2) with offset 4 added, and HOR_IDX index mode with offset -1 added; or

горизонтальные режимы (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), режим 2 внутреннего предсказания (2) с добавленным сдвигом 4, и режим с индексом HOR_IDX с добавленным сдвигом 1; илиhorizontal modes (HOR_IDX index), intra prediction mode 2 (index 2), intra prediction mode 2 (2) with shift added 4, and shift added HOR_IDX index mode 1; or

горизонтальный режимы (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), режим 2 внутреннего предсказания (индекс 2) с добавленным сдвигом 1, и режим с индексом HOR_IDX с добавленным сдвигом -1; илиhorizontal modes (HOR_IDX index), intra prediction mode 2 (index 2), intra prediction mode 2 (index 2) with offset 1 added, and HOR_IDX index mode with offset -1 added; or

горизонтальные режимы (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), режим 2 внутреннего предсказания (индекс 2) с добавленным сдвигом 1, и режим с индексом HOR_IDX с добавленным сдвигом 1; илиhorizontal modes (HOR_IDX index), intra prediction mode 2 (index 2), intra prediction mode 2 (index 2) with shift added 1, and shift added HOR_IDX index mode 1; or

горизонтальные режимы (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), режим с индексом HOR_IDX с добавленным сдвигом -1, и режим 2 внутреннего предсказания (индекс 2) с индексом с добавленным сдвигом 4; илиhorizontal modes (HOR_IDX index), intra prediction mode 2 (index 2), HOR_IDX index mode with offset -1 added, and intra prediction mode 2 (index 2) with offset index 4; or

горизонтальные режимы (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), режим с индексом HOR_IDX с добавленным сдвигом 1, и режим 2 внутреннего предсказания (индекс 2) с индексом с добавленным сдвигом 4; илиhorizontal modes (HOR_IDX index), intra prediction mode 2 (index 2), shift-added HOR_IDX index mode 1, and intra-prediction mode 2 (index 2) with shift-added index 4; or

горизонтальные режимы (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), режим с индексом HOR_IDX с добавленным сдвигом -1, и режим 2 внутреннего предсказания (индекс 2) с индексом с добавленным сдвигом 1; илиhorizontal modes (HOR_IDX index), intra prediction mode 2 (index 2), HOR_IDX index mode with offset -1 added, and intra prediction mode 2 (index 2) with offset index 1; or

горизонтальные режимы (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), режим с индексом HOR_IDX с добавленным сдвигом 1, и режим 2 внутреннего предсказания (индекс 2) с индексом с добавленным сдвигом 1.horizontal modes (HOR_IDX index), intra prediction mode 2 (index 2), shift-added HOR_IDX index mode 1, and intra-prediction mode 2 (index 2) with shift-added index 1.

В одной из форм реализации настоящей заявки, когда блок слева от текущего блока кодирования недоступен, блок сверху от текущего блока кодирования может быть доступен или может быть недоступен.In one form of implementation of the present application, when the block to the left of the current coding block is not available, the block above the current coding block may or may not be available.

В одной из форм реализации настоящей заявки, когда блок сверху от текущего блока кодирования недоступен, блок слева от текущего блока кодирования может быть доступен или может быть недоступен.In one form of implementation of the present application, when the block above the current coding block is not available, the block to the left of the current coding block may or may not be available.

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит: добавление вертикального режима (индекс VER_IDX), горизонтального режима (индекс HOR_IDX), режима 2 внутреннего предсказания (индекс 2), вертикального диагонального режима (индекс VDIA_IDX) или диагонального режима (индекс DIA_IDX) в список режимов MPM.In one embodiment of the present application, this method further comprises: adding vertical mode (VER_IDX index), horizontal mode (HOR_IDX index), intra prediction mode 2 (index 2), vertical diagonal mode (VDIA_IDX index), or diagonal mode (DIA_IDX index). ) to the MPM mode list.

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит: когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, проверку, входит ли первый режим внутреннего предсказания из множества режимов внутреннего предсказания в список режимов MPM, и добавление этого первого режима внутреннего предсказания в список режимов MPM, если этот первый режим внутреннего предсказания не входит в список режимов MPM, где указанное множество режимов внутреннего предсказания содержит вертикальный режим (индекс VER_IDX), горизонтальный режим (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), вертикальный диагональный режим (индекс VDIA_IDX) или диагональный режим (индекс DIA_IDX).In one form of implementation of the present application, this method further comprises: when the number of intra prediction modes in the MPM mode list is less than a threshold value, checking whether the first intra prediction mode of the plurality of intra prediction modes is included in the MPM mode list, and adding this first intra prediction mode into the MPM mode list, if this first intra prediction mode is not included in the MPM mode list, where the specified set of intra prediction modes contains vertical mode (VER_IDX index), horizontal mode (HOR_IDX index), intra prediction mode 2 (index 2), vertical diagonal mode (index VDIA_IDX) or diagonal mode (index DIA_IDX).

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит: когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, итеративное добавление режима внутреннего предсказания из множества режимов внутреннего предсказания, содержащего вертикальный режим (индекс VER_IDX), горизонтальный режим (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), вертикальный диагональный режим (индекс VDIA_IDX) или диагональный режим (индекс DIA_IDX), в соответствии с указанным выше порядком в список режимов MPM, если рассматриваемый режим внутреннего предсказания не входит в список режимов MPM, пока число режимов предсказания в этом списке не станет равно пороговой величине.In one form of implementation of the present application, this method further comprises: when the number of intra prediction modes in the MPM mode list is less than a threshold value, iteratively adding an intra prediction mode from a plurality of intra prediction modes, containing a vertical mode (VER_IDX index), a horizontal mode (HOR_IDX index ), intra prediction mode 2 (index 2), vertical diagonal mode (VDIA_IDX index), or diagonal mode (DIA_IDX index), according to the above order in the MPM mode list, if the intra prediction mode in question is not included in the MPM mode list, while the number of prediction modes in this list will not become equal to the threshold value.

В одном из примеров, после этапа шесть, когда список режимов MPM по-прежнему не полон (число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины), добавление режима внутреннего предсказания из списка режимов по умолчанию упорядоченно в список режимов MPM, когда этот режим или эти режимы не входят в список режимов MPM, эту процедуру выполняют итеративно до тех пор, пока список режимов MPM не будет заполнен.In one example, after step six, when the MPM mode list is still incomplete (the number of intra prediction modes in the MPM mode list is less than a threshold), adding an intra prediction mode from the default mode list is ordered to the MPM mode list when this mode or these modes are not included in the MPM mode list, this procedure is performed iteratively until the MPM mode list is full.

Этап семь: добавление вертикального режима (индекс VER_IDX), горизонтального режима (индекс HOR_IDX), режима 2 внутреннего предсказания (индекс 2), вертикального диагонального режима (индекс VDIA_IDX) или диагонального режима (индекс DIA_IDX) в список режимов MPM.Step seven: adding vertical mode (VER_IDX index), horizontal mode (HOR_IDX index), intra prediction mode 2 (index 2), vertical diagonal mode (VDIA_IDX index), or diagonal mode (DIA_IDX index) to the MPM mode list.

Например, когда вертикальный режим не входит в список режимов MPM и список режимов MPM не заполнен, добавление этого вертикального режима в список режимов MPM, если после добавления этого вертикального режима список режимов MPM окажется заполнен, завершают построение списка режимов MPM.For example, when the vertical mode is not included in the MPM mode list and the MPM mode list is not filled, adding this vertical mode to the MPM mode list, if the MPM mode list is full after adding this vertical mode, the MPM mode list is completed.

А если после добавления этого вертикального режима список режимов MPM будет по-прежнему не заполнен, проверяют, входит ли горизонтальный режим в список режимов MPM. Когда горизонтальный режим входит в список режимов MPM, далее проверяют, входит ли режим 2 внутреннего предсказания в список режимов MPM; если горизонтальный режим не входит в список режимов MPM, добавляют горизонтальный режим в список режимов MPM. Этот этап выполняют итеративно до тех пор, пока список режимов MPM не будет заполнен.And if, after adding this vertical mode, the list of MPM modes is still empty, it is checked whether the horizontal mode is included in the list of MPM modes. When the horizontal mode is included in the MPM mode list, next, it is checked whether intra prediction mode 2 is included in the MPM mode list; if the horizontal mode is not included in the MPM mode list, the horizontal mode is added to the MPM mode list. This step is performed iteratively until the list of MPM modes is full.

В одной из форм реализации настоящей заявки, на Этапе семь, при наличии списков режимов по умолчанию, при каждой вставке режима по умолчанию в список режимов MPM необходимо убедиться, что дублированных режимов нет. Когда вставка прошла успешно, выполняют другую проверку, чтобы определить, заполнен ли список режимов MPM. Если список заполнен, процедуру заполнения списка режимов MPM завершают; в противном случае продолжают вставку других режимов по умолчанию в заданном порядке.In one form of implementation of the present application, at Step seven, if there are default mode lists, each time a default mode is inserted into the MPM mode list, it must be ensured that there are no duplicate modes. When the insertion is successful, another check is made to determine if the list of MPM modes is full. If the list is full, the MPM mode list filling procedure is terminated; otherwise, continue inserting the other default modes in the given order.

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит: когда блок слева от текущего блока кодирования недоступен и число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины,In one form of implementation of the present application, this method further comprises: when the block to the left of the current coding block is not available and the number of intra prediction modes in the MPM mode list is less than a threshold,

проверку, входит ли первый режим внутреннего предсказания из множества режимов внутреннего предсказания в список режимов MPM, и добавление этого первого режима внутреннего предсказания в список режимов MPM, если этот первый режим внутреннего предсказания не входит в список режимов MPM, где указанное множество режимов внутреннего предсказания содержит вертикальный режим (индекс VER_IDX), вертикальный диагональный режим (индекс VDIA_IDX), диагональный режим (индекс DIA_IDX) или режим 2 внутреннего предсказания (индекс 2).checking whether the first intra prediction mode of the plurality of intra prediction modes is included in the MPM mode list, and adding this first intra prediction mode to the MPM mode list, if this first intra prediction mode is not included in the MPM mode list, where said plurality of intra prediction modes contains vertical mode (VER_IDX index), vertical diagonal mode (VDIA_IDX index), diagonal mode (DIA_IDX index), or intra prediction mode 2 (index 2).

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит:In one form of implementation of the present application, this method further comprises:

когда блок слева от текущего блока кодирования недоступен и когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины,when the block to the left of the current coding block is not available and when the number of intra prediction modes in the MPM mode list is less than a threshold,

итеративное добавление режима внутреннего предсказания из множества режимов внутреннего предсказания, содержащего вертикальный режим (индекс VER_IDX), вертикальный диагональный режим (индекс VDIA_IDX), диагональный режим (индекс DIA_IDX) или режим 2 внутреннего предсказания (индекс 2), в соответствии с указанным выше порядком в список режимов MPM, если рассматриваемый режим внутреннего предсказания не входит в список режимов MPM, пока число режимов предсказания в этом списке не станет равно пороговой величине.iteratively adding an intra prediction mode from a plurality of intra prediction modes comprising vertical mode (VER_IDX index), vertical diagonal mode (VDIA_IDX index), diagonal mode (DIA_IDX index), or intra prediction mode 2 (index 2), according to the above order in a list of MPM modes, if the intra prediction mode in question is not included in the list of MPM modes, until the number of prediction modes in the list is equal to a threshold.

В одном из примеров, после этапа шесть, когда список режимов MPM все еще не заполнен и когда блок слева от текущего блока кодирования недоступен, добавляют режимы внутреннего предсказания из списка режимов по умолчанию по порядку в список режимов MPM, когда этот режим или эти режимы не входят в список режимов MPM, этот этап выполняют итеративно до тех пор, пока список режимов MPM не будет заполнен.In one example, after step six, when the MPM mode list is still empty and when the block to the left of the current coding block is not available, add intra prediction modes from the default mode list in order to the MPM mode list when that mode or those modes are not are in the MPM mode list, this step is performed iteratively until the MPM mode list is full.

Этап семь: добавление вертикального режима (индекс VER_IDX), вертикального диагонального режима (индекс VDIA_IDX), диагонального режима (индекс DIA_IDX) или режима 2 внутреннего предсказания (индекс 2) в список режимов MPM.Step seven: adding vertical mode (VER_IDX index), vertical diagonal mode (VDIA_IDX index), diagonal mode (DIA_IDX index), or intra prediction mode 2 (index 2) to the MPM mode list.

Например, когда вертикальный режим не входит в список режимов MPM и список режимов MPM не заполнен, добавляют этот вертикальный режим в список режимов MPM, если после добавления этого вертикального режима список режимов MPM будет заполнен, завершают построение списка режимов MPM.For example, when the vertical mode is not included in the MPM mode list and the MPM mode list is not filled, add this vertical mode to the MPM mode list, if after adding this vertical mode the MPM mode list is full, complete the construction of the MPM mode list.

И если список режимов MPM по-прежнему не заполнен после добавления вертикального режима, проверяют, входит ли вертикальный диагональный режим в список режимов MPM. Если этот вертикальный диагональный режим входит в список режимов MPM, далее проверяют, входит ли диагональный режим в список режимов MPM; если этот диагональный режим не входит в список режимов MPM, добавляют этот диагональный режим в список режимов MPM. Этот этап выполняют итеративно до тех пор, пока список режимов MPM не будет заполнен.And if the MPM mode list is still empty after adding the vertical mode, it is checked whether the vertical diagonal mode is included in the MPM mode list. If this vertical diagonal mode is included in the MPM mode list, then it is checked whether the diagonal mode is included in the MPM mode list; if this diagonal mode is not included in the MPM mode list, add this diagonal mode to the MPM mode list. This step is performed iteratively until the list of MPM modes is full.

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит:In one form of implementation of the present application, this method further comprises:

когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, и когда блок сверху от текущего блока кодирования недоступен, проверку, входит ли первый режим внутреннего предсказания из множества режимов внутреннего предсказания в список режимов MPM, и добавление этого первого режима внутреннего предсказания в список режимов MPM, если этот первый режим внутреннего предсказания не входит в список режимов MPM, где указанное множество режимов внутреннего предсказания содержит горизонтальный режим (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), диагональный режим (индекс DIA_IDX) или вертикальный диагональный режим (индекс VDIA_IDX).when the number of intra prediction modes in the MPM mode list is less than a threshold, and when a block upstream of the current coding block is unavailable, checking whether the first intra prediction mode of the plurality of intra prediction modes is included in the MPM mode list, and adding the first intra prediction mode to the list MPM modes, if this first intra prediction mode is not included in the list of MPM modes, where the specified set of intra prediction modes contains a horizontal mode (HOR_IDX index), intra prediction mode 2 (index 2), a diagonal mode (DIA_IDX index), or a vertical diagonal mode ( VDIA_IDX index).

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит:In one form of implementation of the present application, this method further comprises:

когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, и когда блок сверху от текущего блока кодирования недоступен, итеративное добавление режима внутреннего предсказания из множества режимов внутреннего предсказания, содержащего горизонтальный режим (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), диагональный режим (индекс DIA_IDX) или вертикальный диагональный режим (индекс VDIA_IDX), в соответствии с указанным выше порядком в список режимов MPM, если рассматриваемый режим внутреннего предсказания не входит в список режимов MPM, пока число режимов предсказания в этом списке не станет равно пороговой величине.when the number of intra prediction modes in the MPM mode list is less than a threshold, and when a block upstream of the current coding block is not available, iteratively adding an intra prediction mode from a plurality of intra prediction modes containing a horizontal mode (HOR_IDX index), intra prediction mode 2 (index 2) , diagonal mode (DIA_IDX index) or vertical diagonal mode (VDIA_IDX index), according to the above order in the MPM mode list, if the intra prediction mode in question is not in the MPM mode list, until the number of prediction modes in the list equals the threshold size.

В одном из примеров, после этапа шесть, когда список режимов MPM по-прежнему не заполнен, и когда блок сверху от текущего блока кодирования недоступен, добавление режима внутреннего предсказания из списка режимов по умолчанию упорядоченно в список режимов MPM, когда этот режим или эти режимы не входят в список режимов MPM, этот этап выполняют итеративно до тех пор, пока список режимов MPM не будет заполнен.In one example, after step six, when the MPM mode list is still empty, and when the block above the current coding block is not available, adding an intra prediction mode from the default mode list is ordered to the MPM mode list when that mode or those modes are not included in the MPM mode list, this step is performed iteratively until the MPM mode list is full.

Этап семь: добавление горизонтального режима (индекс HOR_IDX), режима 2 внутреннего предсказания (индекс 2), диагонального режима (индекс DIA_IDX) или вертикального диагонального режима (индекс VDIA_IDX) в список режимов MPM.Step seven: adding a horizontal mode (HOR_IDX index), intra prediction mode 2 (index 2), a diagonal mode (DIA_IDX index), or a vertical diagonal mode (VDIA_IDX index) to the MPM mode list.

Например, если горизонтальный режим не входит в список режимов MPM и этот список режимов MPM не заполнен, добавляют этот горизонтальный режим в список режимов MPM, если список режимов MPM будет заполнен после добавления горизонтального режима, завершают построение списка режимов MPM.For example, if the horizontal mode is not included in the MPM mode list and this MPM mode list is not filled, add this horizontal mode to the MPM mode list, if the MPM mode list is filled after adding the horizontal mode, complete the construction of the MPM mode list.

А если список режимов MPM по-прежнему не заполнен после добавления указанного горизонтального режима, проверяют, входит ли режим 2 внутреннего предсказания в список режимов MPM. Если режим 2 внутреннего предсказания входит в список режимов MPM, далее проверяют, входит ли диагональный режим в список режимов MPM; если этот диагональный режим не входит в список режимов MPM, добавляют этот диагональный режим в список режимов MPM. Этот этап выполняют итеративно до тех пор, пока список режимов MPM не будет заполнен.And if the MPM mode list is still empty after adding the indicated horizontal mode, it is checked whether intra prediction mode 2 is included in the MPM mode list. If intra prediction mode 2 is included in the MPM mode list, then it is checked whether the diagonal mode is included in the MPM mode list; if this diagonal mode is not included in the MPM mode list, add this diagonal mode to the MPM mode list. This step is performed iteratively until the list of MPM modes is full.

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит: когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, блок слева от текущего блока кодирования доступен и блок сверху от текущего блока кодирования доступен,In one form of implementation of the present application, this method further comprises: when the number of intra prediction modes in the MPM mode list is less than a threshold, the block to the left of the current coding block is available and the block above the current coding block is available,

проверку, входит ли первый режим внутреннего предсказания из множества режимов внутреннего предсказания в список режимов MPM, и добавление этого первого режима внутреннего предсказания в список режимов MPM, если этот первый режим внутреннего предсказания не входит в список режимов MPM, где это множество режимов внутреннего предсказания содержит вертикальный режим (индекс VER_IDX), горизонтальный режим (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), вертикальный диагональный режим (индекс VDIA_IDX) или диагональный режим (индекс DIA_IDX).checking whether the first intra prediction mode of the plurality of intra prediction modes is included in the MPM mode list, and adding this first intra prediction mode to the MPM mode list, if this first intra prediction mode is not included in the MPM mode list, where the plurality of intra prediction modes contains vertical mode (VER_IDX index), horizontal mode (HOR_IDX index), intra prediction mode 2 (index 2), vertical diagonal mode (VDIA_IDX index), or diagonal mode (DIA_IDX index).

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит:In one form of implementation of the present application, this method further comprises:

когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины, блок слева от текущего блока кодирования доступен и блок сверху от текущего блока кодирования доступен, итеративное добавление режима внутреннего предсказания из множества режимов внутреннего предсказания, содержащего вертикальный режим (индекс VER_IDX), горизонтальный режим (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), вертикальный диагональный режим (индекс VDIA_IDX) или диагональный режим (индекс DIA_IDX), в соответствии с указанным выше порядком в список режимов MPM, если рассматриваемый режим внутреннего предсказания не входит в список режимов MPM, пока число режимов предсказания в этом списке не станет равно пороговой величине.when the number of intra prediction modes in the MPM mode list is less than a threshold, the block to the left of the current coding block is available and the block upstream of the current coding block is available, iteratively adding an intra prediction mode from a plurality of intra prediction modes containing a vertical mode (VER_IDX index), a horizontal mode (HOR_IDX index), intra prediction mode 2 (index 2), vertical diagonal mode (VDIA_IDX index), or diagonal mode (DIA_IDX index), according to the above order into the MPM mode list, if the considered intra prediction mode is not in the mode list MPM until the number of prediction modes in this list equals a threshold.

В одном из примеров, после этапа шесть, если список режимов MPM все еще не заполнен, блок слева от текущего блока кодирования доступен и блок сверху от текущего блока кодирования также доступен, добавляют режим внутреннего предсказания из списка режимов по умолчанию в список режимов MPM, если этот режим или эти режимы внутреннего предсказания не входит в список режимов MPM, этот этап выполняют итеративно до тех пор, пока список режимов MPM не будет заполнен.In one example, after step six, if the MPM mode list is still empty, the block to the left of the current coding block is available, and the block above the current coding block is also available, add an intra prediction mode from the default mode list to the MPM mode list if this mode or these intra prediction modes is not included in the MPM mode list, this step is performed iteratively until the MPM mode list is full.

Этап семь: добавление вертикального режима (индекс VER_IDX), горизонтального режима (индекс HOR_IDX), режима 2 внутреннего предсказания (индекс 2), вертикального диагонального режима (индекс VDIA_IDX) или диагонального режима (индекс DIA_IDX) в список режимов MPM.Step seven: adding vertical mode (VER_IDX index), horizontal mode (HOR_IDX index), intra prediction mode 2 (index 2), vertical diagonal mode (VDIA_IDX index), or diagonal mode (DIA_IDX index) to the MPM mode list.

Например, если вертикальный режим не входит в список режимов MPM и список режимов MPM не заполнен, добавляют вертикальный режим в список режимов MPM, если список режимов MPM будет заполнен после добавление этого вертикального режима, завершают построение списка режимов MPM.For example, if the vertical mode is not included in the MPM mode list and the MPM mode list is not filled, add the vertical mode to the MPM mode list, if the MPM mode list is full after adding this vertical mode, complete the MPM mode list.

А если этот список режимов MPM все еще не заполнен после добавления указанного вертикального режима, проверяют, входит ли горизонтальный режим в список режимов MPM. Если горизонтальный режим входит в список режимов MPM, дополнительно проверяют, входит ли режим 2 внутреннего предсказания в список режимов MPM; если этот режим 2 внутреннего предсказания не входит в список режимов MPM, добавляют режим 2 внутреннего предсказания в список режимов MPM. Этот этап выполняют итеративно до тех пор, пока список режимов MPM не будет заполнен.And if this MPM mode list is still empty after adding the specified vertical mode, it is checked whether the horizontal mode is included in the MPM mode list. If the horizontal mode is included in the MPM mode list, it is additionally checked whether intra prediction mode 2 is included in the MPM mode list; if this intra prediction mode 2 is not included in the MPM mode list, intra prediction mode 2 is added to the MPM mode list. This step is performed iteratively until the list of MPM modes is full.

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит: добавление вертикального режима (индекс VER_IDX), горизонтального режима (индекс HOR_IDX), режима с индексом VER_IDX с добавленным сдвигом -4 или режима с индексом VER_IDX с добавленным сдвигом 4 в список режимов MPM.In one embodiment of the present application, this method further comprises: adding vertical mode (VER_IDX index), horizontal mode (HOR_IDX index), VER_IDX index mode with offset -4 added, or VER_IDX index mode with offset 4 added to the MPM mode list .

В одной из форм реализации настоящей заявки, этот способ дополнительно содержит: добавление вертикального режима (индекс VER_IDX), горизонтального режима (индекс HOR_IDX), режима с индексом VER_IDX с добавленным сдвигом 4 или режима индекса VER_IDX с добавленным сдвигом -4 в список режимов MPM.In one embodiment of the present application, this method further comprises: adding vertical mode (VER_IDX index), horizontal mode (HOR_IDX index), VER_IDX index mode with an offset of 4, or VER_IDX index mode with an offset of -4 added to the MPM mode list.

В одном из примеров, после этапа шесть, если список режимов MPM все еще не заполнен, добавляют режим внутреннего предсказания из списка режимов по умолчанию в список режимов MPM, если этот режим или эти режимы не входят в список режимов MPM, итеративно выполняют этот этап до тех пор, пока список режимов MPM не будет заполнен.In one example, after step six, if the MPM mode list is still empty, add an intra prediction mode from the default mode list to the MPM mode list, if that mode or those modes are not included in the MPM mode list, iteratively perform this step until until the list of MPM modes is full.

Этап семь: добавление вертикального режима (индекс VER_IDX), горизонтального режима (индекс HOR_IDX), режим с индексом VER_IDX с добавленным сдвигом -4 или режим с индексом VER_IDX с добавленным сдвигом 4 в список режимов MPM; или добавление вертикального режима (индекс VER_IDX), горизонтального режима (индекс HOR_IDX), режима с индексом VER_IDX с добавленным сдвигом 4 или режима с индексом VER_IDX с добавленным сдвигом -4 в список режимов MPM.Step seven: adding vertical mode (VER_IDX index), horizontal mode (HOR_IDX index), VER_IDX index mode with offset -4 added, or VER_IDX index mode with offset 4 added to the MPM mode list; or adding vertical mode (VER_IDX index), horizontal mode (HOR_IDX index), VER_IDX index mode with offset 4 added, or VER_IDX index mode with offset -4 added to the list of MPM modes.

Например, если вертикальный режим не входит в список режимов MPM и этот список режимов MPM не заполнен, добавляют вертикальный режим в список режимов MPM, если же список режимов MPM будет заполнен после добавления этого вертикального режима, завершают построение списка режимов MPM.For example, if the vertical mode is not included in the MPM mode list and this MPM mode list is not filled, add the vertical mode to the MPM mode list, if the MPM mode list is filled after adding this vertical mode, complete the construction of the MPM mode list.

И если список режимов MPM все еще не заполнен после добавления указанного вертикального режима, проверяют, входит ли горизонтальный режим в список режимов MPM. Если этот горизонтальный режим входит в список режимов MPM, дополнительно проверяют, входит ли режим предсказания, величина индекса которого равна величине индекса VER_IDX с добавленным сдвигом -4, в список режимов MPM; если режим предсказания, индекс которого равен величине индекса VER_IDX с добавленным сдвигом -4, не входит в список режимов MPM, добавляют этот режим предсказания, величина индекса которого равна величине индекса VER_IDX с добавленным сдвигом -4, в список режимов MPM. Этот этап выполняют итеративно до тех пор, пока список режимов MPM не будет заполнен.And if the MPM mode list is still empty after adding the specified vertical mode, it is checked whether the horizontal mode is included in the MPM mode list. If this horizontal mode is included in the MPM mode list, it is further checked whether a prediction mode whose index value is equal to the VER_IDX index value with an offset of -4 added is included in the MPM mode list; if the prediction mode whose index value is equal to the VER_IDX index value with offset -4 added is not in the MPM mode list, the prediction mode whose index value is equal to the VER_IDX index value with offset -4 added is added to the MPM mode list. This step is performed iteratively until the list of MPM modes is full.

В одном из примеров, после этапа шесть, если список режимов MPM по-прежнему не заполнен и если блок слева от текущего блока кодирования недоступен, добавляют режим внутреннего предсказания из списка режимов по умолчанию в список режимов MPM, если этот режим или эти режимы не входят в список режимов MPM, итеративно выполняют этот этап до тех пор, пока список режимов MPM не будет заполнен.In one example, after step six, if the MPM mode list is still empty and if the block to the left of the current coding block is not available, add an intra prediction mode from the default mode list to the MPM mode list if that mode or those modes are not included. to the MPM mode list, this step is iteratively performed until the MPM mode list is full.

Этап семь: добавление вертикального режима (индекс VER_IDX), вертикального диагонального режима (индекс VDIA_IDX), диагонального режима (индекс DIA_IDX) или режима 2 внутреннего предсказания (индекс 2) в список режимов MPM.Step seven: adding vertical mode (VER_IDX index), vertical diagonal mode (VDIA_IDX index), diagonal mode (DIA_IDX index), or intra prediction mode 2 (index 2) to the MPM mode list.

Например, если вертикальный режим не входит в список режимов MPM и если список режимов MPM не заполнен, добавляют этот вертикальный режим в список режимов MPM, если после добавления этого вертикального режима список режимов MPM будет заполнен, завершают построение этого списка режимов MPM.For example, if the vertical mode is not included in the MPM mode list and if the MPM mode list is not filled, add this vertical mode to the MPM mode list, if after adding this vertical mode the MPM mode list is full, complete the construction of this MPM mode list.

А если после добавления этого вертикального режима список режимов MPM будет по-прежнему не заполнен, проверяют, входит ли вертикальный диагональный режим в этот список режимов MPM. Если этот вертикальный диагональный режим входит в список режимов MPM, далее проверяют, входит ли диагональный режим в этот список режимов MPM; если этот диагональный режим не входит в список режимов MPM, добавляют этот диагональный режим в список режимов MPM. Этот этап выполняют итеративно до тех пор, пока список режимов MPM не будет заполнен.And if, after adding this vertical mode, the MPM mode list is still empty, it is checked whether the vertical diagonal mode is included in this MPM mode list. If this vertical diagonal mode is included in the MPM mode list, then it is checked whether the diagonal mode is included in this MPM mode list; if this diagonal mode is not included in the MPM mode list, add this diagonal mode to the MPM mode list. This step is performed iteratively until the list of MPM modes is full.

В одном из примеров, после этапа шесть, если список режимов MPM по-прежнему не заполнен, и если блок сверху от текущего блока кодирования недоступен, добавляют режим внутреннего предсказания из списка режимов по умолчанию в список режимов MPM, если этот режим или эти режимы не входят в список режимов MPM, итеративно выполняют этот этап до тех пор, пока список режимов MPM не будет заполнен.In one example, after step six, if the MPM mode list is still empty and if the block upstream of the current coding block is not available, add an intra prediction mode from the default mode list to the MPM mode list if that mode or those modes are not enter the MPM mode list, iteratively perform this step until the MPM mode list is full.

Этап семь: добавление горизонтального режима (индекс HOR_IDX), режима 2 внутреннего предсказания (индекс 2), диагонального режима (индекс DIA_IDX) или вертикального диагонального режим (индекс VDIA_IDX) в список режимов MPM.Step seven: adding a horizontal mode (HOR_IDX index), intra prediction mode 2 (index 2), a diagonal mode (DIA_IDX index), or a vertical diagonal mode (VDIA_IDX index) to the MPM mode list.

Например, когда горизонтальный режим не входит в список режимов MPM, и этот список режимов MPM не заполнен, добавляют этот горизонтальный режим в список режимов MPM, если после добавления этого горизонтального режима список режимов MPM будет заполнен, завершают построение этого списка режимов MPM.For example, when the horizontal mode is not included in the MPM mode list, and this MPM mode list is not filled, add this horizontal mode to the MPM mode list, if after adding this horizontal mode the MPM mode list is full, complete the construction of this MPM mode list.

А если список режимов MPM по-прежнему не заполнен после добавления горизонтальный режим, проверяют, входит ли режим 2 внутреннего предсказания в список режимов MPM. Когда этот режим 2 внутреннего предсказания входит в список режимов MPM, дополнительно проверяют, входит ли диагональный режим в список режимов MPM; если этот диагональный режим не входит список режимов MPM, добавляют этот диагональный режим в список режимов MPM. Этот этап выполняют итеративно до тех пор, пока список режимов MPM не будет заполнен.And if the MPM mode list is still empty after adding the horizontal mode, it is checked whether intra prediction mode 2 is included in the MPM mode list. When this intra prediction mode 2 is included in the MPM mode list, it is additionally checked whether the diagonal mode is included in the MPM mode list; if this diagonal mode is not in the MPM mode list, add this diagonal mode to the MPM mode list. This step is performed iteratively until the list of MPM modes is full.

В одном из примеров, после этапа шесть, если список режимов MPM все еще не заполнен, блок слева от текущего блока кодирования доступен и блок сверху от текущего блока кодирования доступен, добавляют режим внутреннего предсказания из списка режимов по умолчанию в список режимов MPM, если этот режим или эти режимы не входят в список режимов MPM, итеративно выполняют этот этап до тех пор, пока список режимов MPM не будет заполнен.In one example, after step six, if the MPM mode list is still empty, the block to the left of the current coding block is available, and the block above the current coding block is available, add an intra prediction mode from the default mode list to the MPM mode list, if this mode or these modes are not included in the MPM mode list, iteratively perform this step until the MPM mode list is full.

Этап семь: добавление вертикального режима (индекс VER_IDX), горизонтального режима (индекс HOR_IDX), режима с индексом VER_IDX с добавленным сдвигом -4 или режима с индексом VER_IDX с добавленным сдвигом 4 в список режимов MPM.Step seven: adding vertical mode (VER_IDX index), horizontal mode (HOR_IDX index), VER_IDX index mode with offset -4 added, or VER_IDX index mode with offset 4 added to the MPM mode list.

В одном из примеров, готовят предварительно заданные режимы по умолчанию: а именно, вертикальный режим (индекс VER_IDX), горизонтальный режим (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), вертикальный диагональный режим (индекс VDIA_IDX) или диагональный режим (индекс DIA_IDX), для построения списка режимов MPM, когда этот список не заполнен. Предложены два дополнительных подхода относительно этих режимов по умолчанию. Это адаптивный подход по умолчанию и измененный подход по умолчанию.In one example, preset default modes are prepared: namely, vertical mode (VER_IDX index), horizontal mode (HOR_IDX index), intra prediction mode 2 (index 2), vertical diagonal mode (VDIA_IDX index), or diagonal mode (index DIA_IDX) to build a list of MPM modes when that list is empty. Two additional approaches have been proposed regarding these default modes. This is the default adaptive approach and the modified default approach.

Подход, использующий адаптивные режимы, рассматривает блоки, расположенные на левом крае и на верхнем крае кадра.The adaptive modes approach considers blocks located on the left edge and on the top edge of the frame.

Для блоков, расположенных на левой границе кадра, горизонтальный режим вряд ли используется, поскольку исходные отсчеты для предсказания, которые в этом случае должны располагаться в блоке слева от текущего блока, не существуют. Кроме того, режимы, которые в общем случае используют горизонтальные режимы (т.е. режим с индексом DIA_IDX, режим 2), имеют меньшую вероятность применения.For blocks located on the left border of the frame, the horizontal mode is hardly used, since the initial samples for prediction, which in this case should be located in the block to the left of the current block, do not exist. Also, modes that generally use horizontal modes (ie, the mode with index DIA_IDX, mode 2) are less likely to be applied.

Для блоков, расположенных на верхней границе кадра, вертикальный режим вряд ли используется, поскольку исходные отсчеты для предсказания, которые в этом случае должны располагаться в блоке сверху от текущего блока, не существуют. Кроме того, режимы, которые в общем случае используют вертикальные режимы (т.е. режимы с индексами VDIA_IDX, DIA_IDX), имеют меньшую вероятность применения.For blocks located at the upper frame boundary, the vertical mode is hardly used, since the initial samples for prediction, which in this case should be located in the block above the current block, do not exist. Also, modes that generally use vertical modes (ie, modes with VDIA_IDX, DIA_IDX indexes) are less likely to be applied.

Поэтому используется следующий подход с учетом границ:Therefore, the following approach is used, taking into account the boundaries:

Когда блок слева от текущего блока кодирования не существует, тогда используют следующие режимы по порядку перечисления в качестве режимов-кандидатов по умолчанию: режимы с индексами VER_IDX, VDIA_IDX, DIA_IDX и режим 2.When a block to the left of the current coding block does not exist, then use the following modes in the order of enumeration as candidate default modes: modes with indices VER_IDX, VDIA_IDX, DIA_IDX, and mode 2.

В противном случае (блок слева существует):Otherwise (the block on the left exists):

Когда блок сверху от текущего блока кодирования не существует, тогда используют следующие режимы по порядку перечисления в качестве режимов-кандидатов по умолчанию: режим с индексом HOR_IDX, режим 2, режимы с индексами DIA_IDX, VDIA_IDX.When a block above the current coding block does not exist, then use the following modes in the order of enumeration as candidate default modes: mode with index HOR_IDX, mode 2, modes with indices DIA_IDX, VDIA_IDX.

В противном случае (блок сверху существует), используют нормальные режимы по умолчанию: режимы с индексами VER_IDX, HOR_IDX, режим 2 внутреннего предсказания (2), режим с индексом VDIA_IDX или режим с индексом DIA_IDX.Otherwise (top block exists), default normal modes are used: VER_IDX, HOR_IDX index modes, intra prediction mode 2 (2), VDIA_IDX index mode, or DIA_IDX index mode.

Подход с измененными режимами по умолчанию добавляет следующие режимы-кандидаты по умолчанию в список режимов MPM: режимы с индексами VER, HOR, VER-4, VER+4. Порядок режимов с индексами VER-4 и VER+4 может быть обменен.The modified default mode approach adds the following candidate default modes to the list of MPM modes: modes indexed VER, HOR, VER-4, VER+4. The order of modes with indices VER-4 and VER+4 can be exchanged.

Одна из комбинаций этих двух способов может представлять собой:One of the combinations of these two methods can be:

Когда блок слева от текущего блока кодирования не существует, тогда используют следующие режимы по порядку перечисления в качестве режимов-кандидатов по умолчанию: режимы с индексами VER_IDX, VDIA_IDX, DIA_IDX, режим 2.When the block to the left of the current coding block does not exist, then use the following modes in the order of enumeration as candidate default modes: modes with indices VER_IDX, VDIA_IDX, DIA_IDX, mode 2.

В противном случае (блок слева существует):Otherwise (the block on the left exists):

Когда блок сверху от текущего блока кодирования не существует, тогда используют следующие режимы по порядку перечисления в качестве режимов-кандидатов по умолчанию: режим с индексом HOR_IDX, режим 2, режимы с индексами DIA_IDX, VDIA_IDX.When a block above the current coding block does not exist, then use the following modes in the order of enumeration as candidate default modes: mode with index HOR_IDX, mode 2, modes with indices DIA_IDX, VDIA_IDX.

В противном случае (блок сверху существует), используют измененные режимы по умолчанию: режимы с индексами VER_IDX, HOR_IDX, VER, HOR, VER-4, VER+4.Otherwise (the block above exists), the modified default modes are used: modes with indices VER_IDX, HOR_IDX, VER, HOR, VER-4, VER+4.

Согласно одному из аспектов настоящего изобретения, предложен упрощенный способ построения 6-входового списка режимов MPM, содержащий: проверку доступности блока слева от текущих единиц кодирования. Положение этого блока слева иллюстрировано на фиг. 5, где этот блок слева маркирован “L”.According to one aspect of the present invention, a simplified method for constructing a 6-input MPM mode list is proposed, comprising: checking the availability of a block to the left of the current coding units. The position of this block on the left is illustrated in Fig. 5, where this block is labeled “L” on the left.

Блок слева недоступен, когда из этого блока слева не может быть выведена информация о внутреннем предсказании (т.е. режим внутреннего предсказания). Сюда входят следующие случаи:The block on the left is unavailable when intra prediction information (ie, intra prediction mode) cannot be output from that block on the left. This includes the following cases:

Блок слева не является блоком, предсказанным в режиме внутреннего предсказания. Блок слева не существует, например, текущий блок представляет собой блок кодирования, расположенный на левом крае кадра. Когда кодирующее устройство или декодирующее устройство поддерживает параллельную обработку, блок слева может считаться несуществующим (или недоступным), когда он расположен в плитке, отличной от плитки, где находится текущий блок, т.е. этот текущий блок кодирования располагается или располагался на левом крае плитки.The block on the left is not a block predicted in the intra prediction mode. The block on the left does not exist, for example, the current block is a coding block located on the left edge of the frame. When the encoder or decoder supports parallel processing, the block on the left can be considered non-existent (or inaccessible) when it is located in a tile other than the tile where the current block is, i.e. this current coding block is or was located on the left edge of the tile.

В другом примере, когда кодирующее устройство или декодирующее устройство не поддерживает параллельную обработку, блок слева может считаться доступным, когда он расположен в разных плитках с текущим блоком, т.е. текущий блок кодирования располагается на левом крае плитки.In another example, when the encoder or decoder does not support parallel processing, the block on the left can be considered available when it is in different tiles from the current block, i.e. the current encoding block is located on the left edge of the tile.

Когда кодирующее устройство или декодирующее устройство поддерживает параллельную обработку, блок слева может считаться несуществующим, когда он и текущий блок располагаются в разных срезах, т.е. текущий блок кодирования располагается на левом крае среза.When the encoder or decoder supports parallel processing, the block on the left can be considered non-existent when it and the current block are in different slices, i.e. the current coding block is located on the left edge of the slice.

В другом примере, когда кодирующее устройство или декодирующее устройство не поддерживает параллельную обработку, блок слева может считаться доступным, когда он расположен в разных срезах с текущим блоком, т.е. текущий блок кодирования располагается на левом крае среза.In another example, when the encoder or decoder does not support parallel processing, the block on the left can be considered available when it is located in different slices from the current block, i.e. the current coding block is located on the left edge of the slice.

Противный случай (т.е. блок слева доступен), содержит режим внутреннего предсказания относительно блока слева в имеющем 6 входов списке режимов MPM.The opposite case (ie, the block on the left is available) contains the intra prediction mode relative to the block on the left in the 6-entry MPM mode list.

Проверяют доступность блока сверху относительно текущих единиц кодирования. Расположение такого блока сверху иллюстрировано на фиг. 5, где этот блок сверху маркирован “A”.Check the accessibility of the block from above with respect to the current coding units. The location of such a block from above is illustrated in Fig. 5, where this block is labeled “A” at the top.

Блок сверху недоступен, когда из этого блока сверху не может быть выведена информация о внутреннем предсказании (т.е. режим внутреннего предсказания). Сюда входят следующие случаи:The top block is unavailable when intra prediction information (ie, intra prediction mode) cannot be output from this top block. This includes the following cases:

Блок сверху не является блоком, предсказанным в режиме внутреннего предсказания.The block on top is not a block predicted in the intra prediction mode.

Блок сверху не существует. Например, текущий блок представляет собой блок кодирования, расположенный на верхнем крае кадра.The block above does not exist. For example, the current block is a coding block located at the top edge of the frame.

Когда кодирующее устройство или декодирующее устройство поддерживает параллельную обработку, блок сверху может считаться несуществующим (или недоступным), когда он расположен в плитке, отличной от плитки, где находится текущий блок, т.е. этот текущий блок кодирования располагается на верхнем крае плитки.When the encoder or decoder supports parallel processing, the block on top may be considered non-existent (or inaccessible) when it is located in a tile other than the tile where the current block is, i.e. this current encoding block is located at the top edge of the tile.

В другом примере, когда кодирующее устройство или декодирующее устройство не поддерживает параллельную обработку, блок сверху может считаться доступным, когда он расположен в разных плитках с текущим блоком, т.е. текущий блок кодирования располагается на верхнем крае плитки.In another example, when the encoder or decoder does not support parallel processing, the top block may be considered available when it is in different tiles from the current block, i. the current coding block is located at the top edge of the tile.

Когда кодирующее устройство или декодирующее устройство поддерживает параллельную обработку, блок сверху может считаться несуществующим, когда он и текущий блок располагаются в разных срезах, т.е. текущий блок кодирования располагается на верхнем крае среза.When the encoder or decoder supports parallel processing, the top block may be considered non-existent when it and the current block are in different slices, i.e. the current coding block is located at the top edge of the slice.

В другом примере, когда кодирующее устройство или декодирующее устройство не поддерживает параллельную обработку, блок сверху может считаться доступным, когда он расположен в разных срезах с текущим блоком, т.е. текущий блок кодирования располагается на верхнем крае среза.In another example, when the encoder or decoder does not support parallel processing, the top block may be considered available when it is located in different slices from the current block, i.e. the current coding block is located at the top edge of the slice.

Когда нужно ограничить размер буфера строки в кодирующем устройстве или декодирующем устройстве, блок сверху может считаться несуществующим, когда он располагается в другой единице CTU относительно текущего блока, т.е. этот текущий блок кодирования располагается на верхнем крае текущей единицы CTU.When it is necessary to limit the size of the line buffer in the encoder or decoder, the block above can be considered non-existent when it is located in a different CTU relative to the current block, i.e. this current coding unit is located at the top edge of the current CTU.

В одном из примеров, когда сторона декодирующего устройства или сторона кодирующего устройства поддерживает ограничение размера буфера строки, тогда блок сверху, который располагается в единице CTU, отличной от единицы CTU, где находится текущий блок, считается несуществующим. Когда ограничение размера буфера строки не поддерживается, тогда блок считается существующим.In one example, when the decoder side or the encoder side supports a line buffer size limit, then the top block that resides in a CTU other than the CTU where the current block resides is considered non-existent. When the line buffer size limit is not supported, then the block is considered to exist.

Противный случай (т.е. блок слева доступен), содержит режим внутреннего предсказания относительно блока сверху в имеющем 6 входов списке режимов MPM.The opposite case (ie, the block on the left is available) contains the intra prediction mode relative to the block on top in the 6-entry MPM mode list.

Проверяют, был ли введен планарный (PLANAR_IDX=0) режим в список режимов MPM, (т.е. проверяют, является какой-либо из режимов внутреннего предсказания относительно блока слева или блока сверху планарным режимом), только если планарный режим не был вставлен в список режимов MPM, тогда вставляют планарный режим в список режимов MPM. Проверяют, был ли введен DC-режим (DC_IDX=1) в список режимов MPM, (т.е. проверяют, является какой-либо из режимов внутреннего предсказания относительно блока слева или блока сверху DC-режимом), только если DC-режим не был вставлен в список режимов MPM, тогда вставляют этот DC-режим в список режимов MPM.It is checked whether the planar (PLANAR_IDX=0) mode has been inserted into the MPM mode list, (i.e., it is checked whether any of the intra prediction modes relative to the block on the left or the block on top is a planar mode), only if the planar mode has not been inserted in list of MPM modes, then insert the planar mode into the list of MPM modes. It is checked whether the DC mode (DC_IDX=1) has been entered into the MPM mode list, (i.e., it is checked whether any of the intra prediction modes with respect to the block on the left or the block on top is the DC mode), only if the DC mode is not was inserted into the MPM mode list, then insert this DC mode into the MPM mode list.

Когда блок слева доступен и когда режим внутреннего предсказания относительно этого блока является угловым режимом, т.е. (режим с индексом > DC_IDX, и его можно назвать угловым режима предсказания относительно блока слева (режим с индексом angularLeft)), получают индексы двух ближайших к нему угловых режимов путем вычисления индексов angularLeft-1, angularLeft+1. Отметим, что операция добавления сдвига -1 или +1 может содержать операцию перехода по кругу вверх или вниз, например,When a block on the left is available and when the intra prediction mode with respect to that block is angular mode, i.e. (the mode with index > DC_IDX, and it can be called the corner of the prediction mode with respect to the block on the left (the mode with the index angularLeft)), get the indices of the two corner modes closest to it by calculating the indices of angularLeft-1, angularLeft+1. Note that a -1 or +1 shift adding operation can contain an up or down circle operation, for example,

Когда индекс angularLeft режима равен 2, тогда индекс angularLeft-1 будет равен 66 (операция перехода по кругу вверх), или когда индекс angularLeft режима равен 66, тогда индекс angularLeft+1 будет равен 2 (операция перехода по кругу вниз).When the mode's angularLeft index is 2, then the angularLeft-1 index will be 66 (circle up operation), or when the mode's angularLeft index is 66, then the angularLeft+1 index will be 2 (circle down operation).

Когда режим предсказания с индексом angularLeft-1 не был вставлен в список режимов MPM, его вставляют в этот список режимов MPM.When a prediction mode with index angularLeft-1 has not been inserted into the MPM mode list, it is inserted into this MPM mode list.

Когда режим предсказания с индексом angularLeft+1 не был вставлен в список режимов MPM, его вставляют в этот список режимов MPM.When the prediction mode with index angularLeft+1 has not been inserted into the MPM mode list, it is inserted into this MPM mode list.

Когда список режимов MPM не заполнен, и когда блок сверху доступен, и когда режим внутреннего предсказания относительно этого блока является угловым режимом, т.е. (индекс режима > DC_IDX, его можно назвать угловым режимом предсказания относительно блока сверху (режим с индексом angularAbove)), получают индексы двух ближайших к нему угловых режим путем вычисления индексов angularAbove-1, angularAbove+1. Отметим, что операция добавления сдвига -1 или +1 может содержать операцию перехода по кругу вверх или вниз, в одном из примеров, когда индекс angularLeft режима равен 2, тогда индекс angularLeft-1 режима будет равен 66 (операция перехода по кругу вверх), или когда индекс angularLeft режима равен 66, тогда индекс angularLeft+1 режима будет равен 2 (операция перехода по кругу вниз).When the MPM mode list is empty, and when a block from above is available, and when the intra prediction mode with respect to this block is an angle mode, i.e. (mode index > DC_IDX, it can be called the angular mode of prediction relative to the block above (mode with index angularAbove)), get the indices of the two angular modes closest to it by calculating the indices of angularAbove-1, angularAbove+1. Note that an add shift operation of -1 or +1 may contain an up or down circle operation, in one example, when the mode's angularLeft index is 2, then the mode's angularLeft-1 index will be 66 (the circle up operation), or when the mode's angularLeft index is 66, then the mode's angularLeft+1 index will be 2 (circle down operation).

Когда режим предсказания с индексом angularAbove-1 не был вставлен в список режимов MPM, его вставляют в этот список режимов MPM.When a prediction mode with index angularAbove-1 has not been inserted into the list of MPM modes, it is inserted into this list of MPM modes.

Если список режимов MPM не заполнен (например, число режимов внутреннего предсказания в списке режимов MPM меньше 6) и если режим предсказания с индексом angularAbove+1 не был вставлен в список режимов MPM, его вставляют в этот список режимов MPM.If the MPM mode list is empty (eg, the number of intra prediction modes in the MPM mode list is less than 6) and if the prediction mode with index angularAbove+1 has not been inserted into the MPM mode list, it is inserted into the MPM mode list.

Когда список режимов MPM не заполнен, вставляют следующие режимы в список режимов MPM до тех пор, пока он не будет заполнен (например, число режимов внутреннего предсказания в списке режимов MPM равно 6):When the MPM mode list is empty, insert the following modes into the MPM mode list until it is full (for example, the number of intra prediction modes in the MPM mode list is 6):

вертикальный режим (индекс VER_IDX), горизонтальный режим (индекс HOR_IDX), режим 2 внутреннего предсказания (индекс 2), вертикальный диагональный режим (индекс VDIA_IDX) или диагональный режим (индекс DIA_IDX).vertical mode (VER_IDX index), horizontal mode (HOR_IDX index), intra prediction mode 2 (index 2), vertical diagonal mode (VDIA_IDX index), or diagonal mode (DIA_IDX index).

Краткая сводка вариаций предлагаемого способа:Brief summary of variations of the proposed method:

Доступность блока слева должна учитывать оба фактора – поддерживается или не поддерживается параллельная обработка.The accessibility of the block on the left must take into account both factors - whether parallel processing is supported or not.

Доступность блока сверху должна учитывать оба фактора – поддерживается или не поддерживается параллельная обработка.The accessibility of a block from above must take into account both factors - whether parallel processing is supported or not.

Для получения двух ближайших режимов относительно блока слева или относительно блока сверху к индексу основного режима можно также добавить сначала +1, а затем -1.To get the two nearest modes relative to the block on the left or relative to the block above, you can also add +1 first to the main mode index, and then -1.

Последний кандидат в список режимов MPM может иметь индекс VIDA_IDX или DIA_IDX.The last candidate for the list of MPM modes may have the index VIDA_IDX or DIA_IDX.

Вставка может также осуществляться в следующем порядке – режим слева, режим сверху, планарный режим, DC-режим и режимы по умолчанию (режимы с индексами VER_IDX, HOR_IDX, 2, VDIA_IDX или DIA_IDX).Insertion can also be done in the following order - left mode, top mode, planar mode, DC mode, and default modes (modes with indices VER_IDX, HOR_IDX, 2, VDIA_IDX or DIA_IDX).

Для передачи сигнализации индекса mpm_idx используется усеченная унарная бинаризация. Первые три пакета индекса mpm_idx могут использовать три разных независимых контекста или все пакеты индекса mpm_idx кодируют с использованием контекстно-адаптивное двоичное арифметическое кодирование (CABAC).Truncated unary binarization is used to signal the index mpm_idx. The first three mpm_idx index packets may use three different independent contexts, or all mpm_idx index packets are encoded using context-adaptive binary arithmetic coding (CABAC).

В одном из примеров, предложена процедура деривации режима внутреннего предсказания для яркостной составляющей.In one example, a procedure for deriving the intra prediction mode for the luminance component is proposed.

Входными данными для этой процедуры являются следующие:The input to this procedure is the following:

яркостная позиция (xCb , yCb), специфицирующая верхний-левый отсчет текущего яркостного блока кодирования относительно верхнего-левого отсчета текущего изображения,luminance position (xCb , yCb) specifying the top-left sample of the current luminance coding block relative to the top-left sample of the current picture,

переменная cbWidth, специфицирующая ширину текущего блока кодирования в яркостных отсчетах,variable cbWidth specifying the width of the current coding block in luma samples,

переменная cbHeight, специфицирующая высоту текущего блока кодирования в яркостных отсчетах.variable cbHeight specifying the height of the current encoding block in luma counts.

В этой процедуре получают режим внутреннего предсказания IntraPredModeY[ xCb ][ yCb ] яркостной составляющей.In this procedure, the intraprediction mode IntraPredModeY[ xCb ][ yCb ] of the luminance component is obtained.

Таблица 2 специфицирует величину индекса режима внутреннего предсказания IntraPredModeY[ xCb ][ yCb ] и ассоциированные имена.Table 2 specifies the intraprediction mode index value IntraPredModeY[ xCb ][ yCb ] and associated names.

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

Режим внутреннего предсказанияIntra prediction mode Ассоциированное имяAssociated name 00 INTRA_PLANARINTRA_PLANAR 1one INTRA_DCINTRA_DC 2..662..66 INTRA_ANGULAR2..INTRA_ANGULAR66INTRA_ANGULAR2..INTRA_ANGULAR66 7777 INTRA_CCLMINTRA_CCLM

Примечание: Режим внутреннего предсказания INTRA_CCLM применим только к цветностным составляющим.Note: The INTRA_CCLM intra prediction mode is only applicable to chroma.

Режим IntraPredModeY[ xCb ][ yCb ] определяют посредством следующих упорядоченных этапов:The IntraPredModeY[ xCb ][ yCb ] mode is determined through the following ordered steps:

Соседним позициям ( xNbA, yNbA ) и ( xNbB, yNbB ) присваивают координаты (xCb − 1, yCb + cbHeight - 1) и ( xCb + cbWidth - 1, yCb − 1 ), соответственно.The adjacent positions ( xNbA, yNbA ) and ( xNbB, yNbB ) are assigned coordinates (xCb − 1, yCb + cbHeight - 1) and ( xCb + cbWidth - 1, yCb − 1 ), respectively.

В случае замены X на A или B, переменные candIntraPredModeX и addModeX получают следующим образом:In the case of replacing X with A or B, the variables candIntraPredModeX and addModeX are obtained as follows:

Процедура деривации доступности для блока, как это специфицировано в пункте 6.4.X [Ed. (BB): Процедура проверки доступности соседних блоков (Neighbouring blocks availability checking process) tbd] привлекается так, что в качестве входных данных позиции (xCurr, yCurr) присваивают координаты (xCb, yCb) и соседней позиции (xNbY, yNbY) присваивают координаты (xNbX, yNbX), а выходными данными назначают переменную availableX.The accessibility derivation procedure for a block, as specified in clause 6.4.X of [Ed. (BB): Neighboring blocks availability checking process tbd] is invoked such that as input, positions (xCurr, yCurr) are assigned coordinates (xCb, yCb) and neighbor position (xNbY, yNbY) are assigned coordinates ( xNbX, yNbX), and assign the output variable availableX.

Режимы-кандидаты внутреннего предсказания candIntraPredModeX и addModeX are получают следующим образом:The candidate intra prediction modes candIntraPredModeX and addModeX are obtained as follows:

Когда одно или несколько из следующих условий являются истинными (выполняются), величину candIntraPredModeX устанавливают равной величине, отличной от интервала 0 – 66 (например, величине -1), включительно, и параметр addModeX устанавливают равным FALSE (ложно).When one or more of the following conditions are true (satisfied), the value of candIntraPredModeX is set to a value other than the range 0 to 66 (eg, a value of -1), inclusive, and the parameter addModeX is set to FALSE (false).

Переменная availableX равна FALSE.The availableX variable is FALSE.

Параметр CuPredMode[ xNbX ][ yNbX ] не равен MODE_INTRA.Parameter CuPredMode[ xNbX ][ yNbX ] is not equal to MODE_INTRA.

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

В противном случае, параметр candIntraPredModeX устанавливают равным IntraPredModeY[ xNbX ][ yNbX ], а параметр addModeX устанавливают равным TRUE. Переменную mIdx устанавливают равной 0. Параметр candModeList[ x ] при x = 0..5 получают следующим образом:Otherwise, the candIntraPredModeX parameter is set to IntraPredModeY[ xNbX ][ yNbX ] and the addModeX parameter is set to TRUE. The variable mIdx is set equal to 0. The parameter candModeList[ x ] with x = 0..5 is obtained as follows:

Найденный режим представляет собой угловой режим, когда и только когда его индекс находится между 2 и 66, включительно.The found mode is an angular mode when and only when its index is between 2 and 66, inclusive.

Когда один из режимов candIntraPredModeA и candIntraPredModeB является угловым режимом, применимо следующее: When one of candIntraPredModeA and candIntraPredModeB is angular mode, the following applies:

candModeList[ 0 ] = INTRA_PLANARcandModeList[ 0 ] = INTRA_PLANAR

candModeList[ 1 ] = INTRA_DCcandModeList[ 1 ] = INTRA_DC

candModeList[ 2 ] = INTRA_ANGULAR50candModeList[ 2 ] = INTRA_ANGULAR50

candModeList[ 3 ] = INTRA_ANGULAR18candModeList[ 3 ] = INTRA_ANGULAR18

candModeList[ 4 ] = INTRA_ANGULAR46candModeList[ 4 ] = INTRA_ANGULAR46

candModeList[ 5 ] = INTRA_ANGULAR54 candModeList[ 5 ] = INTRA_ANGULAR54

В противном случае (по меньшей мере один из режимов candIntraPredModeA и candIntraPredModeB является угловым режимом).Otherwise (at least one of candIntraPredModeA and candIntraPredModeB is an angular mode).

Когда параметр addModeA равен TRUE, параметр candModeList [ mIdx ] устанавливают равным candIntraPredModeA и индекс mIdx увеличивают на 1.When the addModeA parameter is TRUE, the candModeList [ mIdx ] parameter is set to candIntraPredModeA and the mIdx index is incremented by 1.

Когда параметр addModeB равен TRUE и индекс mIdx равен 0, параметр candModeList [ mIdx ] устанавливают равным candIntraPredModeB и индекс mIdx увеличивают на 1.When addModeB is TRUE and mIdx is 0, candModeList[ mIdx] is set to candIntraPredModeB and mIdx is incremented by 1.

Когда параметр addModeB равен TRUE и индекс mIdx равен 1 и параметр candIntraPredModeB не равен candModeList [0], параметр candModeList [ mIdx] устанавливают равным candIntraPredModeB и индекс mIdx увеличивают на 1.When addModeB is TRUE and mIdx is 1 and candIntraPredModeB is not equal to candModeList[0], candModeList[ mIdx] is set to candIntraPredModeB and mIdx is incremented by 1.

Когда параметр INTRA_PLANAR не равен candModeList [ i ] для любого i=0.. mIdx − 1, параметр modeList[ mIdx ] устанавливают равным INTRA_PLANAR и индекс mIdx увеличивают на 1.When the INTRA_PLANAR parameter is not equal to candModeList [ i ] for any i=0.. mIdx − 1, the modeList[ mIdx ] parameter is set to INTRA_PLANAR and the mIdx index is incremented by 1.

Когда параметр INTRA_DC не равен candModeList [ i ] для любого i=0.. mIdx − 1, параметр modeList[ mIdx ] устанавливают равным INTRA_DC и индекс mIdx увеличивают на 1.When the INTRA_DC parameter is not equal to candModeList [ i ] for any i=0.. mIdx − 1, the modeList[ mIdx ] parameter is set to INTRA_DC and the mIdx index is incremented by 1.

Когда оба параметра candIntraPredModeA и candIntraPredModeB между индексами режимов 2 и 66 и параметр candIntraPredModeA не равен параметру candIntraPredModeB,When both candIntraPredModeA and candIntraPredModeB are between mode indices 2 and 66 and candIntraPredModeA is not equal to candIntraPredModeB,

Устанавливают переменную angMinus равной 2 + ( (candIntraPredModeA + 62 ) % 65 ),Set the angMinus variable to 2 + ( (candIntraPredModeA + 62 ) % 65 )

Устанавливают переменную angPlus равной 2 + ( (candIntraPredModeA - 1 ) % 65 ).Set the angPlus variable to 2 + ( (candIntraPredModeA - 1 ) % 65 ).

Когда параметр candIntraPredModeB равен angMinus, тогдаWhen the parameter candIntraPredModeB is equal to angMinus then

параметр candModeList [ mIdx ] устанавливают равным 2 + ( (candIntraPredModeB+ 62 ) % 65 ) и индекс mIdx увеличивают на 1.the parameter candModeList [ mIdx ] is set to 2 + ( (candIntraPredModeB+ 62 ) % 65 ) and the mIdx index is incremented by 1.

параметр candModeList [ mIdx ] устанавливают равным angPlus.parameter candModeList [ mIdx ] is set equal to angPlus.

В противном случае параметр (candIntraPredModeB не равен angMinus)Otherwise, the parameter (candIntraPredModeB is not equal to angMinus)

параметр candModeList [ mIdx ] устанавливают равным angMinus и индекс mIdx увеличивают на 1.the parameter candModeList [ mIdx ] is set to angMinus and the index mIdx is incremented by 1.

Когда параметр candIntraPredModeB равен angPlus, параметр candModeList [ mIdx ] устанавливают равным 2 + ( (candIntraPredModeB-1 ) % 65 )When the candIntraPredModeB parameter is angPlus, the candModeList [ mIdx ] parameter is set to 2 + ( (candIntraPredModeB-1 ) % 65 )

В противном случае параметр (candIntraPredModeB не равен angPlus), параметр candModeList [ mIdx ] устанавливают равным angPlusOtherwise, the parameter (candIntraPredModeB is not equal to angPlus), the parameter candModeList [ mIdx ] is set to angPlus

В противном случае (только параметр candIntraPredModeA находится между индексами режимов 2 и 66, или только параметр candIntraPredModeB находится между индексами режимов 2 и 66, или параметр candIntraPredModeA равен candIntraPredModeB и все они находятся между индексами режимов 2 и 66)Otherwise (only candIntraPredModeA is between mode indices 2 and 66, or only candIntraPredModeB is between mode indices 2 and 66, or candIntraPredModeA is equal to candIntraPredModeB and they are all between mode indices 2 and 66)

Когда параметр candIntraPredModeA больше индекса режима 2, переменную Angular устанавливают равной candIntraPredModeAWhen the parameter candIntraPredModeA is greater than mode index 2, the Angular variable is set to candIntraPredModeA

В противном случае (параметр candIntraPredModeA не больше индекса режима 2), переменную Angular устанавливают равной candIntraPredModeBOtherwise (candIntraPredModeA is not greater than mode index 2), the Angular variable is set to candIntraPredModeB

Когда переменная Angular находится между индексами режимов 49 и 51, включительно, переменную finalMode устанавливают равной 18.When the Angular variable is between mode indexes 49 and 51 inclusive, the finalMode variable is set to 18.

В противном случае (переменная Angular не находится между индексами режимов 49 и 51, включительно), переменную finalMode устанавливают равной 50.Otherwise (the Angular variable is not between mode indexes 49 and 51, inclusive), the finalMode variable is set to 50.

Параметр candModeList [ mIdx ] устанавливают равным 2 + ( (Angular + 62 ) % 65 ) и индекс mIdx увеличивают на 1.The candModeList [ mIdx ] parameter is set to 2 + ( (Angular + 62 ) % 65 ) and the mIdx index is incremented by 1.

Параметр candModeList [ mIdx ] устанавливают равным 2 + ( (Angular - 1 ) % 65 ) и индекс mIdx увеличивают на 1.The candModeList [ mIdx ] parameter is set to 2 + ( (Angular - 1 ) % 65 ) and the mIdx index is incremented by 1.

Параметр candModeList [ mIdx ] устанавливают равным finalMode.The parameter candModeList [ mIdx ] is set to finalMode.

Параметр IntraPredModeY[ xCb ][ yCb ] получают посредством следующей процедуры:The parameter IntraPredModeY[ xCb ][ yCb ] is obtained through the following procedure:

Когда параметр intra_luma_mpm_flag[ xCb ][ yCb ] равен 1, параметр IntraPredModeY[ xCb ][ yCb ] устанавливают равным candModeList[ intra_luma_mpm_idx[ xCb ][ yCb ] ].When the intra_luma_mpm_flag[ xCb ][ yCb ] parameter is 1, the IntraPredModeY[ xCb ][ yCb ] parameter is set to candModeList[ intra_luma_mpm_idx[ xCb ][ yCb ] ].

В противном случае, параметр IntraPredModeY[ xCb ][ yCb ] получают в результате следующих упорядоченных этапов:Otherwise, the parameter IntraPredModeY[ xCb ][ yCb ] is obtained as a result of the following ordered steps:

Массив candModeList[ x ], x = 0..5 модифицируют посредством следующих упорядоченных этапов:The array candModeList[ x ], x = 0..5 is modified through the following ordered steps:

Для i последовательно равного с 0 по 4, включительно, применяют:For i consecutively equal from 0 to 4, inclusive, apply:

Для j последовательно равного с i+1 по 5, включительно, сравнивают параметр candModeList[ i ] с candModeList [ j ],For j sequentially equal to i+1 to 5, inclusive, compare the parameter candModeList[ i ] with candModeList [ j ],

Когда параметр candModeList[ i ] больше candModeList[ j ], обе величины обменивают следующим образом:When the parameter candModeList[ i ] is greater than candModeList[ j ], both values are exchanged as follows:

(candModeList[ i ], candModeList[ j ] ) = Swap( candModeList[ i ], candModeList[ j ] )(candModeList[ i ], candModeList[ j ] ) = Swap( candModeList[ i ], candModeList[ j ] )

Параметр IntraPredModeY[ xCb ][ yCb ] получают в результате следующих упорядоченных этапов:The IntraPredModeY[ xCb ][ yCb ] parameter is obtained from the following ordered steps:

Параметр IntraPredModeY[ xCb ][ yCb ] устанавливают равным intra_luma_mpm_remainder[ xCb ][ yCb ].The parameter IntraPredModeY[ xCb ][ yCb ] is set to intra_luma_mpm_remainder[ xCb ][ yCb ].

Для i равного с 0 по5, включительно, когда параметр IntraPredModeY[ xCb ][ yCb ] не меньше candModeList[ i ], величину параметра IntraPredModeY[ xCb ][ yCb ] увеличивают на единицу.For i equal to 0 to 5, inclusive, when the parameter IntraPredModeY[ xCb ][ yCb ] is not less than candModeList[ i ], the value of the parameter IntraPredModeY[ xCb ][ yCb ] is increased by one.

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

Настоящее изобретение имеет целью усовершенствовать схему сигнализации о режиме внутреннего предсказания. Настоящее изобретение предлагает способ видео декодирования и видео декодирующее устройство.The present invention aims to improve the intra prediction mode signaling scheme. The present invention provides a video decoding method and a video decoding apparatus.

На фиг. 7 показан пример 67 режимов внутреннего предсказания, например, как предложено для кодирования VVC, совокупность режимов внутреннего предсказания из 67 режимов внутреннего предсказания содержит: планарный режим (индекс 0), dc-режим (индекс 1) и угловые режимы с индексами 2 – 66, где левый нижний угловой режим фиг. 7 имеет индекс 2 и нумерация индексов увеличивается до тех пор, пока не будет достигнут индекс 66, которому соответствует крайний верхний правый угловой режим, показанный на фиг. 7.In FIG. 7 shows an example of 67 intra prediction modes, for example, as proposed for VVC coding, the set of intra prediction modes of 67 intra prediction modes contains: planar mode (index 0), dc mode (index 1), and angular modes with indices 2 to 66, where the lower left corner mode of FIG. 7 has index 2 and the index numbering is incremented until index 66 is reached, which corresponds to the upper right corner mode shown in FIG. 7.

Согласно другому аспекту настоящего изобретения, предложено декодирующее устройство, содержащее процессорную схему, конфигурированную для осуществления описанных выше способов декодирования.According to another aspect of the present invention, a decoding device is provided, comprising a processor circuit configured to implement the decoding methods described above.

Согласно другому аспекту настоящего изобретения, предложен компьютерный программный продукт, содержащий программный код для осуществления описанных выше способов декодирования.According to another aspect of the present invention, there is provided a computer program product comprising program code for performing the decoding methods described above.

Согласно другому аспекту настоящего изобретения, предложено декодирующее устройство для декодирования видео данных, это декодирующее устройство содержит: один или несколько процессоров; и энергонезависимый читаемый компьютером носитель для хранения информация, соединенный с процессорами и сохраняющий программы для выполнения этими процессорами, где эти программы, при выполнении их процессорами, конфигурируют декодирующее устройство для осуществления описанных выше способов декодирования.According to another aspect of the present invention, a decoder for decoding video data is provided, the decoder comprising: one or more processors; and a non-volatile computer-readable storage medium coupled to the processors and storing programs for execution by the processors, wherein the programs, when executed by the processors, configure a decoder to perform the decoding methods described above.

Процессорная схема может быть реализована аппаратно или посредством сочетания аппаратуры и программного обеспечения, например, в виде процессора, программируемого соответствующим программным обеспечением, или другого подобного устройства.The processor circuitry may be implemented in hardware or by a combination of hardware and software, such as a processor programmed with appropriate software, or the like.

Согласно другому аспекту настоящего изобретения, предложен способ кодирования, содержащий: получение одного режима внутреннего предсказания для блока изображения из совокупности нескольких режимов внутреннего предсказания, эта совокупность режимов внутреннего предсказания для блока изображения содержит множество наиболее вероятных режимов, MPM, и множество режимов не-MPM, где это множество режимов не-MPM содержит первое множество режимов внутреннего предсказания и второе множество режимов внутреннего предсказания; если режим внутреннего предсказания входит в множество режимов не-MPM, генерацию соотношения отображения между по меньшей мере одним режимом внутреннего предсказания из первого множества режимов внутреннего предсказания и по меньшей мере одним режимом внутреннего предсказания из множества режимов не-MPM; кодирование этого режима внутреннего предсказания для блока изображения с целью получения кодового слова относительно режима внутреннего предсказания в соответствии с соотношением отображения.According to another aspect of the present invention, a coding method is provided, comprising: deriving one intra prediction mode for an image block from a plurality of multiple intra prediction modes, this plurality of intra prediction modes for the image block comprising a plurality of most likely modes, MPM, and a plurality of non-MPM modes, where this set of non-MPM modes contains a first set of intra prediction modes and a second set of intra prediction modes; if the intra prediction mode is included in the plurality of non-MPM modes, generating a mapping relationship between at least one intra prediction mode of the first plurality of intra prediction modes and at least one intra prediction mode of the plurality of non-MPM modes; encoding this intra prediction mode for the image block to obtain a codeword regarding the intra prediction mode in accordance with the display ratio.

В одной из форм реализации настоящей заявки, процедура получения режима внутреннего предсказания для блока изображения может ссылаться на соответствующие фрагменты приведенного ниже подробного описания части вариантов изобретения и на соответствующие моменты в области технологии видео кодирования, такие как стандарты ITU-T H.264, ITU-T H.265.In one form of implementation of the present application, the procedure for obtaining an intra prediction mode for an image block may refer to the relevant fragments of the following detailed description of part of the embodiments of the invention and to the relevant points in the field of video coding technology, such as ITU-T H.264, ITU- T H.265.

В одной из форм реализации настоящей заявки, способ кодирования далее содержит: генерацию множества режимов MPM и определение, входит ли рассматриваемый режим внутреннего предсказания для блока изображения во множество режимов MPM. Следовательно, когда режим внутреннего предсказания для блока изображения не входит во множество режимов MPM, тогда этот режим внутреннего предсказания для блока изображения входит во множество режимов не-MPM.In one embodiment of the present application, the encoding method further comprises: generating a set of MPM modes and determining whether the considered intra prediction mode for an image block is included in the set of MPM modes. Therefore, when the intra prediction mode for the image block is not included in the set of MPM modes, then that intra prediction mode for the image block is included in the set of non-MPM modes.

Процедура генерации множества режимов MPM может ссылаться на соответствующие фрагменты в описании изобретения или на соответствующие моменты в области технологии видео кодирования, такие как стандарты ITU-T H.264, ITU-T H.265.The procedure for generating a plurality of MPM modes may refer to relevant passages in the description of the invention or relevant points in the field of video coding technology such as ITU-T H.264, ITU-T H.265 standards.

В одной из форм реализации настоящей заявки, процедура генерации соотношения отображения между по меньшей мере одним режимом внутреннего предсказания из первого множества режимов внутреннего предсказания и по меньшей мере одним режимом внутреннего предсказания из множества режимов не-MPM может ссылаться на соответствующее описание на стороне декодирования.In one form of implementation of the present application, the procedure for generating a mapping relationship between at least one intra prediction mode of the first set of intra prediction modes and at least one intra prediction mode of the set of non-MPM modes may refer to the corresponding description on the decoding side.

В одной из форм реализации настоящей заявки, первое множество режимов внутреннего предсказания кодируют с использованием 5 бит, а второе множество режимов внутреннего предсказания кодируют с использованием 6 бит.In one embodiment of the present application, the first set of intra prediction modes are encoded using 5 bits, and the second set of intra prediction modes are encoded using 6 bits.

Согласно другому аспекту настоящего изобретения, предложено кодирующее устройство, содержащее процессорную схему, конфигурируемую для осуществления описанных выше способов кодирования.According to another aspect of the present invention, an encoder is provided, comprising a processor circuit configured to implement the encoding methods described above.

Согласно другому аспекту настоящего изобретения, предложен компьютерный программный продукт, содержащий программный код для осуществления описываемых выше способов кодирования.According to another aspect of the present invention, there is provided a computer program product comprising program code for performing the encoding methods described above.

Согласно другому аспекту настоящего изобретения, предложено кодирующее устройство для кодирования видео данных, где это кодирующее устройство содержит: один или несколько процессоров; и энергонезависимый читаемый компьютером носитель для хранения информация, соединенный с этими процессорами и сохраняющий программы для выполнения процессорами, где эти программы, при выполнении их процессорами, конфигурируют кодирующее устройство для осуществления описанных выше способов кодирования.According to another aspect of the present invention, an encoder for encoding video data is provided, wherein the encoder comprises: one or more processors; and a non-volatile computer-readable storage medium coupled to the processors and storing programs for execution by the processors, wherein the programs, when executed by the processors, configure an encoder to implement the encoding methods described above.

Процессорная схема может быть реализована аппаратно или посредством сочетания аппаратуры и программного обеспечения, например, в виде процессора, программируемого соответствующим программным обеспечением, или другого подобного устройства.The processor circuitry may be implemented in hardware or by a combination of hardware and software, such as a processor programmed with appropriate software, or the like.

Вариант 1. Способ построения списка наиболее вероятных режимов (Most Probable Mode, MPM) для внутреннего предсказания, способ содержит:Option 1. A method for constructing a list of the most probable modes (Most Probable Mode, MPM) for internal prediction, the method contains:

определение, доступен ли блок слева (например, блок L на фиг. 5) от текущего блока кодирования или нет (например, если нет режима внутреннего предсказания относительно блока слева, тогда этот блок слева недоступен, а если имеется режим внутреннего предсказания относительно блока слева, тогда этот блок слева доступен);determining whether a block to the left (for example, block L in FIG. 5) is available from the current coding block or not (for example, if there is no intra prediction mode relative to the block to the left, then this block to the left is not available, and if there is an intra prediction mode relative to the block to the left, then this block on the left is available);

определение, доступен ли блок сверху (например, блок A на фиг. 5) от текущего блока кодирования или нет (например, если нет режима внутреннего предсказания относительно блока сверху, тогда этот блок сверху недоступен, а если имеется режим внутреннего предсказания относительно блока сверху, тогда этот блок сверху доступен);determining whether a block from above (for example, block A in Fig. 5) is available from the current coding block or not (for example, if there is no intra prediction mode relative to the block above, then this block from above is not available, and if there is an intra prediction mode relative to the block above, then this block is accessible from above);

использование планарного режима, DC-режима, вертикального режима (индекс VER_IDX), горизонтального режима (индекс HOR_IDX), режима внутреннего предсказания, соответствующего этому вертикальному режиму со сдвигом -4, режима внутреннего предсказания, соответствующего этому вертикальному режиму со сдвигом 4 (например, список режимов MPM имеет вид (0, 1, 50, 18, 46, 54), величина индекса 0 соответствует планарному режиму, величина индекса 1 соответствует DC-режиму, величина индекса 50 соответствует вертикальному режиму, величина индекса 18 соответствует горизонтальному режиму, величина индекса 46 соответствует режиму внутреннего предсказания, соответствующему вертикальному режиму со сдвигом -4, величина индекса 54 соответствует режиму внутреннего предсказания, соответствующему вертикальному режиму со сдвигом 4),using planar mode, DC mode, vertical mode (VER_IDX index), horizontal mode (HOR_IDX index), intra prediction mode corresponding to this vertical mode with offset -4, intra prediction mode corresponding to this vertical mode with offset 4 (for example, list MPM modes has the form (0, 1, 50, 18, 46, 54), index value 0 corresponds to planar mode, index value 1 corresponds to DC mode, index value 50 corresponds to vertical mode, index value 18 corresponds to horizontal mode, index value 46 corresponds to the intra prediction mode corresponding to the vertical mode with a shift of -4, the index value of 54 corresponds to the intra prediction mode corresponding to the vertical mode with a shift of 4),

когда удовлетворяется одно из следующих условий:when one of the following conditions is satisfied:

блок слева от текущего блока кодирования недоступен и блок сверху от текущего блока кодирования недоступен;the block to the left of the current coding block is not available and the block above the current coding block is not available;

блок слева от текущего блока кодирования недоступен, блок сверху от текущего блока кодирования доступен и режим внутреннего предсказания относительно блока сверху представляет собой планарный режим;the block to the left of the current coding block is unavailable, the block above the current coding block is available, and the intra prediction mode relative to the block above is a planar mode;

блок слева от текущего блока кодирования недоступен, блок сверху от текущего блока кодирования доступен и режим внутреннего предсказания относительно блока сверху представляет собой DC-режим;the block to the left of the current coding block is unavailable, the block above the current coding block is available, and the intra prediction mode relative to the block above is the DC mode;

блок слева от текущего блока кодирования доступен, блок сверху от текущего блока кодирования недоступен и режим внутреннего предсказания относительно блока слева представляет собой планарный режим;the block to the left of the current coding block is available, the block above the current coding block is unavailable, and the intra prediction mode relative to the block to the left is planar mode;

блок слева от текущего блока кодирования доступен, блок сверху от текущего блока кодирования недоступен и режим внутреннего предсказания относительно блока слева представляет собой планарный режим DC-режим;the block to the left of the current coding block is available, the block upstream of the current coding block is unavailable, and the intra prediction mode relative to the block to the left is a planar DC mode;

блок слева от текущего блока кодирования доступен, блок сверху от текущего блока кодирования доступен и режим внутреннего предсказания относительно блока слева не является угловым режимом (т.е. режим внутреннего предсказания относительно блока слева представляет собой планарный режим или DC-режим), и режим внутреннего предсказания относительно блока сверху не является угловым режимом (т.е. режим внутреннего предсказания относительно блока сверху представляет собой планарный режим или DC-режим).the block to the left of the current coding block is available, the block upstream of the current coding block is available, and the block-to-left intra-prediction mode is not an angular mode (i.e., the block-to-left intra-prediction mode is planar mode or DC mode), and top block prediction mode is not an angular mode (ie, block top intra prediction mode is planar mode or DC mode).

Вариант 2. Способ построения списка наиболее вероятных режимов, MPM, для внутреннего предсказания, способ содержит:Option 2. A method for constructing a list of the most probable modes, MPM, for intra prediction, the method contains:

определение, доступен ли блок слева (например, блок L на фиг. 5) от текущего блока кодирования или нет (например, если нет режима внутреннего предсказания относительно блока слева, тогда этот блок слева недоступен, а если имеется режим внутреннего предсказания относительно блока слева, тогда этот блок слева доступен, и если блок слева доступен, получают режим внутреннего предсказания относительно этого блока сверху);determining whether a block to the left (for example, block L in FIG. 5) is available from the current coding block or not (for example, if there is no intra prediction mode relative to the block to the left, then this block to the left is not available, and if there is an intra prediction mode relative to the block to the left, then this block on the left is available, and if the block on the left is available, get the intra prediction mode with respect to this block from above);

когда блок слева доступен (например, режим внутреннего предсказания относительно блока слева является угловым режимом, что означает, что величина индекса, соответствующая этому режиму внутреннего предсказания относительно блока слева, не меньше 2, диапазон этих величин индекса может составлять от 2 до 66; величина индекса, соответствующая этому режиму внутреннего предсказания относительно блока слева, равна 0 (планарный режим) или 1 (DC-режим)), добавление режима внутреннего предсказания относительно блока слева в список режимов MPM (например, первоначальный список режимов MPM является пустым списком, и на этом этапе добавляют рассматриваемый режим внутреннего предсказания относительно блока слева в список режимов MPM).when the left block is available (for example, the left block intra prediction mode is the corner mode, which means that the index value corresponding to this left block intra prediction mode is not less than 2, the range of these index values can be from 2 to 66; the index value , corresponding to this left block intra prediction mode is 0 (planar mode) or 1 (DC mode)), adding the left block intra prediction mode to the MPM mode list (for example, the original MPM mode list is an empty list, and on this step add the considered intra prediction mode relative to the block on the left in the list of MPM modes).

Вариант 3. Способ построения списка наиболее вероятных режимов, MPM, для внутреннего предсказания, способ содержит:Option 3. A method for constructing a list of the most probable modes, MPM, for intra prediction, the method contains:

определение, доступен ли блок сверху (например, блок A на фиг. 5) от текущего блока кодирования или нет (например, если нет режима внутреннего предсказания относительно блока сверху, тогда этот блок сверху недоступен, а если имеется режим внутреннего предсказания относительно блока сверху, тогда этот блок сверху доступен, и если блок сверху доступен, получают режим внутреннего предсказания относительно этого сверху);determining whether a block from above (for example, block A in Fig. 5) is available from the current coding block or not (for example, if there is no intra prediction mode relative to the block above, then this block from above is not available, and if there is an intra prediction mode relative to the block above, then this top block is available, and if the top block is available, get the intra prediction mode relative to that top);

когда блок сверху доступен (например, режим внутреннего предсказания относительно блока сверху является угловым режимом, что означает, что величина индекса, соответствующая этому режиму внутреннего предсказания относительно блока сверху, не меньше 2, диапазон этих величин индекса может составлять от 2 до 66, эта величина индекса может быть также равна 66; или величина индекса, соответствующая этому режиму внутреннего предсказания относительно блока сверху, равна 0 (планарный режим) или 1 (DC-режим)), и рассматриваемый режим внутреннего предсказания относительно блока сверху не входит в список режимов MPM, добавление режима внутреннего предсказания относительно блока сверху в список режимов MPM (например, первоначальный список режимов MPM является пустым списком, и на этом этапе добавляют рассматриваемый режим внутреннего предсказания относительно блока сверху в список режимов MPM; или этот список режимов MPM содержит режим внутреннего предсказания относительно блока слева, и рассматриваемый режим внутреннего предсказания относительно блока сверху отличается от указанного режима внутреннего предсказания относительно блока слева, так что рассматриваемый режим внутреннего предсказания относительно блока сверху добавляют в список режимов MPM, в списке режимов MPM присутствуют два режима внутреннего предсказания (одна величина индекса соответствует режиму внутреннего предсказания относительно блока слева и одна величина индекса соответствует режиму внутреннего предсказания относительно блока сверху)).when block top is available (for example, block top intra prediction mode is corner mode, which means that the index value corresponding to this top block intra prediction mode is not less than 2, the range of these index values can be from 2 to 66, this value index value may also be 66; or the index value corresponding to this block-up intra prediction mode is 0 (planar mode) or 1 (DC mode)), and the considered block-up intra prediction mode is not included in the list of MPM modes, adding block-upward intra prediction mode to the MPM mode list (e.g., the initial MPM mode list is an empty list, and at this step, the considered block-upward intra prediction mode is added to the MPM mode list; or this MPM mode list contains the intra-block prediction mode on the left, and looking received block-up intra prediction mode is different from the specified block-up intra prediction mode, so that the considered block-up intra prediction mode is added to the MPM mode list, there are two intra prediction modes in the MPM mode list (one index value corresponds to the intra prediction mode with respect to block on the left and one index value corresponds to the intra prediction mode relative to the block above)).

Вариант 4. Способ согласно варианту 2 или 3, где этот способ дополнительно содержит:Option 4. The method according to option 2 or 3, where this method further comprises:

когда блок слева не доступен или режим внутреннего предсказания относительно этого блока слева не является угловым режимом (например, нет режима внутреннего предсказания относительно левого блока, или режим внутреннего предсказания относительно блока слева является планарным режимом, или режим внутреннего предсказания относительно блока слева является DC-режимом), и режим внутреннего предсказания относительно блока сверху является угловым режимом (например, величина индекса, соответствующая режиму внутреннего предсказания относительно блока сверху, не меньше 2, диапазон величин индекса может быть от 2 до 66, эта величина индекса также может быть равна 66),when the block on the left is not available, or the intra prediction mode with respect to the left block is not an angular mode (for example, there is no intra prediction mode with respect to the left block, or the intra prediction mode with respect to the left block is a planar mode, or the intra prediction mode with respect to the left block is a DC mode ), and the block-up intra prediction mode is the angle mode (for example, the index value corresponding to the block-up intra prediction mode is not less than 2, the range of index values may be 2 to 66, this index value may also be 66),

и если режим внутреннего предсказания относительно блока сверху не входит в список режимов MPM, добавление режима внутреннего предсказания относительно блока сверху в список режимов MPM (в одном из примеров, если первоначальный список режимов MPM является пустым списком, или только не содержит угловых режимов, если блок слева недоступен или режим внутреннего предсказания относительно блока сверху не является угловым режимом, добавление рассматриваемого режима внутреннего предсказания относительно блока сверху в список режимов MPM. Поскольку в этой ситуации режим внутреннего предсказания относительно блока сверху совершенно четко не входит в список режимов MPM, нет необходимости определять, входит ли этот режим внутреннего предсказания относительно блока сверху в список режимов MPM или нет).and if the upper block intra prediction mode is not in the MPM mode list, adding the upper block intra prediction mode to the MPM mode list (in one example, if the initial MPM mode list is an empty list, or only contains no angle modes if the block left not available or block-up intra prediction mode is not an angle mode, adding the considered block-up intra prediction mode to the MPM mode list Since, in this situation, the block-up intra prediction mode is clearly not included in the MPM mode list, there is no need to determine, whether this intra-prediction mode with respect to the block above is included in the list of MPM modes or not).

Вариант 5. Способ согласно варианту 4, где этот способ дополнительно содержит:Option 5. The method according to option 4, where this method further comprises:

если планарный режим не входит в список режимов MPM, добавление планарного режима в список режимов MPM (в одном из примеров, после добавления рассматриваемого режима внутреннего предсказания относительно блока сверху в список режимов MPM, определение, следует ли добавить планарный режим в список режимов MPM или нет).if the planar mode is not included in the MPM mode list, adding the planar mode to the MPM mode list (in one example, after adding the top block intra prediction mode in question to the MPM mode list, determining whether to add the planar mode to the MPM mode list or not ).

Вариант 6. Способ согласно варианту 4 или 5, где этот способ дополнительно содержит:Option 6. The method according to option 4 or 5, where this method further comprises:

если DC-режим не входит в список режимов MPM, добавление DC-режима в список режимов MPM (в одном из примеров, после добавления рассматриваемого режима внутреннего предсказания относительно блока сверху в список режимов MPM, определение, следует ли добавить DC-режим в список режимов MPM или нет. В другом примере, после определения, следует ли добавить планарный режим в список режимов MPM или нет, затем определяют, следует ли добавить DC-режим в список режимов MPM или нет).if the DC mode is not in the MPM mode list, adding the DC mode to the MPM mode list MPM or Not In another example, after determining whether the planar mode should be added to the MPM mode list or not, then it is determined whether the DC mode should be added to the MPM mode list or not).

Вариант 7. Способ согласно какому-либо одному из вариантов 4 – 6, где этот способ дополнительно содержит:Option 7. The method according to any one of options 4 - 6, where this method further comprises:

добавление сдвига к индексу режима предсказания относительно блока сверху с целью получения индекса смещенного режима предсказания относительно блока сверху, если смещенный режим предсказания относительно блока сверху не входит в список режимов MPM, добавление этого смещенного режима предсказания относительно блока сверху в список режимов MPM (в одном из примеров, этот этап может быть выполнен после добавления режима внутреннего предсказания относительно блока сверху в список режимов MPM. В другом примере, этот этап может быть выполнен после определения, следует ли добавить планарный режим в список режимов MPM или нет. В другом примере, этот этап может быть выполнен после определения, следует ли добавить DC-режим в список режимов MPM или нет).adding an offset to the block-up prediction mode index to obtain an index of the block-up offset prediction mode, if the block-up offset prediction mode is not in the MPM mode list, adding this block-up offset prediction mode to the MPM mode list (in one of examples, this step may be performed after adding the block-upward intra prediction mode to the MPM mode list.In another example, this step may be performed after determining whether to add the planar mode to the MPM mode list or not.In another example, this step can be executed after determining whether the DC mode should be added to the MPM mode list or not).

Вариант 8. Способ согласно варианту 7, где величина сдвига равна -1.Option 8. The method according to option 7, where the shift value is -1.

Вариант 9. Способ согласно варианту 7, где величина сдвига равна 1 (в одном из примеров, две величины сдвигов добавляют к индексу режима предсказания относительно блока сверху для получения индекса смещенного режима предсказания относительно блока сверху и индекса другого смещенного режима предсказания относительно блока сверху, если смещенный (сдвиг равен -1) режим предсказания относительно блока сверху не входит в список режимов MPM, добавление указанного смещенного режима предсказания относительно блока сверху в список режимов MPM, и если другой смещенный (сдвиг равен 1) режим предсказания относительно блока сверху не входит в список режимов MPM, добавление этого смещенного режима предсказания относительно блока сверху в список режимов MPM).Embodiment 9 The method of Embodiment 7 wherein the shift amount is 1 (in one example, two shift amounts are added to a block-up prediction mode index to obtain a block-up offset prediction mode index and another block-up offset prediction mode index, if offset (offset equal to -1) block-up prediction mode is not in the MPM mode list, adding the specified offset block-up prediction mode to the MPM mode list, and if another offset (offset is 1) block-up prediction mode is not included in the list MPM modes, adding this block-offset prediction mode from above to the list of MPM modes).

Вариант 10. Способ согласно какому-либо одному из вариантов 4 – 9, где этот способ дополнительно содержит:Option 10. The method according to any one of options 4 - 9, where this method further comprises:

если вертикальный режим не входит в список режимов MPM, добавление вертикального режим в список режимов MPM (в одном из примеров, этот этап может быть выполнен после добавления режима внутреннего предсказания относительно блока сверху в список режимов MPM. В другом примере, этот этап может быть выполнен после определения, следует ли добавить планарный режим в список режимов MPM или нет. В другом примере, этот этап может быть выполнен после определения, следует ли добавить DC-режим в список режимов MPM или нет. В другом примере, этот этап может быть выполнен после определения, следует ли добавить смещенный режим предсказания относительно блока сверху в список режимов MPM.)if the vertical mode is not in the MPM mode list, adding the vertical mode to the MPM mode list (in one example, this step may be performed after adding the block-upward intra prediction mode to the MPM mode list. In another example, this step may be performed after determining whether the planar mode should be added to the MPM mode list or not.In another example, this step may be performed after determining whether the DC mode should be added to the MPM mode list or not.In another example, this step may be performed after determining whether to add a block-up-offset prediction mode to the list of MPM modes.)

Вариант 11. Способ согласно какому-либо одному из вариантов 4 – 10, где этот способ дополнительно содержит:Option 11. The method according to any one of options 4 - 10, where this method further comprises:

если горизонтальный режим не входит в список режимов MPM, добавление горизонтального режима в список режимов MPM (в одном из примеров, этот этап может быть выполнен после добавления режима внутреннего предсказания относительно блока сверху в список режимов MPM. В другом примере, этот этап может быть выполнен после определения, следует ли добавить планарный режим в список режимов MPM или нет. В другом примере, этот этап может быть выполнен после определения, следует ли добавить DC-режим в список режимов MPM или нет. В другом примере, этот этап может быть выполнен после определения, следует ли добавить смещенный режим предсказания относительно блока сверху в список режимов MPM. В другом примере, этот этап может быть выполнен после определения, следует ли добавить вертикальный режим в список режимов MPM.)if the horizontal mode is not in the MPM mode list, adding the horizontal mode to the MPM mode list (in one example, this step may be performed after adding the block-upward intra prediction mode to the MPM mode list. In another example, this step may be performed after determining whether the planar mode should be added to the MPM mode list or not.In another example, this step may be performed after determining whether the DC mode should be added to the MPM mode list or not.In another example, this step may be performed after determining whether a block-up-offset prediction mode should be added to the MPM mode list.In another example, this step may be performed after determining whether the vertical mode should be added to the MPM mode list.)

Вариант 12. Способ согласно какому-либо одному из вариантов 4 – 10, где этот способ дополнительно содержит:Option 12. The method according to any one of options 4 - 10, where this method further comprises:

когда горизонтальный режим не входит в список режимов MPM и когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины (например, пороговая величина равна 6), добавление горизонтального режима в список режимов MPM (в одном из примеров, этот этап может быть выполнен после добавления режима внутреннего предсказания относительно блока сверху в список режимов MPM. В другом примере, этот этап может быть выполнен после определения, следует ли добавить планарный режим в список режимов MPM или нет. В другом примере, этот этап может быть выполнен после определения, следует ли добавить DC-режим в список режимов MPM или нет. В другом примере, этот этап может быть выполнен после определения, следует ли добавить смещенный режим предсказания относительно блока сверху в список режимов MPM. В другом примере, этот этап может быть выполнен после определения, следует ли добавить вертикальный режим в список режимов MPM.)when the horizontal mode is not in the MPM mode list and when the number of intra prediction modes in the MPM mode list is less than a threshold value (e.g., the threshold value is 6), adding the horizontal mode to the MPM mode list (in one example, this step may be performed after adding intra block top prediction mode to the MPM mode list.In another example, this step may be performed after determining whether to add planar mode to the MPM mode list or not.In another example, this step may be performed after determining whether to whether to add the DC mode to the MPM mode list or not.In another example, this step may be performed after determining whether to add the upper block offset prediction mode to the MPM mode list.In another example, this step may be performed after determining whether or add vertical mode to the MPM mode list.)

Вариант 13. Способ согласно варианту 2 или 3, где этот способ дополнительно содержит:Option 13. The method according to option 2 or 3, where this method further comprises:

когда блок сверху не доступен или когда режим внутреннего предсказания относительно блока сверху не является угловым режимом (например, нет режима внутреннего предсказания относительно блока сверху, или режим внутреннего предсказания относительно блока сверху является планарным режимом, или режим внутреннего предсказания относительно блока сверху является DC-режимом) и режим внутреннего предсказания блока слева является угловым режимом (например, величина индекса, соответствующего режиму внутреннего предсказания относительно блока слева, не меньше 2, диапазон величин индекса может быть от 2 до 66, эта величина индекса может быть равна 66),when block-up intra prediction mode is not available or when block-up intra prediction mode is not angular mode (e.g., no block-up intra prediction mode, or block-up intra prediction mode is planar mode, or block-up intra prediction mode is DC mode ) and the left block intra prediction mode is the angle mode (for example, the index value corresponding to the left block intra prediction mode is not less than 2, the range of index values may be 2 to 66, this index value may be 66),

и если режим внутреннего предсказания для блока слева не входит в список режимов MPM, добавление режима внутреннего предсказания относительно блока слева в список режимов MPM (в некоторых примерах, поскольку режим внутреннего предсказания относительно блока слева является угловым режимом, он будет добавлен в список режимов MPM, в этом примере, нет необходимости определять, входит ли режим внутреннего предсказания относительно блока слева в список режимов MPM или нет.)and if the left block intra prediction mode is not in the MPM mode list, adding the left block intra prediction mode to the MPM mode list (in some examples, since the left block intra prediction mode is an angular mode, it will be added to the MPM mode list, in this example, it is not necessary to determine whether the left block intra prediction mode is included in the MPM mode list or not.)

Вариант 14. Способ согласно варианту 13, где этот способ дополнительно содержит:Option 14. The method according to option 13, where this method further comprises:

когда планарный режим не входит в список режимов MPM, добавление этого планарного режима в список режимов MPM (в одном из примеров, после добавления рассматриваемого режима внутреннего предсказания относительно блока слева в список режимов MPM, для определения, следует ли добавить планарный режим в список режимов MPM или нет).when a planar mode is not in the MPM mode list, adding that planar mode to the MPM mode list (in one example, after adding the left block intra prediction mode in question to the MPM mode list, to determine whether to add the planar mode to the MPM mode list or not).

Вариант 15. Способ согласно варианту 13 или 14, где этот способ дополнительно содержит:Option 15. The method according to option 13 or 14, where this method further comprises:

когда DC-режим не входит в список режимов MPM, добавление DC-режима в список режимов MPM (в одном из примеров, после добавления режима внутреннего предсказания относительно блока слева в список режимов MPM, определяют, следует ли добавить DC-режим в список режимов MPM или нет. В другом примере, после определения, следует ли добавить планарный режим в список режимов MPM или нет, затем определяют, следует ли добавить DC-режим в список режимов MPM или нет).when the DC mode is not included in the MPM mode list, adding the DC mode to the MPM mode list or No. In another example, after determining whether the planar mode should be added to the MPM mode list or not, then it is determined whether the DC mode should be added to the MPM mode list or not).

Вариант 16. Способ согласно какому-либо одному из вариантов 13 – 15, где этот способ дополнительно содержит:Option 16. The method according to any one of options 13-15, where this method further comprises:

добавление сдвига к индексу режима режим предсказания для блока слева с целью получения смещенного режима предсказания относительно блока слева, если этот смещенный режим предсказания относительно блока слева не входит в список режимов MPM, добавление смещенного режима предсказания относительно блока слева в список режимов MPM (в одном из примеров, этот этап может быть выполнен после добавления режима внутреннего предсказания относительно блока слева в список режимов MPM. В другом примере, этот этап может быть выполнен после определения, следует ли добавить планарный режим в список режимов MPM или нет. В другом примере, этот этап может быть выполнен после определения, следует ли добавить DC-режим в список режимов MPM или нет.)adding an offset to the left block prediction mode index to obtain a left block offset prediction mode if that left block offset prediction mode is not in the MPM mode list, adding the left block offset prediction mode to the MPM mode list (in one of examples, this step may be performed after adding the block-left intra prediction mode to the MPM mode list.In another example, this step may be performed after determining whether to add the planar mode to the MPM mode list or not.In another example, this step can be executed after determining whether DC mode should be added to the MPM mode list or not.)

Вариант 17. Способ согласно варианту 16, где величина сдвига равна -1.Option 17. The method according to option 16, where the shift value is -1.

Вариант 18. Способ согласно варианту 16, где величина сдвига равна 1 (в одном из примеров, два сдвига добавлены к индексу режима предсказания относительно блока слева для получения одного смещенного режима предсказания относительно блока слева и другого смещенного режима предсказания относительно блока слева, если указанный один смещенный режим предсказания относительно блока слева (величина сдвига равна -1) не входит в список режимов MPM, добавление этого смещенного режима предсказания относительно блока слева в список режимов MPM, и если указанный другой смещенный режим предсказания относительно блока слева (величина сдвига равна 1) не входит в список режимов MPM, добавление этого другого смещенного режима предсказания относительно блока слева в список режимов MPM.)Embodiment 18 The method of Embodiment 16 wherein the shift amount is 1 (in one example, two shifts are added to the left block prediction mode index to obtain one left block offset prediction mode and another left block offset prediction mode if said one left block offset prediction mode (shift value is -1) is not in the MPM mode list, adding this left block offset prediction mode to the MPM mode list, and if the specified other block left offset prediction mode (shift value is 1) is not enters the list of MPM modes, adding this other block-offset prediction mode to the left of the list of MPM modes.)

Вариант 19. Способ согласно какому-либо одному из вариантов 13 – 18, где этот способ дополнительно содержит:Option 19. The method according to any one of options 13 - 18, where this method further comprises:

если вертикальный режим не входит в список режимов MPM, добавление этого вертикального режима в список режимов MPM (в одном из примеров, этот этап может быть выполнен после добавления режима внутреннего предсказания относительно блока слева в список режимов MPM. В другом примере, этот этап может быть выполнен после определения, следует ли добавить планарный режим в список режимов MPM или нет. В другом примере, этот этап может быть выполнен после определения, следует ли добавить DC-режим в список режимов MPM или нет. В другом примере, этот этап может быть выполнен после определения, следует ли добавить смещенный режим предсказания относительно блока слева в список режимов MPM).if the vertical mode is not in the MPM mode list, adding that vertical mode to the MPM mode list (In one example, this step may be performed after adding the left block intra prediction mode to the MPM mode list. In another example, this step may be executed after determining whether to add the planar mode to the MPM mode list or not.In another example, this step may be performed after determining whether to add the DC mode to the MPM mode list or not.In another example, this step may be performed after determining whether to add a block-offset prediction mode on the left to the list of MPM modes).

Вариант 20. Способ согласно какому-либо одному из вариантов 13 – 19, где этот способ дополнительно содержит:Option 20. The method according to any one of options 13 - 19, where this method further comprises:

когда горизонтальный режим не входит в список режимов MPM, добавление этого горизонтального режима в список режимов MPM (в одном из примеров, этот этап может быть выполнен после добавления режима внутреннего предсказания для блока слева в список режимов MPM. В другом примере, этот этап может быть выполнен после определения, следует ли добавить планарный режим в список режимов MPM или нет. В другом примере, этот этап может быть выполнен после определения, следует ли добавить DC mode в список режимов MPM или нет. В другом примере, этот этап может быть выполнен после определения, следует ли добавить смещенный режим предсказания относительно блока слева в список режимов MPM. В другом примере, этот этап может быть выполнен после определения, следует ли добавить вертикальный режим в список режимов MPM).when the horizontal mode is not in the MPM mode list, adding that horizontal mode to the MPM mode list (In one example, this step may be performed after adding the intra prediction mode for the block on the left to the MPM mode list. In another example, this step may be executed after determining whether to add planar mode to the MPM mode list or not.In another example, this step may be performed after determining whether DC mode should be added to the MPM mode list or not.In another example, this step may be performed after determining whether to add a block-offset prediction mode to the MPM mode list.In another example, this step may be performed after determining whether to add the vertical mode to the MPM mode list).

Вариант 21. Способ согласно какому-либо одному из вариантов 13 – 19, где этот способ дополнительно содержит:Option 21. The method according to any one of options 13-19, where this method further comprises:

когда горизонтальный режим не входит в список режимов MPM и когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины (например, пороговая величина равна 6), добавление горизонтального режима в список режимов MPM (в одном из примеров, этот этап может быть выполнен после добавления режима внутреннего предсказания относительно блока слева в список режимов MPM. В другом примере, этот этап может быть выполнен после определения, следует ли добавить планарный режим в список режимов MPM или нет. В другом примере, этот этап может быть выполнен после определения, следует ли добавить DC-режим в список режимов MPM или нет. В другом примере, этот этап может быть выполнен после определения, следует ли добавить смещенный режим предсказания относительно блока слева в список режимов MPM. В другом примере, этот этап может быть выполнен после определения, следует ли добавить вертикальный режим в список режимов MPM).when the horizontal mode is not in the MPM mode list and when the number of intra prediction modes in the MPM mode list is less than a threshold value (e.g., the threshold value is 6), adding the horizontal mode to the MPM mode list (in one example, this step may be performed after adding an intra block-relative prediction mode to the left MPM mode list.In another example, this step may be performed after determining whether to add a planar mode to the MPM mode list or not.In another example, this step may be performed after determining whether to whether to add the DC mode to the MPM mode list or not.In another example, this step may be performed after determining whether to add the left block offset prediction mode to the MPM mode list.In another example, this step may be performed after determining whether or add vertical mode to the MPM mode list).

Вариант 22. Способ согласно варианту 2, где этот способ дополнительно содержит:Option 22. The method according to option 2, where this method further comprises:

определение, доступен ли блок сверху (например, блок A на фиг. 5) от текущего блока кодирования или нет (например, если нет режима внутреннего предсказания относительно блока сверху, блок сверху недоступен, если имеется режим внутреннего предсказания относительно блока сверху, этот блок сверху доступен);determining whether a block from above (for example, block A in FIG. 5) is available from the current coding block or not (for example, if there is no intra prediction mode relative to the block above, the block above is not available, if there is an intra prediction mode relative to the block above, this block is above available);

когда режим внутреннего предсказания относительно блока сверху является угловым режимом (например, величина индекса, соответствующая режиму внутреннего предсказания относительно блока сверху не меньше 2, диапазон величин индекса может быть от 2 до 66, эта величина индекса может также быть равна 66) и когда режим внутреннего предсказания относительно блока сверху входит в список режимов MPM (например, режим внутреннего предсказания относительно блока сверху является таким же, как режим внутреннего предсказания относительно блока слева),when the block-up intra prediction mode is an angular mode (for example, the index value corresponding to the block-up intra prediction mode is not less than 2, the range of index values may be from 2 to 66, this index value may also be 66) and when the intra block-up mode top block prediction is included in the list of MPM modes (for example, top block intra prediction mode is the same as left block intra prediction mode),

когда планарный режим не входит в список режимов MPM, добавление планарного режима в список режимов MPM (в одном из примеров, поскольку режим внутреннего предсказания относительно блока слева и режим внутреннего предсказания относительно блока сверху являются угловыми режимами, тогда добавляют планарный режим в список режимов MPM).when the planar mode is not in the MPM mode list, adding the planar mode to the MPM mode list (in one example, since the left block intra prediction mode and the top block intra prediction mode are corner modes, then add the planar mode to the MPM mode list) .

Вариант 23. Способ согласно варианту 22, где этот способ дополнительно содержит:Option 23. The method according to option 22, where this method further comprises:

когда DC-режим не входит в список режимов MPM, добавление DC-режима в список режимов MPM (В другом примере, после определения, следует ли добавить планарный режим в список режимов MPM или нет, определяют, следует ли добавить DC-режим в список режимов MPM или нет. В одном из примеров, поскольку режим внутреннего предсказания относительно блока слева и режим внутреннего предсказания относительно блока сверху являются угловыми режимами, тогда добавляют DC-режим в список режимов MPM.)when the DC mode is not included in the MPM mode list, adding the DC mode to the MPM mode list (In another example, after determining whether to add the planar mode to the MPM mode list or not, it is determined whether to add the DC mode to the MPM or not In one example, since the left block intra prediction mode and the top block intra prediction mode are angular modes, then DC mode is added to the list of MPM modes.)

Вариант 24. Способ согласно варианту 22 или 23, где этот способ дополнительно содержит:Option 24. The method according to option 22 or 23, where this method further comprises:

добавление сдвига к индексу режима предсказания относительно левого блока для получения индекса смещенного режима относительно блока слева, если этот смещенный режим предсказания относительно блока слева не входит в список режимов MPM, добавление этого смещенного режима предсказания относительно блока слева в список режимов MPM (в одном из примеров, этот этап может быть выполнен после добавления режима внутреннего предсказания относительно блока слева в список режимов MPM. В другом примере, этот этап может быть выполнен после определения, следует ли добавить планарный режим в список режимов MPM или нет. В другом примере, этот этап может быть выполнен после определения, следует ли добавить DC-режим в список режимов MPM или нет).adding an offset to the left block prediction mode index to obtain the left block offset mode index if that left block offset prediction mode is not in the MPM list, adding that left block offset prediction mode to the MPM mode list (in one example , this step may be performed after adding the left block intra prediction mode to the MPM mode list.In another example, this step may be performed after determining whether to add the planar mode to the MPM mode list or not.In another example, this step may be executed after determining whether the DC mode should be added to the MPM mode list or not).

Вариант 25. Способ согласно варианту 24, где величина сдвига равна -1.Embodiment 25 The method of Embodiment 24 wherein the offset value is -1.

Вариант 26. Способ согласно варианту 24, где величина сдвига равна 1 (в одном из примеров, два сдвига добавлены к индексу режима предсказания относительно блока слева с целью получения одного смещенного режима предсказания относительно блока слева и другого смещенного режима предсказания относительно блока слева, когда один смещенный режим предсказания относительно блока слева (величина сдвига равна -1) не входит в список режимов MPM, добавляют этот смещенный режим предсказания относительно блока слева в список режимов MPM, и когда другой смещенный режим предсказания относительно блока слева (величина сдвига равна 1) не входит в список режимов MPM, добавляют этот другой смещенный режим предсказания относительно блока слева в список режимов MPM).Embodiment 26 The method of Embodiment 24 wherein the shift amount is 1 (in one example, two shifts are added to the left block prediction mode index to obtain one left block offset prediction mode and another left block offset prediction mode when one left block offset prediction mode (shift amount -1) is not included in the MPM mode list, add this left block offset prediction mode to the MPM mode list, and when another block left offset prediction mode (shift amount is 1) is not included to the MPM mode list, add this other block-offset prediction mode to the left of the MPM mode list).

Вариант 27. Способ согласно какому-либо одному из вариантов 22 – 26, где этот способ дополнительно содержит:Option 27. The method according to any one of options 22-26, where this method further comprises:

когда вертикальный режим не входит в список режимов MPM, добавление этого вертикального режима в список режимов MPM (в одном из примеров, этот этап может быть выполнен после добавления режима внутреннего предсказания относительно блока слева в список режимов MPM. В другом примере, этот этап может быть выполнен после определения, следует ли добавить планарный режим в список режимов MPM или нет. В другом примере, этот этап может быть выполнен после определения, следует ли добавить DC-режим в список режимов MPM или нет. В другом примере, этот этап может быть выполнен после определения, следует ли добавить смещенный режим предсказания относительно блока слева в список режимов MPM).when the vertical mode is not in the MPM mode list, adding that vertical mode to the MPM mode list (In one example, this step may be performed after adding the left block intra prediction mode to the MPM mode list. In another example, this step may be executed after determining whether to add the planar mode to the MPM mode list or not.In another example, this step may be performed after determining whether to add the DC mode to the MPM mode list or not.In another example, this step may be performed after determining whether to add a block-offset prediction mode on the left to the list of MPM modes).

Вариант 28. Способ согласно какому-либо одному из вариантов 22 – 27, где этот способ дополнительно содержит:Option 28. The method according to any one of options 22-27, where this method further comprises:

когда горизонтальный режим не входит в список режимов MPM, добавление этого горизонтального режима в список режимов MPM (в одном из примеров, этот этап может быть выполнен после добавления режима внутреннего предсказания относительно блока слева в список режимов MPM. В другом примере, этот этап может быть выполнен после определения, следует ли добавить планарный режим в список режимов MPM или нет. В другом примере, этот этап может быть выполнен после определения, следует ли добавить DC-режим в список режимов MPM или нет. В другом примере, этот этап может быть выполнен после определения, следует ли добавить смещенный режим предсказания относительно блока слева в список режимов MPM. В другом примере, этот этап может быть выполнен после определения, следует ли добавить вертикальный режим в список режимов MPM).when the horizontal mode is not included in the MPM mode list, adding that horizontal mode to the MPM mode list (In one example, this step may be performed after adding the left block intra prediction mode to the MPM mode list. In another example, this step may be executed after determining whether to add the planar mode to the MPM mode list or not.In another example, this step may be performed after determining whether to add the DC mode to the MPM mode list or not.In another example, this step may be performed after determining whether to add left-block offset prediction mode to the MPM mode list (In another example, this step may be performed after determining whether to add the vertical mode to the MPM mode list).

Вариант 29. Способ согласно какому-либо одному из вариантов 22 – 27, где этот способ дополнительно содержит:Option 29. The method according to any one of options 22-27, where this method further comprises:

когда горизонтальный режим не входит в список режимов MPM и когда число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины (например, пороговая величина равна 6), добавление этого горизонтального режима в список режимов MPM (в одном из примеров, этот этап может быть выполнен после добавления режима внутреннего предсказания относительно блока слева в список режимов MPM. В другом примере, этот этап может быть выполнен после определения, следует ли добавить планарный режим в список режимов MPM или нет. В другом примере, этот этап может быть выполнен после определения, следует ли добавить DC-режим в список режимов MPM или нет. В другом примере, этот этап может быть выполнен после определения, следует ли добавить смещенный режим предсказания относительно блока слева в список режимов MPM. В другом примере, этот этап может быть выполнен после определения, следует ли добавить вертикальный режим в список режимов MPM.)when the horizontal mode is not in the MPM mode list and when the number of intra prediction modes in the MPM mode list is less than a threshold value (e.g., the threshold value is 6), adding this horizontal mode to the MPM mode list (in one example, this step may be performed after adding the left block intra prediction mode to the MPM mode list.In another example, this step may be performed after determining whether to add the planar mode to the MPM mode list or not.In another example, this step may be performed after determining whether whether to add the DC mode to the MPM mode list or not.In another example, this step may be performed after determining whether to add the left block offset prediction mode to the MPM mode list.In another example, this step may be performed after determining whether whether vertical mode should be added to the MPM mode list.)

Вариант 30. Способ согласно варианту 2, где этот способ дополнительно содержит:Option 30. The method according to option 2, where this method further comprises:

определение, доступен ли блок сверху (например, блок A на фиг. 5) от текущего блока кодирования или нет (например, если нет режима внутреннего предсказания относительно блока сверху, этот блок сверху недоступен, если имеется режим внутреннего предсказания относительно блока сверху, этот блок сверху доступен);determining whether a block from above (for example, block A in FIG. 5) is available from the current coding block or not (for example, if there is no intra prediction mode relative to the block above, this block from above is not available, if there is an intra prediction mode relative to the block above, this block top available);

когда режим внутреннего предсказания относительно блока сверху представляет собой угловой режим, режим внутреннего предсказания относительно блока слева является угловым режимом (например, величина индекса, соответствующая режиму внутреннего предсказания относительно блока сверху, не меньше 2, диапазон величин индекса может быть от 2 до 66, эта величина индекса может быть также равна 66) и режим внутреннего предсказания относительно блока сверху не входит в список режимов MPM (например, режим внутреннего предсказания относительно блока слева отличается от режима внутреннего предсказания относительно блока сверху),when the upper block intra prediction mode is an angle mode, the left block intra prediction mode is an angular mode (for example, the index value corresponding to the upper block intra prediction mode is not less than 2, the range of index values can be from 2 to 66, this the index value can also be 66) and the block-up intra prediction mode is not included in the MPM mode list (for example, the block-up intra-prediction mode is different from the block-up intra prediction mode),

добавление режима внутреннего предсказания относительно блока сверху в список режимов MPM (например, список режимов MPM содержит режим внутреннего предсказания относительно блока слева, а режим внутреннего предсказания относительно блока сверху отличается от режима внутреннего предсказания относительно блока слева, поэтому режим внутреннего предсказания относительно блока сверху добавляют в список режимов MPM, так что в списке режимов MPM имеются два режима внутреннего предсказания (режим внутреннего предсказания, соответствующий блоку слева, и режим внутреннего предсказания, соответствующий блоку сверху)).adding block-up intra prediction mode to the MPM mode list (for example, the MPM mode list contains left block intra prediction mode, and block-up intra prediction mode is different from block-up intra prediction mode, so block-up intra prediction mode is added to a list of MPM modes, so that there are two intra prediction modes (an intra prediction mode corresponding to the left block and an intra prediction mode corresponding to the top block) in the MPM mode list.

Вариант 31. Способ согласно варианту 30, где этот способ дополнительно содержит:Embodiment 31. The method of Embodiment 30, wherein the method further comprises:

когда планарный режим не входит в список режимов MPM, добавление этого планарного режима в список режимов MPM (в одном из примеров, после добавления режима внутреннего предсказания относительно блока сверху в список режимов MPM, определение, следует ли добавить планарный режим в список режимов MPM или нет; в другом примере, поскольку оба режима – режим внутреннего предсказания относительно блока слева и режим внутреннего предсказания относительно блока сверху, представляют собой угловые режимы, на этом этапе добавляют планарный режим в список режимов MPM.)when the planar mode is not included in the MPM mode list, adding that planar mode to the MPM mode list (in one example, after adding the top block intra prediction mode to the MPM mode list, determining whether to add the planar mode to the MPM mode list or not ; in another example, since both left block intra prediction mode and block top intra prediction mode are angular modes, this step adds the planar mode to the list of MPM modes.)

Вариант 32. Способ согласно вариантам 30 и 31, где этот способ дополнительно содержит:Option 32. The method according to options 30 and 31, where this method further comprises:

когда DC-режим не входит в список режимов MPM, добавление DC-режима в список режимов MPM (в одном из примеров, после добавления режима внутреннего предсказания относительно блока сверху режимов MPM, определение, следует ли добавить DC-режим в список режимов MPM или нет. В другом примере, после определения, следует ли добавить планарный режим в список режимов MPM или нет, определяют, следует ли добавить DC-режим в список режимов MPM или нет; в другом примере, поскольку оба режима – режим внутреннего предсказания относительно блока слева и режим внутреннего предсказания относительно блока сверху, представляют собой угловые режимы, на этом этапе, добавляют DC-режим в список режимов MPM.)when the DC mode is not in the MPM mode list, adding the DC mode to the MPM mode list (in one example, after adding the block-relative intra prediction mode on top of the MPM modes, determining whether to add the DC mode to the MPM mode list or not In another example, after determining whether to add the planar mode to the MPM mode list or not, it is determined whether to add the DC mode to the MPM mode list or not, in another example, since both modes are left block intra prediction mode and intra-prediction mode with respect to the top block are angle modes, at this point, add DC mode to the MPM mode list.)

Вариант 33. Способ согласно какому-либо одному из вариантов 30 – 32, где этот способ дополнительно содержит:Option 33. The method according to any one of options 30-32, where this method further comprises:

добавление величины сдвига (например, -1) к индексу режима предсказания относительно блока слева с целью получения индекса смещенного режима предсказания относительно блока слева, когда смещенный режим предсказания относительно блока слева входит в список режимов MPM, добавление величины сдвига (например, -1) к индексу режима предсказания для блока сверху с целью получения индекса смещенного режима предсказания относительно блока сверху, добавление этого смещенного режима предсказания относительно блока сверху в список режимов MPM.adding a shift amount (eg, -1) to a left block prediction mode index to obtain a left block offset prediction mode index when the left block offset prediction mode is in the MPM mode list, adding a shift amount (eg, -1) to block-up prediction mode index to obtain a block-up offset prediction mode index, adding this block-up offset prediction mode to the MPM mode list.

Вариант 34. Способ согласно какому-либо одному из вариантов 30 – 33, где этот способ дополнительно содержит:Option 34. The method according to any one of options 30-33, where this method further comprises:

добавление величины сдвига (например, -1) к индексу режима предсказания относительно блока слева с целью получения индекса смещенного режима предсказания относительно блока слева, когда смещенный режим предсказания относительно блока слева не входит в список режимов MPM, добавление этого смещенного режима предсказания относительно блока слева в список режимов MPM.adding a shift amount (e.g., -1) to the left block prediction mode index to obtain the left block shifted prediction mode index when the left block shifted prediction mode is not in the MPM list, adding this left block prediction mode offset to list of MPM modes.

Вариант 35. Способ согласно какому-либо одному из вариантов 30 – 34, где этот способ дополнительно содержит:Option 35. The method according to any one of options 30-34, where this method further comprises:

добавление величины сдвига (например, -1) к индексу режима предсказания относительно блока слева с целью получения индекса смещенного режима предсказания относительно блока слева, добавление другой величины сдвига (например, 1) к индексу режима предсказания относительно блока слева с целью получения индекса другого смещенного режима предсказания относительно блока слева, когда один смещенный режим предсказания относительно блока слева входит в список режимов MPM, добавление другого смещенного режима предсказания относительно блока слева в список режимов MPM.adding a shift amount (eg, -1) to the left block prediction mode index to obtain a left block offset prediction mode index, adding another offset value (eg, 1) to the left block prediction mode index to obtain another offset mode index left block prediction mode when one left block offset prediction mode is included in the MPM mode list; adding another left block offset prediction mode to the MPM mode list.

Вариант 36. Способ согласно какому-либо одному из вариантов 30 – 34, где этот способ дополнительно содержит:Option 36. The method according to any one of options 30-34, where this method further comprises:

добавление величины сдвига (например, -1) к индексу режима предсказания относительно блока слева с целью получения индекса одного смещенного режима предсказания относительно блока слева, если смещенный режим предсказания относительно блока слева входит в список режимов MPM, добавление другой величины сдвига (например, 1) к индексу режима предсказания относительно блока слева с целью получения индекса другого смещенного режима предсказания относительно блока слева, добавление этого другого смещенного режима предсказания относительно блока слева в список режимов MPM.adding a shift value (e.g., -1) to the left block prediction mode index to obtain the index of one left block prediction mode offset if the left block offset prediction mode is in the MPM mode list, adding another shift value (e.g., 1) to the left block prediction mode index to obtain the index of the other left block offset prediction mode, adding the other left block offset prediction mode to the MPM mode list.

Вариант 37. Способ согласно какому-либо одному из вариантов 30 – 32, где этот способ дополнительно содержит:Option 37. The method according to any one of options 30-32, where this method further comprises:

добавление величины сдвига (например, -1) к индексу режима предсказания относительно блока слева с целью получения индекса одного смещенного режима относительно блока слева, когда этот смещенный режим предсказания относительно блока слева входит в список режимов MPM, добавление величины сдвига (например, -1) к индексу режима предсказания относительно блока сверху с целью получения индекса смещенного режима предсказания относительно блока сверху, добавление этого смещенного режима предсказания относительно блока сверху в список режимов MPM;adding a shift amount (e.g., -1) to a left block prediction mode index to obtain an index of one left block offset prediction mode when that left block prediction mode offset is included in the MPM mode list, adding a shift amount (e.g., -1) to a block-up prediction mode index to obtain a block-up offset prediction mode index, adding this block-up offset prediction mode to the MPM mode list;

добавление величины другого сдвига (например, 1) к индексу режима предсказания относительно блока слева с целью получения индекса другого смещенного режима предсказания относительно блока слева, добавление этого другого смещенного режима предсказания относительно блока слева в список режимов MPM.adding a different offset value (eg, 1) to the left block prediction mode index to obtain an index of another left block offset prediction mode, adding that other left block offset prediction mode to the MPM mode list.

Вариант 38. Способ согласно варианту 34, где этот способ дополнительно содержит:Option 38. The method according to option 34, where this method further comprises:

добавление величины другого сдвига (например, 1) к индексу режима предсказания относительно блока слева с целью получения другого смещенного режима предсказания относительно блока слева, если этот другой смещенный режим предсказания относительно блока слева не входит в список режимов MPM, добавление этого другого смещенного режима предсказания относительно блока слева в список режимов MPM.adding a different offset value (e.g., 1) to the left block prediction mode index to obtain another left block offset prediction mode if that other left block offset prediction mode is not in the MPM mode list, adding that other left block offset prediction mode block on the left to the MPM mode list.

Вариант 39. Способ согласно варианту 34 или 38, где этот способ дополнительно содержит:Option 39. The method according to option 34 or 38, where this method further comprises:

добавление величины другого сдвига (например, 1) к индексу режима предсказания относительно блока слева с целью получения другого смещенного режима предсказания относительно блока слева, когда этот другой смещенный режим предсказания относительно блока слева входит в список режимов MPM,adding another offset value (eg, 1) to the left block prediction mode index to obtain another left block offset prediction mode when that other left block offset prediction mode is included in the MPM mode list,

добавление величины другого сдвига (например, 1) к индексу режима предсказания относительно блока сверху с целью получения другого индекса смещенного режима предсказания относительно блока сверху, добавление этого другого индекса смещенного режима предсказания относительно блока сверху в список режимов MPM.adding a different offset value (e.g., 1) to the block-up prediction mode index to obtain another block-up prediction mode offset index, adding that other block-up prediction mode offset index to the MPM mode list.

Вариант 40. Способ согласно варианту 2, где этот способ дополнительно содержит:Option 40. The method according to option 2, where this method further comprises:

определение, доступен ли блок сверху (например, блок A на фиг. 5) от текущего блока кодирования или нет (например, если нет режима внутреннего предсказания относительно блока сверху, блок сверху недоступен, когда имеется режим внутреннего предсказания относительно блока сверху, этот блок сверху доступен, и если блок сверху доступен, получают режим внутреннего предсказания относительно блока сверху);determining whether a block from above (for example, block A in FIG. 5) is available from the current coding block or not (for example, if there is no intra prediction mode relative to the block above, the block above is unavailable, when there is an intra prediction mode relative to the block above, this block is from above is available, and if the top block is available, get the intra prediction mode relative to the top block);

когда блок сверху не доступен или когда режим внутреннего предсказания относительно блока сверху не является угловым режимом (например, нет режима внутреннего предсказания относительно блока сверху или режим внутреннего предсказания относительно блока сверху является планарным режимом, или режим внутреннего предсказания относительно блока сверху является DC-режимом) и режим внутреннего предсказания относительно блока слева является угловым режимом (например, величина индекса, соответствующего режиму внутреннего предсказания относительно блока слева не меньше 2, диапазон величин индекса может быть от 2 до 66, величина индекса также может быть равна 66),when block-above is not available, or when block-above intra prediction mode is not angular mode (e.g., no block-above intra prediction mode, or block-above intra prediction mode is planar mode, or block-above intra prediction mode is DC mode) and the left block intra prediction mode is the corner mode (for example, the index value corresponding to the left block intra prediction mode is not less than 2, the index value range may be 2 to 66, the index value may also be 66),

когда планарный режим не входит в список режимов MPM, добавление этого планарного режима в список режимов MPM (в одном из примеров, после добавления режима внутреннего предсказания относительно блока слева в список режимов MPM, определяют, следует ли добавить планарный режим в список режимов MPM или нет).when the planar mode is not included in the MPM mode list, adding that planar mode to the MPM mode list (in one example, after adding the left block intra prediction mode to the MPM mode list, determine whether to add the planar mode to the MPM mode list or not ).

Вариант 41. Способ согласно варианту 40, где этот способ дополнительно содержит:Embodiment 41. The method of Embodiment 40, wherein the method further comprises:

когда DC-режим не входит в список режимов MPM, добавление этого DC-режима в список режимов MPM (в одном из примеров, после добавления режима внутреннего предсказания относительно блока слева в список режимов MPM, определяют, следует ли добавить DC-режим в список режимов MPM или нет. В другом примере, после определения, следует ли добавить планарный режим в список режимов MPM или нет, определяют, следует ли добавить DC-режим в список режимов MPM или нет).when the DC mode is not included in the MPM mode list, adding this DC mode to the MPM mode list MPM or Not In another example, after determining whether the planar mode should be added to the MPM mode list or not, it is determined whether the DC mode should be added to the MPM mode list or not).

Вариант 42. Способ согласно варианту 40 или 41, где этот способ дополнительно содержит:Option 42. The method according to option 40 or 41, where this method further comprises:

Добавление величины сдвига к индексу режима предсказания относительно блока слева с целью получения индекса смещенного режима предсказания относительно блока слева, если этот смещенный режим предсказания относительно блока слева не входит в список режимов MPM, добавление этого смещенного режима предсказания относительно блока слева в список режимов MPM (в одном из примеров, этот этап может быть выполнен после добавления режима внутреннего предсказания относительно блока слева в список режимов MPM. В другом примере, этот этап может быть выполнен после определения, следует ли добавить планарный режим список режимов MPM или нет. В другом примере, этот этап может быть выполнен после определения, следует ли добавить DC-режим в список режимов MPM или нет.)Adding a shift amount to the Left Block Prediction Mode Index to obtain the Left Block Offset Prediction Mode Index, if that Left Block Offset Prediction Mode is not in the MPM Mode List, Adding this Left Block Offset Prediction Mode to the MPM Mode List (in In one example, this step may be performed after adding the left block intra prediction mode to the MPM mode list.In another example, this step may be performed after determining whether to add the planar mode to the MPM mode list.In another example, this step can be performed after determining whether DC mode should be added to the MPM mode list or not.)

Вариант 43. Способ согласно варианту 42, где величина сдвига равна -1.Embodiment 43. The method according to Embodiment 42, where the offset value is -1.

Вариант 44. Способ согласно варианту 42, где величина сдвига равна 1 (в одном из примеров, две величины сдвигов добавляют к индексу режима предсказания относительно блока слева с целью получения индекса одного смещенного режима предсказания относительно блока слева и индекса другого смещенного режима предсказания относительно блока слева, если указанный один смещенный режим предсказания относительно блока слева (величина сдвига равна -1) не входит в список режимов MPM, добавление этого одного смещенного режима предсказания относительно блока слева в список режимов MPM, и если указанный другой смещенный режим предсказания относительно блока слева (величина сдвига равна 1) не входит в список режимов MPM, добавление этого другого смещенного режима предсказания относительно блока слева в список режимов MPM.)Embodiment 44. The method of Embodiment 42 wherein the offset value is 1 (in one example, two offset values are added to a prediction mode index relative to the block on the left to obtain an index of one offset prediction mode relative to the left block and an index of another offset prediction mode relative to the left block , if the specified one left block offset prediction mode (offset value is -1) is not in the MPM mode list, adding that one left block offset prediction mode to the MPM mode list, and if the specified other left block offset prediction mode (value shift equals 1) not in the MPM mode list, adding this other block-biased prediction mode to the left of the MPM mode list.)

Вариант 45. Способ согласно какому-либо одному из вариантов 40 – 44, где этот способ дополнительно содержит:Embodiment 45. The method of any one of embodiments 40-44, wherein the method further comprises:

когда вертикальный режим не входит в список режимов MPM, добавление этого вертикального режима в список режимов MPM (в одном из примеров, этот этап может быть выполнен после добавления режима внутреннего предсказания относительно блока слева в список режимов MPM. В другом примере, этот этап может быть выполнен после определения, следует ли добавить планарный режим в список режимов MPM или нет. В другом примере, этот этап может быть выполнен после определения, следует ли добавить DC-режим в список режимов MPM или нет. В другом примере, этот этап может быть выполнен после определения, следует ли добавить смещенный режим предсказания относительно блока слева в список режимов MPM.)when the vertical mode is not in the MPM mode list, adding that vertical mode to the MPM mode list (In one example, this step may be performed after adding the left block intra prediction mode to the MPM mode list. In another example, this step may be executed after determining whether to add the planar mode to the MPM mode list or not.In another example, this step may be performed after determining whether to add the DC mode to the MPM mode list or not.In another example, this step may be performed after determining whether to add a block-offset prediction mode on the left to the list of MPM modes.)

Вариант 46. Способ согласно какому-либо одному из вариантов 40 – 45, где этот способ дополнительно содержит:Embodiment 46. The method of any one of Embodiments 40-45, wherein the method further comprises:

когда горизонтальный режим не входит в список режимов MPM, добавление горизонтального режима в список режимов MPM (в одном из примеров, этот этап может быть выполнен после добавления режима внутреннего предсказания относительно блока слева в список режимов MPM. В другом примере, этот этап может быть выполнен после определения, следует ли добавить планарный режим в список режимов MPM или нет. В другом примере, этот этап может быть выполнен после определения, следует ли добавить DC-режим в список режимов MPM или нет. В другом примере, этот этап может быть выполнен после определения, следует ли добавить смещенный режим предсказания относительно блока слева в список режимов MPM. В другом примере, этот этап может быть выполнен после определения, следует ли добавить вертикальный режим в список режимов MPM.)when the horizontal mode is not included in the MPM mode list, adding the horizontal mode to the MPM mode list (in one example, this step may be performed after adding the left block intra prediction mode to the MPM mode list. In another example, this step may be performed after determining whether the planar mode should be added to the MPM mode list or not.In another example, this step may be performed after determining whether the DC mode should be added to the MPM mode list or not.In another example, this step may be performed after determining whether to add left-block offset prediction mode to the MPM mode list.In another example, this step may be performed after determining whether to add the vertical mode to the MPM mode list.)

Вариант 47. Способ согласно какому-либо одному из вариантов 40 – 46, где этот способ дополнительно содержит:Option 47. The method according to any one of options 40-46, where this method further comprises:

когда горизонтальный режим не входит в список режимов MPM и число режимов внутреннего предсказания в списке режимов MPM меньше пороговой величины (например, пороговая величина равна 6), добавление горизонтального режима в список режимов MPM (в одном из примеров, этот этап может быть выполнен после добавления режима внутреннего предсказания относительно блока слева в список режимов MPM. В другом примере, этот этап может быть выполнен после определения, следует ли добавить планарный режим в список режимов MPM или нет. В другом примере, этот этап может быть выполнен после определения, следует ли добавить DC-режим в список режимов MPM или нет. В другом примере, этот этап может быть выполнен после определения, следует ли добавить смещенный режим предсказания относительно блока слева в список режимов MPM. В другом примере, этот этап может быть выполнен после определения, следует ли добавить вертикальный режим в список режимов MPM).when the horizontal mode is not in the MPM mode list and the number of intra prediction modes in the MPM mode list is less than a threshold (e.g., the threshold is 6), adding the horizontal mode to the MPM mode list (in one example, this step may be performed after adding block-left intra prediction mode to the MPM mode list.In another example, this step may be performed after determining whether to add a planar mode to the MPM mode list or not.In another example, this step may be performed after determining whether to add DC mode in the MPM mode list or not.In another example, this step may be performed after determining whether to add a left block offset prediction mode to the MPM mode list.In another example, this step may be performed after determining whether add vertical mode to MPM mode list).

Вариант 48. Кодирующее устройство, содержащее процессорную схему для осуществления способа согласно какому-либо одному из вариантов 1 – 47.Option 48. An encoder containing a processor circuit for implementing the method according to any one of options 1 - 47.

Вариант 49. Декодирующее устройство, содержащее процессорную схему для осуществления способа согласно какому-либо одному из вариантов 1 – 47.Option 49. A decoding device containing a processor circuit for implementing the method according to any one of options 1 to 47.

Вариант 50. Компьютерный программный продукт, содержащий программный код для осуществления способа согласно какому-либо одному из вариантов 1 – 47.Option 50. A computer program product containing program code for implementing the method according to any one of options 1 - 47.

Вариант 51. Декодирующее устройство для построения списка наиболее вероятных режимов, MPM, содержащее:Option 51. A decoder for building a list of the most probable modes, MPM, containing:

один или несколько процессоров; иone or more processors; and

энергонезависимый читаемый компьютером носитель для хранения информация, соединенный с указанными процессорами и сохраняющий программы для выполнения процессорами, где эти программы, при выполнении их процессорами, конфигурируют декодирующее устройство для осуществления способа согласно какому-либо одному из вариантов 1 – 47.a non-volatile computer-readable storage medium connected to said processors and storing programs for execution by the processors, where these programs, when executed by the processors, configure a decoder to implement the method according to any one of options 1 to 47.

Вариант 52. Кодирующее устройство для построения списка наиболее вероятных режимов, MPM, содержащее:Option 52. Encoder for building a list of the most probable modes, MPM, containing:

один или несколько процессоров; иone or more processors; and

энергонезависимый читаемый компьютером носитель для хранения информация, соединенный с указанными процессорами и сохраняющий программы для выполнения процессорами, где эти программы, при выполнении их процессорами, конфигурируют кодирующее устройство для осуществления способа согласно какому-либо одному из вариантов 1 – 47.a non-volatile computer-readable storage medium connected to said processors and storing programs for execution by the processors, where these programs, when executed by the processors, configure an encoder to implement the method according to any one of options 1-47.

Для вычисления величин весовых коэффициентов, необходимых для предсказания пикселей в пределах рассматриваемого блока, введена кусочно-линейная аппроксимация. Такая кусочно-линейная аппроксимация, с одной стороны, значительно уменьшает вычислительную сложность механизма предсказания с взвешенными расстояниями по сравнению с прямым вычислением весовых коэффициентов и, с другой стороны, помогает достигнуть более высокой точности величин весовых коэффициентов по сравнению с ранее применявшимися упрощениями.To calculate the values of the weight coefficients necessary for predicting pixels within the considered block, a piecewise linear approximation is introduced. Such a piecewise linear approximation, on the one hand, significantly reduces the computational complexity of the distance-weighted prediction mechanism compared to the direct calculation of weight coefficients, and, on the other hand, helps to achieve higher accuracy of weight coefficient values compared to previously used simplifications.

Эти варианты могут быть применены к другим двунаправленным и зависящим от положения технологиям внутреннего предсказания (например, различные модификации способа зависимой от положения комбинации внутреннего предсказания (PDPC)), равно как к механизмам, использующим весовые коэффициенты, зависящие от расстояния от одного пикселя до другого, с целью смешивания различных частей картинки (изображения) (например, некоторые способы смешивания при обработке изображений).These variations can be applied to other bidirectional and position-dependent intra prediction technologies (e.g., various modifications of the position-dependent intra-prediction combination (PDPC) method), as well as to mechanisms that use weights depending on the distance from one pixel to another, for the purpose of blending different parts of a picture (image) (for example, some blending methods in image processing).

Различные варианты реализации предмета настоящего изобретения и описываемых здесь операций могут быть осуществлены в цифровой электронной схеме или посредством компьютерного загружаемого программного обеспечения, встроенного программного обеспечения или аппаратуры, включая структуры, рассматриваемые в настоящем описании и их структурные эквиваленты, или с применением комбинаций перечисленных выше объектов. Различные варианты реализации предмета настоящего изобретения могут быть осуществлены посредством одной или нескольких компьютерных программ, т.е. одного или нескольких модулей компьютерных программных команд, кодированных на компьютерном носителе для хранения информации, для выполнения аппаратурой обработки данных или для управления этой аппаратурой. В качестве альтернативы или в дополнение к этому, программные команды могут быть кодированы на искусственно генерируемом распространяющемся сигнале, например, на генерируемом машиной электрическом, оптическом или электромагнитном сигнале, формируемом для кодирования информации с целью передачи подходящей приемной аппаратуре для выполнения аппаратурой обработки данных. Компьютерный носитель для хранения информации, например, читаемый компьютером носитель, может представлять собой или может входить в читаемое компьютером запоминающее устройство, читаемую компьютером плату для хранения информации, матрицу памяти или запоминающее устройство с произвольной или последовательной выборкой, или комбинацию одного или нескольких перечисленных выше объектов. Более того, хотя компьютерный носитель для хранения информации не является распространяющимся сигналом, такой компьютерный носитель для хранения информации может быть источником или получателем компьютерных программных команд, кодированных на искусственно генерируемом распространяющемся сигнале. Такой компьютерный носитель для хранения информации может также быть или входить в состав одного или нескольких физических и/или энергонезависимых компонентов или носителей (например, нескольких дисков CD, дисков других типов или других запоминающих устройств).Various embodiments of the subject matter of the present invention and the operations described herein may be implemented in digital electronic circuitry or by computer downloadable software, firmware or hardware, including the structures discussed herein and their structural equivalents, or using combinations of the above items. Various embodiments of the subject matter of the present invention may be implemented by one or more computer programs, i. one or more modules of computer program instructions encoded on a computer storage medium for execution by or control of data processing equipment. Alternatively, or in addition, program instructions may be encoded on an artificially generated propagating signal, such as a machine-generated electrical, optical, or electromagnetic signal, generated to encode information for transmission to suitable receiving equipment for processing by data processing equipment. A computer storage medium, such as a computer-readable medium, may be or may be included in a computer-readable storage device, a computer-readable information storage card, a memory array, or a random access or sequential access storage device, or a combination of one or more of the foregoing. . Moreover, although the computer storage medium is not a propagating signal, such a computer storage medium may be a source or destination of computer program instructions encoded on an artificially generated propagating signal. Such computer storage media may also be or be included in one or more physical and/or non-volatile components or media (eg, multiple CDs, other types of discs, or other storage devices).

В некоторых реализациях операции, рассматриваемые в настоящем описании, могут быть осуществлены в виде сервисов внешнего размещения, предоставляемых сервером в облачной компьютерной сети. Например, читаемые компьютером носители для хранения информации могут быть логически сгруппированы и доступны в пределах облачной компьютерной сети. Серверы в такой облачной компьютерной среде могут содержать облачную вычислительную платформу для предоставления сервисов на облачной основе. Термины «облако», «облачные вычисления» и «на облачной основе» могут быть использованы взаимозаменяемо в соответствующих случаях, не отклоняясь от объема настоящего изобретения. Сервисы на облачной основе могут быть сервисами внешнего размещения, выполняемые серверами и предоставляемые через сеть связи клиентской платформе для усиления, дополнения или замены приложений, выполняемых локально на компьютере клиента. Схема может использовать сервисы на облачной основе для быстрого приема обновлений программного обеспечения, приложений и других ресурсов, для получения которых в противном случае потребовалось бы продолжительное время прежде, чем эти ресурсы могли бы быть доставлены в схему.In some implementations, the operations discussed herein may be implemented as external hosting services provided by a server on a cloud computer network. For example, computer-readable storage media can be logically grouped and accessed within a cloud computing network. Servers in such a cloud computing environment may contain a cloud computing platform for providing cloud-based services. The terms "cloud", "cloud computing" and "cloud-based" may be used interchangeably as appropriate without deviating from the scope of the present invention. Cloud-based services may be hosted services executed by servers and provided over a communications network to a client platform to augment, supplement, or replace applications running locally on the client's computer. The schema may use cloud-based services to quickly receive updates to software, applications, and other resources that would otherwise take a long time to obtain before those resources could be delivered to the schema.

Компьютерная программа (также известная как программа, программное обеспечение, программное приложение, сценарий или код) может быть написана на каком-либо языке программирования, включая компилируемые или интерпретируемые языки, декларативные или процедурные языки, и может быть развернута в любой форме, включая автономную программу или модуль, компонент, подпрограмму, объект или другую единицу, подходящую для использования в компьютерной среде. Компьютерная программа может, но не обязательно, соответствовать файлу в файловой системе. Программа может быть сохранена в части файла, который содержит и другие программы или данные (например, один или несколько сценариев, хранящихся в документе на языке разметки), в одном файле, содержащем только рассматриваемую программу, или в нескольких скоординированных файлах (например, в файлах, сохраняющих один или нескольких модулей, подпрограмм, или частей кода). Компьютерная программа может быть развернута для выполнения на одном компьютере или на нескольких компьютерах, расположенных в одном месте или распределенных по нескольким пунктам и соединенных сетью связи.A computer program (also known as a program, software, software application, script, or code) may be written in any programming language, including compiled or interpreted languages, declarative or procedural languages, and may be deployed in any form, including a standalone program. or a module, component, subroutine, object, or other unit suitable for use in a computer environment. A computer program may, but need not, correspond to a file in a file system. A program can be stored in a part of a file that contains other programs or data (for example, one or more scripts stored in a markup language document), in a single file containing only the program in question, or in several coordinated files (for example, in files that store one or more modules, subroutines, or parts of code). The computer program may be deployed to run on a single computer or on multiple computers located in the same location or distributed over multiple locations and connected by a communications network.

Процедуры и логические схемы, рассматриваемые в настоящем описании, могут быть реализованы одним или несколькими программируемыми процессорами, выполняющими одну или несколько компьютерных программ для осуществления действий путем оперирования входными данными и генерации выходных данных и воздействий. Эти процедуры и логические схемы могут также быть осуществлены, а аппаратура может быть выполнена в виде логической схемы специального назначения, например, программируемой пользователем вентильной матрицы (FPGA) или специализированной интегральной схемы (ASIC).The procedures and logic described herein may be implemented by one or more programmable processors executing one or more computer programs to act by operating on inputs and generating outputs and actions. These procedures and logic may also be implemented and the hardware may be implemented as a special purpose logic circuit such as a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC).

Процессоры, подходящие для выполнения компьютерной программы, могут представлять собой микропроцессоры, как общего, так и специального назначения, или какие-либо один или несколько процессоров цифрового компьютера какого-либо типа. Обычно, процессор должен принимать команды и данные из постоянного запоминающего устройства и/или из запоминающего устройства с произвольной выборкой. Основными элементами компьютера являются процессор для осуществления действий в соответствии с командами и одно или несколько запоминающих устройств для сохранения команд и данных. Обычно компьютер может содержать или быть оперативно связан для приема данных от и/или передачи данных с одним или несколькими запоминающими устройствами большой емкости для сохранения данных, например, магнитными, магнитооптическими дисками или оптическими дисками. Однако компьютеру не обязательно иметь такие устройства. Более того, компьютер может быть встроен в другое устройство, например, мобильный телефон, персональный цифровой помощник (personal digital assistant (PDA)), мобильный аудио или видео плеер, игровую консоль, приемник системы глобального местоопределения (Global Positioning System (GPS)) или портативное запоминающее устройство (например, USB-флэшка (универсальная последовательная шина (universal serial bus (USB))) flash drive), называя только некоторые. К устройствам, подходящим для хранения компьютерных программных команд, относятся все виды энергонезависимой памяти, носителей и запоминающих устройств, включая полупроводниковые запоминающие устройства, например, стираемое программируемое постоянное запоминающее устройство (СППЗУ (EPROM)), электрически стираемое программируемое постоянное запоминающее устройство (ЭСППЗУ (EEPROM) и устройства флэш-памяти; магнитные диски, например, внутренние жесткие диски или сменные диски; магнитооптические диски; и диски CD-ROM и DVD-ROM). Процессор и запоминающее устройство могут быть дополнены логической схемой специального назначения или включены в нее.Processors suitable for executing a computer program may be microprocessors, either general purpose or special purpose, or any one or more processors of some type of digital computer. Typically, the processor must receive instructions and data from read only memory and/or random access memory. The main elements of a computer are a processor for carrying out actions in accordance with commands and one or more storage devices for storing commands and data. Typically, the computer may include or be operatively linked to receive data from and/or transmit data with one or more mass storage devices for storing data, such as magnetic, magneto-optical disks or optical disks. However, a computer does not need to have such devices. Moreover, the computer may be embedded in another device, such as a mobile phone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device (such as a USB flash drive), to name but a few. Devices suitable for storing computer program instructions include all types of non-volatile memory, media and storage devices, including semiconductor memory devices, such as erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM ) and flash memory devices; magnetic disks, such as internal hard drives or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks). The processor and storage device may be supplemented with or included in special purpose logic.

Хотя настоящее описание содержит множество конкретных подробностей, их не следует толковать в качестве ограничений объема каких-либо реализации или того, что может быть заявлено в Формуле изобретения, а только в качестве описания признаков, специфичных для конкретных реализаций. Некоторые признаки, рассматриваемые в настоящем описании в контексте раздельных реализаций, могут быть также осуществлены совместно в одной реализации. И наоборот, различные признаки, описываемые в контексте одной реализации, могут быть также осуществлены в нескольких реализациях по отдельности или в виде какой-либо подходящей субкомбинации. Более того, хотя признаки могут быть описаны выше как действующие в определенных комбинациях и даже первоначально заявлены как таковые, один или несколько признаков из заявленной комбинации могут быть в некоторых случаях исключены из нее, а заявленная комбинация может быть превращена в субкомбинацию или в какие-то вариации субкомбинации.Although the present description contains many specific details, they should not be construed as limitations on the scope of any implementation or what may be claimed in the Claims, but only as a description of features specific to particular implementations. Some of the features discussed in the present description in the context of separate implementations may also be implemented together in one implementation. Conversely, various features described in the context of a single implementation may also be implemented in multiple implementations individually or in some suitable subcombination. Moreover, although the features may be described above as operating in certain combinations and even initially claimed as such, one or more features from the claimed combination may in some cases be excluded from it, and the claimed combination may be turned into a subcombination or into some subcombination variations.

Аналогично, тогда как операции изображены на чертежах в конкретном порядке, это не следует понимать как требование, чтобы такие операции осуществлялись именно в показанном порядке или в последовательном порядке, или чтобы все иллюстрированные операции были выполнены, для достижения желаемых результатов. В некоторых обстоятельствах могут быть предпочтительными и выигрышными многозадачность и параллельная обработка. Более того, разделение различных компонентов системы в описываемых выше вариантах реализации не следует понимать в качестве требования такого разделения во всех вариантах, а также следует понимать, что описываемые программные компоненты и системы могут быть, в общем случае, интегрированы вместе, в одном программном продукте или упакованы в виде нескольких программных продуктов.Likewise, while the operations are shown in the drawings in a specific order, this should not be understood as a requirement that such operations be carried out in the order shown or in sequential order, or that all the illustrated operations be performed in order to achieve the desired results. In some circumstances, multitasking and parallel processing may be preferred and advantageous. Moreover, the separation of the various system components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should also be understood that the described software components and systems may, in general, be integrated together, in a single software product or packaged as several software products.

Таким образом, выше были описаны конкретные варианты реализации предмета изобретения. Другие варианты реализации находятся в пределах объема прилагаемой Формулы изобретения. В некоторых случаях, действия, упоминаемые в этих пунктах Формулы изобретения, могут быть осуществлены в другом порядке, но по-прежнему достигать желаемых результатов. В дополнение к этому, процедуры, показанные на прилагаемых чертежах, не обязательно требуют показанного конкретного порядка выполнения или выполнения в последовательном порядке. В некоторых вариантах могут быть предпочтительными и выигрышными многозадачность и параллельная обработка.Thus, specific embodiments of the subject matter have been described above. Other implementation options are within the scope of the attached claims. In some cases, the actions referred to in these claims may be performed in a different order and still achieve the desired results. In addition, the procedures shown in the accompanying drawings do not necessarily require the particular execution order shown or the execution in sequential order. In some embodiments, multitasking and parallel processing may be preferred and advantageous.

Хотя в настоящем описании приведены ряд вариантов, следует понимать, что описываемые системы и способы могут быть воплощены во множестве других конкретных форм, не отклоняясь от смысла или объема настоящего изобретения. Представленные примеры следует считать иллюстративными и неисчерпывающими, а намерения не ограничиваются приведенными здесь подробностями. Например, различные элементы или компоненты могут быть комбинированы или интегрированы в другую систему или некоторые признаки могут быть исключены, либо не реализованы. While a number of variations are given herein, it should be understood that the described systems and methods may be embodied in a variety of other specific forms without departing from the spirit or scope of the present invention. The examples provided are to be considered illustrative and non-exhaustive, and the intentions are not limited to the details given here. For example, various elements or components may be combined or integrated into another system, or some features may be omitted or not implemented.

В дополнение к этому, технологии, системы, подсистемы и способы, описываемые и иллюстрируемые в различных вариантах в качестве дискретных или раздельных, могут быть скомбинированы или интегрированы с другими системами, модулями, технологиями или способами, не отклоняясь от объема настоящего изобретения. Другие объекты, показанные или обсуждаемые в качестве соединенных, непосредственно связанных или осуществляющих прямую связь одни с другими, могут быть связаны или осуществлять связь не напрямую, а через некоторый интерфейс, устройство или промежуточный компонент, будь то электрически, механически или другим способом. Специалист в рассматриваемой области может найти другие примеры, замен, подстановок или изменений, не отклоняясь от смысла и объема, рассмотренных здесь.In addition, technologies, systems, subsystems, and methods, described and illustrated in various ways as discrete or separate, can be combined or integrated with other systems, modules, technologies, or methods without deviating from the scope of the present invention. Other objects shown or discussed as connected, directly connected, or communicating directly with each other may be connected or communicate indirectly through some interface, device, or intermediate component, whether electrically, mechanically, or otherwise. A person skilled in the art can find other examples, substitutions, substitutions or changes, without deviating from the meaning and scope discussed here.

Хотя в настоящем описании был приведен только ряд вариантов, должно быть понятно, что описываемые системы и способы могут быть реализованы во множестве других конкретных форм, не отклоняясь от смысла и объема настоящего изобретения. Представленные здесь примеры следует считать только иллюстративными и неисчерпывающими, а намерения не ограничиваются приведенными здесь подробностями. Например, различные варианты или компоненты могут быть скомбинированными или интегрированными в другой системе, либо некоторые признаки могут быть исключены или не реализованы.Although only a number of variations have been given in the present description, it should be understood that the described systems and methods can be implemented in many other specific forms without deviating from the spirit and scope of the present invention. The examples presented here are to be considered illustrative and non-exhaustive only, and the intentions are not limited to the details given here. For example, various options or components may be combined or integrated in another system, or certain features may be omitted or not implemented.

В дополнение к этому, технологии, системы, подсистемы и способы, описываемые и иллюстрируемые в различных вариантах в качестве дискретных или раздельных, могут быть скомбинированы или интегрированы с другими системами, модулями, технологиями или способами, не отклоняясь от объема настоящего изобретения. Другие объекты, показанные или обсуждаемые в качестве соединенных, непосредственно связанных или осуществляющих прямую связь одни с другими, могут быть связаны или осуществлять связь не напрямую, а через некоторый интерфейс, устройство или промежуточный компонент, будь то электрически, механически или другим способом. Специалист в рассматриваемой области может найти другие примеры замен, подстановок или изменений, не отклоняясь от смысла и объема, рассмотренных здесь.In addition, technologies, systems, subsystems, and methods, described and illustrated in various ways as discrete or separate, can be combined or integrated with other systems, modules, technologies, or methods without deviating from the scope of the present invention. Other objects shown or discussed as connected, directly connected, or communicating directly with each other may be connected or communicate indirectly through some interface, device, or intermediate component, whether electrically, mechanically, or otherwise. A person skilled in the art can find other examples of substitutions, substitutions or changes without deviating from the meaning and scope discussed here.

Claims (67)

1. Способ построения списка наиболее вероятных режимов, MPM, для внутреннего предсказания, способ содержит:1. A method for constructing a list of the most probable modes, MPM, for intra prediction, the method comprises: определение, доступен ли блок слева от текущего блока кодирования или нет;determining whether a block to the left of the current coding block is available or not; определение, доступен ли блок сверху от текущего блока кодирования или нет;determining whether a block is available above the current encoding block or not; использование планарного режима, DC-режима, вертикального режима (индекс VER_IDX), горизонтального режима (индекс HOR_IDX), режима внутреннего предсказания, соответствующего указанному вертикальному режиму со сдвигом -4, режима внутреннего предсказания, соответствующего указанному вертикальному режиму со сдвигом 4, с целью получения величины индекса для режима внутреннего предсказания для текущего блока кодирования,using a planar mode, a DC mode, a vertical mode (VER_IDX index), a horizontal mode (HOR_IDX index), an intra prediction mode corresponding to the specified vertical mode with an offset of -4, an intra prediction mode corresponding to the specified vertical mode with an offset of 4, in order to obtain index values for the intra prediction mode for the current coding block, если удовлетворяется одно из следующих условий:if one of the following conditions is met: блок слева от текущего блока кодирования недоступен, и блок сверху от текущего блока кодирования недоступен;the block to the left of the current coding block is not available, and the block above the current coding block is not available; блок слева от текущего блока кодирования недоступен, блок сверху от текущего блока кодирования доступен, и режим внутреннего предсказания относительно блока сверху представляет собой планарный режим;the block to the left of the current coding block is unavailable, the block above the current coding block is available, and the intra prediction mode relative to the block above is a planar mode; блок слева от текущего блока кодирования недоступен, блок сверху от текущего блока кодирования доступен, и режим внутреннего предсказания относительно блока сверху представляет собой DC-режим;the block to the left of the current coding block is unavailable, the block above the current coding block is available, and the intra prediction mode relative to the block above is the DC mode; блок слева от текущего блока кодирования доступен, блок сверху от текущего блока кодирования недоступен, и режим внутреннего предсказания относительно блока слева представляет собой планарный режим;the block to the left of the current coding block is available, the block above the current coding block is unavailable, and the intra prediction mode relative to the block to the left is planar mode; блок слева от текущего блока кодирования доступен, блок сверху от текущего блока кодирования недоступен, и режим внутреннего предсказания относительно блока слева представляет собой DC-режим;the block to the left of the current coding block is available, the block upstream of the current coding block is unavailable, and the intra prediction mode relative to the block to the left is the DC mode; блок слева от текущего блока кодирования доступен, блок сверху от текущего блока кодирования доступен, режим внутреннего предсказания относительно блока слева не является угловым режимом, и режим внутреннего предсказания относительно блока сверху не является угловым режимом.the block to the left of the current coding block is available, the block upstream of the current coding block is available, the block-left intra-prediction mode is not an angle mode, and the intra-block-above prediction mode is not an angle mode. 2. Способ по п. 1, отличающийся тем, что этот способ дополнительно содержит: 2. The method according to p. 1, characterized in that this method additionally contains: получение величины флага наиболее вероятных режимов, MPM, для текущего блока кодирования;obtaining the flag value of the most likely modes, MPM, for the current coding block; величину индекса режима внутреннего предсказания для текущего блока кодирования получают на основе величины флага режимов MPM для текущего блока кодирования и индексов планарного режима, DC-режима, вертикального режима (VER_IDX), горизонтального режима (HOR_IDX), режима внутреннего предсказания, соответствующего вертикальному режиму со сдвигом -4, режима внутреннего предсказания, соответствующего вертикальному режиму со сдвигом 4.the value of the intra prediction mode index for the current coding block is obtained based on the value of the MPM modes flag for the current coding block and the indices of the planar mode, DC mode, vertical mode (VER_IDX), horizontal mode (HOR_IDX), intra prediction mode corresponding to the vertical offset mode -4, intra prediction mode corresponding to vertical mode with offset 4. 3. Способ по п. 1, отличающийся тем, что этот способ дополнительно содержит: 3. The method according to p. 1, characterized in that this method additionally contains: получение величины флага наиболее вероятных режимов, MPM, для текущего блока кодирования;obtaining the flag value of the most likely modes, MPM, for the current coding block; получение величины индекса режима внутреннего предсказания для текущего блока кодирования;obtaining an index value of the intra prediction mode for the current coding block; величину индекса режима внутреннего предсказания для текущего блока кодирования получают на основе величины флага режимов MPM для текущего блока кодирования и индексов планарного режима, DC-режима, вертикального режима (VER_IDX), горизонтального режима (HOR_IDX), режима внутреннего предсказания, соответствующего вертикальному режиму со сдвигом -4, режима внутреннего предсказания, соответствующего вертикальному режиму со сдвигом 4.the value of the intra prediction mode index for the current coding block is obtained based on the value of the MPM modes flag for the current coding block and the indices of the planar mode, DC mode, vertical mode (VER_IDX), horizontal mode (HOR_IDX), intra prediction mode corresponding to the vertical offset mode -4, intra prediction mode corresponding to vertical mode with offset 4. 4. Способ по п. 3, отличающийся тем, что когда величина флага режимов MPM для текущего блока кодирования равна 1, и величина индекса режима внутреннего предсказания для этого текущего блока кодирования равна 0, тогда режим внутреннего предсказания для текущего блока кодирования представляет собой планарный режим.4. The method of claim 3, wherein when the value of the MPM modes flag for the current coding block is 1, and the value of the intra prediction mode index for that current coding block is 0, then the intra prediction mode for the current coding block is a planar mode . 5. Способ по п. 3, отличающийся тем, что когда величина флага режимов MPM для текущего блока кодирования равна 0, режим внутреннего предсказания для текущего блока кодирования не совпадает ни с одним из следующих режимов внутреннего предсказания:5. The method of claim 3, wherein when the value of the MPM modes flag for the current coding block is 0, the intra prediction mode for the current coding block does not match any of the following intra prediction modes: планарным режимом, DC-режимом, вертикальным режимом (индекс VER_IDX), горизонтальным режимом (индекс HOR_IDX), режимом внутреннего предсказания, соответствующим вертикальному режиму со сдвигом -4, или режимом внутреннего предсказания, соответствующим вертикальному режиму со сдвигом 4.planar mode, DC mode, vertical mode (VER_IDX index), horizontal mode (HOR_IDX index), intra prediction mode corresponding to the vertical mode with an offset of -4, or intra prediction mode corresponding to the vertical mode with an offset of 4. 6. Способ декодирования текущего блока видео, где этот способ декодирования содержит:6. Method for decoding the current video block, where this decoding method contains: определение, доступен ли блок слева от текущего блока кодирования или нет;determining whether a block to the left of the current coding block is available or not; определение, доступен ли блок сверху от текущего блока кодирования или нет;determining whether a block is available above the current encoding block or not; получение величины флага наиболее вероятных режимов, MPM, для текущего блока из потока битов данных;obtaining the flag value of the most likely modes, MPM, for the current block from the data bit stream; получение индекса режима MPM для текущего блока из потока битов данных, если величина флага режимов MPM указывает, что режим внутреннего предсказания для текущего блока представляет собой режим внутреннего предсказания, входящий во множество режимов MPM для внутреннего предсказания;obtaining an MPM mode index for the current block from the data bitstream if the value of the MPM modes flag indicates that the intra prediction mode for the current block is an intra prediction mode included in the plurality of intra prediction MPM modes; получение величины индекса режима внутреннего предсказания для текущего блока на основе индекса режима MPM и множества режимов MPM для текущего блока;obtaining an intra prediction mode index value for the current block based on the MPM mode index and the plurality of MPM modes for the current block; в котором, если режим внутреннего предсказания относительно соседнего блока слева от текущего блока является планарным режимом и режим внутреннего предсказания относительно соседнего блока сверху от текущего блока является планарным режимом, in which, if the intra prediction mode relative to the neighboring block to the left of the current block is a planar mode and the intra prediction mode relative to the neighboring block upstream of the current block is a planar mode, множество режимов MPM предсказания содержит: планарный режим, DC-режим, вертикальный режим, горизонтальный режим, режим внутреннего предсказания, соответствующий вертикальному режиму со сдвигом -4, и режим внутреннего предсказания, соответствующий вертикальному режиму со сдвигом 4.the plurality of MPM prediction modes includes: a planar mode, a DC mode, a vertical mode, a horizontal mode, an intra prediction mode corresponding to the -4 offset vertical mode, and an intra prediction mode corresponding to the 4 offset vertical mode. 7. Способ по п. 6, отличающийся тем, что когда величина флага режимов MPM для текущего блока кодирования равна 1, и величина индекса режима внутреннего предсказания для этого текущего блока кодирования равна 0, тогда режим внутреннего предсказания для текущего блока кодирования представляет собой планарный режим. 7. The method of claim 6, wherein when the value of the MPM modes flag for the current coding block is 1, and the value of the intra prediction mode index for that current coding block is 0, then the intra prediction mode for the current coding block is a planar mode . 8. Способ декодирования текущего блока видео, где этот способ декодирования содержит:8. Method for decoding the current block of video, where this method of decoding contains: определение, доступен ли блок слева от текущего блока кодирования или нет;determining whether a block to the left of the current coding block is available or not; определение, доступен ли блок сверху от текущего блока кодирования или нет;determining whether a block is available above the current encoding block or not; получение величины флага наиболее вероятных режимов, MPM, для текущего блока из потока битов данных;obtaining the flag value of the most likely modes, MPM, for the current block from the data bit stream; получение индекса режима MPM для текущего блока из потока битов данных, если величина флага режимов MPM указывает, что режим внутреннего предсказания для текущего блока представляет собой режим внутреннего предсказания, входящий во множество режимов MPM для внутреннего предсказания;obtaining an MPM mode index for the current block from the data bitstream if the value of the MPM modes flag indicates that the intra prediction mode for the current block is an intra prediction mode included in the plurality of intra prediction MPM modes; получение величины индекса режима внутреннего предсказания для текущего блока на основе индекса режима MPM и множества режимов MPM для текущего блока;obtaining an intra prediction mode index value for the current block based on the MPM mode index and the plurality of MPM modes for the current block; в котором, если режим внутреннего предсказания относительно соседнего блока слева от текущего блока является планарным режимом и режим внутреннего предсказания относительно соседнего блока сверху от текущего блока является DC-режимом, множество режимов MPM предсказания содержит: планарный режим, DC-режим, вертикальный режим, горизонтальный режим, режим внутреннего предсказания, соответствующий вертикальному режиму с первым сдвигом, и режим внутреннего предсказания, соответствующий вертикальному режиму со вторым сдвигом.in which, if the intra prediction mode relative to the neighboring block to the left of the current block is planar mode and the intra prediction mode relative to the neighboring block upstream of the current block is DC mode, the set of MPM prediction modes includes: planar mode, DC mode, vertical mode, horizontal mode, an intra prediction mode corresponding to the first offset vertical mode, and an intra prediction mode corresponding to the second offset vertical mode. 9. Способ по п. 8, отличающийся тем, что когда величина флага режимов MPM для текущего блока кодирования равна 1, и величина индекса режима внутреннего предсказания для этого текущего блока кодирования равна 0, тогда режим внутреннего предсказания для текущего блока кодирования представляет собой планарный режим. 9. The method of claim 8, wherein when the value of the MPM modes flag for the current coding block is 1, and the value of the intra prediction mode index for that current coding block is 0, then the intra prediction mode for the current coding block is a planar mode . 10. Способ декодирования текущего блока видео, где этот способ декодирования содержит:10. Method for decoding the current block of video, where this method of decoding contains: определение, доступен ли блок слева от текущего блока кодирования или нет;determining whether a block to the left of the current coding block is available or not; определение, доступен ли блок сверху от текущего блока кодирования или нет;determining whether a block is available above the current encoding block or not; получение величины флага наиболее вероятных режимов, MPM, для текущего блока из потока битов данных;obtaining the flag value of the most likely modes, MPM, for the current block from the data bit stream; получение индекса режима MPM для текущего блока из потока битов данных, если величина флага режимов MPM указывает, что режим внутреннего предсказания для текущего блока представляет собой режим внутреннего предсказания, входящий во множество режимов MPM для внутреннего предсказания;obtaining an MPM mode index for the current block from the data bitstream if the value of the MPM modes flag indicates that the intra prediction mode for the current block is an intra prediction mode included in the plurality of intra prediction MPM modes; получение величины индекса режима внутреннего предсказания для текущего блока на основе индекса режима MPM и множества режимов MPM для текущего блока;obtaining an intra prediction mode index value for the current block based on the MPM mode index and the plurality of MPM modes for the current block; в котором, если соседний блок слева от текущего блока недоступен и режим внутреннего предсказания относительно соседнего блока сверху от текущего блока является планарным режимом, in which, if the neighboring block to the left of the current block is not available and the intra prediction mode relative to the neighboring block upstream of the current block is a planar mode, множество режимов MPM предсказания содержит: планарный режим, DC-режим, вертикальный режим, горизонтальный режим, режим внутреннего предсказания, соответствующий вертикальному режиму со сдвигом -4, и режим внутреннего предсказания, соответствующий вертикальному режиму со сдвигом 4.the plurality of MPM prediction modes includes: a planar mode, a DC mode, a vertical mode, a horizontal mode, an intra prediction mode corresponding to the -4 offset vertical mode, and an intra prediction mode corresponding to the 4 offset vertical mode. 11. Способ по п. 10, отличающийся тем, что когда величина флага режимов MPM для текущего блока кодирования равна 1, и величина индекса режима внутреннего предсказания для этого текущего блока кодирования равна 0, тогда режим внутреннего предсказания для текущего блока кодирования представляет собой планарный режим. 11. The method of claim 10, wherein when the MPM mode flag value for the current coding block is 1, and the intra prediction mode index value for that current coding block is 0, then the intra prediction mode for the current coding block is a planar mode . 12. Способ декодирования текущего блока видео, где этот способ декодирования содержит:12. A method for decoding the current video block, where this decoding method comprises: определение, доступен ли блок слева от текущего блока кодирования или нет;determining whether a block to the left of the current coding block is available or not; определение, доступен ли блок сверху от текущего блока кодирования или нет;determining whether a block is available above the current encoding block or not; получение величины флага наиболее вероятных режимов, MPM, для текущего блока из потока битов данных;obtaining the flag value of the most likely modes, MPM, for the current block from the data bit stream; получение индекса режима MPM для текущего блока из потока битов данных, если величина флага режимов MPM указывает, что режим внутреннего предсказания для текущего блока представляет собой режим внутреннего предсказания, входящий во множество режимов MPM для внутреннего предсказания;obtaining an MPM mode index for the current block from the data bitstream if the value of the MPM modes flag indicates that the intra prediction mode for the current block is an intra prediction mode included in the plurality of intra prediction MPM modes; получение величины индекса режима внутреннего предсказания для текущего блока на основе индекса режима MPM и множества режимов MPM для текущего блока;obtaining an intra prediction mode index value for the current block based on the MPM mode index and the plurality of MPM modes for the current block; в котором, если соседний блок слева от текущего блока недоступен и соседний блок сверху от текущего блока недоступен, множество режимов MPM предсказания содержит: планарный режим, DC-режим, вертикальный режим, горизонтальный режим, режим внутреннего предсказания, соответствующий вертикальному режиму со сдвигом -4, и режим внутреннего предсказания, соответствующий вертикальному режиму со сдвигом 4.in which, if the neighboring block to the left of the current block is unavailable and the neighboring block upstream of the current block is unavailable, the set of MPM prediction modes includes: planar mode, DC mode, vertical mode, horizontal mode, intra prediction mode corresponding to the vertical mode with a shift of -4 , and an intra prediction mode corresponding to the vertical mode with a shift of 4. 13. Способ по п. 12, отличающийся тем, что когда величина флага режимов MPM для текущего блока кодирования равна 1, и величина индекса режима внутреннего предсказания для этого текущего блока кодирования равна 0, тогда режим внутреннего предсказания для текущего блока кодирования представляет собой планарный режим. 13. The method of claim 12, wherein when the value of the MPM modes flag for the current coding block is 1, and the value of the intra prediction mode index for that current coding block is 0, then the intra prediction mode for the current coding block is a planar mode . 14. Способ декодирования текущего блока видео, где этот способ декодирования содержит:14. A method for decoding the current video block, where this decoding method comprises: определение, доступен ли блок слева от текущего блока кодирования или нет;determining whether a block to the left of the current coding block is available or not; определение, доступен ли блок сверху от текущего блока кодирования или нет;determining whether a block is available above the current encoding block or not; получение величины флага наиболее вероятных режимов, MPM, для текущего блока из потока битов данных;obtaining the flag value of the most likely modes, MPM, for the current block from the data bit stream; получение индекса режима MPM для текущего блока из потока битов данных, если величина флага режимов MPM указывает, что режим внутреннего предсказания для текущего блока представляет собой режим внутреннего предсказания, входящий во множество режимов MPM для внутреннего предсказания;obtaining an MPM mode index for the current block from the data bitstream if the value of the MPM modes flag indicates that the intra prediction mode for the current block is an intra prediction mode included in the plurality of intra prediction MPM modes; получение величины индекса режима внутреннего предсказания для текущего блока на основе индекса режима MPM и множества режимов MPM для текущего блока;obtaining an intra prediction mode index value for the current block based on the MPM mode index and the plurality of MPM modes for the current block; в котором, если режим внутреннего предсказания относительно соседнего блока слева от текущего блока является планарным режимом и соседний блок сверху от текущего блока недоступен, множество режимов MPM предсказания содержит: планарный режим, DC-режим, вертикальный режим, горизонтальный режим, режим внутреннего предсказания, соответствующий вертикальному режиму со сдвигом -4, и режим внутреннего предсказания, соответствующий вертикальному режиму со сдвигом 4.in which, if the intra prediction mode relative to the adjacent block to the left of the current block is planar mode and the adjacent block upstream of the current block is not available, the set of MPM prediction modes includes: planar mode, DC mode, vertical mode, horizontal mode, intra prediction mode corresponding to vertical mode with an offset of -4, and an intra prediction mode corresponding to the vertical mode with an offset of 4. 15. Способ по п. 14, отличающийся тем, что когда величина флага режимов MPM для текущего блока кодирования равна 1, и величина индекса режима внутреннего предсказания для этого текущего блока кодирования равна 0, тогда режим внутреннего предсказания для текущего блока кодирования представляет собой планарный режим. 15. The method of claim 14, wherein when the value of the MPM modes flag for the current coding block is 1, and the value of the intra prediction mode index for that current coding block is 0, then the intra prediction mode for the current coding block is a planar mode . 16. Декодирующее устройство, содержащее процессорную схему для осуществления способа согласно какому-либо одному из пп. 1-15.16. Decoding device containing a processor circuit for implementing the method according to any one of paragraphs. 1-15. 17. Декодирующее устройство для построения списка наиболее вероятных режимов, MPM, содержит:17. Decoding device for building a list of the most probable modes, MPM, contains: один или несколько процессоров; иone or more processors; and энергонезависимый читаемый компьютером носитель для хранения информации, соединенный с процессорами и сохраняющий программы для выполнения этими процессорами, где эти программы, при выполнении процессорами, конфигурируют декодирующее устройство для осуществления способа согласно какому-либо одному из пп. 1-15.a non-volatile computer-readable storage medium coupled to the processors and storing programs for execution by those processors, wherein the programs, when executed by the processors, configure a decoder to implement a method according to any one of claims. 1-15.
RU2021111111A 2018-09-21 2019-09-21 Derivation of internal prediction mode based on neighboring blocks RU2784004C2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US62/734,877 2018-09-21

Publications (2)

Publication Number Publication Date
RU2021111111A RU2021111111A (en) 2022-10-21
RU2784004C2 true RU2784004C2 (en) 2022-11-23

Family

ID=

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013109066A1 (en) * 2012-01-20 2013-07-25 주식회사 팬택 Intra prediction mode mapping method and device using the method
US20130266064A1 (en) * 2011-09-13 2013-10-10 Mediatek Singapore Pte. Ltd. Method and Apparatus for Intra Mode Coding in HEVC
RU2584498C2 (en) * 2011-11-04 2016-05-20 Квэлкомм Инкорпорейтед Intra-mode video encoding
RU2601843C2 (en) * 2011-06-09 2016-11-10 Квэлкомм Инкорпорейтед Enhanced intra-prediction mode signalling for video encoding using neighborhood mode
WO2016205699A1 (en) * 2015-06-18 2016-12-22 Qualcomm Incorporated Intra prediction and intra mode coding
US9554136B2 (en) * 2011-12-05 2017-01-24 Lg Electronics Inc. Method and device for intra prediction
US20170208327A1 (en) * 2010-12-21 2017-07-20 Electronics And Telecommunications Research Institute Intra prediction mode encoding/decoding method and apparatus for same

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170208327A1 (en) * 2010-12-21 2017-07-20 Electronics And Telecommunications Research Institute Intra prediction mode encoding/decoding method and apparatus for same
RU2601843C2 (en) * 2011-06-09 2016-11-10 Квэлкомм Инкорпорейтед Enhanced intra-prediction mode signalling for video encoding using neighborhood mode
US20130266064A1 (en) * 2011-09-13 2013-10-10 Mediatek Singapore Pte. Ltd. Method and Apparatus for Intra Mode Coding in HEVC
RU2584498C2 (en) * 2011-11-04 2016-05-20 Квэлкомм Инкорпорейтед Intra-mode video encoding
US9554136B2 (en) * 2011-12-05 2017-01-24 Lg Electronics Inc. Method and device for intra prediction
WO2013109066A1 (en) * 2012-01-20 2013-07-25 주식회사 팬택 Intra prediction mode mapping method and device using the method
US9854239B2 (en) * 2012-01-20 2017-12-26 Intellectual Discovery Co., Ltd. Intra prediction mode mapping method and device using the method
WO2016205699A1 (en) * 2015-06-18 2016-12-22 Qualcomm Incorporated Intra prediction and intra mode coding

Similar Documents

Publication Publication Date Title
JP7419418B2 (en) Decoders, programs and methods
US11044469B2 (en) Method and apparatus for intra prediction
US11503335B2 (en) Method and apparatus for intra prediction
US11297345B2 (en) Intra prediction mode derivation based on neighboring blocks
RU2784004C2 (en) Derivation of internal prediction mode based on neighboring blocks
RU2785106C2 (en) Method and device for internal prediction
RU2780222C2 (en) Method and device for internal prediction