RU2785106C2 - Method and device for internal prediction - Google Patents

Method and device for internal prediction Download PDF

Info

Publication number
RU2785106C2
RU2785106C2 RU2021108898A RU2021108898A RU2785106C2 RU 2785106 C2 RU2785106 C2 RU 2785106C2 RU 2021108898 A RU2021108898 A RU 2021108898A RU 2021108898 A RU2021108898 A RU 2021108898A RU 2785106 C2 RU2785106 C2 RU 2785106C2
Authority
RU
Russia
Prior art keywords
mode
intra prediction
prediction mode
idx
block
Prior art date
Application number
RU2021108898A
Other languages
Russian (ru)
Other versions
RU2021108898A (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 RU2021108898A publication Critical patent/RU2021108898A/en
Application granted granted Critical
Publication of RU2785106C2 publication Critical patent/RU2785106C2/en

Links

Images

Abstract

FIELD: encoding/decoding.
SUBSTANCE: invention relates to the field of encoding and decoding of images and/or video. Values of a flag of the most probable modes (hereinafter – MPM) are obtained for the current block from a bit stream; index MPM are obtained for the current block from the bit stream, when the value of flag MPM indicates that an internal prediction mode for the current block is an internal prediction mode contained in MPM set of internal prediction modes; values of the internal prediction mode are obtained for the current block based on index MPM and MPM set for the current block. When the internal prediction mode of the left neighboring block of the current block is a planar mode, and the internal prediction mode of the upper neighboring block of the current block is a planar mode, MPM set of prediction modes contains: a planar mode, DC mode, a vertical mode, a horizontal mode, an internal prediction mode corresponding to the vertical mode with the first offset, and an internal prediction mode corresponding to the vertical mode with the second offset.
EFFECT: provision of an effective encoding scheme with an internal prediction.
17 cl, 10 dwg, 1 tbl

Description

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

Настоящее изобретение относится к технической области кодирования и декодирования изображений и/или видео и, в частности, к способу и устройству для внутреннего предсказания.The present invention relates to the technical 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-дисков цифровое видео получило широкое распространения. Перед передачей видео кодируется и передается с использованием среды передачи. Зритель принимает видео и использует устройство просмотра для декодирования и отображения видео. С годами качество видео повысилось, например, благодаря более высоким разрешениям, глубинам цвета и частоты кадров. Это привело к увеличению потоков данных, которые в настоящее время обычно передаются через интернет и сетям мобильной связи.Since the advent of DVDs, digital video has become widespread. Before transmission, the video is encoded and transmitted using a transmission medium. The viewer receives the video and uses the viewer to decode and display the video. Video quality has improved over the years, for example through higher resolutions, color depths and frame rates. This has led to an increase in data flows, which are now usually transmitted over the Internet and mobile networks.

В связи с тем, что видео с более высоким разрешением содержит больше информации, однако, обычно необходимо обеспечить большие полосы пропускания. Для снижения требования к полосе пропускания, были введены стандарты кодирования видео, включающие в себя сжатие видео. При кодировании видео требования к полосе пропускания (или соответствующие требования к памяти в случае хранения) снижаются. Часто это снижение происходит за счет снижения качества. Таким образом, стандарты кодирования видео предполагают баланс между требованиями к полосе пропускания и качеством.Due to the fact that higher resolution video contains more information, however, it is usually necessary to provide more bandwidth. To reduce bandwidth requirements, video coding standards have been introduced that include video compression. When video is encoded, the bandwidth requirements (or corresponding memory requirements in the case of storage) are reduced. Often this decline comes at the expense of quality degradation. Thus, video coding standards strike a balance between bandwidth requirements and quality.

Высокоэффективное кодирование видео (HEVC) является примером стандарта кодирования видео, который широко известен специалистам в данной области техники. В HEVC для разделения блока кодирования (CU) на блоки предсказания (PU) или блоки преобразования (TUs). Стандарт следующего поколения универсального кодирования видео (VVC) является самым последним совместным видеопроектом Группы экспертов по кодированию видео ITU-T (VCEG) и организаций по стандартизации ISO/IEC Группы экспертов по движущимся изображениям (MPEG), работающих вместе в известном партнерстве, как Объединенная группа исследования видео (JVET). VVC также называют ITU-T H.266/кодирование видео следующего поколения (NGVC) стандартом. В VVC должны быть удалены концепции множества типов разделов, то есть, разделение CU, PU и TU концепций, за исключением случаев, когда это необходимо для CUs, размер которых слишком велик для максимальной длины преобразования и поддерживает большую гибкость для форм раздела CU.High Efficiency Video Coding (HEVC) is an example of a video coding standard that is widely known to those skilled in the art. In HEVC, to divide a coding unit (CU) into prediction units (PUs) or transform units (TUs). The next generation Universal Video Coding (VVC) standard is the most recent joint video project of the ITU-T Video Coding Expert Group (VCEG) and the ISO/IEC Motion Picture Experts Group (MPEG) standardization organizations working together in a well-known partnership as the Joint Group video research (JVET). VVC is also referred to as the ITU-T H.266/Next Generation Video Coding (NGVC) standard. VVC should remove the concept of multiple partition types, i.e., the separation of CU, PU, and TU concepts, except when necessary for CUs that are too large for the maximum transformation length and allow more flexibility for CU partition shapes.

Обработка этих блоков кодирования (CUs) (также называемых блоками) зависит от их размера, пространственного положения и указанного кодером режима кодирования. Режимы кодирования можно разделить на две группы в соответствии с типом предсказания: режимы внутреннего предсказания и внешнего предсказания. В режимах внутреннего предсказания используются выборки одного и того же изображения (также называемого кадром или изображением) для генерирования опорных выборок для вычисления значений предсказания для выборок восстанавливаемого блока. Внутреннее предсказание также называется пространственным предсказанием. Режимы внешнего предсказания предназначены для временного предсказания и используют опорные выборки предшествующего или следующего изображения для предсказания выборок блока текущего изображения.The processing of these coding units (CUs) (also referred to as blocks) depends on their size, spatial position, and the coding mode specified by the encoder. The coding modes can be divided into two groups according to the type of prediction: intra prediction and inter prediction modes. The intra prediction modes use samples of the same picture (also referred to as a frame or picture) to generate reference samples to calculate prediction values for the samples of the reconstructed block. Intra prediction is also called spatial prediction. The inter prediction modes are for temporal prediction and use previous or next picture reference samples to predict current picture block samples.

ITU-T VCEG (Q6/16) и ISO/IEC MPEG (JTC 1/SC 29/WG 11) изучается на предмет потенциальной необходимости в стандартизации будущей технологии кодирования видео с возможностью сжатия, которая значительно превосходит текущий HEVC стандарт (включающий в себя его текущие расширения и краткосрочные расширения для кодирования контента экрана и кодирования с расширенным динамическим диапазоном). Группы работают вместе над этой исследовательской деятельностью в рамках совместного проекта, известного как совместная группа исследования видео (JVET), для оценки проектов технологий сжатия, предложенных экспертами в этой области.ITU-T VCEG (Q6/16) and ISO/IEC MPEG (JTC 1/SC 29/WG 11) are being studied for the potential need to standardize a future compressible video coding technology that far exceeds the current HEVC standard (which includes its current extensions and short-term extensions for screen content encoding and high dynamic range encoding). The groups work together on this research activity in a collaborative project known as the Joint Video Research Team (JVET) to evaluate compression technology projects proposed by experts in the field.

VTM (универсальная тестовая модель) стандарт использует 35 внутренних режимов, тогда как BMS (набор опорных показателей) использует 67 внутренних режимов.The VTM (Universal Test Model) standard uses 35 internal modes, while the BMS (Benchmark Set) uses 67 internal modes.

Схема режима внутреннего кодирования, описанная в настоящее время в BMS, считается сложной, и недостатком невыбранного набора режимов является постоянство списка индексов.The intra coding mode scheme currently described in the BMS is considered complex, and the disadvantage of the unselected mode set is the index list persistence.

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

Варианты осуществления настоящего изобретения обеспечивают устройства и способы для декодирования согласно независимым пунктам формулы изобретения.Embodiments of the present invention provide devices and methods for decoding according to the independent claims.

Варианты осуществления настоящего изобретения обеспечивают, например, эффективную схему наиболее вероятных режимов (MPM) для внутреннего предсказания.Embodiments of the present invention provide, for example, an efficient most likely modes (MPM) scheme for intra prediction.

Предмет независимых пунктов формулы изобретения представляет решения вышеупомянутых и других задач. Из зависимых пунктов формулы изобретения, описания и чертежи очевидны дополнительные формы реализации.The subject matter of the independent claims represents solutions to the above and other problems. Additional forms of implementation are apparent from the dependent claims, descriptions and drawings.

Конкретные варианты осуществления изложены в прилагаемых независимых пунктах формулы изобретения и в зависимых пунктах формулы изобретения представлены другие варианты осуществления.Specific embodiments are set forth in the appended independent claims and dependent claims present other embodiments.

Первый аспект изобретения относится к способу декодирования текущего блока видео, в котором способ декодирования содержит: получение значения флага наиболее вероятных режимов (Most Probable Modes, MPM), для текущего блока из битового потока; получение MPM индекса для текущего блока из битового потока, когда значение MPM флага указывает, что режим внутреннего предсказания для текущего блока является режимом внутреннего предсказания, содержащимся в MPM наборе режимов внутреннего предсказания; получение значения режима внутреннего предсказания для текущего блока на основании MPM индекса и MPM набора для текущего блока; в котором, когда режим внутреннего предсказания левого соседнего блока текущего блока является планарным режимом и режим внутреннего предсказания вышеупомянутого соседнего блока текущего блока является планарным режимом, MPM набор режимов предсказания содержит: планарный режим, DC режим, вертикальный режим, горизонтальный режим, режим внутреннего предсказания, соответствующий вертикальному режиму с первым смещением, и режим внутреннего предсказания, соответствующий вертикальному режиму со вторым смещением. Способ может, например, выполняться устройством для декодирования видео.The first aspect of the invention relates to a method for decoding a current video block, wherein the decoding method comprises: obtaining a Most Probable Modes (MPM) flag value for the current block from a bitstream; obtaining an MPM index for the current block from the bitstream when the value of the MPM flag indicates that the intra prediction mode for the current block is an intra prediction mode contained in the MPM intra prediction mode set; obtaining an intra prediction mode value for the current block based on the MPM index and the MPM set for the current block; wherein, when the intra prediction mode of the left neighbor block of the current block is planar mode and the intra prediction mode of the aforementioned neighbor block of the current block is planar mode, the MPM prediction mode set comprises: planar mode, DC mode, vertical mode, horizontal mode, intra prediction mode, corresponding to the vertical mode with the first offset, and an intra prediction mode corresponding to the vertical mode with the second offset. The method may, for example, be performed by a video decoding device.

В возможной форме реализации способа согласно первому аспекту, в котором, когда значение MPM флага для текущего блока равно 1, и MPM индекс для текущего блока равен 0, режим внутреннего предсказания для текущего блока является планарным режимом.In a possible implementation form of the method according to the first aspect, wherein when the MPM value of the flag for the current block is 1 and the MPM index for the current block is 0, the intra prediction mode for the current block is a planar mode.

В возможной форме реализации способа согласно любой предшествующей реализации первого аспекта или первого аспекта, первое смещение составляет -4.In an exemplary implementation of the method according to any prior implementation of the first aspect or first aspect, the first offset is -4.

В возможной форме реализации способа согласно любой предшествующей реализации первого аспекта или первого аспекта, второе смещение составляет +4.In an exemplary implementation of the method according to any prior implementation of the first aspect or first aspect, the second offset is +4.

Второй аспект изобретения относится к способу декодирования текущего блока видео, в котором способ декодирования содержит: получение значения флага наиболее вероятных режимов, MPM, для текущего блока из битового потока; получение MPM индекса для текущего блока из битового потока, когда значение MPM флага указывает, что режим внутреннего предсказания для текущего блока является режимом внутреннего предсказания, содержащимся в MPM наборе режимов внутреннего предсказания; получение значения режима внутреннего предсказания для текущего блока на основании MPM индекса и MPM набора для текущего блока; в котором, когда режим внутреннего предсказания левого соседнего блока текущего блока является планарным режимом и режим внутреннего предсказания вышеупомянутого соседнего блока текущего блока является DC режимом, MPM набор режимов предсказания содержит: планарный режим, DC режим, вертикальный режим, горизонтальный режим, режим внутреннего предсказания, соответствующий вертикальному режиму с первым смещением, и режим внутреннего предсказания, соответствующий вертикальному режиму со вторым смещением. Способ может, например, выполняться устройством для декодирования видео.A second aspect of the invention relates to a method for decoding a current video block, wherein the decoding method comprises: obtaining a most likely modes flag, MPM, value for the current block from a bitstream; obtaining an MPM index for the current block from the bitstream when the value of the MPM flag indicates that the intra prediction mode for the current block is an intra prediction mode contained in the MPM intra prediction mode set; obtaining an intra prediction mode value for the current block based on the MPM index and the MPM set for the current block; wherein, when the intra prediction mode of the left neighbor block of the current block is planar mode and the intra prediction mode of the above neighbor block of the current block is DC mode, the MPM prediction mode set comprises: planar mode, DC mode, vertical mode, horizontal mode, intra prediction mode, corresponding to the vertical mode with the first offset, and an intra prediction mode corresponding to the vertical mode with the second offset. The method may, for example, be performed by a video decoding device.

В возможной форме реализации способа согласно второму аспекту, в котором, когда значение MPM флага для текущего блока равно 1, и MPM индекс для текущего блока равен 0, режим внутреннего предсказания для текущего блока является планарным режимом.In an exemplary embodiment of the method according to the second aspect, wherein when the MPM value of the flag for the current block is 1 and the MPM index for the current block is 0, the intra prediction mode for the current block is a planar mode.

В возможной форме реализации способа согласно любой предшествующей реализации второго аспекта или второго аспекта первое смещение составляет -4.In an exemplary embodiment of the method according to any prior implementation of the second aspect or the second aspect, the first offset is -4.

В возможной форме реализации способа согласно любой предшествующей реализации второго аспекта или второго аспекта второе смещение составляет +4.In an exemplary embodiment of the method according to any prior implementation of the second aspect or second aspect, the second offset is +4.

Третий аспект изобретения относится к способу декодирования текущего блока видео, в котором способ декодирования содержит: получение значения флага наиболее вероятных режимов, MPM, для текущего блока из битового потока; получение MPM индекса для текущего блока из битового потока, когда значение MPM флага указывает, что режим внутреннего предсказания для текущего блока является режимом внутреннего предсказания, содержащийся в MPM наборе режимов внутреннего предсказания; получение значения режима внутреннего предсказания для текущего блока на основании MPM индекса и MPM набора для текущего блока; в котором, когда левый соседний блок текущего блока недоступен, и режим внутреннего предсказания вышеупомянутого соседнего блока текущего блока является планарным режимом, MPM набор режимов предсказания содержит: планарный режим, DC режим, вертикальный режим, горизонтальный режим, режим внутреннего предсказания, соответствующий вертикальному режиму с первым смещением, и режим внутреннего предсказания, соответствующий вертикальному режиму со вторым смещением. Способ может, например, выполняться устройством для декодирования видео.A third aspect of the invention relates to a method for decoding a current video block, wherein the decoding method comprises: obtaining a most likely modes flag, MPM, value for the current block from a bitstream; obtaining an MPM index for the current block from the bitstream when the value of the MPM flag indicates that the intra prediction mode for the current block is an intra prediction mode contained in the MPM intra prediction mode set; obtaining an intra prediction mode value for the current block based on the MPM index and the MPM set for the current block; in which, when the left neighbor block of the current block is unavailable, and the intra prediction mode of the above neighbor block of the current block is planar mode, the MPM prediction mode set contains: planar mode, DC mode, vertical mode, horizontal mode, intra prediction mode corresponding to the vertical mode with the first offset, and an intra prediction mode corresponding to the vertical mode with the second offset. The method may, for example, be performed by a video decoding device.

В возможной форме реализации способа согласно третьему аспекту, в котором, когда значение MPM флага для текущего блока равно 1, и MPM индекс для текущего блока равен 0, режим внутреннего предсказания для текущего блока является планарным режимом.In a possible implementation form of the method according to the third aspect, wherein when the MPM value of the flag for the current block is 1 and the MPM index for the current block is 0, the intra prediction mode for the current block is a planar mode.

В возможной форме реализации способа согласно любой предшествующей реализации третьего аспекта или третьего аспекта первое смещение составляет -4.In an exemplary embodiment of the method according to any prior implementation of the third aspect or third aspect, the first offset is -4.

В возможной форме реализации способа согласно любой предшествующей реализации третьего аспекта или третьего аспекта второе смещение составляет +4.In an exemplary embodiment of the method according to any prior implementation of the third aspect or third aspect, the second offset is +4.

Четвертый аспект изобретения относится к способу декодирования текущего блока видео, в котором способ декодирования содержит: получение значения флага наиболее вероятных режимов, MPM, для текущего блока из битового потока; получение MPM индекса для текущего блока из битового потока, когда значение MPM флага указывает, что режим внутреннего предсказания для текущего блока является режимом внутреннего предсказания, содержащийся в MPM наборе режимов внутреннего предсказания; получение значения режима внутреннего предсказания для текущего блока на основании MPM индекса и MPM набора для текущего блока; в котором, когда левый соседний блок текущего блока недоступен и вышеприведенный соседний блок текущего блока недоступен, MPM набор режимов предсказания содержит: планарный режим, DC режим, вертикальный режим, горизонтальный режим, режим внутреннего предсказания, соответствующий вертикальному режиму с первым смещением, и режим внутреннего предсказания, соответствующий вертикальному режиму со вторым смещением. Способ может, например, выполняться устройством для декодирования видео.A fourth aspect of the invention relates to a method for decoding a current video block, wherein the decoding method comprises: obtaining a most likely modes flag, MPM, value for the current block from a bitstream; obtaining an MPM index for the current block from the bitstream when the value of the MPM flag indicates that the intra prediction mode for the current block is an intra prediction mode contained in the MPM intra prediction mode set; obtaining an intra prediction mode value for the current block based on the MPM index and the MPM set for the current block; wherein, when the left adjacent block of the current block is unavailable and the above adjacent block of the current block is unavailable, the MPM prediction mode set comprises: planar mode, DC mode, vertical mode, horizontal mode, an intra prediction mode corresponding to the first offset vertical mode, and an intra prediction mode. prediction corresponding to the vertical mode with the second offset. The method may, for example, be performed by a video decoding device.

В возможной форме реализации способа согласно четвертому аспекту, в котором, когда значение MPM флага для текущего блока равно 1 и MPM индекс для текущего блока равен 0, режим внутреннего предсказания для текущего блока является планарным режимом.In a possible implementation form of the method according to the fourth aspect, wherein when the MPM value of the flag for the current block is 1 and the MPM index for the current block is 0, the intra prediction mode for the current block is a planar mode.

В возможной форме реализации способа согласно любой предшествующей реализации четвертого аспекта или четвертого аспекта первое смещение составляет -4.In an exemplary embodiment of the method according to any prior implementation of the fourth aspect or fourth aspect, the first offset is -4.

В возможной форме реализации способа согласно любой предшествующей реализации четвертого аспекта или четвертого аспекта второе смещение составляет +4.In an exemplary embodiment of the method according to any prior implementation of the fourth aspect or fourth aspect, the second offset is +4.

Пятый аспект изобретения относится к способу декодирования текущего блока видео, в котором способ декодирования содержит: получение значения флага наиболее вероятных режимов, MPM, для текущего блока из битового потока; получение MPM индекса для текущего блока из битового потока, когда значение MPM флага указывает, что режим внутреннего предсказания для текущего блока является режимом внутреннего предсказания, содержащийся в MPM наборе режимов внутреннего предсказания; получение значения режима внутреннего предсказания для текущего блока на основании MPM индекса и MPM набора для текущего блока; в котором, когда режим внутреннего предсказания левого соседнего блока текущего блока является планарным режимом, и вышеупомянутый соседний блок текущего блока недоступен, MPM набор режимов предсказания содержит: планарный режим, DC режим, вертикальный режим, горизонтальный режим, режим внутреннего предсказания, соответствующий вертикальному режиму с первым смещением, и режим внутреннего предсказания, соответствующий вертикальному режиму со вторым смещением. Способ может, например, выполняться устройством для декодирования видео.A fifth aspect of the invention relates to a method for decoding a current video block, wherein the decoding method comprises: obtaining a most likely modes flag, MPM, value for the current block from a bitstream; obtaining an MPM index for the current block from the bitstream when the value of the MPM flag indicates that the intra prediction mode for the current block is an intra prediction mode contained in the MPM intra prediction mode set; obtaining an intra prediction mode value for the current block based on the MPM index and the MPM set for the current block; in which, when the intra prediction mode of the left neighboring block of the current block is planar mode, and the aforementioned neighboring block of the current block is unavailable, the MPM prediction mode set comprises: planar mode, DC mode, vertical mode, horizontal mode, intra prediction mode corresponding to the vertical mode with the first offset, and an intra prediction mode corresponding to the vertical mode with the second offset. The method may, for example, be performed by a video decoding device.

В возможной форме реализации способа согласно пятому аспекту, в котором, когда значение MPM флага для текущего блока равно 1 и MPM индекс для текущего блока равен 0, режим внутреннего предсказания для текущего блока является планарным режимом.In a possible implementation form of the method according to the fifth aspect, wherein when the MPM value of the flag for the current block is 1 and the MPM index for the current block is 0, the intra prediction mode for the current block is a planar mode.

В возможной форме реализации способа согласно любой предшествующей реализации пятого аспекта или пятого аспекта первое смещение составляет -4.In an exemplary embodiment of the method according to any prior implementation of the fifth aspect or fifth aspect, the first offset is -4.

В возможной форме реализации способа согласно любой предшествующей реализации пятого аспекта или пятого аспекта второе смещение составляет +4.In an exemplary embodiment of the method according to any prior implementation of the fifth aspect or fifth aspect, the second offset is +4.

Пятый аспект изобретения относится к устройству для декодирования видеопотока, которое включает в себя процессор и память. В памяти хранятся инструкции, которые вызывают выполнение, процессором, способа согласно способу с первого по четвертый аспект или любой возможной реализации или варианту осуществления с первого по четвертый аспекты.The fifth aspect of the invention relates to a device for decoding a video stream, which includes a processor and a memory. The memory stores instructions that cause execution, by the processor, of the method according to the method of the first to fourth aspects, or of any possible implementation or embodiment of the first to fourth aspects.

Шестой аспект изобретения относится к машиночитаемому носителю данных, на котором хранятся инструкции, вызывающие, при исполнении одним или более процессорами, кодирование видеоданных. Инструкции вызывают выполнение одним или более процессорами выполнение способа согласно с первого по четвертый аспект или любой возможной реализации или варианту осуществления с первого по четвертый аспект.A sixth aspect of the invention relates to a computer-readable storage medium that stores instructions that cause, when executed by one or more processors, to encode video data. The instructions cause the one or more processors to execute the method according to the first to fourth aspects, or any possible implementation or embodiment of the first to fourth aspects.

Согласно седьмому аспекту изобретение относится к компьютерной программе, содержащей программный код для выполнения способа согласно первому-четвертому аспектам или при выполнении на компьютере любой возможной реализации или варианту осуществления первого-четвертого аспектов.According to a seventh aspect, the invention relates to a computer program containing program code for executing the method according to the first to fourth aspects, or when any possible implementation or embodiment of the first to fourth aspects is executed on a computer.

Кроме того, варианты осуществления настоящего изобретения обеспечивают, например, схему кодирования внутреннего режима, где невыбранный набор режимов является адаптивным на основании свойств текущего блока, например, адаптивным на основании INTRA режимов соседних блоков.In addition, embodiments of the present invention provide, for example, an intra mode coding scheme where the unselected mode set is adaptive based on the properties of the current block, eg, adaptive based on the INTRA modes of adjacent blocks.

На прилагаемых чертежах и в описании изложены подробности одного или более вариантов осуществления. Другие признаки, объекты и преимущества будут очевидны из описания, чертежей и формулы изобретения.The accompanying drawings and description set forth the details of one or more embodiments. Other features, objects and advantages will be apparent from the description, drawings and claims.

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

Со ссылкой на прилагаемые чертежи приведено подробное описание следующих вариантов осуществления, на которых:With reference to the accompanying drawings, a detailed description is given of the following embodiments, in which:

Фиг.1 является блок-схемой, показывающей пример системы кодирования видео, выполненной с возможностью реализации вариантов осуществления изобретения.1 is a block diagram showing an example of a video coding system capable of implementing embodiments of the invention.

Фиг.2 является блок-схемой, показывающей пример видеокодера, выполненного с возможностью реализации вариантов осуществления изобретения.2 is a block diagram showing an example of a video encoder capable of implementing embodiments of the invention.

Фиг.3 является блок-схемой, показывающей примерную структуру видеодекодера, выполненного с возможностью реализации вариантов осуществления изобретения.3 is a block diagram showing an exemplary structure of a video decoder capable of implementing embodiments of the invention.

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

Фиг.5 показывает схему, иллюстрирующую соседние блоки для получения MPM.5 shows a diagram illustrating neighboring blocks for obtaining MPM.

Фиг.6 является схемой, иллюстрирующей внутренние режимы соседних блоков второго уровня, используемые для получения первых трех режимов в списке оставшихся режимов.Fig. 6 is a diagram illustrating the internal modes of adjacent second-level blocks used to obtain the first three modes in the list of remaining modes.

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

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

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

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

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

Раскрываются устройство и способ внутреннего предсказания. С целью упрощения процедуры вычисления для внутреннего предсказания для повышения эффективности кодирования устройство и способ используют процесс отображения. Объем защиты настоящего изобретения определяется формулой изобретения.The device and method of intra prediction are disclosed. In order to simplify the calculation procedure for intra prediction to improve coding efficiency, the apparatus and method use a mapping process. The scope of protection of the present invention is determined by the claims.

Определения сокращений и глоссарийAbbreviations definitions and glossary

CTU/CTB - блок дерева кодирования/ блок дерева кодированияCTU/CTB - coding tree block/ coding tree block

CU/CB - блок кодирования/блок кодированияCU/CB - coding block/coding block

PU/PB - блок предсказания/блок предсказанияPU/PB - prediction block/prediction block

TU/TB - блок преобразования/блок преобразованияTU/TB - conversion unit/transformation unit

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

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

Несколько стандартов кодирования видео, начиная с H.261, принадлежат к группе «гибридных видеокодеков с потерями» (т.е. объединяют пространственное и временное предсказание в области выборки и кодирование с двумерным преобразованием для применения квантования в области преобразования). Каждое изображение видеопоследовательности обычно разделяется на набор неперекрывающихся блоков, и кодирование обычно выполняется на уровне блоков. Другими словами, для генерирования блока предсказания в кодере обычно обрабатывается видео, то есть, кодируется, на уровне блока (блока изображения), например с использованием пространственного (внутреннее изображение) предсказания и временного (внешнее изображение) предсказания, для получения остаточного блока выполняется вычитание блока предсказания из текущего блока (блока, который в настоящее время обрабатывается/должен быть обработан), для уменьшения объема данных, которые должны быть переданы (сжаты), выполняется преобразование остаточного блока и квантование остаточного блока в области преобразования, тогда как в декодере для восстановления текущего блока для представления к закодированному или сжатому блоку частично применяется обратная обработка по сравнению с кодером. Кроме того, кодер дублирует цикл обработки декодера, так что оба будут генерировать идентичные предсказания (например, внутреннее и внешнее предсказание) и/или восстановление для обработки, то есть, кодирование последующих блоков.Several video coding standards, starting with H.261, belong to the group of "hybrid lossy video codecs" (ie, combine spatial and temporal sample-domain prediction and 2D transform coding to apply transform-domain quantization). Each picture of a video sequence is usually divided into a set of non-overlapping blocks, and encoding is usually done at the block level. In other words, to generate a prediction block in the encoder, video is usually processed, that is, encoded, at the block (image block) level, for example, using spatial (internal image) prediction and temporal (external image) prediction, block subtraction is performed to obtain a residual block prediction from the current block (the block currently being processed/to be processed), to reduce the amount of data to be transmitted (compressed), the residual block is transformed and the residual block is quantized in the transform region, while in the decoder to restore the current block to represent, the encoded or compressed block is partially back-processed compared to the encoder. In addition, the encoder duplicates the processing cycle of the decoder, so that both will generate identical predictions (eg, intra and inter prediction) and/or reconstruction for processing, i.e., encoding subsequent blocks.

В настоящем раскрытии используется термин «блок», который может быть частью изображения или кадра. Для удобства описания варианты осуществления изобретения описаны со ссылкой на высокоэффективное кодирование видео (HEVC) или эталонное программное обеспечение универсального кодирования видео (VVC), разработанное Объединенной группой сотрудничества по кодированию видео (JCT-VC) Группы экспертов ITU-T по кодированию видео (VCEG) и Группы экспертов ISO/IEC по движущимся изображениям (MPEG). Для специалиста в данной области техники очевидно, что варианты осуществления изобретения не ограничиваются HEVC или VVC. Стандарт может относиться к CU, PU и TU. В HEVC CTU разделяется на CUs с использованием структуры дерева квадрантов, обозначаемой как дерево кодирования. Решение о том, кодировать ли область изображения с использованием внешнего (временного) или внутреннего (пространственного) предсказания, принимается на CU уровне. Каждый CU может быть дополнительно разделен на один, два или четыре PUs в соответствии с типом разделения PU. Внутри одного PU применяется тот же процесс предсказания, и в декодер передается соответствующая информация на основании PU. После получения остаточного блока путем применения процесса предсказания на основании типа PU разделения, CU может быть разделен на блоки преобразования (TUs) в соответствии с другой структурой дерева квадрантов, аналогичной дереву кодирования для CU. В новейших разработках технологии сжатия видео для разделения блока кодирования используется разделение на дерево квадрантов и двоичное дерево (QTBT). В QTBT блочной структуре CU может иметь либо квадратную, либо прямоугольную форму. Например, блок дерева кодирования (CTU) сначала разделяется структурой дерева квадрантов. Листовые узлы дерева квадрантов дополнительно разделяются структурой двоичного дерева. Листовые узлы двоичного дерева называются блоками кодирования (CUs), и эта сегментация используется для предсказания и обработки преобразования без какого-либо дополнительного разделения. Это означает, что CU, PU и TU имеют одинаковый размер блока в QTBT структуре блока кодирования. Параллельно с QTBT блочной структурой было также предложено использовать множественное разделение, например, разделение тройного дерева.The present disclosure uses the term "block", which may be part of an image or frame. For convenience of description, embodiments of the invention are described with reference to High Efficiency Video Coding (HEVC) or Universal Video Coding (VVC) reference software developed by the Joint Collaborative Group on Video Coding (JCT-VC) of the ITU-T Video Coding Expert Group (VCEG) and the ISO/IEC Moving Picture Expert Group (MPEG). For a person skilled in the art it is obvious that the embodiments of the invention are not limited to HEVC or VVC. The standard may refer to CU, PU and TU. In HEVC, the CTU is divided into CUs using a quadtree structure referred to as a coding tree. The decision as to whether to encode an image region using extrinsic (temporal) or intrinsic (spatial) prediction is made at the CU layer. Each CU may be further partitioned into one, two or four PUs according to the partition type of the PU. Within one PU, the same prediction process is applied, and corresponding information based on the PU is transmitted to the decoder. After obtaining the residual block by applying a prediction process based on the partition type of the PU, the CU may be divided into transform units (TUs) according to a different quadtree structure similar to the coding tree for the CU. The latest developments in video compression technology use quadtree-binary-tree (QTBT) partitioning to split the coding block. In the QTBT block structure, the CU can be either square or rectangular. For example, a coding tree unit (CTU) is first divided by a quadtree structure. The leaf nodes of the quadtree are further separated by a binary tree structure. The leaf nodes of the binary tree are called coding units (CUs) and this segmentation is used to predict and process the transform without any additional partitioning. This means that CU, PU and TU have the same block size in the QTBT coding block structure. In parallel with the QTBT box structure, it has also been proposed to use multiple partitioning, such as ternary tree partitioning.

ITU-T VCEG (Q6/16) и ISO/IEC MPEG (JTC 1/SC 29/WG 11) изучается на предмет потенциальной необходимости в стандартизации будущей технологии кодирования видео с возможностью сжатия, которая значительно превосходит текущий HEVC стандарт (включающий в себя его текущие расширения и краткосрочные расширения для кодирования контента экрана и кодирования с расширенным динамическим диапазоном). Группы работают вместе над этой исследовательской деятельностью в рамках совместного проекта, известного как совместная группа исследования видео (JVET), для оценки проектов технологий сжатия, предложенных экспертами в этой области.ITU-T VCEG (Q6/16) and ISO/IEC MPEG (JTC 1/SC 29/WG 11) are being studied for the potential need to standardize a future compressible video coding technology that far exceeds the current HEVC standard (which includes its current extensions and short-term extensions for screen content encoding and high dynamic range encoding). The groups work together on this research activity in a collaborative project known as the Joint Video Research Team (JVET) to evaluate compression technology projects proposed by experts in the field.

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

Например, понятно, что в настоящем раскрытии описанный способ также может быть применим для соответствующего устройства или системы, выпаленной с возможностью выполнять способ, и vice versa. Например, если описан конкретный этап способа, соответствующее устройство может включать в себя блок для выполнения описанного этапа способа даже, если такой блок явно не описан или не проиллюстрирован на чертежах. Кроме того, понятно, что признаки различных иллюстративных аспектов, описанных в данном документе, могут быть объединены друг с другом, если специально не указано иное.For example, it is understood that in the present disclosure, the described method may also be applicable to the corresponding device or system fired with the ability to perform the method, and vice versa. For example, if a specific method step is described, the corresponding apparatus may include a unit for performing the described method step even if such unit is not explicitly described or illustrated in the drawings. In addition, it is understood that the features of the various illustrative aspects described herein may be combined with each other unless specifically noted otherwise.

Кодирование видео обычно относится к обработке последовательности изображений, которые образуют видео или видеопоследовательность. Термин «изображение» или «кадр» может использоваться/ может быть использован как синоним в области кодирования видео, а также в настоящем раскрытии. Каждое изображение обычно разбивается на набор неперекрывающихся блоков. Кодирование/декодирование изображения обычно выполняется на уровне блока, где, например, для генерирования блока предсказания используется внешнее предсказание или внутреннее предсказание, из текущего блока (блок, который в настоящее время обрабатывается/должен быть обработан) вычитается блок предсказания для получения остаточного блока, который дополнительно преобразуется и квантуется для уменьшения количества данных, которые должны быть переданы (сжаты), тогда как на стороне декодера для восстановления блока для представления выполняется обратная обработка кодированного/сжатого блока.Video coding generally refers to the processing of a sequence of images that form a video or video sequence. The term "image" or "frame" may be used/may be used interchangeably in the field of video coding as well as in this disclosure. Each image is usually divided into a set of non-overlapping blocks. Image encoding/decoding is usually performed at the block level, where, for example, inter prediction or intra prediction is used to generate a prediction block, a prediction block is subtracted from the current block (a block that is currently being processed/to be processed) to obtain a residual block, which is further converted and quantized to reduce the amount of data to be transmitted (compressed), while on the decoder side, the encoded/compressed block is de-processed to recover the block for presentation.

Фиг.1 представляет собой концептуальную или схематическую блок-схему, иллюстрирующую пример системы 10 кодирования, например, системы 10 кодирования видео, которая может использовать способы настоящего изобретения (present disclosure). Кодер 20 (например, видеокодер 20) и декодер 30 (например, видеодекодер 30) системы 10 кодирования видео представляют примеры устройств, которые могут быть выполнены с возможностью выполнять способы в соответствии с различными примерами, описанными в настоящем раскрытии. Как показано на фиг.1, система 10 кодирования содержит устройство 12 источника, выполненное с возможностью предоставлять закодированные данные 13, например, закодированное изображение 13, например, в устройство 14 назначения для декодирования закодированных данных 13. Устройство 12 источника содержит кодер 20 и может дополнительно, т.е. возможно, содержать источник 16 изображения, блок 18 предварительной обработки, например, блок 18 предварительной обработки изображения и интерфейс связи или блок 22 связи.1 is a conceptual or schematic block diagram illustrating an example of an encoding system 10, such as a video encoding system 10, that may use the methods of the present invention (present disclosure). Encoder 20 (eg, video encoder 20) and decoder 30 (eg, video decoder 30) of video coding system 10 represent examples of devices that may be configured to perform methods in accordance with the various examples described in this disclosure. As shown in FIG. 1, the encoding system 10 includes a source device 12 configured to provide encoded data 13, such as an encoded image 13, for example, to a destination device 14 to decode the encoded data 13. The source device 12 includes an encoder 20 and may further , i.e. optionally comprise an image source 16, a pre-processing unit 18, for example an image pre-processing unit 18, and a communication interface or communication unit 22.

Источник 16 изображения может содержать или быть устройством захвата изображения любого типа, например, для захвата реального изображения и/или любого вида изображения или комментария (для кодирования контента экрана, некоторые тексты на экране являются также частью изображения или кадра, которое должно быть закодировано) устройства для генерирования, например, процессор компьютерной графики для генерирования компьютерного анимированного изображения, или любое устройство для получения и/или предоставления реального изображения, компьютерного анимированного изображения (например, контент экрана, изображение виртуальной реальности (VR)) и/или любая их комбинация (например, изображение дополненной реальности (AR)).The image source 16 may comprise or be any type of image capture device, for example, to capture a real image and/or any kind of image or commentary (to encode screen content, some texts on the screen are also part of the image or frame to be encoded) of the device for generating, for example, a computer graphics processor for generating a computer animated image, or any device for receiving and/or providing a real image, a computer animated image (for example, screen content, a virtual reality (VR) image), and/or any combination of them (for example , augmented reality (AR) image).

(Цифровое) изображение является или может рассматриваться как двумерный массив или матрица выборок со значениями интенсивности. Выборка в массиве также может называться пикселем (сокращенная форма элемента изображения) или пикселем. Количество выборок в горизонтальном и вертикальном направлении (или по оси) массива или изображения определяет размер и/или разрешение изображения. Для представления цвета обычно используются три цветовых компонента, то есть, изображение может быть представлено или включать в себя три массива выборок. В формате RBG или цветовом пространстве изображение содержит соответствующий массив выборок красного, зеленого и синего цветов. Однако при кодировании видео каждый пиксель обычно представлен в формате яркости/цветности или цветовом пространстве, например YCbCr, который содержит компонент яркости, обозначенный Y (иногда вместо него также используется L), и два компонента цветности, обозначенные Cb и Cr. Компонент Y яркости (или для краткости яркость) представляет яркость или интенсивность уровня серого (например, как в полутоновом изображении), в то время как два компонента цветности (или кратко цветность) Cb и Cr представляют компоненты информации цветности или цвета. Соответственно, изображение в формате YCbCr содержит массив выборок яркости из значений выборок яркости (Y) и два массива выборок цветности значений цветности (Cb и Cr). Изображения в формате RGB могут быть преобразованы в формат YCbCr, и наоборот, этот процесс также известен как преобразование цвета. Если изображение является монохромным, оно может содержать только массив выборок яркости.A (digital) image is, or can be viewed as, a two-dimensional array or matrix of samples with intensity values. A sample in an array can also be called a pixel (short for picture element) or a pixel. The number of samples in the horizontal and vertical direction (or axis) of the array or image determines the size and/or resolution of the image. Three color components are typically used to represent a color, that is, an image can be represented by or include three arrays of samples. In RBG format or color space, an image contains a corresponding array of red, green, and blue color samples. However, in video encoding, each pixel is typically represented in a luma/chrominance format or color space, such as YCbCr, which contains a luminance component labeled Y (sometimes L is also used instead) and two chrominance components labeled Cb and Cr. The Y component of luminance (or luminance for short) represents the brightness or intensity of the gray level (eg, as in a grayscale image), while the two chrominance (or chroma for short) components Cb and Cr represent components of chrominance or color information. Accordingly, an image in YCbCr format contains an array of luma samples of luminance sample values (Y) and two chrominance sample arrays of chrominance values (Cb and Cr). RGB images can be converted to YCbCr format and vice versa, this process is also known as color conversion. If the image is monochrome, it can only contain an array of brightness samples.

Источник 16 изображения (например, источник 16 видео) может быть, например, камерой для захвата изображения, памятью, например, память изображения, содержащая или хранящая ранее захваченное или сгенерированное изображение, и/или интерфейс любого типа (внутренний или внешний) для получения или приема изображения. Камера может быть, например, локальной или интегрированной камерой, интегрированной в устройство источника, память может быть локальной или интегрированной памятью, например, интегрирована в устройство источника. Интерфейс может быть, например, внешним интерфейсом для приема изображения от внешнего источника видео, например, внешнего устройства захвата изображения, такого как камера, внешней памяти или внешнего устройства формирования изображения, например, внешнего компьютерного графического процессора, компьютера или сервера. Интерфейс может быть любым, например, проводным или беспроводным интерфейсом, оптическим интерфейсом в соответствии с любым проприетарным или стандартизованным протоколом интерфейса. Интерфейс для получения данных 17 изображения может быть тем же интерфейсом, что и интерфейс 22 связи, или являться его частью.Image source 16 (e.g., video source 16) may be, for example, a camera for capturing an image, a memory, such as an image memory containing or storing a previously captured or generated image, and/or any type of interface (internal or external) for receiving or receiving an image. The camera may be, for example, a local or integrated camera integrated into the source device, the memory may be local or integrated memory, 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 camera, external memory, or an external imaging device, such as an external computer GPU, computer, or server. The interface may be any, such as a wired or wireless interface, an optical interface in accordance with any proprietary or standardized interface protocol. The interface for obtaining image data 17 may be the same interface as the communication interface 22 or be part of it.

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

Блок 18 предварительной обработки выполнен с возможностью принимать (необработанные) данные 17 изображения и выполнять предварительную обработку данных 17 изображения для получения предварительно обработанного изображения 19 или предварительно обработанных данных 19 изображения. Выполнена предварительная обработка блоком 18 предварительной обработки может, например, включать в себя обрезку, преобразование цветового формата (например, из RGB в YCbCr), цветокоррекцию или устранение шумов. Можно понять, что блок 18 предварительной обработки может быть возможным компонентом.The pre-processing unit 18 is configured to receive (raw) image data 17 and perform pre-processing of the image data 17 to obtain a pre-processed image 19 or pre-processed image data 19. The pre-processing performed by the pre-processor 18 may, for example, include cropping, color format conversion (eg from RGB to YCbCr), color correction or denoising. It can be understood that the preprocessing unit 18 may be a possible component.

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

Интерфейс 22 связи устройства 12 источника может быть выполнен с возможностью принимать данные 21 закодированного изображения и передавать их в другое устройство, например, устройство 14 назначения или любое другое устройство для хранения или прямого восстановления или для обработки данных 21 закодированного изображения соответственно перед сохранением кодированных данных 13 и/или передачей кодированных данных 13 в другое устройство, например, устройство 14 назначения или любое другое устройство для декодирования или сохранения.The communication interface 22 of the source device 12 may be configured to receive the encoded image data 21 and transmit it to another device, such as the destination device 14 or any other device for storage or direct retrieval or for processing the encoded image data 21, respectively, before storing the encoded data 13 and/or transmitting the encoded data 13 to another device, such as a destination device 14 or any 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, that is, possibly, comprise a communication interface or communication unit 28, a post-processing unit 32, and a display device 34.

Интерфейс 28 связи устройства 14 назначения выполнен с возможностью принимать данные 21 кодированного изображения или кодированные данные 13, например, непосредственно из устройства 12 назначения или из любого другого источника, например, запоминающее устройство, например, устройство для хранения данных закодированного изображения.The communication interface 28 of destination device 14 is configured to receive encoded image data 21 or encoded data 13, for example, directly from destination device 12 or from any other source, such as a storage device, such as a device for storing 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 via a direct link between source device 12 and destination device 14, such as a direct wired or wireless connection, or over any network, such as wired or wireless network, or any combination thereof, or any private or public network, or any combination thereof.

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

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

Как интерфейс 22 связи, так и интерфейс 28 связи могут быть сконфигурированы как однонаправленные интерфейсы связи, как показано стрелкой для данных 13 кодированного изображения на фиг.1, указывающей от устройства 12 источника к устройству 14 назначения, или двунаправленные интерфейсы связи, и может быть выполнен с возможностью, например, отправлять и принимать сообщения, например, для установки соединения, подтверждения и обмена любой другой информацией, относящейся к каналу связи и/или передаче данных, например, передаче данных закодированного изображения.Both the communication interface 22 and the communication interface 28 can be configured as unidirectional communication interfaces as shown by the arrow for the encoded image data 13 in FIG. 1 pointing from source device 12 to destination device 14, or bidirectional communication interfaces, and can be performed with the ability, for example, to send and receive messages, for example, to establish a connection, acknowledge and exchange any other information related to 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 provide decoded image data 31 or decoded image 31 (more details will be described below, for example, with reference to FIG. 3).

Блок 32 постобработки устройства 14 назначения выполнен с возможностью пост-обработки данных 31 декодированного изображения (также называемых данными восстановленного изображения), например, декодированное изображение 31, для получения данных 33 изображения после обработки, например, пост-обработанное изображение 33. Постобработка, выполняемая блоком 32 постобработки, может включать в себя, например, преобразование цветового формата (например, из YCbCr в RGB), цветокоррекцию, обрезку или повторную выборку, или любую другую обработку, например, для подготовки данных 31 декодированного изображения для отображения, например, с помощью устройства 34 отображения.The post-processing unit 32 of 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. 32 post-processing may include, for example, color format conversion (for example, from YCbCr to RGB), color correction, cropping or resampling, or any other processing, for example, to prepare the decoded image data 31 for display, for example, by a device 34 displays.

Устройство 34 отображения устройства 14 назначения выполнено с возможностью принимать данные 33 изображения после постобработки для отображения изображения, например, пользователю или зрителю. Устройство 34 отображения может быть или содержать любой вид дисплея для представления восстановленного изображения, например, встроенный или внешний дисплей или монитор. Дисплеи могут, например, состоят из жидкокристаллических дисплеев (LCD), дисплеев на органических светодиодах (OLED), плазменных дисплеев, проекторов, микро-светодиодных дисплеев, жидких кристаллов на кремнии (LCoS), цифрового светового процессора (DLP) или любого другого дисплея.The display device 34 of the destination device 14 is configured to receive post-processed image data 33 for displaying the image to, for example, a user or viewer. The display device 34 may be or comprise any kind of display for presenting the reconstructed image, such as a built-in or external display or monitor. The displays may, for example, consist of liquid crystal displays (LCD), organic light emitting diode (OLED) displays, plasma displays, projectors, micro LED displays, liquid crystals on silicon (LCoS), digital light processor (DLP) or any other display.

Хотя фиг.1 изображает устройство 12 источника и устройство 14 назначения как отдельные устройства, варианты осуществления устройств также могут содержать оба или обе функциональные возможности устройства 12 источника или соответствующие функциональные возможности устройства 14 назначения или соответствующие функциональные возможности. В таких вариантах осуществления устройство 12 источника или соответствующие функциональные возможности и устройство 14 назначения или соответствующие функциональные возможности могут быть реализованы с использованием одного и того же аппаратного и/или программного обеспечения или с помощью отдельного аппаратного и/или программного обеспечения или любой их комбинации.Although FIG. 1 depicts source device 12 and destination device 14 as separate devices, device embodiments may also comprise both or both source device 12 functionality or corresponding destination device 14 functionality or corresponding 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 using separate hardware and/or software, or any combination thereof.

Как будет очевидно для специалиста на основании описания, существование и (точное) разделение функциональных возможностей различных блоков или функций в устройстве 12 источника и/или устройстве 14 назначения, как показано на фиг.1, может отличаться в зависимости от реального устройства и реализации.As will be apparent to those skilled in the art based on the description, the existence and (exact) separation of functionality of various blocks or functions in source device 12 and/or destination device 14 as shown in FIG. 1 may differ depending on the actual device and implementation.

Кодер 20 (например, видеокодер 20) и декодер 30 (например, видеодекодер 30), каждый может быть реализован как любая из множества подходящих схем, таких как один или более микропроцессоров, процессоров цифровых сигналов (DSP), специализированные интегральные схемы (ASIC), программируемые пользователем вентильные матрицы (FPGA), дискретная логика, аппаратное обеспечение или любые их комбинации. Если способы частично реализованы в программном обеспечении, устройство может хранить инструкции для программного обеспечения на подходящем постоянном машиночитаемом носителе данных и может выполнять инструкции в аппаратных средствах с использованием одного или более процессоров для выполнения способов этого настоящего изобретения. Любой из вышеперечисленных (включающие в себя оборудование, программное обеспечение, комбинацию оборудования и программного обеспечения и т.д.) может рассматриваться как один или более процессоров. Каждый из видеокодера 20 и видеодекодера 30 может содержаться в один или более кодеров или декодеров, каждый из которых может быть интегрирован как часть комбинированного кодера/декодера (CODEC) в соответствующем устройстве.Encoder 20 (eg, video encoder 20) and decoder 30 (eg, video decoder 30) may each be implemented as any of a variety of suitable circuits, such as one or more microprocessors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), discrete logic, hardware, or any combination thereof. If the methods are partially implemented in software, the device may store instructions for the software on a suitable non-volatile computer-readable storage medium and may execute the instructions in hardware using one or more processors to perform the methods of this invention. Any of the above (including hardware, software, a combination of hardware and software, etc.) may be considered one or more processors. Each of video encoder 20 and video decoder 30 may be contained in one or more encoders or decoders, each of which may be integrated as part of a combined encoder/decoder (CODEC) in a respective device.

Фиг.2 показывает схематическую/концептуальную блок-схему примерного видеокодера 20, который выполнен с возможностью реализации способов настоящего изобретения. В примере на фиг.2, видеокодер 20 содержит блок 204 вычисления остатка, блок 206 обработки преобразования, блок 208 квантования, блок 210 обратного квантования и блок 212 обработки обратного преобразования, блок 214 восстановления, буфер 216, блок 220 контурного фильтра, буфер 230 декодированных изображений (DPB), блок 260 обработки предсказания и блок 270 энтропийного кодирования. Блок 260 обработки предсказания может включать в себя блок 244 внешнего предсказания, блок 254 внутреннего предсказания и блок 262 выбора режима. Блок 244 внешнего предсказания может включать в себя блок оценки движения и блок компенсации движения (не показаны). Видеокодер 20, показанный на фиг. 2, также может называться гибридным видеокодером или видеокодером согласно гибридному видеокодеку.2 shows a schematic/conceptual block diagram of an exemplary video encoder 20 that is configured to implement the methods of the present invention. In the example of FIG. 2, video encoder 20 comprises a residual calculation block 204, a transform processing block 206, a quantization block 208, an inverse quantization block 210 and an inverse transform processing block 212, a reconstruction block 214, a buffer 216, a loop filter block 220, a decoded buffer 230 images (DPB), block 260 processing prediction and block 270 entropy coding. The prediction processing unit 260 may include an inter prediction unit 244, an intra prediction unit 254, and a mode select unit 262. Inter prediction block 244 may include a motion estimator and a motion compensation block (not shown). Video encoder 20 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), блок 260 обработки предсказания образуют обратный путь прохождения сигнала кодера, в котором обратный путь сигнала кодера соответствует пути сигнала декодера (см. декодер 30 на фиг.3).For example, the residual calculation block 204, the transform processing block 206, the quantization block 208, the prediction processing block 260, and the entropy encoding block 270 form a direct signal path of the encoder 20, while, for example, the inverse quantization block 210, the inverse transform processing block 212, block 214 recovery buffer 216, loop filter 220, decoded picture buffer (DPB) 230, prediction processing unit 260 form an encoder signal return path in which the encoder return signal path corresponds to the decoder signal path (see decoder 30 in FIG. 3).

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

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

Блок 262 выбора режима может быть выполнен с возможностью выбирать режим предсказания (например, режим внутреннего или внешнего предсказания) и/или соответствующего блока 245 или 255 предсказания, который будет использоваться в качестве блока 265 предсказания для вычисления остаточного блока 205 и для восстановления восстановленного блока 215.Mode selector 262 may be configured to select a prediction mode (eg, intra or inter prediction mode) and/or a corresponding predictor 245 or 255 to be used as predictor 265 to calculate the residual block 205 and to reconstruct the reconstructed block 215 .

Варианты осуществления блока 262 выбора режима могут быть выполнены с возможностью выбирать режим предсказания (например, из тех, которые поддерживаются блоком 260 обработки предсказания), который обеспечивает наилучшее совпадение или, другими словами, минимальный остаток (минимальный остаток означает лучшее сжатие для передачи или хранилище), или минимальные служебные данные сигнализации (минимальные служебные данные сигнализации означают лучшее сжатие для передачи или хранения), или который учитывает или уравновешивает и то, и другое. Блок 262 выбора режима может быть выполнен с возможностью определять режим предсказания на основании оптимизации искажения скорости (RDO), то есть, выбора режима предсказания, который обеспечивает оптимизацию искажения с минимальной скоростью, или какое ассоциированное искажение скорости, по меньшей мере, удовлетворяет критерию выбора режима предсказания.Embodiments of mode selector 262 may be configured to select a prediction mode (e.g., from those supported by prediction processor 260) that provides the best match, or in other words, minimum residual (minimum residual means better compression for transmission or storage) , or minimum signaling overhead (minimum signaling overhead means better compression for transmission or storage), or which takes into account or balances both. The mode selector 262 may be configured to determine a prediction mode based on rate distortion optimization (RDO), i.e., selection of a prediction mode that provides minimum rate distortion optimization, or which associated rate distortion at least satisfies the mode selection criteria. predictions.

Блок 254 внутреннего предсказания дополнительно выполнен с возможностью определять на основании параметра внутреннего предсказания, например, выбранный режим внутреннего предсказания, блок 255 внутреннего предсказания. В любом случае, после выбора режима внутреннего предсказания блока, блок 254 внутреннего предсказания также выполнен с возможностью предоставлять параметр внутреннего предсказания, то есть, информацию, указывающую выбранный режим внутреннего предсказания блока, в блок 270 энтропийного кодирования. В одном примере блок 254 внутреннего предсказания может быть выполнен с возможностью выполнять любую комбинацию способов внутреннего предсказания, описанных ниже.The intra prediction block 254 is further configured to determine, based on the intra prediction parameter, for example, the selected intra prediction mode, the intra prediction block 255 . In any case, after selecting the block intra prediction mode, the intra prediction block 254 is also configured to provide an intra prediction parameter, that is, information indicative of the selected block intra prediction mode, to the entropy encoding block 270 . In one example, intra predictor 254 may be configured to perform any combination of the intra prediction methods described below.

Фиг.3 показывает примерный видеодекодер 30, который выполнен с возможностью реализации способов настоящего изобретения. Видеодекодер 30, выполненный с возможностью принимать данные 21 кодирования изображения (например, кодированного битового потока), например, кодируется кодером 100, чтобы получить декодированное изображение 131. Во время процесса декодирования видеодекодер 30 принимает видеоданные, например, кодированный битовый поток видео, который представляет блоки изображения кодированного сегмента видео и ассоциированные элементы синтаксиса из видеокодера 100.3 shows an exemplary video decoder 30 that is configured to implement the methods of the present invention. Video decoder 30, configured to receive image encoding data (e.g., encoded bitstream) 21, for example, is encoded by encoder 100 to obtain decoded image 131. During the decoding process, video decoder 30 receives video data, for example, an encoded video bitstream that represents blocks encoded video segment images 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 of FIG. 3, the decoder 30 includes an entropy decoding block 304, an inverse quantization block 310, an inverse transform processing block 312, a reconstruction block 314 (e.g., an adder 314), a buffer 316, a loop filter 320, a decoded picture buffer 330, and a block 360 prediction processing. The prediction processing block 360 may include an inter prediction block 344, an intra prediction block 354, and a mode selection block 362. Video decoder 30 may, in some examples, perform a decoding pass that is generally the reverse of the encoding step described with respect to video encoder 100 in FIG.

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

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

Блок 360 обработки предсказания может содержать блок 344 внешнего предсказания и блок 354 внутреннего предсказания, в котором блок 344 внешнего предсказания может напоминать блок 144 внешнего предсказания по функциям, и блок 354 внутреннего предсказания может напоминать блок 154 внутреннего предсказания по функциям. Блок 360 обработки предсказания обычно выполнен с возможностью выполнять предсказание блока и/или получать блок 365 предсказания из закодированных данных 21, а также принимать или получать (явно или неявно) связанных с предсказанием параметры и/или информацию о выбранном режиме предсказания, например, из блока 304 энтропийного декодирования.Prediction processing block 360 may comprise inter prediction block 344 and intra prediction block 354, in which inter prediction block 344 may resemble inter function prediction block 144 and intra prediction block 354 may resemble intra function prediction block 154. Prediction processing unit 360 is typically configured to perform block prediction and/or obtain prediction block 365 from encoded data 21, and to receive or obtain (explicitly or implicitly) prediction-related parameters and/or selected prediction mode information, for example, from the block 304 entropy decoding.

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

Блок 360 обработки предсказания выполнен с возможностью определять информацию предсказания для видеоблока текущего сегмента видео путем анализа векторов движения и других элементов синтаксиса и использует информацию предсказания для построения блоков предсказания для текущего декодируемого видеоблока. Например, блок 360 обработки предсказания использует некоторые из принятых элементов синтаксиса для определения режима предсказания (например, внутреннее или внешнее предсказание), используемого для кодирования видеоблоков сегмента видео, типа сегмента внешнего предсказания (например, B-сегмент, P-сегмент или GPB-сегмент), информации составления одного или более списков опорных изображений для сегмента, векторы движения для каждого внешне кодированного видеоблока сегмента, статуса внешнего предсказания для каждого внешне кодированного видеоблока сегмента и другую информацию для декодирования видеоблоков в текущем сегменте видео.The prediction processing unit 360 is configured to determine prediction information for a video block of the current video segment by analyzing motion vectors and other syntax elements, and uses the prediction information to construct prediction blocks for the current video block being decoded. For example, prediction processing unit 360 uses some of the received syntax elements to determine the prediction mode (eg, intra or inter prediction) used to encode video blocks of a video segment, the type of inter prediction segment (eg, B-segment, P-segment, or GPB-segment ), one or more reference picture listing information for a segment, motion vectors for each inter-coded video block of the segment, inter-prediction status for each inter-coded video block of the segment, and other information for decoding video blocks in the current video segment.

Блок 310 обратного квантования выполнен с возможностью обратного квантования, то есть, деквантования квантованных коэффициентов преобразования, предоставленных в битовом потоке и декодированных блоком 304 энтропийного декодирования. Процесс обратного квантования может включать в себя использование параметра квантования, вычисленного видеокодером 100 для каждого видеоблока в сегменте видео, чтобы определить степень квантования и, аналогично, степень обратного квантования, который должен применяться.The inverse quantizer 310 is configured to inverse quantize, that is, dequantize the quantized transform coefficients provided in the bitstream and decoded by the entropy decoder 304 . The inverse quantization process may include using a quantization parameter calculated by video encoder 100 for each video block in a video segment to determine the amount of quantization, and likewise, the amount of inverse quantization to be applied.

Блок 312 обработки обратного преобразования выполнен с возможностью применять обратное преобразование, например, обратное DCT, обратное целочисленное преобразование или концептуально аналогичный процесс обратного преобразования, к коэффициентам преобразования для получения остаточных блоков в области пикселей.The inverse transform processing unit 312 is configured to apply an inverse transform, such as an inverse DCT, an inverse integer transform, or a conceptually similar inverse transform process, to the transform coefficients to obtain residual blocks in the pixel region.

Блок 314 восстановления (например, сумматор 314) выполнен с возможностью добавлять блок 313 обратного преобразования (т.е. восстановленный остаточный блок 313) к блоку 365 предсказания, чтобы получить восстановленный блок 315 в области выборки, например, путем сложения значений выборок восстановленного остаточного блока 313 и значений выборок блока 365 предсказания.Reconstructor 314 (e.g., adder 314) is configured to add inverse transform block 313 (i.e., reconstructed residual block 313) to prediction block 365 to obtain reconstructed block 315 in the sample area, for example, by adding sample values of the reconstructed residual block 313 and sample values of prediction block 365 .

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

Декодированные видеоблоки 321 в данном кадре или изображении затем сохраняются в буфере 330 декодированных изображений, в котором хранятся опорные изображения, используемые для последующей компенсации движения.The decoded video blocks 321 in that frame or picture are then stored in the 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, through the output 332 for presentation or viewing to the user.

Другие варианты видеодекодера 30 могут использоваться для декодирования сжатого битового потока. Например, декодер 30 может формировать выходной видеопоток без блока 320 контурной фильтрации. Например, декодер 30 без преобразования может выполнять обратное квантование остаточного сигнала непосредственно без блока 312 обработки обратного преобразования для конкретных блоков или кадров. В другой реализации видеодекодер 30 может иметь блок 310 обратного квантования и блок 312 обработки обратного преобразования, объединенные в один блок.Other variants of video decoder 30 may be used to decode the compressed bitstream. For example, decoder 30 may generate an output video stream without loop filter block 320 . For example, non-transform decoder 30 may perform inverse quantization of the residual signal directly without inverse transform processing unit 312 for particular blocks or frames. In another implementation, video decoder 30 may have an inverse quantizer 310 and an inverse transform processor 312 combined into one block.

Согласно HEVC/H.265 стандарту доступно 35 режимов внутреннего предсказания. Как показано на фиг.4, этот набор содержит следующие режимы: планарный режим (индекс режима внутреннего предсказания равен 0), DC режим (индекс режима внутреннего предсказания равен 1) и направленные (угловые) режимы, которые охватывают диапазон 180° и имеют диапазон значений индекса режима внутреннего предсказания от 2 до 34, показанный черными стрелками на фиг.4. Для захвата произвольных направлений краев, присутствующих в естественном видео, количество направленных внутренних режимов увеличено с 33, как используется в HEVC, до 65. Дополнительные направленные режимы изображены пунктирными стрелками на фиг. 4, и планарный режим и DC режим остаются прежними. Стоит отметить, что диапазон, охватываемый режимами внутреннего предсказания, может быть шире 180°. В частности, 62 режима направленности со значениями индекса от 3 до 64 охватывают диапазон приблизительно 230°, т.е. несколько пар режимов имеют противоположную направленность. В случае эталонной модели HEVC (HM) и платформ JEM только одна пара угловых режимов (а именно, режимы 2 и 66) имеет противоположную направленность, как показано на фиг.4. Для построения предиктора обычные угловые режимы используют опорные выборки и (при необходимости) фильтруют их для получения предиктора выборки. Количество опорных выборок, необходимых для построения предиктора, зависит от длины фильтра, используемого для интерполяции (например, билинейные и кубические фильтры имеют длину 2 и 4, соответственно).According to the HEVC/H.265 standard, 35 intra prediction modes are available. 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 that cover a range of 180° and have a range of values index of the intra prediction mode from 2 to 34, shown by black arrows in Fig.4. To capture arbitrary edge directions present in natural video, the number of directional intrinsic modes has been increased from 33, as used in HEVC, to 65. Additional directional modes are depicted by dotted arrows in FIG. 4, and 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 directivity 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 JEM platforms, only one pair of angle modes (namely, modes 2 and 66) has the opposite direction, as shown in FIG. To construct a predictor, conventional angular modes use reference samples and (if necessary) filter them to obtain a sample predictor. The number of reference samples required to construct a predictor depends on the length of the filter used for interpolation (for example, bilinear and cubic filters have lengths of 2 and 4, respectively).

VTM (универсальная тестовая модель) использует 35 внутренних режимов, тогда как BMS (набор опорных показателей) использует 67 внутренних режимов. Для кодирования 67 внутренних режимов текущая схема кодирования внутреннего режима в BMS использует следующий способ:VTM (Universal Test Model) uses 35 internal modes, while BMS (Background Set) uses 67 internal modes. To encode the 67 internal modes, the current internal mode coding scheme in BMS uses the following method:

С целью использования увеличенного количества направленных внутренних режимов в BMS, используется способ кодирования внутреннего режима с 6 наиболее вероятными режимами (MPMs). Здесь задействованы два основных технических аспекта.In order to use an increased number of directional intra modes in the BMS, an intra mode coding method with 6 most likely modes (MPMs) is used. There are two main technical aspects involved here.

1) получение 6 MPMs, и1) getting 6 MPMs, and

2) энтропийное кодирование 6 MPMs и non-MPMs режимов.2) entropy coding of 6 MPMs and non-MPMs modes.

В BMS режимы, включенные в MPM списки, подразделяются на три группы: соседние внутренние режимы, полученные внутренние режимы и внутренние режимы по умолчанию.In BMS, the modes included in the MPM lists are divided into three groups: neighboring intrinsic modes, derived intrinsic modes, and default intrinsic modes.

Пять соседних режимов внутреннего предсказания используются для построения MPM списка. Эти местоположения 5 соседних блоков такие же, как и те, которые используются в режиме слияния, то есть, слева (L), вверху (A), внизу слева (BL), вверху справа (AR) и вверху слева (AL), как показано на фиг.5. Начальный MPM список формируется путем вставки 5 соседних внутренних режимов, планарного режима и DC режима в MPM список. Используется процесс отсечения для удаления дублированных режимов, так что в MPM список включаются только уникальные режимы. Порядок добавления начальных режимов является: левый, верхний, плоский, DC, нижний левый, верхний правый и верхний левый.The five adjacent intra prediction modes are used to build the MPM list. These 5 neighboring block locations are the same as those used in merge mode, i.e., left (L), top (A), bottom left (BL), top right (AR), and top left (AL) as shown in Fig.5. The initial MPM list is formed by inserting 5 adjacent internal modes, planar mode and DC mode into the MPM list. A pruning process is used to remove duplicate modes so that only unique modes are included in the MPM list. The order in which initial modes are added is: left, top, flat, DC, bottom left, top right, and top left.

Если MPM список все еще является не полный (т.е. имеет менее 6 MPMs кандидатов в списке), добавляются полученные режимы, эти внутренние режимы получаются путем добавления -1 или +1 к угловым режимам, которые уже включены в MPM список. К неугловым режимам получение не применяется, т.е. DC или планарный.If the MPM list is still incomplete (i.e. has less than 6 candidate MPMs in the list), the derived modes are added, these internal modes are obtained by adding -1 or +1 to the angular modes already included in the MPM list. The acquisition does not apply to non-angular modes, i.e. DC or planar.

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

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

Кодирование оставшегося 61 non-MPMs выполняется следующим образом. 61 non-MPMs сначала делятся на два набора: набор выбранных режимов и набор невыбранных режимов. Набор выбранных режимов содержит 16 режимов и остальные (45 режимов) назначены набору невыбранных режимов. Набор режимов, которому принадлежит текущий режим, указывается в битовом потоке с помощью флага. Затем режим из выбранного набора сигнализируется 4-битным кодом фиксированной длины, и режим из невыбранного набора кодируется усеченным двоичным кодом. Выбранный набор режимов генерируется путем суб-выборки всего 61 non-MPMs со следующими индексами:The remaining 61 non-MPMs are coded as follows. The 61 non-MPMs 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 rest (45 modes) are assigned to the set of unselected modes. The set of modes to which the current mode belongs is indicated in the bitstream with 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. The selected set of modes is generated by sub-sampling a total of 61 non-MPMs 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 показан обзор различных механизмов сигнализации внутреннего режима.Table 1 shows an overview of the various internal mode signaling mechanisms.

Таблица 1: сигнализация текущего внутреннего режима LUMA в BMSTable 1: signaling the current internal LUMA mode in the BMS

Режимы внутреннего предсказанияIntra prediction modes МРМ флагmrm flag Выбранный флагChosen Flag Строка бинBean string МРМ режимы (6)MRM modes (6) 1one 00 10ten 110110 11101110 1111011110 1111111111 Выбранные режимы (16)Selected modes (16) 00 1one 4 бита фиксированной длины кода4 bits fixed length code Невыбранные режимы (45)Unselected modes (45) 00 00 Усеченный двоичный кодTruncated Binary

В другом примере используется способ кодирования внутреннего режима с 3 наиболее вероятными режимами (MPMs). В примере элементы 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, an intra mode encoding method with 3 most likely modes (MPMs) is used. In the example, the intra_luma_mpm_flag[x0][y0], intra_luma_mpm_idx[x0][y0], and intra_luma_mpm_remainder[x0][y0] syntax elements define the intra-prediction mode for luma samples. The array indices x0, y0 define the location (x0, y0) of the top left luma sample of the prediction block in question, relative to the top left luma sample of the image. When intra_luma_mpm_flag [x0] [y0] is equal to 1, an intra prediction mode is obtained from an adjacent intra prediction block.

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

Соседние местоположения (xNbA, yNbA) и (xNbB, yNbB) устанавливаются равными (xPb - 1, yPb) и (xPb, yPb - 1) соответственно.Neighbor locations (xNbA, yNbA) and (xNbB, yNbB) are set to (xPb - 1, yPb) and (xPb, yPb - 1) respectively.

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

Процесс определения доступности для блока инициируется местоположением (xCurr, yCurr), установленным равным (xPb, yPb), и соседним местоположением (xNbY, yNbY), установленным равным (xNbX, yNbX), в качестве входных данных, и вывод равен availableX.The block availability determination process is triggered by a location (xCurr, yCurr) set to (xPb, yPb) and an adjacent location (xNbY, yNbY) set to (xNbX, yNbX) as input, and the output is availableX.

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

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

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

CuPredMode [xNbX] [yNbX] не равно MODE_INTRA.CuPredMode [xNbX] [yNbX] is not equal to MODE_INTRA.

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

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

CandModeList [x] с x = 0..2 выводится следующим образом:CandModeList [x] with x = 0..2 is output like this:

Если CandIntraPredModeB равен candIntraPredModeA, применяется следующее:If CandIntraPredModeB is equal to candIntraPredModeA, the following applies:

Если candIntraPredModeA меньше 2 (т.е. равно INTRA_PLANAR или INTRA_DC), candModeList [x] с x = 0..2 выводится следующим образом:If candIntraPredModeA is less than 2 (i.e. equal to INTRA_PLANAR or INTRA_DC), candModeList[x] with x = 0..2 is output as follows:

candModeList [0] = INTRA_PLANARcandModeList[0] = INTRA_PLANAR

candModeList [1] = INTRA_DCcandModeList[1] = INTRA_DC

candModeList [2] = INTRA_ANGULAR50candModeList[2] = INTRA_ANGULAR50

В противном случае candModeList [x] с x = 0..2 получается следующим образом:Otherwise candModeList [x] with x = 0..2 is obtained like this:

candModeList [0] = candIntraPredModeAcandModeList[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] выводятся следующим образом:CandModeList[0] and candModeList[1] are output like this:

candModeList [0] = candIntraPredModeAcandModeList[0] = candIntraPredModeA

candModeList [1] = candIntraPredModeBcandModeList[1] = candIntraPredModeB

Если ни один из candModeList [0] и candModeList [1] не равен INTRA_PLANAR, candModeList [2] устанавливается равным INTRA_PLANAR,If 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, if neither of candModeList[0] and candModeList[1] is INTRA_DC, candModeList[2] is set to INTRA_DC,

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

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

Если intra_luma_mpm_flag [xPb] [yPb] равно 1, IntraPredModeY [xPb] [yPb] устанавливается равным candModeList [intra_luma_mpm_idx [xPb] [yPb]].If intra_luma_mpm_flag [xPb] [yPb] is 1, IntraPredModeY [xPb] [yPb] is set to candModeList [intra_luma_mpm_idx [xPb] [yPb]].

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

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

Когда candModeList [0] больше, чем candModeList [1], оба значения меняются местами следующим образом:When 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] больше, чем candModeList [2], оба значения меняются местами следующим образом:When 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 candModeList[1] is greater than candModeList[2], both values are swapped as follows:

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

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

IntraPredModeY [xPb] [yPb] устанавливается равным intra_luma_mpm_remainder [xPb] [yPb].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 to 2 inclusive, when IntraPredModeY [xPb] [yPb] is greater than or equal to candModeList [i], the value of IntraPredModeY [xPb] [yPb] is increased by one.

В одной форме реализации настоящего изобретения кадр такой же, как изображение.In one embodiment of the present invention, a frame is the same as an image.

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

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

определение, доступен ли верхний блок текущего блока кодирования или нет, если верхний блок текущего блока кодирования доступен, добавление режима внутреннего предсказания верхнего блока в MPM список;determining whether the top block of the current coding block is available or not, if the top block of the current coding block is available, adding the top block intra prediction mode to the MPM list;

если планарный режим не содержится в MPM списке, добавление планарного режима в MPM список;if the planar mode is not in the MPM list, adding the planar mode to the MPM list;

если DC режим не содержится в MPM списке, добавление DC режима в MPM список.if the DC mode is not in the MPM list, add the DC mode to the MPM list.

В одной форме реализации настоящего изобретения, если верхний блок текущего блока кодирования доступен и режим внутреннего предсказания верхнего блока не содержится в MPM списке, добавление режима внутреннего предсказания верхнего блока в MPM список.In one embodiment of the present invention, if the top block of the current coding block is available and the top block intra prediction mode is not contained in the MPM list, adding the top block intra prediction mode to the MPM list.

В одной форме реализации настоящего изобретения, если верхний блок текущего блока кодирования доступен и режим внутреннего предсказания верхнего блока содержится в MPM списке, выполняется «добавление», или мы можем сказать результат процесса «добавления» не изменяет MPM список.In one embodiment of the present invention, if the top block of the current coding block is available and the top block intra prediction mode is contained in the MPM list, "append" is performed, or we can say the result of the "append" process does not change the MPM list.

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

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

В одной форме реализации настоящего изобретения, в которой поддерживается параллельная обработка и текущий блок кодирования является блоком кодирования, расположенным в самой левой части плитки, левый блок текущего блока кодирования недоступен.In one embodiment of the present invention in which parallel processing is supported and the current coding block is the coding block located at the very left of the tile, the left block of the current coding block is not available.

В одной форме реализации настоящего изобретения, в которой параллельная обработка не поддерживается, и текущий блок кодирования является блоком кодирования, расположенным в самой левой части плитки, но не в самой левой части кадра, левый блок текущего блока кодирования доступен.In one embodiment of the present invention in which parallel processing is not supported and the current coding block is the coding block located at the leftmost side of the tile but not the leftmost side of the frame, the left block of the current coding block is available.

В одной форме реализации настоящего изобретения, в которой поддерживается параллельная обработка и текущий блок кодирования является блоком кодирования, расположенным в самой левой части сегмента, левый блок текущего блока кодирования недоступен.In one embodiment of the present invention in which parallel processing is supported and the current coding block is the coding block located at the leftmost part of the segment, the left block of the current coding block is not available.

В одной форме реализации настоящего изобретения, в которой параллельная обработка не поддерживается, и текущий блок кодирования является блоком кодирования, расположенным в самой левой части сегмента, но не в крайней левой части кадра, левый блок текущего блока кодирования доступен.In one embodiment of the present invention in which parallel processing is not supported and the current coding block is the coding block located at the leftmost part of the segment, but not at the leftmost part of the frame, the left block of the current coding block is available.

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

В одной форме реализации настоящего изобретения, когда текущий блок кодирования является блоком кодирования, расположенным в самой верхней части кадра, верхний блок текущего блока кодирования недоступен.In one form of implementation of the present invention, when the current coding block is the coding block located at the very top of the frame, the top block of the current coding block is not available.

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

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

В одной форме реализации настоящего изобретения, в которой поддерживается параллельная обработка и текущий блок кодирования является блоком кодирования, расположенным в самой верхней части сегмента, верхний блок текущего блока кодирования недоступен.In one embodiment of the present invention in which parallel processing is supported and the current coding block is the coding block located at the very top of the segment, the top block of the current coding block is not available.

В одной форме реализации настоящего изобретения, в которой параллельная обработка не поддерживается, и текущий блок кодирования является блоком кодирования, расположенным в самой верхней части сегмента, но не в самой верхней части кадра, верхний блок текущего блока кодирования является доступным.In one embodiment of the present invention in which parallel processing is not supported and the current coding block is the coding block located at the topmost part of the segment but not at the topmost part of the frame, the topmost block of the current coding block is available.

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

В одной форме реализации настоящего изобретения, в которой, когда текущий блок кодирования является блоком кодирования, не расположенным в самой левой части кадра, левый блок текущего блока кодирования является доступным.In one form of implementation of the present invention, in which when the current coding block is a coding block not located in the leftmost part of the frame, the left block of the current coding block is available.

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

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

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

В одной форме реализации настоящего изобретения, способ дополнительно содержит список кандидатов углового режима, содержащий или состоящий из: вертикального режима (VER_IDX), горизонтального режима (HOR_IDX), внутреннего режима 2 (2), вертикального диагонального режима (VDIA_IDX) или диагонального режима (DIA_IDX) в MPM списке; и способ дополнительно включает: итеративное определение в соответствии с их порядком в списке, находится ли угловой режим списка в MPM списке и, если соответствующий угловой режим отсутствует в MPM списке, добавление соответствующего углового режима в MPM список.In one embodiment of the present invention, the method further comprises a corner mode candidate list comprising or consisting of: vertical mode (VER_IDX), horizontal mode (HOR_IDX), intra mode 2 (2), vertical diagonal mode (VDIA_IDX) or diagonal mode (DIA_IDX ) in the MPM list; and the method further includes: iteratively determining, according to their order in the list, whether the list angular mode is in the MPM list, and if the corresponding angular mode is not in the MPM list, adding the corresponding angular mode to the MPM list.

В одной форме реализации настоящего изобретения, в которой построение списка MPM начинается с этапа определения, доступен ли левый блок текущего блока кодирования или нет, например, на основании пустого MPM списка.In one form of implementation of the present invention, in which the construction of the MPM list begins with the step of determining whether the left block of the current coding block is available or not, for example, based on an empty MPM list.

В одной форме реализации настоящего изобретения, способ дополнительно содержит: если левый блок текущего блока кодирования недоступен и доступен другой блок в общем левом направлении (например, BL или AL на фиг.5), вставку режима внутреннего предсказания другого блока в MPM список, если левый блок доступен, не вставку режима внутреннего предсказания другого блока в MPM список.In one form of implementation of the present invention, the method further comprises: if the left block of the current coding block is not available and another block in the general left direction is available (for example, BL or AL in Fig. 5), inserting the intra prediction mode of the other block in the MPM list, if the left a block is available without inserting another block's intra prediction mode into the MPM list.

В одной форме реализации настоящего изобретения, способ дополнительно содержит: если верхний блок текущего блока кодирования недоступен и доступен другой блок в общем верхнем направлении (например, AR или AL на фиг.5), вставку режима внутреннего предсказания другого блока в MPM список, если верхний блок доступен, не вставку режима внутреннего предсказания другого блока в MPM список.In one form of implementation of the present invention, the method further comprises: if the top block of the current coding block is not available and another block in the general upstream direction (e.g., AR or AL in FIG. 5) is available, inserting the intra prediction mode of the other block into the MPM list if the top a block is available without inserting another block's intra prediction mode into the MPM list.

В одной форме реализации настоящего изобретения, способ дополнительно содержит: добавление вертикального режима (VER_IDX), горизонтального режима (HOR_IDX), внутреннего режима 2 (2), вертикального диагонального режима (VDIA_IDX) или диагонального режима (DIA_IDX) в MPM список, при их отсутствии в MPM списке.In one form of implementation of the present invention, the method further comprises: adding a vertical mode (VER_IDX), a horizontal mode (HOR_IDX), an internal mode 2 (2), a vertical diagonal mode (VDIA_IDX) or a diagonal mode (DIA_IDX) to the MPM list, if none in the MPM list.

В одной форме реализации настоящего изобретения способ дополнительно содержит:In one embodiment of the present invention, the method further comprises:

если и левый, и верхний блок текущего блока кодирования являются не угловыми, дополнительную проверку еще одного другого соседнего блока (например, BL, AL или AR на фиг.5). Если какой-либо из них (BL, или AL, или AR) является угловым, то тогда использование этого углового режима в качестве начального углового режима для -1 + 1 процесса получения, как описано ранее.if both the left and the top block of the current coding block are non-angular, one more neighboring block (eg, BL, AL, or AR in FIG. 5) is additionally checked. If any of them (BL, or AL, or AR) is angular, then use that angular mode as the initial angular mode for the -1 + 1 acquisition process, as described previously.

В одной форме реализации настоящего изобретения значение, соответствующее VER_IDX, равно 50; значение, соответствующее HOR_IDX, равно 18; значение, соответствующее VDIA_IDX, равно 66, и это значение может быть наибольшим значением из значений, соответствующих угловым режимам; значение 2, которое соответствует внутреннему режиму 2, может быть наименьшим значением из значений, соответствующих угловым режимам; значение, соответствующее DIA_IDX, равно 34.In one embodiment of the present invention, the value corresponding to VER_IDX is 50; the value corresponding to HOR_IDX is 18; the value corresponding to VDIA_IDX is 66, and this value may be the largest value of the values corresponding to the angular modes; value 2, which corresponds to the internal mode 2, may be the smallest value of the values corresponding to the angular modes; the value corresponding to DIA_IDX is 34.

В одной форме реализации настоящего изобретения, если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, проверка, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит вертикальный режим (VER_IDX) (как первый режим внутреннего предсказания), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим (VDIA_IDX) или диагональный режим (DIA_IDX).In one embodiment of the present invention, if the number of intra prediction modes in the MPM list is less than a threshold, checking whether the first intra prediction mode of the intra prediction mode set is contained in the MPM list, and adding the first intra prediction mode to the MPM list if the first intra prediction mode is not is contained in an MPM list in which the intra prediction mode set contains vertical mode (VER_IDX) (as the first intra prediction mode), horizontal mode (HOR_IDX), intra mode 2 (2), vertical diagonal mode (VDIA_IDX), or diagonal mode (DIA_IDX) .

В одной форме реализации настоящего изобретения способ дополнительно содержит:In one embodiment of the present invention, the method further comprises:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, итеративное добавление режима внутреннего предсказания набора режимов внутреннего предсказания, содержащий вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим (VDIA_IDX) или диагональный режим (DIA_IDX) в соответствии с вышеупомянутым порядком в MPM списке, когда режим внутреннего предсказания не содержится в MPM списке, до тех пор, пока количество режимов предсказания не будет равняется пороговому значению.if the number of intra prediction modes in the MPM list is less than a threshold value, iteratively adding an intra prediction mode to an intra prediction mode set containing vertical mode (VER_IDX), horizontal mode (HOR_IDX), intra mode 2(2), vertical diagonal mode (VDIA_IDX), or diagonal mode (DIA_IDX) in accordance with the above order in the MPM list, when the intra prediction mode is not contained in the MPM list, as long as the number of prediction modes is equal to the threshold value.

В одной форме реализации настоящего изобретения способ дополнительно содержит:In one embodiment of the present invention, the method further comprises:

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

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

В одной форме реализации настоящего изобретения способ дополнительно содержит:In one embodiment of the present invention, the method further comprises:

если левый блок текущего блока кодирования недоступен и количество режимов внутреннего предсказания в MPM списке меньше порогового значения, итеративное добавление в MPM список режима внутреннего предсказания набора режимов внутреннего предсказания, содержащего вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), диагональный режим (DIA_IDX) или внутренний режим 2 (2) в соответствии с вышеупомянутым порядком, когда режим внутреннего предсказания не содержится в MPM списке, пока количество режимов предсказания не станет равным пороговому значению.if the left block of the current coding block is unavailable and the number of intra prediction modes in the MPM list is less than a threshold value, iteratively adding to the MPM intra prediction mode list an intra prediction mode set containing vertical mode (VER_IDX), vertical diagonal mode (VDIA_IDX), diagonal mode (DIA_IDX ) or intra mode 2 (2) in accordance with the above order, when the intra prediction mode is not included in the MPM list until the number of prediction modes becomes equal to a threshold value.

В одной форме реализации настоящего изобретения способ дополнительно содержит:In one embodiment of the present invention, the method further comprises:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит вертикальный режим (VER_IDX) (как первый режим внутреннего предсказания), горизонтальный режим (HOR_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением -4, или режим внутреннего предсказания, соответствующий VER_IDX со смещением 4.if the number of intra prediction modes in the MPM list is less than a threshold value, checking whether the first intra prediction mode of the intra prediction mode set is contained in the MPM list, and adding the first intra prediction mode to the MPM list if the first intra prediction mode is not contained in the MPM list, wherein the intra prediction mode set comprises a vertical mode (VER_IDX) (as the first intra prediction mode), a horizontal mode (HOR_IDX), an intra prediction mode corresponding to VER_IDX with an offset of -4, or an intra prediction mode corresponding to VER_IDX 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 invention, the intra prediction mode corresponding to VER_IDX with an offset of -4 uses the value corresponding to VER_IDX to add an offset of -4 and obtain the value of the corresponding intra prediction mode, for example, since the value of VER_IDX is 50, the intra prediction mode corresponding to VER_IDX with an offset of -4 is the intra prediction mode 46 , the intra prediction mode corresponding to VER_IDX with an offset of 4 is the intra prediction mode 54 . Other offset examples have processes similar to this example.

Следует отметить, что при выполнении -1 или +1 или других значений смещения это может включать в себя операцию перехода вверх и вниз, например, поскольку значение внутреннего режима (2) равно 2 (наименьшее значение в значениях, соответствующих угловым режимам), тогда внутренний режим (2)-1 будет 66 (случай перехода вверх) или, поскольку значение VDIA_IDX равно 66 (наибольшее значение в значениях, соответствующих угловым режимам), тогда VDIA_IDX +1 будет равен 2 (случай перехода вниз).It should be noted that when performing -1 or +1 or other offset values, this may include an up and down transition operation, for example, since the value of the internal mode (2) is 2 (the smallest value in the values corresponding to the angular modes), then the internal mode (2)-1 will be 66 (up transition case) or, since the value of VDIA_IDX is 66 (the highest value in the values corresponding to angle modes), then VDIA_IDX +1 will be 2 (down transition case).

В одной форме реализации настоящего изобретения способ дополнительно содержит:In one embodiment of the present invention, the method further comprises:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, итеративное добавление режима внутреннего предсказания набора режимов внутреннего предсказания, содержащего вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением -4, или режим внутреннего предсказания, соответствующий VER_IDX со смещением 4, согласно вышеупомянутому порядку для списка MPM, когда режим внутреннего предсказания не содержится в MPM списке, до тех пор, пока количество режимов предсказания не станет равным пороговому значению.if the number of intra prediction modes in the MPM list is less than a threshold, iteratively adding an intra prediction mode to an intra prediction mode set containing a vertical mode (VER_IDX), a horizontal mode (HOR_IDX), an intra prediction mode corresponding to VER_IDX with an offset of -4, or an intra prediction mode corresponding to VER_IDX with an offset of 4, according to the above order for the MPM list, when the intra prediction mode is not contained in the MPM list, until the number of prediction modes becomes equal to the threshold value.

В одной форме реализации настоящего изобретения способ дополнительно содержит:In one embodiment of the present invention, the method further comprises:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит вертикальный режим (VER_IDX) (как первый режим внутреннего предсказания), горизонтальный режим (HOR_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением 4, или режим внутреннего предсказания, соответствующий VER_IDX со смещением -4.if the number of intra prediction modes in the MPM list is less than a threshold value, checking whether the first intra prediction mode of the intra prediction mode set is contained in the MPM list, and adding the first intra prediction mode to the MPM list if the first intra prediction mode is not contained in the MPM list, wherein the intra prediction mode set comprises a vertical mode (VER_IDX) (as the first intra prediction mode), a horizontal mode (HOR_IDX), an intra prediction mode corresponding to VER_IDX with an offset of 4, or an intra prediction mode corresponding to VER_IDX with an offset of -4.

В одной форме реализации настоящего изобретения способ дополнительно содержит:In one embodiment of the present invention, the method further comprises:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, итеративное добавление режима внутреннего предсказания набора режимов внутреннего предсказания, содержащего вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением 4, или режим внутреннего предсказания, соответствующий VER_IDX со смещением -4, в соответствии с вышеупомянутым порядком для MPM списка, когда режим внутреннего предсказания не содержится в MPM списке, до тех пор, пока количество режимов предсказания не станет равным пороговому значению.if the number of intra prediction modes in the MPM list is less than a threshold value, iteratively adding an intra prediction mode to an intra prediction mode set containing a vertical mode (VER_IDX), a horizontal mode (HOR_IDX), an intra prediction mode corresponding to VER_IDX with an offset of 4, or an intra prediction mode, the corresponding VER_IDX with an offset of -4, in accordance with the above order for the MPM list, when the intra prediction mode is not contained in the MPM list, until the number of prediction modes becomes equal to the threshold value.

В одной форме реализации настоящего изобретения способ дополнительно содержит:In one embodiment of the present invention, the method further comprises:

если левый блок текущего блока кодирования недоступен и количество режимов внутреннего предсказания в MPM списке меньше порогового значения, проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит один из следующих наборов режимов внутреннего предсказания:if the left block of the current coding block is not available and the number of intra prediction modes in the MPM list is less than a threshold value, checking whether the first intra prediction mode of the intra prediction mode set is contained in the MPM list, and adding the first intra prediction mode to the MPM list if the first intra prediction mode not contained in the MPM list, in which the intra prediction mode set contains one of the following intra prediction mode sets:

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

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

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

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

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

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

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

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

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

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

В одной форме реализации настоящего изобретения способ дополнительно содержит:In one embodiment of the present invention, the method further comprises:

если левый блок текущего блока кодирования недоступен и количество режимов внутреннего предсказания в MPM списке меньше порогового значения, итеративное добавление режима внутреннего предсказания набора режимов внутреннего предсказания в соответствии с вышеупомянутым порядком в MPM список, когда режим внутреннего предсказания не содержится в MPM списке, до тех пор, пока количество режимов предсказания не станет равным пороговому значению;if the left block of the current coding block is unavailable and the number of intra prediction modes in the MPM list is less than a threshold value, iteratively adding the intra prediction mode of the intra prediction mode set according to the above order in the MPM list, when the intra prediction mode is not contained in the MPM list, until until the number of prediction modes becomes equal to the threshold value;

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

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

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

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

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

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

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

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

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

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

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

В одной форме реализации настоящего изобретения способ дополнительно содержит:In one embodiment of the present invention, the method further comprises:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, верхний блок текущего блока кодирования недоступен,if the number of intra prediction modes in the MPM list is less than the threshold value, the top block of the current coding block is unavailable,

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

В одной форме реализации настоящего изобретения способ дополнительно содержит:In one embodiment of the present invention, the method further comprises:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, верхний блок текущего блока кодирования недоступен,if the number of intra prediction modes in the MPM list is less than the threshold value, the top block of the current coding block is unavailable,

итеративное добавление режима внутреннего предсказания набора режимов внутреннего предсказания, содержащего горизонтальный режим (HOR_IDX), внутренний режим 2 (2), диагональный режим (DIA_IDX) или вертикальный диагональный режим (VDIA_IDX) в соответствии с вышеупомянутым порядком в MPM список, когда режим внутреннего предсказания не содержится в MPM списке, пока количество режимов предсказания не станет равным пороговому значению.iteratively adding an intra prediction mode to an intra prediction mode set containing a horizontal mode (HOR_IDX), an intra mode 2 (2), a diagonal mode (DIA_IDX), or a vertical diagonal mode (VDIA_IDX) according to the above order in the MPM list when the intra prediction mode is not is contained in the MPM list until the number of prediction modes becomes equal to the threshold value.

В одной форме реализации настоящего изобретения способ дополнительно содержит:In one embodiment of the present invention, the method further comprises:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, левый блок текущего блока кодирования является доступным и верхний блок текущего блока кодирования является доступным,if the number of intra prediction modes in the MPM list is less than a threshold value, the left block of the current coding block is available and the top block of 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 intra prediction mode set is contained in the MPM list, and adding the first intra prediction mode to the MPM list if the first intra prediction mode is not contained in the MPM list in which the intra prediction mode set contains the vertical mode (VER_IDX) ( as the first intra prediction mode), horizontal mode (HOR_IDX), intra mode 2 (2), vertical diagonal mode (VDIA_IDX), or diagonal mode (DIA_IDX).

В одной форме реализации настоящего изобретения способ дополнительно содержит:In one embodiment of the present invention, the method further comprises:

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

итеративное добавление режима внутреннего предсказания набора режимов внутреннего предсказания, содержащего вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим (VDIA_IDX) или диагональный режим (DIA_IDX) в соответствии с вышеупомянутым порядком в MPM список, когда режим внутреннего предсказания не содержится в MPM списке, до тех пор, пока количество режимов предсказания не станет равным пороговому значению.iteratively adding an intra prediction mode to an intra prediction mode set containing vertical mode (VER_IDX), horizontal mode (HOR_IDX), intra mode 2 (2), vertical diagonal mode (VDIA_IDX), or diagonal mode (DIA_IDX) according to the above order in the MPM list when the intra prediction mode is not included in the MPM list, until the number of prediction modes becomes equal to the threshold value.

В одной форме реализации настоящего изобретения способ дополнительно содержит:In one embodiment of the present invention, the method further comprises:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, верхний блок текущего блока кодирования недоступен,if the number of intra prediction modes in the MPM list is less than the threshold value, the top block of the current coding block is unavailable,

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

В одной форме реализации настоящего изобретения способ дополнительно содержит:In one embodiment of the present invention, the method further comprises:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, верхний блок текущего блока кодирования недоступен,if the number of intra prediction modes in the MPM list is less than the threshold value, the top block of the current coding block is unavailable,

итеративное добавление режима внутреннего предсказания набора режимов внутреннего предсказания, содержащего горизонтальный режим (HOR_IDX), внутренний режим 2 (2), диагональный режим (DIA_IDX) или вертикальный диагональный режим (VDIA_IDX) в соответствии с вышеупомянутым порядком в MPM список, когда режим внутреннего предсказания не содержится в MPM списке, пока количество режимов предсказания не станет равным пороговому значению.iteratively adding an intra prediction mode to an intra prediction mode set containing a horizontal mode (HOR_IDX), an intra mode 2 (2), a diagonal mode (DIA_IDX), or a vertical diagonal mode (VDIA_IDX) according to the above order in the MPM list when the intra prediction mode is not is contained in the MPM list until the number of prediction modes becomes equal to the threshold value.

В одной форме реализации настоящего изобретения способ дополнительно содержит:In one embodiment of the present invention, the method further comprises:

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

проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит вертикальный режим (VER_IDX) (как первый режим внутреннего предсказания), горизонтальный режим (HOR_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением -4, или режим внутреннего предсказания, соответствующий VER_IDX со смещением 4.checking whether the first intra prediction mode of the intra prediction mode set is contained in the MPM list, and adding the first intra prediction mode to the MPM list if the first intra prediction mode is not contained in the MPM list in which the intra prediction mode set contains the vertical mode (VER_IDX) ( as the first intra prediction mode), a horizontal mode (HOR_IDX), an intra prediction mode corresponding to VER_IDX with an offset of -4, or an intra prediction mode corresponding to VER_IDX with an offset of 4.

В одной форме реализации настоящего изобретения способ дополнительно содержит:In one embodiment of the present invention, the method further comprises:

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

итеративное добавление режима внутреннего предсказания набора режимов внутреннего предсказания, содержащего вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением -4, или режим внутреннего предсказания, соответствующий VER_IDX со смещением 4 согласно вышеупомянутому порядку, в MPM список, когда режим внутреннего предсказания не содержится в MPM списке, до тех пор, пока количество режимов предсказания не станет равным пороговому значению.iteratively adding an intra prediction mode of an intra prediction mode set containing a vertical mode (VER_IDX), a horizontal mode (HOR_IDX), an intra prediction mode corresponding to VER_IDX with an offset of -4, or an intra prediction mode corresponding to VER_IDX with an offset of 4 according to the above order, in the MPM list when the intra prediction mode is not contained in the MPM list, until the number of prediction modes becomes equal to the threshold value.

В одной форме реализации настоящего изобретения способ дополнительно содержит:In one embodiment of the present invention, the method further comprises:

если верхний блок текущего блока кодирования недоступен и количество режимов внутреннего предсказания в MPM списке меньше порогового значения,if the top block of the current coding block is unavailable and the number of intra prediction modes in the MPM list is less than a threshold value,

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

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

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

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

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

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

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

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

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

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

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

В одной форме реализации настоящего изобретения способ дополнительно содержит:In one embodiment of the present invention, the method further comprises:

если верхний блок текущего блока кодирования недоступен и количество режимов внутреннего предсказания в MPM списке меньше порогового значения,if the top block of the current coding block is unavailable and the number of intra prediction modes in the MPM list is less than a threshold value,

итеративное добавление режима внутреннего предсказания набора режимов внутреннего предсказания в соответствии с вышеупомянутым порядком в MPM список, когда режим внутреннего предсказания не содержится в MPM списке, до тех пор, пока количество режимов предсказания не станет равным пороговому значению;iteratively adding an intra prediction mode of the intra prediction mode set according to the above order in the MPM list when the intra prediction mode is not included in the MPM list until the number of prediction modes becomes equal to a threshold value;

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

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

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

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

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

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

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

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

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

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

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

В одной форме реализации настоящего изобретения способ дополнительно содержит:In one embodiment of the present invention, the method further comprises:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, итеративное добавление режима внутреннего предсказания набора режимов внутреннего предсказания, содержащий вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим(VDIA_IDX) или диагональный режим (DIA_IDX) в соответствии с вышеупомянутым порядком в MPM список, когда режим внутреннего предсказания не содержится в MPM списке, до тех пор, пока количество режимов предсказания не будет равняется пороговому значению.if the number of intra prediction modes in the MPM list is less than a threshold value, iteratively adding an intra prediction mode to an intra prediction mode set containing vertical mode (VER_IDX), horizontal mode (HOR_IDX), intra mode 2 (2), vertical diagonal mode (VDIA_IDX), or diagonal mode (DIA_IDX) in accordance with the above order in the MPM list, when the intra prediction mode is not contained in the MPM list, as long as the number of prediction modes is equal to the threshold value.

В одной форме реализации настоящего изобретения способ дополнительно содержит:In one embodiment of the present invention, the method further comprises:

если левый блок текущего блока кодирования недоступен и количество режимов внутреннего предсказания в MPM списке меньше порогового значения, проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), диагональный режим (DIA_IDX) или внутренний режим 2 (2).if the left block of the current coding block is not available and the number of intra prediction modes in the MPM list is less than a threshold value, checking whether the first intra prediction mode of the intra prediction mode set is contained in the MPM list, and adding the first intra prediction mode to the MPM list if the first intra prediction mode is not included in the MPM list in which the intra prediction mode set contains vertical mode (VER_IDX), vertical diagonal mode (VDIA_IDX), diagonal mode (DIA_IDX), or intra mode 2 (2).

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

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

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

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

В примере смещение равно -1; в другом примере смещение равно 1. В некоторых примерах смещение может быть 2 или -2.In the example, the offset is -1; in another example, the offset is 1. In some examples, the offset may be 2 or -2.

В одной реализации настоящего изобретения способ дополнительно содержит: если верхний блоктекущего блока кодирования доступен и режим внутреннего предсказания верхнего блока является угловым режимом, добавление смещения к режиму предсказания верхнего блока для получения режима предсказания со смещением вверх, если режим предсказания со смещением вверх отсутствует в MPM списке, добавление в MPM список режима предсказания со смещением вверх.In one implementation of the present invention, the method further comprises: if the top block of the current coding block is available and the top block intra prediction mode is corner mode, adding an offset to the top block prediction mode to obtain the upshift prediction mode if the upshift prediction mode is not in the MPM list , adding to the MPM upshift prediction mode list.

В примере смещение равно -1; в другом примере смещение равно 1. В некоторых примерах смещение может быть 2 или -2.In the example, the offset is -1; in another example, the offset is 1. In some examples, the offset may be 2 or -2.

В одном аспекте настоящего изобретения для выполнения вышеупомянутых способов кодер содержит схему обработки.In one aspect of the present invention, for performing the above methods, the encoder comprises a processing circuit.

В одном аспекте настоящего изобретения для выполнения вышеупомянутых способов декодер содержит схему обработки.In one aspect of the present invention, for performing the above methods, the decoder comprises a processing circuit.

В одном аспекте настоящего изобретения для выполнения вышеуказанных способов компьютерный программный продукт содержит программный код.In one aspect of the present invention, for performing the above methods, the computer program product comprises program code.

В одном аспекте настоящего изобретения декодер для составления списка наиболее вероятного режима, MPM, содержащий: один или более процессоров; и постоянный машиночитаемый носитель данных, соединенный с процессорами и хранящий программы для выполнения процессорами, причем программы при выполнении процессорами, конфигурирует декодер выполнить вышеуказанные способы.In one aspect of the present invention, a decoder for listing the most likely mode, MPM, comprising: one or more processors; and a persistent computer-readable storage medium coupled to the processors and storing programs for execution by the processors, the programs, when executed by the processors, configuring the decoder to perform the above methods.

В одном аспекте настоящего изобретения кодер для составления списка наиболее вероятного режима, MPM, содержит: один или более процессоров; и постоянный машиночитаемый носитель данных, соединенный с процессорами и хранящий программы для выполнения процессорами, причем программы при выполнении процессорами, конфигурирует кодер выполнить вышеуказанные способы.In one aspect of the present invention, an encoder for listing the most likely mode, MPM, comprises: one or more processors; and a persistent computer-readable storage medium coupled to the processors and storing programs for execution by the processors, the programs, when executed by the processors, configuring the encoder to perform the above methods.

В примере,In the example,

Первый этап: определение, доступен ли левый блок текущего блока кодирования или нет.First step: determining if the left block of the current encoding block is available or not.

Если левый блок текущего блока кодирования доступен, добавление режима внутреннего предсказания левого блока в MPM список. MPM список может быть пустым списком, если левый блок текущего блока кодирования доступен, режим внутреннего предсказания левого блока добавляется в MPM список, тогда MPM список включает в себя один режим внутреннего предсказания; и, если левый блок текущего блока кодирования недоступен, MPM список все еще остается пустым списком после первого этапа.If the left block of the current coding block is available, adding the left block intra prediction mode to the MPM list. The MPM list may be an empty list, if the left block of the current coding block is available, the left block intra prediction mode is added to the MPM list, then the MPM list includes one intra prediction mode; and, if the left block of the current coding block is not available, the MPM list is still an empty list after the first step.

Второй этап: определение, доступен ли верхний блок текущего блока кодирования или нет.Second step: determining whether the top block of the current coding block is available or not.

Если верхний блок текущего блока кодирования доступен, добавление режима внутреннего предсказания верхнего блока в MPM список. MPM список может включать в себя режим внутреннего предсказания левого блока или еще пустой список.If the top block of the current coding block is available, adding the top block intra prediction mode to the MPM list. The MPM list may include a left block intra prediction mode, or an empty list as yet.

Если верхний блок текущего блока кодирования доступен и MPM список включает в себя режим внутреннего предсказания левого блока, дополнительно необходимо определить, является ли режим внутреннего предсказания верхнего блока таким же, как режим внутреннего предсказания для левого блока, если они одинаковы, результат этапа «добавление режима внутреннего предсказания верхнего блока в MPM список» не изменяет количество режимов внутреннего предсказания в MPM списке, MPM список включает в себя только один режим внутреннего предсказания; если режим внутреннего предсказания верхнего блока не совпадает с режимом внутреннего предсказания левого блока, то добавление режима внутреннего предсказания верхнего блока в MPM список, и затем MPM список включает в себя два режима внутреннего предсказания.If the top block of the current coding block is available and the MPM list includes the intra prediction mode of the left block, it is additionally necessary to determine whether the intra prediction mode of the top block is the same as the intra prediction mode of the left block, if they are the same, the result of the step "add mode top block intra prediction in MPM list" does not change the number of intra prediction modes in the MPM list, the MPM list includes only one intra prediction mode; if the intra prediction mode of the top block is not the same as the intra prediction mode of the left block, then adding the intra prediction mode of the top block to the MPM list, and then the MPM list includes two intra prediction modes.

Если верхний блок текущего блока кодирования доступен и MPM список все еще является пустым списком, добавление режима внутреннего предсказания верхнего блока в MPM список, MPM список включает в себя только один режим внутреннего предсказания.If the top block of the current coding block is available and the MPM list is still an empty list, adding the top block intra prediction mode to the MPM list, the MPM list includes only one intra prediction mode.

Если верхний блок текущего блока кодирования недоступен и MPM список включает в себя режим внутреннего предсказания левого блока, MPM список по-прежнему будет включать в себя только режим внутреннего предсказания левого блока.If the top block of the current coding block is not available and the MPM list includes the left block intra prediction mode, the MPM list will still only include the left block intra prediction mode.

Если верхний блок текущего блока кодирования недоступен и MPM список по-прежнему является пустым списком, MPM список по-прежнему будет пустым списком.If the top block of the current coding block is not available and the MPM list is still an empty list, the MPM list will still be an empty list.

Третий этап: если планарный режим отсутствует в MPM списке, добавление планарного режима в MPM список.Third step: if the planar mode is not in the MPM list, add the planar mode to the MPM list.

Если после второго этапа MPM список не включает в себя планарный режим, то добавление планарного режима в MPM список.If after the second stage the MPM list does not include a planar mode, then adding the planar mode to the MPM list.

Если и режим внутреннего предсказания левого блока, и режим внутреннего предсказания верхнего блока недоступны, или доступный режим внутреннего предсказания не является планарным режимом, MPM список не включает в себя планарный режим.If both the left block intra prediction mode and the top block intra prediction mode are not available, or the available intra prediction mode is not a planar mode, the MPM list does not include a planar mode.

Если в MPM списке включает в себя планарный режим, необходимо перейти к четвертому этапу.If the MPM list includes planar mode, you must go to the fourth step.

Четвертый этап: если DC режим отсутствует в MPM списке, добавление DC режима в MPM список.Fourth step: if the DC mode is not in the MPM list, add the DC mode to the MPM list.

Если после второго этапа или третьего этапа MPM список не включает в себя DC режим, то необходимо добавить DC режим в MPM список.If after the second stage or the third stage the MPM list does not include the DC mode, then it is necessary to add the DC mode to the MPM list.

Если и режим внутреннего предсказания левого блока, и режим внутреннего предсказания верхнего блока недоступны, или доступный режим внутреннего предсказания не является DC режимом, MPM список не включает в себя DC режим.If both the left block intra prediction mode and the top block intra prediction mode are not available, or the available intra prediction mode is not a DC mode, the MPM list does not include the DC mode.

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

В одной форме реализации настоящего изобретения на каждом этапе процесса добавления режима предсказания в MPM список необходимо убедиться, что в MPM списке отсутствуют дублированные режимы предсказания. Следовательно, если режим внутреннего предсказания, который необходимо добавить в MPM список, такой же, как один режим внутреннего предсказания в MPM списке, процесс «добавления» не изменяет MPM список или процесс «добавления» не выполняется.In one embodiment of the present invention, at each step in the process of adding a prediction mode to an MPM list, it is necessary to ensure that there are no duplicate prediction modes in the MPM list. Therefore, if the intra prediction mode to be added to the MPM list is the same as one intra prediction mode in the MPM list, the "add" process does not change the MPM list or the "add" process is not performed.

В одной форме реализации настоящего изобретения, после 4-го этапа только при наличии углового режима, выполняются angular-1, angular + 1.In one form of implementation of the present invention, after the 4th step only in the presence of angular mode, angular-1, angular + 1 are executed.

В примере, если количество режимов внутреннего предсказания в MPM списке равно шести. После четвертого этапа есть три случая, касающихся длины MPM:In the example, if the number of intra prediction modes in the MPM list is six. After the fourth stage, there are three cases regarding the length of the MPM:

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

Случай 2: длина MPM равна 3: → один из L и A является угловым, или они одинаковые угловые. → использовать один режим по умолчанию.Case 2: MPM length is 3: → one of L and 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 length is 4: → both L and A are angular and they are different → default mode is not used, since at least one of L-1, L + 1 will be added. If one of them is a duplicate of the top ( diff (L-A) = 1), then at least one of A-1 and A + 1 will be inserted additionally.

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

В другом примере MPM список включает в себя шесть режимов внутреннего предсказания, поскольку в самом лучшем случае вышеупомянутые четыре этапа могли получить только четыре режима внутреннего предсказания. Способ дополнительно содержит:In another example, the MPM list includes six intra prediction modes, since at best the above four stages could only obtain four intra prediction modes. The method further comprises:

Пятый этап: если левый блок текущего блока кодирования доступен и режим внутреннего предсказания левого блока является угловым режимом, добавление смещения к режиму предсказания левого блока для получения нового режима предсказания и, если новый режим предсказания режима предсказания отсутствует в MPM списке, добавление нового режима предсказания в MPM список.Fifth step: if the left block of the current coding block is available and the intra prediction mode of the left block is the angular mode, adding an offset to the left block prediction mode to obtain a new prediction mode, and if the new prediction mode of the prediction mode is not in the MPM list, adding a new prediction mode to mpm list.

Например, если левый блок текущего блока кодирования представляет собой угловой режим 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, if the left block of the current coding block is angular mode 27 (the value corresponding to this angular intra prediction mode is 27), and the MPM list after the above four steps is (27, 15, 0, 1). Adding an offset to the left block prediction mode to obtain a new prediction mode, if the new prediction mode is not in the MPM list, adding the new prediction mode to the MPM list. In the example, the offset is -1, so the new prediction mode is 26 and the updated MPM list is (27, 15, 0, 1, 26). In another example, the offset is 1, so the new prediction mode is 28 and the updated MPM list is (27, 15, 0, 1, 28). In another example, in the fifth step, one can add two offsets to the left block intra prediction mode, first add -1 and then add 1, or first add 1 and then add -1, so the updated MPM list can be (27, 15, 0, 1 , 26, 28) or (27, 15, 0, 1, 28, 26).

После пятого этапа проверить, заполнен ли MPM список (если количество режимов внутреннего предсказания в MPM списке равно пороговому значению, например, пороговое значение равно 6, то MPM список заполнен. Если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, значит, MPM список не полон). Если MPM список полон, завершить построение MPM списка; если MPM список не полон, перейти к следующим этапам.After the fifth step, check if the MPM list is full (if the number of intra prediction modes in the MPM list is equal to the threshold value, for example, the threshold value is 6, then the MPM list is full. If the number of intra prediction modes in the MPM list is less than the threshold value, then the MPM list not complete). If the MPM list is full, stop building the MPM list; if the MPM list is not complete, proceed to the next steps.

И, если левый блок текущего блока кодирования недоступен, пятый этап не выполняется и переходят к следующим этапам.And, if the left block of the current coding block is not available, the fifth step is not performed and proceed to the next steps.

Следует отметить, что при добавлении смещения (например, -1 или +1) к режиму углового предсказания может включать в себя операцию перехода вверх и вниз, например, если режим углового предсказания angularLeft равен 2, тогда angularLeft -1 будет 66 (случай перехода вверх) или, если angularLeft равен 66, тогда angularLeft + 1 будет 2 (случай перехода вниз).It should be noted that when adding an offset (e.g. -1 or +1) to the angular prediction mode, it may include a transition up and down operation, for example, if the angular prediction mode angularLeft is 2, then angularLeft -1 will be 66 (the case of transition up ) or if angularLeft is 66 then angularLeft + 1 will be 2 (case of transition down).

В одной форме реализации настоящего изобретения, способ дополнительно содержит: если верхний блок текущего блока кодирования доступен и режим внутреннего предсказания верхнего блока является угловым режимом, добавление смещения к режиму предсказания верхнего блока для получения режима предсказания со смещением вверх, если режим предсказания со смещением вверх отсутствует в MPM списке, добавление в MPM список режима предсказания со смещением вверх.In one embodiment of the present invention, the method further comprises: if the top block of the current coding block is available and the top block intra prediction mode is corner mode, adding an offset to the top block prediction mode to obtain an upshift prediction mode if there is no upshift prediction mode in the MPM list, adding the upshift prediction mode to the MPM list.

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

Шестой этап: если верхний блок текущего блока кодирования доступен и режим внутреннего предсказания верхнего блока является угловым режимом, добавление смещения к режиму предсказания верхнего блока для получения режима предсказания со смещением вверх и, если режим предсказания со смещением вверх отсутствует в MPM списке, добавление нового режима предсказания в MPM список.Sixth step: if the top block of the current coding block is available and the intra prediction mode of the top block is the corner mode, adding an offset to the top block prediction mode to obtain the upshift prediction mode, and if the upshift prediction mode is not in the MPM list, adding a new mode predictions in the MPM 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, if the top block of the current coding block is angle mode 26 (the value corresponding to this intra prediction angle mode is 26) and the MPM list after the aforementioned fifth step is (27, 26, 0, 1, 28). Adding an offset to the left block prediction mode to obtain the upshift prediction mode, if the upshift prediction mode is not in the MPM list, adding the upshift prediction mode to the MPM list. In the example, the offset is -1, so the upshift prediction mode is 25, the updated MPM list is (27, 26, 0, 1, 28, 25). In another example, the offset is 1, so the upshift prediction mode is 27, and insertion of upshift mode 27 is blocked because mode 27 has been inserted. In another example, in the sixth step, two offsets can be added to the upper block intra prediction mode, first adding -1 and then adding 1, or adding 1 first and then adding -1 if the MPM list is still empty after adding one offset.

И, если верхний блок текущего блока кодирования недоступен, шестой этап не выполняется и переходят к следующим этапам. После шестого этапа необходимо проверить, заполнен ли MPM список (количество режимов внутреннего предсказания в MPM списке равно 6). Если MPM список полон, завершить построение MPM списка; если MPM список не заполнен (количество режимов внутреннего предсказания в MPM списке меньше 6), перейти к следующим этапам.And, if the top block of the current coding block is not available, the sixth step is not performed and proceeds to the next steps. After the sixth step, it is necessary to check if the MPM list is full (the number of intra prediction modes in the MPM list is 6). If the MPM list is full, stop building the MPM list; if the MPM list is empty (the number of intra prediction modes in the MPM list is less than 6), go to the next steps.

В одной форме реализации настоящего изобретения способ дополнительно содержит:In one embodiment of the present invention, the method further comprises:

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

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

В примере, если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, список по умолчанию содержит вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), VER_IDX добавить смещение -4 или VER_IDX добавить смещение 4.In the example, if the number of intra prediction modes in the MPM list is less than a threshold value, the list defaults to vertical mode (VER_IDX), horizontal mode (HOR_IDX), VER_IDX add offset -4, or VER_IDX add offset 4.

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

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

вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), диагональный режим (DIA_IDX) или внутренний режим 2 (2); илиvertical mode (VER_IDX), vertical diagonal mode (VDIA_IDX), diagonal mode (DIA_IDX), or internal mode 2 (2); or

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В одном из примеров, если количество режимов внутреннего предсказания в MPM списке меньше порогового значения и верхний блок текущего блока кодирования недоступен, список по умолчанию содержит:In one example, if the number of intra prediction modes in the MPM list is less than a threshold and the top block of 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), internal mode 2 (2), HOR_IDX add offset -1, HOR_IDX add offset 1; or

горизонтальные режимы (HOR_IDX), внутренний режим 2 (2), HOR_IDX добавить смещение -4, HOR_IDX добавить смещение 4; илиhorizontal modes (HOR_IDX), internal mode 2 (2), HOR_IDX add offset -4, HOR_IDX add offset 4; or

горизонтальные режимы (HOR_IDX), внутренний режим 2 (2), внутренний режим 2 (2) добавить смещение 4, HOR_IDX добавить смещение -1; илиhorizontal modes (HOR_IDX), internal mode 2 (2), internal mode 2 (2) add offset 4, HOR_IDX add offset -1; or

горизонтальные режимы (HOR_IDX), внутренний режим 2 (2), внутренний режим 2 (2) добавить смещение 4, HOR_IDX добавить смещение 1; илиhorizontal modes (HOR_IDX), internal mode 2 (2), internal mode 2 (2) add offset 4, HOR_IDX add offset 1; or

горизонтальные режимы (HOR_IDX), внутренний режим 2 (2), внутренний режим 2 (2) добавить смещение 1, HOR_IDX добавить смещение -1; илиhorizontal modes (HOR_IDX), internal mode 2 (2), internal mode 2 (2) add offset 1, HOR_IDX add offset -1; or

горизонтальные режимы (HOR_IDX), внутренний режим 2 (2), внутренний режим 2 (2) добавить смещение 1, HOR_IDX добавить смещение 1; илиhorizontal modes (HOR_IDX), internal mode 2 (2), internal mode 2 (2) add offset 1, HOR_IDX add offset 1; or

горизонтальные режимы (HOR_IDX), внутренний режим 2 (2), HOR_IDX добавить смещение -1, внутренний режим 2 (2) добавить смещение 4; илиhorizontal modes (HOR_IDX), internal mode 2 (2), HOR_IDX add offset -1, internal mode 2 (2) add offset 4; or

горизонтальные режимы (HOR_IDX), внутренний режим 2 (2), HOR_IDX добавить смещение 1, внутренний режим 2 (2) добавить смещение 4; илиhorizontal modes (HOR_IDX), internal mode 2 (2), HOR_IDX add offset 1, internal mode 2 (2) add offset 4; or

горизонтальные режимы (HOR_IDX), внутренний режим 2 (2), HOR_IDX добавить смещение -1, внутренний режим 2 (2) добавить смещение 1; илиhorizontal modes (HOR_IDX), internal mode 2 (2), HOR_IDX add offset -1, internal mode 2 (2) add offset 1; or

горизонтальные режимы (HOR_IDX), внутренний режим 2 (2), HOR_IDX добавить смещение 1, внутренний режим 2 (2) добавить смещение 1.horizontal modes (HOR_IDX), internal mode 2 (2), HOR_IDX add offset 1, internal mode 2 (2) add offset 1.

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

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

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

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

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

В примере после шестого этапа, если MPM список все еще не заполнен (количество режимов внутреннего предсказания в MPM списке меньше порогового значения), упорядоченное добавление режима внутреннего предсказания в список режимов по умолчанию в MPM список, если этот режим или эти режимы отсутствуют в MPM списке, повторить данный этап, пока MPM список не будет заполнен.In the example after the sixth step, if the MPM list is still empty (the number of intra prediction modes in the MPM list is less than the threshold value), orderly adding the intra prediction mode to the default mode list in the MPM list if that mode or those modes are not in the MPM list , repeat this step until the MPM list is full.

Седьмой этап: добавление в MPM список вертикального режима (VER_IDX), горизонтального режима (HOR_IDX), внутреннего режима 2 (2), вертикального диагонального режима (VDIA_IDX) или диагонального режима (DIA_IDX).Seventh step: adding vertical mode (VER_IDX), horizontal mode (HOR_IDX), indoor mode 2 (2), vertical diagonal mode (VDIA_IDX) or diagonal mode (DIA_IDX) to the MPM list.

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

И, если MPM список все еще не заполнен после добавления вертикального режима, проверить наличие горизонтального режима в MPM списке. Если горизонтальный режим находится в MPM списке, дополнительно проверить, находится ли внутренний режим 2 в MPM списке; при отсутствии горизонтального режима в MPM списке, добавить горизонтальный режим в MPM список. Повторить данный этап до тех пор, пока MPM список не будет заполнен.And, if the MPM list is still empty after adding the vertical mode, check for horizontal mode in the MPM list. If horizontal mode is in the MPM list, additionally check if internal mode 2 is in the MPM list; if there is no horizontal mode in the MPM list, add the horizontal mode to the MPM list. Repeat this step until the MPM list is full.

В одной форме реализации настоящего изобретения на седьмом этапе со списками режимов по умолчанию каждая вставка режима по умолчанию в MPM список должна гарантировать отсутствие дублированного режима. Если вставка прошла успешно, выполняется еще одна проверка для определения полноты MPM списка. Если да, то процесс построения MPM прекращается; в противном случае продолжить вставку с другим режимом по умолчанию в указанном порядке.In one form of implementation of the present invention in the seventh step with default mode lists, each insertion of a default mode into the MPM list must ensure that there is no duplicate mode. If the insert was successful, another check is performed to determine if the MPM list is complete. If yes, then the MPM building process stops; otherwise, continue pasting with a different default mode in that order.

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

В одной форме реализации настоящего изобретения способ дополнительно содержит:In one embodiment of the present invention, the method further comprises:

если левый блок текущего блока кодирования недоступен и количество режимов внутреннего предсказания в MPM списке меньше порогового значения, итеративное добавление в MPM список режима внутреннего предсказания набора режимов внутреннего предсказания, содержащего вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), диагональный режим (DIA_IDX) или внутренний режим 2 (2) в соответствии с вышеупомянутым порядком, когда режим внутреннего предсказания не содержится в MPM списке, пока количество режимов предсказания не станет равным пороговому значению.if the left block of the current coding block is unavailable and the number of intra prediction modes in the MPM list is less than a threshold value, iteratively adding to the MPM intra prediction mode list an intra prediction mode set containing vertical mode (VER_IDX), vertical diagonal mode (VDIA_IDX), diagonal mode (DIA_IDX ) or intra mode 2 (2) in accordance with the above order, when the intra prediction mode is not included in the MPM list until the number of prediction modes becomes equal to a threshold value.

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

Седьмой этап: добавление в MPM список вертикального режима (VER_IDX), вертикального диагонального режима (VDIA_IDX), диагонального режима (DIA_IDX) или внутреннего режима 2 (2).Seventh step: adding vertical mode (VER_IDX), vertical diagonal mode (VDIA_IDX), diagonal mode (DIA_IDX) or internal mode 2 (2) list to MPM.

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

И, если MPM список все еще не заполнен после добавления вертикального режима, проверить наличие вертикального диагонального режима в MPM списке. Если вертикальный диагональный режим находится в MPM списке, дополнительно проверить наличие диагонального режима в MPM списке; если диагональный режим отсутствует в MPM списке, добавить диагональный режим в MPM список. Повторить данный этап итеративно, пока MPM список не будет заполнен.And, if the MPM list is still empty after adding the vertical mode, check for vertical diagonal mode in the MPM list. If the vertical diagonal mode is in the MPM list, additionally check if the diagonal mode is in the MPM list; if the diagonal mode is not in the MPM list, add the diagonal mode to the MPM list. Repeat this step iteratively until the MPM list is full.

В одной форме реализации настоящего изобретения способ дополнительно содержит:In one embodiment of the present invention, the method further comprises:

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

В одной форме реализации настоящего изобретения способ дополнительно содержит:In one embodiment of the present invention, the method further comprises:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, верхний блок текущего блока кодирования недоступен, итеративное добавление режима внутреннего предсказания набора режимов внутреннего предсказания, содержащего горизонтальный режим (HOR_IDX), внутренний режим 2 (2), диагональный режим (DIA_IDX) или вертикальный диагональный режим (VDIA_IDX) в соответствии с вышеупомянутым порядком в MPM список, когда режим внутреннего предсказания не содержится в MPM списке, пока количество режимов предсказания не станет равным пороговому значению.if the number of intra prediction modes in the MPM list is less than a threshold value, the top block of the current coding block is unavailable, iteratively adding an intra prediction mode to an intra prediction mode set containing horizontal mode (HOR_IDX), intra mode 2(2), diagonal mode (DIA_IDX), or vertical diagonal mode (VDIA_IDX) in accordance with the above order in the MPM list, when the intra prediction mode is not contained in the MPM list until the number of prediction modes becomes equal to the threshold value.

В примере после шестого этапа, если MPM список все еще не заполнен, верхний блок текущего блока кодирования недоступен, упорядоченно добавить в MPM список режим внутреннего предсказания в список режимов по умолчанию, если этот режим или эти режимы отсутствуют в MPM списке, итеративно повторить данный этап, пока MPM список не будет заполнен.In the example, after the sixth step, if the MPM list is still not filled, the top block of the current coding block is not available, add the intra prediction mode to the default mode list in the MPM list in order, if this mode or these modes are not in the MPM list, repeat this step iteratively until the MPM list is full.

Седьмой этап: добавить в MPM список горизонтальный режим (HOR_IDX), внутренний режим 2 (2), диагональный режим (DIA_IDX) или вертикальный диагональный режим (VDIA_IDX).Step 7: Add Horizontal Mode (HOR_IDX), Inner Mode 2 (2), Diagonal Mode (DIA_IDX), or Vertical Diagonal Mode (VDIA_IDX) to the MPM list.

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

И, если MPM список все еще не заполнен после добавить в MPM список горизонтальный режим, проверить наличие внутреннего режима 2. Если внутренний режим 2 находится в MPM списке, дополнительно проверить наличие диагонального режима в MPM списке; если диагональный режим отсутствует в MPM списке, добавить диагональный режим в MPM список. Итеративно повторить данный этап, пока MPM список не будет заполнен.And, if the MPM list is still empty after adding horizontal mode to the MPM list, check for internal mode 2. If internal mode 2 is in the MPM list, additionally check for diagonal mode in the MPM list; if the diagonal mode is not in the MPM list, add the diagonal mode to the MPM list. Iteratively repeat this step until the MPM list is full.

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

В одной форме реализации настоящего изобретения способ дополнительно содержит:In one embodiment of the present invention, the method further comprises:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, левый блок текущего блока кодирования является доступным и верхний блок текущего блока кодирования является доступным, итеративное добавление в MPM список режима внутреннего предсказания набора режимов внутреннего предсказания, включающего в себя вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим (VDIA_IDX) или диагональный режим ( DIA_IDX) в соответствии с вышеупомянутым порядком, когда режим внутреннего предсказания не содержится в MPM списке, до тех пор, пока количество режимов предсказания не станет равным пороговому значению.if the number of intra prediction modes in the MPM list is less than a threshold value, the left block of the current coding block is available and the top block of the current coding block is available, iteratively adding to the MPM intra prediction mode list a set of intra prediction modes including vertical mode (VER_IDX), horizontal mode (HOR_IDX), intra mode 2 (2), vertical diagonal mode (VDIA_IDX) or diagonal mode ( DIA_IDX) according to the above order when the intra prediction mode is not included in the MPM list, as long as the number of prediction modes is not becomes equal to the threshold value.

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

Седьмой этап: добавить в MPM список вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим (VDIA_IDX) или диагональный режим (DIA_IDX).Step 7: Add Vertical Mode (VER_IDX), Horizontal Mode (HOR_IDX), Inner Mode 2 (2), Vertical Diagonal Mode (VDIA_IDX) or Diagonal Mode (DIA_IDX) to the MPM list.

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

И, если MPM список все еще не заполнен после добавления вертикального режима, проверить наличие горизонтального режима в MPM списке. Если горизонтальный режим находится в MPM списке, дополнительно проверить, находится ли внутренний режим 2 в MPM списке; если внутренний режим 2 отсутствует в MPM списке, добавить внутренний режим 2 в MPM список. Итеративно повторить данный этап, пока MPM список не будет заполнен.And, if the MPM list is still empty after adding the vertical mode, check for horizontal mode in the MPM list. If horizontal mode is in the MPM list, additionally check if internal mode 2 is in the MPM list; if internal mode 2 is not in the MPM list, add internal mode 2 to the MPM list. Iteratively repeat this step until the MPM list is full.

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

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

В примере после шестого этапа, если MPM список все еще не полон, добавить в MPM список режим внутреннего предсказания в список режимов по умолчанию, если этот режим или эти режимы отсутствуют в MPM списке, итеративно повторить данный этап до тех пор, пока MPM список не будет полон.In the example after the sixth step, if the MPM list is still incomplete, add the intra prediction mode to the default mode list in the MPM list, if this mode or these modes are not in the MPM list, iteratively repeat this step until the MPM list is will be full.

Седьмой этап: добавление в MPM список вертикального режима (VER_IDX), горизонтального режима (HOR_IDX), VER_IDX добавление смещения -4 или VER_IDX добавление смещения 4; или добавление в MPM список вертикального режима (VER_IDX), горизонтального режима (HOR_IDX), VER_IDX добавление смещения 4 или VER_IDX добавление смещения -4.Seventh step: add to MPM list vertical mode (VER_IDX), horizontal mode (HOR_IDX), VER_IDX add offset -4 or VER_IDX add offset 4; or adding vertical mode (VER_IDX), horizontal mode (HOR_IDX), VER_IDX adding offset 4, or VER_IDX adding offset -4 to the MPM list.

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

И, если MPM список все еще не заполнен после добавления вертикального режима, проверить наличие горизонтального режима в MPM списке. Если горизонтальный режим находится в MPM списке, дополнительно проверить, находится ли режим предсказания, значение которого равно значению VER_IDX, добавить смещение -4 в MPM список; если режим предсказания, значение которого равно значению VER_IDX, добавить смещение -4, отсутствует в MPM списке, добавить в MPM список режим предсказания, значение которого равно значению VER_IDX, добавить смещение -4. Итеративно повторить данный этап, пока MPM список не будет заполнен.And, if the MPM list is still empty after adding the vertical mode, check for horizontal mode in the MPM list. If the horizontal mode is in the MPM list, additionally check if there is a prediction mode whose value is equal to the value of VER_IDX, add an offset of -4 to the MPM list; if the prediction mode whose value is equal to the value of VER_IDX, add offset -4, is not in the MPM list, add the prediction mode whose value is equal to the value of VER_IDX, add offset -4 to the MPM list. Iteratively repeat this step until the MPM list is full.

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

Седьмой этап: добавить в MPM список вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), диагональный режим (DIA_IDX) или внутренний режим 2 (2).Seventh step: add vertical mode (VER_IDX), vertical diagonal mode (VDIA_IDX), diagonal mode (DIA_IDX) or internal mode 2 (2) to the MPM list.

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

И если MPM список все еще не заполнен после добавления вертикального режима, проверить наличие вертикального диагонального режима в MPM списке. Если вертикальный диагональный режим находится в MPM списке, дополнительно проверить наличие диагонального режима в MPM списке; если диагональный режим отсутствует в MPM списке, добавить диагональный режим в MPM список. Итеративно выполнить данный этап, пока MPM список не будет заполнен.And if the MPM list is still empty after adding the vertical mode, check for vertical diagonal mode in the MPM list. If the vertical diagonal mode is in the MPM list, additionally check if the diagonal mode is in the MPM list; if the diagonal mode is not in the MPM list, add the diagonal mode to the MPM list. Iteratively execute this step until the MPM list is full.

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

Седьмой этап: добавить в MPM список горизонтальный режим (HOR_IDX), внутренний режим 2 (2), диагональный режим (DIA_IDX) или вертикальный диагональный режим (VDIA_IDX).Step 7: Add Horizontal Mode (HOR_IDX), Inner Mode 2 (2), Diagonal Mode (DIA_IDX), or Vertical Diagonal Mode (VDIA_IDX) to the MPM list.

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

И, если MPM список все еще не заполнен после добавления горизонтального режима, проверить наличие внутреннего режима 2 в MPM списке. Если внутренний режим 2 находится в MPM списке, дополнительно проверить наличие диагонального режима в MPM списке; если диагональный режим отсутствует в MPM списке, добавить диагональный режим в MPM список. Итеративно выполнить данный этап, пока MPM список не будет заполнен.And, if the MPM list is still empty after adding the horizontal mode, check for internal mode 2 in the MPM list. If internal mode 2 is in the MPM list, additionally check for diagonal mode in the MPM list; if the diagonal mode is not in the MPM list, add the diagonal mode to the MPM list. Iteratively execute this step until the MPM list is full.

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

Седьмой этап: добавить в MPM список вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), VER_IDX добавить смещение -4 или VER_IDX добавить смещение 4.Seventh step: add vertical mode (VER_IDX), horizontal mode (HOR_IDX), VER_IDX add offset -4 or VER_IDX add offset 4 to MPM list.

В примере для построения MPM списка обеспечиваются предварительно определенные режимы по умолчанию: а именно, вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим (VDIA_IDX) или диагональный режим (DIA_IDX), если он не полный. Предлагаются два дополнительных подхода к этим режимам по умолчанию. Они являются адаптивным подходом по умолчанию и измененным подходом по умолчанию.In the example for building the MPM list, predefined default modes are provided: namely, vertical mode (VER_IDX), horizontal mode (HOR_IDX), inner mode 2 (2), vertical diagonal mode (VDIA_IDX), or diagonal mode (DIA_IDX) if it is not complete. Two additional approaches to these default modes are proposed. They are the default adaptive approach and the modified default approach.

Подход, использующий адаптивные режимы, рассматривает блоки, которые располагаются в самой левой и самой верхней части кадра. Для блоков, расположенных на левой границе кадра, использование горизонтального режима маловероятно, поскольку исходные выборки предсказания, расположенные в левом блоке текущего блока отсутствуют. Кроме того, рассматривают режимы, в которых обычно используются горизонтальные режимы (например, DIA_IDX, режим 2), как маловероятные.The adaptive modes approach considers blocks that are located at the very left and at the very top of the frame. For blocks located on the left frame boundary, horizontal mode is unlikely to be used, since there are no original prediction samples located in the left block of the current block. In addition, modes that normally use horizontal modes (eg, DIA_IDX, mode 2) are considered unlikely.

Для блоков, расположенных на верхней границе кадра, вертикальный режим маловероятен, потому что исходные выборки предсказания, которые находятся в верхнем блоке текущего блока, отсутствуют. Кроме того, режимы, обычно использующие вертикальные режимы (например, VDIA_IDX, DIA_IDX), являются маловероятными.For blocks located at the top of the frame, vertical mode is unlikely because the original prediction samples that are in the top block of the current block are not present. Also, modes that typically use vertical modes (eg, VDIA_IDX, DIA_IDX) are unlikely.

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

Если левый блок текущего блока кодирования отсутствует, то используются следующая последовательность режимов в качестве кандидатов режима по умолчанию: VER_IDX, VDIA_IDX, DIA_IDX, режим 2.If the left block of the current coding block is missing, then the following sequence of modes is used as default mode candidates: VER_IDX, VDIA_IDX, DIA_IDX, mode 2.

В противном случае (при наличии левого блока):Otherwise (if there is a left block):

если верхний блок текущего блока кодирования отсутствует, то используются следующие режимы по порядку в качестве кандидатов режимов по умолчанию: HOR_IDX, режим 2, DIA_IDX, VDIA_IDX.if the top block of the current coding block is missing, then the following modes are used in order as default mode candidates: HOR_IDX, mode 2, DIA_IDX, VDIA_IDX.

В противном случае (при наличии верхнего блока) использовать обычные режимы по умолчанию: VER_IDX, HOR_IDX, внутренний режим 2 (2), VDIA_IDX или DIA_IDXOtherwise (if there is a top block), use the normal default modes: VER_IDX, HOR_IDX, internal mode 2(2), VDIA_IDX, or DIA_IDX

Измененный подход по умолчанию добавляет следующие кандидаты режима в MPM список: VER, HOR, VER-4, VER + 4. Последовательность VER-4, VER + 4 может быть изменена.The modified default approach adds the following mode candidates to the MPM list: VER, HOR, VER-4, VER+4. The sequence VER-4, VER+4 can be changed.

Одна комбинация этих двух способов может представлять собой следующее:One combination of these two methods may be as follows:

Если левый блок текущего блока кодирования отсутствует, то используются следующие режимы по порядку в качестве кандидатов режимов по умолчанию: VER_IDX, VDIA_IDX, DIA_IDX, режим 2.If the left block of the current coding block is missing, then the following modes are used in order as default mode candidates: VER_IDX, VDIA_IDX, DIA_IDX, mode 2.

В противном случае (при наличии левого блока):Otherwise (if there is a left block):

если верхний блок текущего блока кодирования отсутствует, то используются следующие режимы по порядку в качестве кандидатов режимов по умолчанию: HOR_IDX, режим 2, DIA_IDX, VDIA_IDX.if the top block of the current coding block is missing, then the following modes are used in order as default mode candidates: HOR_IDX, mode 2, DIA_IDX, VDIA_IDX.

В противном случае (при наличии верхнего блока) использовать измененные режимы по умолчанию: VER_IDX, HOR_IDX, VER, HOR, VER-4, VER + 4.Otherwise (if there is a top block), use modified default modes: VER_IDX, HOR_IDX, VER, HOR, VER-4, VER+4.

В одном аспекте настоящего изобретения предлагается упрощенный способ построения списка MPM из 6 записей, содержащий: проверку доступности левого блока текущего блока кодирования. Положение левого блока показано на фиг.5, где левый блок обозначен буквой «L».In one aspect of the present invention, a simplified method for constructing a 6-entry MPM list is provided, comprising: checking the availability of the left block of the current coding block. The position of the left block is shown in figure 5, where the left block is indicated by the letter "L".

Левый блок недоступен при отсутствии информации внутреннего предсказания (то есть режим внутреннего предсказания) из левого блока. Что включает в себя следующие случаи:The left block is unavailable in the absence of intra prediction information (ie, intra prediction mode) from the left block. Which includes the following cases:

левый блок не является блоком внутреннего предсказания; левый блок отсутствует, например, текущий блок является блоком кодирования, расположенным в самой левой части кадра; если кодер или декодер поддерживают параллельную обработку, левый блок может считаться отсутствующим (или недоступным), если расположен в разных плитках текущего блока или с текущим блоком, т.е. текущий блок кодирования находится или расположен в самой левой стороне плитки.the left block is not an intra prediction block; there is no left block, for example, the current block is a coding block located at the very left of the frame; if the encoder or decoder supports parallel processing, the left block can be considered missing (or inaccessible) if located in different tiles of the current block or with the current block, i.e. the current coding block is or is located on the leftmost side of the tile.

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

Если в кодере или декодере поддерживается параллельная обработка, левый блок можно рассматривать как отсутствующий, если он расположен в разных сегментах с текущим блоком, то есть, текущий блок кодирования располагается в самой левой части сегмента.If parallel processing is supported in the encoder or decoder, the left block can be considered as missing if it is located in different segments from the current block, that is, the current encoding block is located in the leftmost part of the segment.

В другом примере, если параллельная обработка не поддерживается в кодере или декодере, левый блок может считаться доступным, если он расположен в разных сегментах с текущим блоком, то есть, текущий блок кодирования находится в самой левой части сегмента.In another example, if parallel processing is not supported in the encoder or decoder, the left block may be considered available if it is located in different segments from the current block, i.e., the current encoding block is in the leftmost part of the segment.

В противном случае (то есть доступен левый блок) включать в MPM список с 6 записями режим внутреннего предсказания левого блока.Otherwise (i.e. left block available), include in the MPM list with 6 entries left block intra prediction mode.

Проверить доступность верхнего блока текущего блока кодирования. Положение верхнего блока показано на фиг.5, где верхний блок помечен буквой «A».Check the availability of the top block of the current coding block. The position of the top block is shown in Fig. 5 where the top block is labeled "A".

Верхний блок недоступен, если никакая информация внутреннего предсказания (то есть, режим внутреннего предсказания) не может быть получена из верхнего блока. Что включает в себя следующие случаи:The top block is unavailable if no intra prediction information (ie, intra prediction mode) can be obtained from the top block. Which includes the following cases:

Верхний блок не является блоком внутреннего предсказания.The top block is not an intra prediction block.

Верхний блок отсутствует. Например, текущий блок является блоком кодирования, расположенным в самой верхней части кадра.The top block is missing. For example, the current block is the coding block located at the very top of the frame.

Если в кодере или декодере поддерживается параллельная обработка, верхний блок может считаться отсутствующим, если он расположен в разных плитках с текущим блоком, то есть, текущий блок кодирования находится в самой верхней части плитки.If parallel processing is supported in the encoder or decoder, the top block can be considered missing if it is located in different tiles from the current block, that is, the current encoding block is at the very top of the tile.

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

Если в кодере или декодере поддерживается параллельная обработка, верхний блок можно рассматривать как отсутствующий, если он расположен в разных сегментах с текущим блоком, то есть, текущий блок кодирования находится в самой верхней части сегмента.If parallel processing is supported in the encoder or decoder, the top block can be considered as missing if it is located in different segments from the current block, that is, the current encoding block is at the very top of the segment.

В другом примере, если параллельная обработка не поддерживается в кодере или декодере, верхний блок может считаться доступным, если он расположен в разных сегментах с текущим блоком, т.е. текущий блок кодирования располагается в самой верхней части сегмента.In another example, if parallel processing is not supported in the encoder or decoder, the top block may be considered available if it is located in different segments from the current block, ie. the current coding block is located at the very top of the segment.

Если необходимо ограничить размер линейного буфера в кодере или декодере, верхний блок может считаться отсутствующим, если он расположен в другом CTU с текущим блоком, то есть, текущий блок кодирования находится в самой верхней стороне текущего CTU.If it is necessary to limit the size of the line buffer in the encoder or decoder, the top block may be considered absent if it is located in a different CTU with the current block, i.e., the current coding block is in the uppermost side of the current CTU.

В примере, если сторона декодера или сторона кодера поддерживают ограничение линейного буфера, то верхний блок, расположенный на другом CTU с текущим блоком CTU, считается отсутствующим. Если ограничение линейного буфера не поддерживается, то рассматривается его наличие.In the example, if the decoder side or the encoder side supports the linear buffer constraint, then the upper block located on a different CTU with the current CTU is considered to be missing. If the linear buffer constraint is not supported, then its presence is considered.

В противном случае (то есть доступен левый блок) в MPM список с 6 записями добавить режим внутреннего предсказания верхнего блока.Otherwise (that is, the left block is available), add the upper block intra-prediction mode to the MPM list with 6 entries.

Проверить, вставлен ли в MPM список планарный (PLANAR_IDX = 0) режим (т.е. проверить, является ли внутренний режим левого и верхнего блока планарным режимом) только, если планарный режим не был вставлен в MPM список, затем вставить планарный режим в MPM список. Проверить, был ли режим DC (DC_IDX = 1) вставлен в MPM список (т.е. проверить, что режимы левого и верхнего блока являются DC режимами), только если DC режим не был вставлен в MPM список, затем вставить DC режим в MPM список.Check if planar mode (PLANAR_IDX = 0) is inserted into the MPM list (i.e. check if the inner mode of the left and top block is planar mode) only if planar mode has not been inserted into the MPM list, then insert planar mode into MPM list. Check if the DC mode (DC_IDX = 1) has been inserted into the MPM list (i.e. check that the left and top block modes are DC modes), only if the DC mode has not been inserted into the MPM list, then insert the DC mode into the MPM list.

Если левый блок доступен и, если его режим внутреннего предсказания является угловым режимом, то есть, (режим> DC_IDX, и режим является angularLeft), получить два его ближайших угловых режима, выполняя angularLeft-1, angularLeft + 1. Обратите внимание, что при выполнении -1 или +1 может включать в себя операцию переходв вверх и перехода вниз, например,If the left block is available and if its intra-prediction mode is angular mode, i.e., (mode > DC_IDX and mode is angularLeft), get its two closest angular modes by doing angularLeft-1, angularLeft + 1. Note that when performing -1 or +1 may include a jump up and a jump down operation, for example,

Если angularLeft равно 2, тогда angularLeft-1 будет 66 (случай перехода вверх), или, если angularLeft равен 66, то angularLeft + 1 будет 2 (случай перехода вниз).If angularLeft is 2 then angularLeft-1 will be 66 (in case of transition up), or if angularLeft is 66 then angularLeft + 1 will be 2 (in case of transition down).

Если режим предсказания angularLeft-1 не был вставлен в MPM список, вставить его в MPM список.If the angularLeft-1 prediction mode was not inserted into the MPM list, insert it into the MPM list.

Если режим предсказания angularLeft + 1 не был вставлен в MPM список, вставить его в MPM список.If the prediction mode angularLeft + 1 was not inserted into the MPM list, insert it into the MPM list.

Если MPM список не полон и, если верхний блок доступен и, если его режим внутреннего предсказания является угловым, то есть, (режим> DC_IDX, и режим является angularAbove), получить два ближайших угловых режима, выполнив angularAbove-1, angularAbove+1. Обратите внимание, что при выполнении -1 или +1 это может включать в себя операцию перехода вверх и перехода вниз, в примере, если angularLeft равно 2, тогда angularLeft-1 будет 66 (случай перехода вверх) или, если angularLeft равен 66, то angularLeft +1 будет 2 (случай перехода вниз).If the MPM list is not complete and if the top block is available and if its intra-prediction mode is angular, i.e., (mode > DC_IDX and mode is angularAbove), get the two nearest angular modes by doing angularAbove-1, angularAbove+1. Note that when doing -1 or +1 this may include a move up and move down operation, in the example if angularLeft is 2 then angularLeft-1 will be 66 (case of move up) or if angularLeft is 66 then angularLeft +1 will be 2 (case of transition down).

Если режим предсказания angularAbove-1 не был вставлен в MPM список, вставить его в MPM список.If the angularAbove-1 prediction mode was not inserted into the MPM list, insert it into the MPM list.

Если MPM список не полон (например, количество режимов предсказания в MPM списке меньше 6) и, если режим предсказания angularAbove + 1 не был вставлен в MPM список, вставить его в MPM список.If the MPM list is incomplete (for example, the number of prediction modes in the MPM list is less than 6) and if the prediction mode angularAbove + 1 was not inserted into the MPM list, insert it into the MPM list.

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

вертикальный режим (VER_IDX),vertical mode (VER_IDX),

горизонтальный режим (HOR_IDX),horizontal mode (HOR_IDX),

внутренний режим 2 (2),internal mode 2 (2),

вертикальный диагональный режим (VDIA_IDX) или диагональный режим (DIA_IDX).vertical diagonal mode (VDIA_IDX) or diagonal mode (DIA_IDX).

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

Доступность левого блока должна учитывать как поддержку, так и не поддержку параллельной обработки.The accessibility of the left block must take into account both support and non-support for parallel processing.

Доступность верхнего блока должна учитывать как поддержку, так и не поддержку параллельной обработки.The accessibility of the top block should take into account both support and non-support for parallel processing.

Порядок получения двух ближайших режимов левого и верхнего блока также может быть сначала +1 и затем -1.The order of obtaining the two closest modes of the left and top block can also be first +1 and then -1.

Последним кандидатом в MPM списке может быть VIDA_IDX или DIA_IDX.The last candidate in the MPM list may be VIDA_IDX or DIA_IDX.

Порядок вставки также может быть левым, верхним, планарным, DC и режимами по умолчанию (VER_IDX, HOR_IDX, 2, VDIA_IDX или DIA_IDX).Insertion order can also be left, top, planar, DC, and default modes (VER_IDX, HOR_IDX, 2, VDIA_IDX, or DIA_IDX).

Для сигнализации mpm_idx используется усеченная унарная бинаризация. Первым трем бинам mpm_idx разрешено использовать три разных независимых контекста, или все бины mpm_idx закодированы, используя CABAC.Truncated unary binarization is used to signal mpm_idx. The first three mpm_idx bins are allowed to use three different independent contexts, or all mpm_idx bins are encoded using CABAC.

Настоящее изобретение направлено на улучшение схемы сигнализации внутреннего режима. В настоящем раскрытии предложены способ декодирования видео и видеодекодер.The present invention is directed to an improvement in the intra mode signaling scheme. The present disclosure provides a video decoding method and a video decoder.

Фиг.7 показывает пример 67 режимов внутреннего предсказания, например, как предложено для VVC, множество режимов внутреннего предсказания из 67 режимов внутреннего предсказания, содержащих: планарный режим (индекс 0), DC режим (индекс 1) и угловые режимы с индексами 2 по 66, в котором левый нижний угловой режим на фиг.7 относится к индексу 2, и нумерация индексов увеличивается до тех пор, пока индекс 66 не станет самым верхним правым угловым режимом на фиг. 7.7 shows an example of 67 intra prediction modes, for example, as proposed for VVC, a plurality of intra prediction modes of 67 intra prediction modes containing: planar mode (index 0), DC mode (index 1), and angular modes with indices 2 to 66 , in which the lower left corner mode in FIG. 7 is at index 2, and the index numbering is incremented until index 66 becomes the uppermost right corner mode in FIG. 7.

В другом аспекте настоящего изобретения раскрывается декодер, содержащий схему обработки, выполненную с возможностью выполнять вышеупомянутые способы декодирования.In another aspect of the present invention, a decoder is disclosed, comprising a processing circuit configured to perform the above decoding methods.

В другом аспекте настоящего изобретения раскрыт компьютерный программный продукт, который содержит программный код для выполнения вышеупомянутых способов декодирования.In another aspect of the present invention, a computer program product is disclosed that contains program code for performing the above decoding methods.

В другом аспекте настоящего изобретения раскрывается декодер для декодирования видеоданных, причем декодер содержит: один или более процессоров; и постоянный машиночитаемый носитель данных, соединенный с процессорами и хранящий программы для выполнения процессорами, причем программы, когда выполняется процессорами, конфигурирует декодер выполнять вышеупомянутые способы декодирования.In another aspect of the present invention, a decoder for decoding video data is disclosed, the decoder comprising: one or more processors; and a persistent computer-readable storage medium coupled to the processors and storing programs for execution by the processors, the programs, when executed by the processors, configuring the decoder to perform the aforementioned decoding methods.

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

В другом аспекте настоящего изобретения раскрывается способ кодирования, который содержит:In another aspect of the present invention, an encoding method is disclosed which comprises:

получение режима внутреннего предсказания блока изображения из множества режимов внутреннего предсказания, множество режимов внутреннего предсказания для блока изображения содержит набор наиболее вероятных режимов, MPMs и набор non-MPMs, в котором набор non-MPMs содержит первый набор режимов внутреннего предсказания и второй набор режимов внутреннего предсказания;obtaining an intra prediction mode of an image block from a set of intra prediction modes, a set of intra prediction modes for an image block contains a set of most probable modes, MPMs, and a set of non-MPMs, in which the set of non-MPMs contains a first set of intra prediction modes and a second set of intra prediction modes ;

если режим внутреннего предсказания блока изображения находится в наборе non-MPMs, генерирование отношения отображения между, по меньшей мере, одним режимом внутреннего предсказания в первом наборе режимов внутреннего предсказания и, по меньшей мере, одним режимом внутреннего предсказания в наборе non-MPMs;if the intra prediction mode of the image block is in the set of non-MPMs, generating a mapping relationship between at least one intra prediction mode in the first set of intra prediction modes and at least one intra prediction mode in the set of non-MPMs;

кодирование режима внутреннего предсказания блока изображения для получения кодового слова режима внутреннего предсказания согласно отношению отображения.encoding the intra prediction mode of the image block to obtain an intra prediction mode codeword according to the mapping relation.

В одной форме реализации настоящего изобретения процесс получения режима внутреннего предсказания блока изображения может относиться к относительному раскрытию в приведенном ниже подробном описании части вариантов осуществления или относительному раскрытию в области технологии кодирования видео, например, в ITU-T H.264, ITU-T H.265.In one form of implementation of the present invention, the process of obtaining the intra prediction mode of a picture block may refer to a relative disclosure in the following detailed description of a part of the embodiments, or a relative disclosure in the field of video coding technology, for example, in ITU-T H.264, ITU-T H. 265.

В одной форме реализации настоящего изобретения, способ кодирования дополнительно содержит: генерирование набора MPMs, определение, находится ли режим внутреннего предсказания блока изображения в наборе MPMs. Следовательно, если режим внутреннего предсказания блока изображения отсутствует в наборе MPMs, то режим внутреннего предсказания блока изображения находится в наборе non-MPMs.In one form of implementation of the present invention, the encoding method further comprises: generating a set of MPMs, determining whether the intra prediction mode of the image block is in the set of MPMs. Therefore, if the intra prediction mode of the image block is not in the set of MPMs, then the intra prediction mode of the image block is in the set of non-MPMs.

Процесс генерирования набора MPMs может относиться к относительному раскрытию в части описания или относительному раскрытию в области технологии кодирования видео, например, в ITU-T H.264, ITU-T H.265.The process of generating a set of MPMs may refer to relative disclosure in the description part or relative disclosure in the field of video coding technology, for example, in ITU-T H.264, ITU-T H.265.

В одной форме реализации настоящего изобретения процесс генерирования отношения отображения между, по меньшей мере, одним режимом внутреннего предсказания в первом наборе режимов внутреннего предсказания и, по меньшей мере, одним режимом внутреннего предсказания в наборе non-MPMs может относиться к относительному раскрытию на стороне декодирования.In one embodiment of the present invention, the process of generating a mapping relationship between at least one intra prediction mode in a first set of intra prediction modes and at least one intra prediction mode in a set of non-MPMs may refer to relative expansion on the decoding side.

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

В другом аспекте настоящего изобретения раскрывается кодер, содержащий схему обработки, выполненную с возможностью выполнять вышеупомянутые способы кодирования.In another aspect of the present invention, an encoder is disclosed, comprising a processing circuit capable of performing the above encoding methods.

В другом аспекте настоящего изобретения раскрыт компьютерный программный продукт, который содержит программный код для выполнения вышеуказанных способов кодирования.In another aspect of the present invention, a computer program product is disclosed that contains program code for performing the above encoding methods.

В другом аспекте настоящего изобретения раскрывается кодер для кодирования видеоданных, причем кодер содержит: один или более процессоров; и постоянный машиночитаемый носитель данных, соединенный с процессорами и хранящий программы для выполнения процессорами, причем программы, когда выполняются процессорами, конфигурирует кодер выполнить вышеупомянутые способы кодирования.In another aspect of the present invention, an encoder for encoding video data is disclosed, the encoder comprising: one or more processors; and a persistent computer-readable storage medium coupled to the processors and storing programs for execution by the processors, the programs, when executed by the processors, configuring the encoder to perform the aforementioned encoding methods.

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

В одной форме реализации настоящего изобретения согласно фиг.8, настоящее изобретение предлагает способ декодирования видео, который содержит:In one form of implementation of the present invention according to Fig.8, the present invention provides a video decoding method that comprises:

S801: декодирование кодированных данных блока изображения для получения режима внутреннего предсказания из множества режимов внутреннего предсказания для блока изображения;S801: decoding encoded image block data to obtain an intra prediction mode from a plurality of intra prediction modes for the image block;

множество режимов внутреннего предсказания для блока изображения содержит набор наиболее вероятных режимов, MPMs и набор non-MPMs, в котором набор non-MPMs содержит первый набор режимов внутреннего предсказания и второй набор режимов внутреннего предсказания, в которых режим в первом наборе режимов внутреннего предсказания кодируется с использованием N битов, и режим во втором наборе режимов внутреннего предсказания кодируется с использованием M битов, N и M являются положительными целыми числами, N меньше M,the set of intra prediction modes for an image block comprises a set of most likely modes, MPMs, and a set of non-MPMs, in which the set of non-MPMs contains a first set of intra prediction modes and a second set of intra prediction modes, in which the mode in the first set of intra prediction modes is encoded with using N bits, and the mode in the second set of intra prediction modes is encoded using M bits, N and M are positive integers, N is less than M,

в котором декодирование кодированных данных блока изображения для получения режима внутреннего предсказания из множества режимов внутреннего предсказания для блока изображения (S801) содержит:wherein decoding the encoded image block data to obtain an intra prediction mode from a plurality of intra prediction modes for the image block (S801) comprises:

S802: декодирование кодированных данных для получения указания, указывающего, находится ли режим внутреннего предсказания для блока изображения в наборе MPMs или нет; если указание указывает, что режим внутреннего предсказания для блока изображения отсутствует в наборе MPMs,S802: decoding encoded data to obtain an indication indicating whether the intra prediction mode for the image block is in the set of MPMs or not; if the indication indicates that the intra prediction mode for the image block is not present in the set of MPMs,

S803: генерирование отношения отображения между, по меньшей мере, одним режимом внутреннего предсказания в первом наборе режимов внутреннего предсказания и, по меньшей мере, одним режимом внутреннего предсказания в наборе non-MPMs;S803: generating a mapping relationship between at least one intra prediction mode in the first intra prediction mode set and at least one intra prediction mode in the non-MPMs set;

S804: декодирование кодированных данных для получения кодового слова режима внутреннего предсказания для блока изображения;S804: decoding the encoded data to obtain an intra prediction mode codeword for the image block;

S805: получение режима внутреннего предсказания для блока изображения согласно отношению отображения и кодовому слову режима внутреннего предсказания.S805: Obtaining the intra prediction mode for the image block according to the display ratio and the intra prediction mode codeword.

Согласно способу декодирования видео настоящего изобретения, для кодирования режимов предсказания в наборе non-MPMs используется усеченная схема бинаризации, и генерируется отношение отображения, следовательно, режим предсказания для текущего блока имеет более высокую возможность кодирования при использовании меньше битов и вычислительная сложность на стороне декодера снижается.According to the video decoding method of the present invention, a truncated binarization scheme is used to encode prediction modes in a set of non-MPMs, and a mapping relation is generated, therefore, the prediction mode for the current block has a higher coding capability while using fewer bits, and the computational complexity on the decoder side is reduced.

В одной форме реализации настоящего изобретения согласно фиг.9 настоящее изобретение предлагает способ декодирования видео, содержащий:In one form of implementation of the present invention according to Fig.9, the present invention provides a video decoding method comprising:

S901: прием закодированных данных блока изображения;S901: receiving encoded picture block data;

Сторона декодера может быть выполнена с возможностью принимать данные закодированного изображения через прямую линию связи между стороной кодера и стороной декодера, например, прямое проводное или беспроводное соединение, или через любую сеть, например, проводная или беспроводная сеть или любая их комбинация, или любая частная и общественная сеть, или любая их комбинация.The decoder side may be configured to receive the encoded image data via a direct link between the encoder side and the decoder side, such as a direct wired or wireless connection, or through any network, such as a wired or wireless network, or any combination thereof, or any private and public network, or any combination of them.

S902: декодирование закодированных данных для получения указания, указывающего, находится ли режим внутреннего предсказания для блока изображения в наборе MPMs или нет.S902: decoding the encoded data to obtain an indication indicating whether the intra prediction mode for the image block is in the set of MPMs or not.

Указание, указывающее, что режим внутреннего предсказания для блока изображения находится в наборе MPMs или нет, может быть флагом, когда значение флага равно 1, может указывать, что режим внутреннего предсказания для блока изображения находится в наборе MPMs, когда значение флага равно 0, может указывать, что режим внутреннего предсказания для блока изображения в наборе MPMs отсутствует. Например, на стороне кодера, если MPM список (набор MPMs) является набором внутренних режимов, скажем [25, 42, 63] и текущее значение внутреннего режима блоков равно 42, тогда указание MPM флага устанавливается на 1 в качестве внутреннего режима для текущего блока находится во второй записи списка MPM. Если, например, текущий внутренний режим блоков - 41 вместо 42, тогда указание MPM флага устанавливается на 0, флаг MPM отправляется на сторону декодирования в закодированных данных.An indication indicating whether the intra prediction mode for the image block is in the MPMs set or not may be a flag, when the flag value is 1, may indicate that the intra prediction mode for the image block is in the MPMs set, when the flag value is 0, may indicate that there is no intra prediction mode for the image block in the set of MPMs. For example, on the encoder side, if the MPM list (set of MPMs) is a set of intrinsic modes, say [25, 42, 63] and the current value of the intrinsic mode of the blocks is 42, then the MPM flag indication is set to 1 as the intrinsic mode for the current block is in the second entry of the MPM list. If, for example, the current internal block mode is 41 instead of 42, then the MPM flag indication is set to 0, the MPM flag is sent to the decoding side in the encoded data.

Если указание указывает, что режим внутреннего предсказания для блока изображения находится в наборе MPMs, выполнить этап S903;If the indication indicates that the intra prediction mode for the image block is in the set of MPMs, execute step S903;

Если указание указывает, что режим внутреннего предсказания для блока изображения находится в наборе MPMs, выполнить этап S904;If the indication indicates that the intra prediction mode for the image block is in the set of MPMs, execute step S904;

S903: декодирование закодированных данных для получения режима внутреннего предсказания для блока изображения согласно набору MPMs;S903: decoding the encoded data to obtain an intra prediction mode for the image block according to the set of MPMs;

В одном примере, если указание, указывающее режим внутреннего предсказания для блока изображения, находится в наборе MPMs. Процесс вывода для режима внутреннего предсказания для блока (IntraPredModeY [xPb] [yPb]) изображения определяется следующим образом:In one example, if an indication indicating the intra prediction mode for an image block is in a set of MPMs. The output process for the block intra prediction mode (IntraPredModeY [xPb] [yPb]) of an image is defined as follows:

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

Если intra_luma_mpm_flag [xPb] [yPb] равно 1 (что указывает, что режим внутреннего предсказания для блока изображения находится в наборе MPM), IntraPredModeY [xPb] [yPb] устанавливается равным candModeList [intra_luma_mpm_idx [xPb] [ yPb]], где (xPb, yPb) указывает верхнюю левую выборку текущего блока предсказания яркости относительно верхней левой выборки яркости текущего изображения и candModeList является фактическим списком MPM, декодирование закодированных данных для получения MPM индекса, получение режима внутреннего предсказания блока изображения согласно MPM индексу и MPM списку.If intra_luma_mpm_flag [xPb] [yPb] is 1 (indicating that the intra prediction mode for the image block is in the MPM set), IntraPredModeY [xPb] [yPb] is set to candModeList [intra_luma_mpm_idx [xPb] [ yPb]], where (xPb , yPb) indicates the top left sample of the current luma prediction block relative to the top left luma sample of the current image, and candModeList is the actual MPM list, decoding the encoded data to obtain the MPM index, obtaining the intra prediction mode of the image block according to the MPM index and the MPM list.

В конкретном примере набор MPMs равен (15, 0, 20), значение MPM индекса равно 2, поэтому режим внутреннего предсказания блока изображения является планарным режимом (значение 0). В другом конкретном примере набор MPMs равен (15, 36, 0, 1, 21, 19), значение MPM индекса равно 5, поэтому режим внутреннего предсказания блока изображения является угловым режимом 21.In a specific example, the set of MPMs is (15, 0, 20), the index MPM value is 2, so the image block intra prediction mode is planar mode (value 0). In another specific example, the set of MPMs is (15, 36, 0, 1, 21, 19), the index MPM value is 5, so the intra prediction mode of the image block is angle mode 21.

S904: генерирование отношения отображения между, по меньшей мере, одним режимом внутреннего предсказания в первом наборе режимов внутреннего предсказания и, по меньшей мере, одним режимом внутреннего предсказания в наборе non-MPMs;S904: generating a mapping relationship between at least one intra prediction mode in the first set of intra prediction modes and at least one intra prediction mode in the set of non-MPMs;

В примере, если указание указывает, что режим внутреннего предсказания для блока изображения не входит в набор MPMs, составляются два списка: а именно, список кодовых слов и список полученных режимов.In the example, if the indication indicates that the intra prediction mode for the image block is not included in the set of MPMs, two lists are compiled: namely, a list of codewords and a list of received modes.

Первый список кодовых слов составлен следующим образом:The first list of code words is composed as follows:

1. Найти наименьший режим в MPM списке, предположим, что наименьший режим является Ms.1. Find the smallest mode in the MPM list, suppose the smallest mode is Ms.

2. Установить переменную начального приращения Inc = 1.2. Set the initial increment variable Inc = 1.

3. Установить кандидата режима Mc как (Ms + Inc), проверить также наличие режима Mc в MPM списке.3. Set the candidate mode Mc as (Ms + Inc), check also the presence of the Mc mode in the MPM list.

При отсутствии Mc в MPM списке, добавить Mc в список кодовых слов в противном случае перейти к пункту 4.If there is no Mc in the MPM list, add Mc to the codeword list otherwise go to step 4.

4. Проверить, заполнены ли вставленные записи в списке кодовых слов (длина вставки равна длине списка кодовых слов):4. Check if the inserted entries in the list of codewords are full (the length of the insertion is equal to the length of the list of codewords):

Если заполнено, прекратить;If complete, terminate;

В противном случае установить Inc = Inc + 1 и перейдите к пункту 3.Otherwise, set Inc = Inc + 1 and go to step 3.

Подводя итог, список кодовых слов будет содержать наименьшие режимы, кроме тех, которые находятся в MPM списке. Учитывая, что длина MPM списка равна L, то длина списка кодовых слов составляет 64-(67-L) = L-3. Например, если MPM список равен (15, 36, 0, 1, 21, 19), то построенное кодовое слово будет (2, 3, 4).To summarize, the list of codewords will contain the smallest modes other than those in the MPM list. Given that the length of the MPM list is L, then the length of the codeword list is 64-(67-L) = L-3. For example, if the MPM list is (15, 36, 0, 1, 21, 19), then the constructed codeword will be (2, 3, 4).

Второй список полученных режимов составляется следующим образом:The second list of received modes is compiled as follows:

1. Найти первые два угловых режима в MPM списке, предполагая, что найденными являются angular0 и angular1.1. Find the first two angular modes in the MPM list, assuming the ones found are angular0 and angular1.

2. Установить переменную начального приращения Inc = 1.2. Set the initial increment variable Inc = 1.

3. Получить новый режим M0minus = angular0 - Inc. Необходимо отметить, что M0minus должен быть гарантирован также угловой режим (т.е. 66> = M0minus> = 2). Следовательно, если angular0 равно 2, Inc равно 1; тогда полученный M0minus будет 66; если Inc равно 2, то M0minus будет 65 и т.д. Операция «минус» является переходом вверх до максимального углового режима.3. Get new mode M0 minus = angular0 - Inc. It should be noted that M0 minus must also guarantee the angular mode (ie 66>= M0 minus >= 2). Therefore, if angular0 is 2, Inc is 1; then the resulting M0 minus will be 66; if Inc is 2, then M0 minus is 65, and so on. Operation "minus" is the transition up to the maximum angular mode.

4. Проверить наличие M0minus в MPM списке, если нет и, если список полученных режимов не полон, вставить M0minus в список полученных режимов. Иначе,4. Check the presence of M0 minus in the MPM list, if not, and if the list of received modes is not complete, insert M0 minus into the list of received modes. Otherwise,

Если список полученных режимов полон, завершить.If the list of received modes is complete, terminate.

В противном случае переходите к пункту 5.Otherwise, go to step 5.

5. Получить новый режим M0plus = angular0 + Inc. Примечание. M0plus также должен быть обеспечен угловым режимом (т.е. 66> = M0plus> = 2). Следовательно, если angular0 равен 66, Inc равен 1, тогда полученное значение M0plus будет равно 2. Если Inc равно 2, то M0plus будет равно 3 и т.д. Операция «плюс» является переходом вниз до минимального углового режима.5. Get new mode M0 plus = angular0 + Inc. Note. M0 plus must also be provided with angle mode (ie 66 >= M0 plus >= 2). Therefore, if angular0 is 66, Inc is 1, then the resulting value of M0 plus will be 2. If Inc is 2, then M0 plus will be 3, and so on. The "plus" operation is a transition down to the minimum angular mode.

6. Проверить наличие M0plus в MPM списке, если нет и если список полученных режимов не полон, вставить M0plus в список полученных режимов. Иначе,6. Check the presence of M0 plus in the MPM list, if not and if the list of received modes is not complete, insert M0 plus into the list of received modes. Otherwise,

Если список полученных режимов полон, завершить.If the list of received modes is complete, terminate.

В противном случае перейти к этапу 7.Otherwise, go to step 7.

7. Повторить этапы 3-6, заменив angular0 на angular1.7. Repeat steps 3-6, replacing angular0 with angular1.

8. Установить Inc = Inc + 1 и повторить этапы 3-7.8. Set Inc = Inc + 1 and repeat steps 3-7.

Подводя итог, список полученных режимов получает соседние режимы первых двух угловых режимов в MPM списке. Если эти соседние режимы уже включены в MPM список, то они исключаются из списка полученных режимов. Учитывая, что длина MPM списка равна L, длина списка полученных режимов составляет 64- (67-L) = L-3. Например, если MPM список равен (15, 36, 0, 1, 21, 19), то построенный список полученных режимов представляет собой (14, 16, 35).To sum up, the received mode list gets the neighboring modes of the first two angle modes in the MPM list. If these neighboring modes are already included in the MPM list, then they are excluded from the list of received modes. Considering that the length of the MPM list is L, the length of the received mode list is 64-(67-L)=L-3. For example, if the MPM list is (15, 36, 0, 1, 21, 19), then the constructed list of received modes is (14, 16, 35).

Когда список кодовых слов и список полученных режимов построены, между ними формируются отношения двунаправленного отображения. А именно, учитывая приведенные выше примеры списков со списком кодовых слов (2, 3, 4) и списком полученных режимов (14, 16, 35), 2←→14, 3←→16 и 3←→35, где ←→ представляет двунаправленный отображение.When the list of codewords and the list of received modes are built, a bidirectional mapping relationship is formed between them. Namely, given the above examples of lists with a list of codewords (2, 3, 4) and a list of received modes (14, 16, 35), 2←→14, 3←→16 and 3←→35, where ←→ represents bidirectional display.

Для построения отношения двунаправленного отображения между списком кодовых слов и производным списком режимов рассматриваются две вариации. Первая вариация заключается в том, что список полученных режимов может быть построен таким образом, чтобы в списке полученных режимов, так и в списке кодовых слов могли находиться элементы. Другая вариация состоит в том, что список полученных режимов не может перекрываться с режимами в списке кодовых слов.Two variations are considered for constructing a bidirectional mapping relationship between a codeword list and a derived mode list. The first variation is that the list of received modes can be constructed in such a way that the list of received modes and the list of codewords can contain elements. Another variation is that the list of received modes cannot overlap with the modes in the codeword list.

В другом примере, в одной форме реализации настоящего изобретения, в котором генерирование отношения отображения между, по меньшей мере, одним режимом внутреннего предсказания в первом наборе режимов внутреннего предсказания и, по меньшей мере, одним режимом внутреннего предсказания в наборе non-MPMs, содержит: ранжирование множества категорий режима внутреннего предсказания согласно количеству и/или направлению режимов внутреннего предсказания в наборе MPM, попадающих в каждую категорию режима внутреннего предсказания; генерирование отношения отображения согласно категории режима внутреннего предсказания с наивысшим рангом.In another example, in one embodiment of the present invention, wherein generating a mapping relationship between at least one intra prediction mode in a first set of intra prediction modes and at least one intra prediction mode in a set of non-MPMs comprises: ranking a plurality of intra prediction mode categories according to the number and/or direction of intra prediction modes in the MPM set falling into each intra prediction mode category; generating a display relation according to the category of the intra prediction mode with the highest rank.

В примере 5 категорий режима углового внутреннего предсказания, а именно, DC режим (DC_IDX), вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим (VDIA_IDX) и диагональный режим DIA_IDX, в котором режим углового внутреннего предсказания списка наиболее вероятных режимов, попадающих в каждую категорию режима углового внутреннего предсказания, например, соответствует ассоциации каждого из режимов углового внутреннего предсказания списка наиболее вероятных режимов с категорией режима углового внутреннего предсказания, наиболее близкой к соответствующему угловому режима внутреннего предсказания списка наиболее вероятных режимов. В другом примере повторение этого этапа со второй по рангу категорией режима углового внутреннего предсказания.In the example, there are 5 categories of the angular intra prediction mode, namely, DC mode (DC_IDX), vertical mode (VER_IDX), horizontal mode (HOR_IDX), intra mode 2 (2), vertical diagonal mode (VDIA_IDX), and diagonal mode DIA_IDX, in which the most likely list angular intra prediction mode falling into each category of the angular intra prediction mode, for example, corresponds to associating each of the angular intra prediction modes of the most likely modes list with an angular intra prediction mode category closest to the corresponding angular intra prediction mode of the most likely list modes. In another example, repeating this step with the second highest category of the angular intra prediction mode.

В примере генерирование отношения отображения между, по меньшей мере, одним режимом внутреннего предсказания в первом наборе режимов внутреннего предсказания и, по меньшей мере, одним режимом внутреннего предсказания в наборе non-MPMs, содержит: генерирование начального набора режимов внутреннего предсказания в соответствии с добавлением смещения к множеству значений, соответствующих набору MPMs; классификация набора MPMs для получения категории режима внутреннего предсказания с наивысшим рангом; генерирование отношения отображения согласно категории режима внутреннего предсказания с наивысшим рангом и начальному набору режимов внутреннего предсказания.In an example, generating a mapping relationship between at least one intra prediction mode in the first intra prediction mode set and at least one intra prediction mode in the non-MPMs set comprises: generating an initial intra prediction mode set according to the addition of an offset to a set of values corresponding to a set of MPMs; classifying the set of MPMs to obtain the highest ranked intra prediction mode category; generating a mapping relationship according to the highest ranking intra prediction mode category and the initial set of intra prediction modes.

В примере начальный набор режимов внутреннего предсказания генерируется согласно добавлению смещения -1, + 1, +2, -2, +3, -3, +4 или -4 к множеству значений, соответствующих набору MPMs.In the example, an initial set of intra prediction modes is generated according to adding an offset of -1, +1, +2, -2, +3, -3, +4, or -4 to the set of values corresponding to the set of MPMs.

В примере генерируется отношения отображения согласно заранее определенному списку режимов по умолчанию, содержащему или состоящему из планарного режима (PLANAR_IDX), DC режима (DC_IDX), вертикального режима (VER_IDX), горизонтального режима (HOR_IDX), внутреннего режима 2 (2), вертикального диагонального режима (VDIA_IDX) и диагонального режима (DIA_IDX).The example generates display relationships according to a predefined default mode list containing or consisting of planar mode (PLANAR_IDX), DC mode (DC_IDX), vertical mode (VER_IDX), horizontal mode (HOR_IDX), indoor mode 2(2), vertical diagonal mode (VDIA_IDX) and diagonal mode (DIA_IDX).

S905: декодирование кодированных данных для получения кодового слова режима внутреннего предсказания для блока изображения;S905: decoding the encoded data to obtain an intra prediction mode codeword for the image block;

кодовое слово кодируется с использованием N бит или M бит на закодированной стороне. В одном примере, поскольку это отношение двунаправленного отображения, режим внутреннего предсказания, соответствующий кодовому слову, может быть отображен на другой режим внутреннего предсказания в наборе non-MPMs.the codeword is encoded using N bits or M bits on the encoded side. In one example, since this is a bidirectional mapping relationship, the intra prediction mode corresponding to the codeword may be mapped to another intra prediction mode in a set of non-MPMs.

S906: получение режима внутреннего предсказания для блока изображения согласно отношению отображения и кодовому слову режима внутреннего предсказания.S906: Obtaining the intra prediction mode for the image block according to the mapping ratio and the intra prediction mode codeword.

В примере, после построения отношения двунаправленного отображения, проверку, находится ли режим внутреннего предсказания, соответствующий кодовому слову режима внутреннего предсказания, в списке кодовых слов или в списке полученных режимов:In the example, after constructing the bidirectional mapping relation, checking if the intra prediction mode corresponding to the intra prediction mode codeword is in the codeword list or the received mode list:

Если проанализированного режима внутреннего предсказания нет ни в списке кодовых слов, ни в списке полученных режимов, установить окончательный режим предсказания как проанализированный режим внутреннего предсказания.If the parsed intra prediction mode is not in either the codeword list or the received modes list, set the final prediction mode as the parsed intra prediction mode.

Если проанализированный режим внутреннего предсказания находится только списке кодовых слов или только в списке полученных режимов, тогда установить окончательный режим предсказания как соответствующий отображенному режиму внутреннего предсказания.If the parsed intra prediction mode is only in the codeword list or only in the received mode list, then set the final prediction mode as corresponding to the mapped intra prediction mode.

Если проанализированный режим внутреннего предсказания присутствует как в списке кодовых слов, так и в списке полученных режимов, в построение этих двух списков вводится механизм, так что корректируется отношение двунаправленного отображения, и все перекрывающиеся режимы отображаются на себя в другом списке. Пример: MPM список (0 1 2 3 50 66), список кодовых слов (4 5 6), список полученных режимов (4 65 5). При построении списка полученных режимов или списка кодовых слов необходимо обеспечить 4←→4, 5←→5 и 6←→65.If the parsed intra prediction mode is present in both the codeword list and the received mode list, a mechanism is introduced into the construction of the two lists so that the bidirectional mapping relationship is corrected and all overlapping modes are mapped onto themselves in the other list. Example: MPM list (0 1 2 3 50 66), codeword list (4 5 6), received mode list (4 65 5). When constructing a list of received modes or a list of code words, it is necessary to provide 4←→4, 5←→5 and 6←→65.

Декодер, содержащий схему обработки, выполненную с возможностью выполнять вышеупомянутые способы.A decoder containing a processing circuit configured to perform the above methods.

В настоящем раскрытии раскрывается компьютерный программный продукт, содержащий программный код, для выполнения вышеуказанных способов.The present disclosure discloses a computer program product containing program code for performing the above methods.

В настоящем раскрытии раскрывается декодер для декодирования видеоданных, причем декодер содержит: один или более процессоров; и постоянный машиночитаемый носитель данных, соединенный с процессорами и хранящий программы для выполнения процессорами, причем программы, когда выполняются процессорами, конфигурирует декодер выполнить вышеуказанные способы.The present disclosure discloses a decoder for decoding video data, the decoder comprising: one or more processors; and a persistent computer-readable storage medium coupled to the processors and storing programs for execution by the processors, the programs, when executed by the processors, configuring the decoder to perform the above methods.

Фиг.7 показывает пример 67 режимов внутреннего предсказания, например, как предложено для VVC, в котором множество режимов внутреннего предсказания из 67 режимов внутреннего предсказания содержат: планарный режим (индекс 0), DC режим (индекс 1) и угловые режимы с индексами 2-66, в котором левый нижний угловой режим на фиг.7 относится к индексу 2, и нумерация индексов увеличивается до тех пор, пока индекс 66 не станет самым верхним правым угловым режимом на фиг.7.7 shows an example of 67 intra prediction modes, for example, as proposed for VVC, in which a plurality of intra prediction modes of the 67 intra prediction modes comprise: planar mode (index 0), DC mode (index 1), and angular modes with indices 2- 66, in which the lower left corner mode in FIG. 7 is at index 2, and the index numbering is incremented until index 66 is the top right corner mode in FIG.

Далее раскрываются дополнительные варианты осуществления, в которых нумерация не обязательно может совпадать с нумерацией других вариантов осуществления или примеров описания.Further embodiments are disclosed in which the numbering may not necessarily be the same as the numbering of other embodiments or examples of the description.

Вариант 1 осуществления. Способ построения списка наиболее вероятных режимов, MPM, в котором способ содержит: определение, доступен ли левый блок текущего блока кодирования или нет, доступен ли левый блок текущего блока кодирования, добавление режима внутреннего предсказания левого блока в MPM список; определение, доступен ли верхний блок текущего блока кодирования или нет, если верхний блок текущего блока кодирования доступен, добавление режима внутреннего предсказания верхнего блока в MPM список; при отстаивании планарного режима в MPM списке, добавление планарного режима в MPM список; при отсутствии DC режима в MPM списке, добавление DC режима в MPM список.Option 1 implementation. A method for constructing a list of most probable modes, MPM, wherein the method comprises: determining whether the left block of the current coding block is available or not, whether the left block of the current coding block is available, adding the left block intra prediction mode to the MPM list; determining whether the top block of the current coding block is available or not, if the top block of the current coding block is available, adding the top block intra prediction mode to the MPM list; when defending the planar mode in the MPM list, adding the planar mode to the MPM list; if there is no DC mode in the MPM list, adding the DC mode to the MPM list.

Вариант 2 осуществления. Способ варианта 1 осуществления, в котором, когда режим предсказания левого блока не является режимом внутреннего предсказания, левый блок текущего блока кодирования недоступен.Option 2 implementation. The method of Embodiment 1, wherein when the left block prediction mode is not intra prediction mode, the left block of the current coding block is unavailable.

Вариант 3 осуществления. Способ варианта 1 или 2 осуществления, в котором, когда текущий блок кодирования является блоком кодирования, расположенным в самой левой части кадра, левый блок текущего блока кодирования недоступен.Option 3 implementation. The method of embodiment 1 or 2, wherein when the current coding block is the coding block located at the leftmost part of the frame, the left block of the current coding block is unavailable.

Вариант 4 осуществления. Способ по любому из вариантов 1-3 осуществления, в котором поддерживается параллельная обработка, и текущий блок кодирования является блоком кодирования, расположенным в самой левой части плитки, левый блок текущего блока кодирования не доступен.Option 4 implementation. The method as in any one of embodiments 1-3, wherein parallel processing is supported and the current coding block is the coding block located at the very left of the tile, the left block of the current coding block is not available.

Вариант 5 осуществления. Способ по любому из вариантов 1-4 осуществления, в котором параллельная обработка не поддерживается, и текущий блок кодирования является блоком кодирования, расположенным в самой левой части плитки, но не в самой левой части кадра, левый блок текущего блока кодирования является доступным.Option 5 implementation. The method as in any one of embodiments 1-4, wherein parallel processing is not supported and the current coding block is a coding block located at the leftmost side of the tile but not at the leftmost side of the frame, the left block of the current coding block is available.

Вариант 6 осуществления. Способ по любому из вариантов 1-5 осуществления, в котором поддерживается параллельная обработка, и текущий блок кодирования является блоком кодирования, расположенным в самой левой части сегмента, левый блок текущего блока кодирования является недоступным.Option 6 implementation. The method of any one of embodiments 1 to 5, wherein parallel processing is supported and the current coding block is the coding block located at the leftmost part of the segment, the left block of the current coding block is inaccessible.

Вариант 7 осуществления. Способ по любому из вариантов 1-6 осуществления, в котором параллельная обработка не поддерживается, и текущий блок кодирования представляет собой блок кодирования, расположенный в самой левой части сегмента, но не в самой левой части кадра, левый блок текущего блока кодирования является доступным.Option 7 implementation. The method as in any one of embodiments 1-6, wherein parallel processing is not supported and the current coding block is a coding block located at the leftmost part of the segment but not at the leftmost part of the frame, the leftmost block of the current coding block is available.

Вариант 8 осуществления. Способ любого из вариантов 1-7 осуществления, в котором, когда режим предсказания верхнего блока не является режимом внутреннего предсказания, верхний блок текущего блока кодирования недоступен.Option 8 implementation. The method of any one of embodiments 1 to 7, wherein when the top block prediction mode is not an intra prediction mode, the top block of the current coding block is unavailable.

Вариант 9 осуществления. Способ по любому из вариантов 1-8 осуществления, в котором, когда текущий блок кодирования является блоком кодирования, расположенным в самой верхней части кадра, верхний блок текущего блока кодирования недоступен.Option 9 implementation. The method as in any one of embodiments 1 to 8, wherein when the current coding block is the coding block located at the topmost part of the frame, the top block of the current coding block is unavailable.

Вариант 10 осуществления. Способ по любому из вариантов 1-9 осуществления, в котором поддерживается параллельная обработка, и текущий блок кодирования является блоком кодирования, расположенным в самой верхней части плитки, верхний блок текущего блока кодирования является недоступным.Option 10 implementation. The method as in any one of embodiments 1-9, wherein parallel processing is supported and the current coding block is the coding block located at the topmost part of the tile, the top block of the current coding block is unavailable.

Вариант 11 осуществления. Способ по любому из вариантов 1-10 осуществления, в котором параллельная обработка не поддерживается, текущий блок кодирования является блоком кодирования, расположенным в самой верхней части плитки, но не на самой верхней части кадра, верхний блок текущего блока кодирования является доступным.Option 11 implementation. The method according to any of embodiments 1-10, wherein parallel processing is not supported, the current coding block is the coding block located at the topmost part of the tile, but not at the topmost part of the frame, the top block of the current coding block is available.

Вариант 12 осуществления. Способ по любому из вариантов 1-11 осуществления, в котором поддерживается параллельная обработка, и текущий блок кодирования является блоком кодирования, расположенным в самой верхней части сегмента, верхний блок текущего блока кодирования недоступен.Option 12 implementation. The method of any one of embodiments 1-11, wherein parallel processing is supported and the current coding block is the coding block located at the topmost part of the segment, the top block of the current coding block is not available.

Вариант 13 осуществления. Способ по любому из вариантов 1-12 осуществления, в котором параллельная обработка не поддерживается, и текущий блок кодирования является блоком кодирования, расположенным в самой верхней части сегмента, но не в самой верхней части кадра, верхний блок текущего блока кодирования является доступным.Option 13 implementation. The method as in any one of embodiments 1-12, wherein parallel processing is not supported and the current coding block is a coding block located at the topmost part of the segment but not at the topmost part of the frame, the top block of the current coding block is available.

Вариант 14 осуществления. Способ любого из вариантов 1-13 осуществления, когда размер линейного буфера ограничен и текущий блок кодирования является блоком кодирования, расположенным на самой верхней стороне текущего CTU, верхний блок текущего блок кодирования недоступен.Option 14 implementation. The method of any of embodiments 1-13, when the size of the linear buffer is limited and the current coding unit is a coding unit located on the uppermost side of the current CTU, the upper block of the current coding unit is not available.

Вариант 15 осуществления. Способ по любому из вариантов 1-14 осуществления, способ дополнительно содержит:Option 15 implementation. The method according to any one of embodiments 1-14, the method further comprising:

если левый блок текущего блока кодирования доступен, и режим внутреннего предсказания левого блока является угловым, добавление смещения к режиму предсказания левого блока для получения нового режима предсказания, если новый режим предсказания отсутствует в MPM списке, добавление нового режима предсказания в MPM список.if the left block of the current coding block is available and the intra prediction mode of the left block is angular, adding an offset to the left block prediction mode to obtain a new prediction mode, if the new prediction mode is not in the MPM list, adding the new prediction mode to the MPM list.

Вариант 16 осуществления. Способ варианта 15 осуществления, в котором смещение равно -1.Option 16 implementation. The method of embodiment 15 wherein the offset is -1.

Вариант 17 осуществления. Способ варианта 15 осуществления, в котором смещение равно 1.Option 17 implementation. The method of embodiment 15 wherein the offset is 1.

Вариант 18 осуществления. Способ по любому из вариантов 1-17 осуществления, способ дополнительно содержит:Option 18 implementation. The method according to any one of embodiments 1-17, the method further comprising:

если верхний блок текущего блока кодирования доступен и режим внутреннего предсказания верхнего блока является угловым режимом, добавление смещения к режиму предсказания верхнего блока для получения режима предсказания со смещением вверх, если режим предсказания со смещением вверх отсутствует в MPM списке, добавление режима предсказания со смещением вверх в MPM список.if the top block of the current coding block is available and the intra prediction mode of the top block is corner mode, adding an offset to the top block prediction mode to obtain an upshift prediction mode, if the upshift prediction mode is not in the MPM list, adding an upshift prediction mode to mpm list.

Вариант 19 осуществления. Способ варианта 18 осуществления, в котором смещение равно -1.Option 19 implementation. The method of embodiment 18 wherein the offset is -1.

Вариант 20 осуществления. Способ варианта 18 осуществления, в котором смещение равно 1.Embodiment 20. The method of embodiment 18 wherein the offset is 1.

Вариант 21 осуществления. Способ по любому из вариантов 1-20 осуществления, способ дополнительно содержит:Embodiment 21. The method according to any one of embodiments 1-20, the method further comprising:

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

Вариант 22 осуществления. Способ согласно любому из вариантов 1-20 осуществления, способ дополнительно содержит список кандидатов углового режима, содержащий или состоящий из: вертикального режима (VER_IDX), горизонтального режима (HOR_IDX), внутреннего режима 2 (2), вертикального диагонального режима (VDIA_IDX) или диагонального режима (DIA_IDX) в MPM списке; и способ дополнительно содержит: итеративное определение в соответствии с их порядком в списке, находится ли угловой режим списка в MPM списке и, если соответствующий угловой режим отсутствует в MPM списке, добавление в MPM список соответствующего углового режима.Embodiment 22. The method according to any one of embodiments 1-20, the method further comprising a corner mode candidate list comprising or consisting of: vertical mode (VER_IDX), horizontal mode (HOR_IDX), intra mode 2(2), vertical diagonal mode (VDIA_IDX), or diagonal mode (DIA_IDX) in the MPM list; and the method further comprises: iteratively determining, according to their order in the list, whether the list angular mode is in the MPM list, and if the corresponding angular mode is not in the MPM list, adding the corresponding angular mode to the MPM list.

Вариант 23 осуществления. Способ по любому из вариантов 1-20 осуществления, в котором построение списка MPM начинается с этапа определения, доступен ли левый блок текущего блока кодирования или нет, например, на основании пустого MPM списка.Option 23 implementation. The method as in any one of embodiments 1-20, wherein building the MPM list starts from the step of determining whether the left block of the current coding block is available or not, for example, based on an empty MPM list.

Вариант 24 осуществления. Способ согласно любому из вариантов 1-23 осуществления, способ дополнительно содержит: если левый блок текущего блока кодирования недоступен и другой блок в общем левом направлении доступен (например, BL или AL на фиг.5), вставку режима внутреннего предсказания другого блока в MPM список, если левый блок доступен, не вставку режима внутреннего предсказания другого блока в MPM список.Option 24 implementation. The method according to any one of embodiments 1-23, the method further comprising: if the left block of the current coding block is unavailable and another block in the general left direction is available (e.g., BL or AL in FIG. 5), inserting the intra prediction mode of the other block into the MPM list if the left block is available, do not insert another block's intra-prediction mode into the MPM list.

Вариант 25 осуществления. Способ согласно любому из вариантов 1-23 осуществления, способ дополнительно содержит: если верхний блок текущего блока кодирования недоступен и другой блок в общем указанном выше направлении доступен (например, AR или AL на фиг.5), вставку режим внутреннего предсказания другого блока в MPM список, если верхний блок доступен, не вставку в MPM список режима внутреннего предсказания другого блока.Option 25 implementation. The method according to any one of embodiments 1-23, the method further comprising: if the upper block of the current coding block is not available and another block in the general direction indicated above is available (e.g., AR or AL in FIG. 5), inserting the intra prediction mode of the other block in the MPM list if the top block is available, do not insert into another block's intra prediction mode MPM list.

Вариант 26 осуществления. Способ согласно любому из вариантов 1-25 осуществления, способ дополнительно содержит: добавление в MPM список вертикального режима (VER_IDX), горизонтального режима (HOR_IDX), внутреннего режима 2 (2), вертикального диагонального режима (VDIA_IDX) или диагонального режима (DIA_IDX), если их нет в MPM списке.Option 26 implementation. The method according to any one of embodiments 1-25, the method further comprising: adding to the MPM a list of vertical mode (VER_IDX), horizontal mode (HOR_IDX), internal mode 2 (2), vertical diagonal mode (VDIA_IDX), or diagonal mode (DIA_IDX), if they are not in the MPM list.

Вариант 27 осуществления. Способ согласно любому из вариантов 1-26 осуществления, способ дополнительно содержит:Option 27 implementation. The method according to any one of embodiments 1-26, the method further comprising:

если и левый, и верхний блок текущего блока кодирования не угловые, то дополнительно проверить еще один соседний блок (например, BL, AL или AR на фиг.5). Если какой-либо из них (BL, или AL, или AR) является угловым, тогда использовать этот угловой режим в качестве начального углового режима для процесса получения -1 + 1, как описано ранее.if both the left and the top block of the current coding block are not angular, then additionally check one more neighboring block (for example, BL, AL or AR in Fig. 5). If any of them (BL, or AL, or AR) is angular, then use that angular mode as the initial angular mode for the -1 + 1 derivation process, as described earlier.

Вариант 28 осуществления. Кодер содержит схему обработки для выполнения способа согласно любому из вариантов 1-27 осуществления.Option 28 implementation. The encoder contains a processing circuit for performing the method according to any one of embodiments 1-27.

Вариант 29 осуществления. Декодер содержит схему обработки для выполнения способа согласно любому из вариантов 1-27 осуществления.Option 29 implementation. The decoder includes a processing circuit for performing the method according to any one of embodiments 1-27.

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

Вариант 31 осуществления. Декодер для построения списка наиболее вероятного режима, MPM, содержит:Option 31 implementation. The most probable mode list decoder, MPM, contains:

один или более процессоров; и постоянный машиночитаемый носитель данных, соединенный с процессорами и хранящий программы для выполнения процессорами, причем программы, когда выполняются процессорами, конфигурирует декодер выполнять способ согласно любому из вариантов 1-27 осуществления.one or more processors; and a persistent computer-readable storage medium coupled to the processors and storing programs for execution by the processors, the programs, when executed by the processors, configuring the decoder to execute the method according to any one of embodiments 1-27.

Вариант 32 осуществления. Кодер для построения списка наиболее вероятного режима, MPM, содержащего:Option 32 implementation. An encoder for building a list of the most likely mode, MPM, containing:

один или более процессоров; и постоянный машиночитаемый носитель данных, соединенный с процессорами и хранящий программы для выполнения процессорами, причем программы, когда выполняется процессорами, конфигурирует кодер выполнить способ согласно любому из вариантов 1-27 осуществления.one or more processors; and a persistent computer-readable storage medium coupled to the processors and storing programs for execution by the processors, the programs, when executed by the processors, configuring the encoder to execute the method according to any one of embodiments 1-27.

Вариант 33 осуществления. Способ построения списка наиболее вероятного режима, MPM, для внутреннего предсказания, способ, содержащий: определение, доступен ли левый блок текущего блока кодирования или нет, если левый блок текущего блока кодирования доступен, добавление в MPM список режима внутреннего предсказания левого блока; определение, доступен ли верхний блок текущего блока кодирования или нет, если верхний блок текущего блока кодирования доступен и режим внутреннего предсказания верхнего блока отсутствует в MPM списке, добавление режима внутреннего предсказания верхнего блока в MPM список; при отсутствии планарного режима в MPM списке, добавление планарного режима в MPM список; при отсутствии DC режима в MPM списке, добавление DC режима в MPM список.Option 33 implementation. A method for constructing a list of the most probable mode, MPM, for intra prediction, the method comprising: determining whether the left block of the current coding block is available or not, if the left block of the current coding block is available, adding the left block intra prediction mode list to the MPM; determining whether the top block of the current coding block is available or not, if the top block of the current coding block is available and the top block intra prediction mode is not in the MPM list, adding the top block intra prediction mode to the MPM list; if there is no planar mode in the MPM list, adding planar mode to the MPM list; if there is no DC mode in the MPM list, adding the DC mode to the MPM list.

Вариант 34 осуществления. Способ по варианту 33 осуществления, в котором, когда текущий блок кодирования является блоком кодирования, расположенным в самой левой части кадра, левый блок текущего блока кодирования недоступен.Option 34 implementation. The method of embodiment 33, wherein when the current coding block is the coding block located at the leftmost part of the frame, the left block of the current coding block is unavailable.

Вариант 35 осуществления. Способ по варианту 33 или 34 осуществления, в котором, когда текущий блок кодирования является блоком кодирования, не расположенным в самой левой части кадра, левый блок текущего блока кодирования доступен.Option 35 implementation. The method of embodiment 33 or 34, wherein when the current coding block is a coding block not located at the leftmost part of the frame, the left block of the current coding block is available.

Вариант 36 осуществления. Способ согласно любому из вариантов 33-35 осуществления, в котором, когда текущий блок кодирования является блоком кодирования, расположенным в самой верхней части кадра, верхний блок текущего блока кодирования недоступен.Option 36 implementation. The method according to any one of embodiments 33-35, wherein when the current coding block is the coding block located at the topmost part of the frame, the top block of the current coding block is unavailable.

Вариант 37 осуществления. Способ по любому из вариантов 33-36 осуществления, в котором, когда текущий блок кодирования является блоком кодирования, не расположенным в самой верхней части кадра, верхний блок текущего блока кодирования является доступным.Option 37 implementation. The method as in any one of embodiments 33-36, wherein when the current coding block is a coding block not located at the very top of the frame, the top block of the current coding block is available.

Вариант 38 осуществления. Способ по любому из вариантов 33-37 осуществления, в котором способ дополнительно содержит:Option 38 implementation. The method of any one of embodiments 33-37, wherein the method further comprises:

если левый блок текущего блока кодирования доступен и режим внутреннего предсказания левого блока является угловым, добавление смещения к режиму предсказания левого блока для получения нового режима предсказания, если новый режим предсказания отсутствует в MPM списке, добавление нового режима предсказания в MPM список.if the left block of the current coding block is available and the intra prediction mode of the left block is angular, adding an offset to the left block prediction mode to obtain a new prediction mode, if the new prediction mode is not in the MPM list, adding the new prediction mode to the MPM list.

Вариант 39 осуществления. Способ по любому из вариантов 33-38 осуществления, в котором способ дополнительно содержит:Option 39 implementation. The method of any one of embodiments 33-38, wherein the method further comprises:

если верхний блок текущего блока кодирования доступен и режим внутреннего предсказания верхнего блока является угловым режимом, добавление смещения к режиму предсказания верхнего блока для получения режима предсказания со смещением вверх, если режим предсказания со смещением вверх отсутствует в MPM списке, добавление режима предсказания со смещением вверх в MPM список.if the top block of the current coding block is available and the intra prediction mode of the top block is corner mode, adding an offset to the top block prediction mode to obtain an upshift prediction mode, if the upshift prediction mode is not in the MPM list, adding an upshift prediction mode to mpm list.

Вариант 40 осуществления. Способ по варианту 38 или 39 осуществления, в котором смещение равно -1.Option 40 implementation. The method of embodiment 38 or 39 wherein the offset is -1.

Вариант 41 осуществления. Способ по варианту 38 или 39 осуществления, в котором смещение равно 1.Option 41 implementation. The method of embodiment 38 or 39 wherein the offset is 1.

Вариант 42 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:Option 42 implementation. The method of any one of embodiments 33-41, wherein the method further comprises:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим (VDIA_IDX) или диагональный режим (DIA_IDX).if the number of intra prediction modes in the MPM list is less than a threshold value, checking whether the first intra prediction mode of the intra prediction mode set is contained in the MPM list, and adding the first intra prediction mode to the MPM list if the first intra prediction mode is not contained in the MPM list, wherein the intra prediction mode set comprises vertical mode (VER_IDX), horizontal mode (HOR_IDX), intra mode 2(2), vertical diagonal mode (VDIA_IDX), or diagonal mode (DIA_IDX).

Вариант 43 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:Option 43 implementation. The method of any one of embodiments 33-41, wherein the method further comprises:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, итеративное добавление режима внутреннего предсказания набора режимов внутреннего предсказания, содержащего вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим (VDIA_IDX) или диагональный режим (DIA_IDX) в соответствии с вышеупомянутым порядком в MPM списке, когда режим внутреннего предсказания не содержится в MPM списке, до тех пор, пока количество режимов предсказания не будет равняется пороговому значению.if the number of intra prediction modes in the MPM list is less than a threshold value, iteratively adding an intra prediction mode to an intra prediction mode set containing vertical mode (VER_IDX), horizontal mode (HOR_IDX), intra mode 2(2), vertical diagonal mode (VDIA_IDX), or diagonal mode (DIA_IDX) in accordance with the above order in the MPM list, when the intra prediction mode is not contained in the MPM list, as long as the number of prediction modes is equal to the threshold value.

Вариант 44 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:Option 44 implementation. The method of any one of embodiments 33-41, wherein the method further comprises:

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

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

Вариант 45 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:Option 45 implementation. The method of any one of embodiments 33-41, wherein the method further comprises:

если левый блок текущего блока кодирования недоступен и количество режимов внутреннего предсказания в MPM списке меньше порогового значения, итеративное добавление в MPM список режима внутреннего предсказания набора режимов внутреннего предсказания, содержащего вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), диагональный режим (DIA_IDX) или внутренний режим 2 (2) в соответствии с вышеупомянутым порядком, когда режим внутреннего предсказания не содержится в MPM списке, пока количество режимов предсказания не станет равным пороговому значению.if the left block of the current coding block is unavailable and the number of intra prediction modes in the MPM list is less than a threshold value, iteratively adding to the MPM intra prediction mode list an intra prediction mode set containing vertical mode (VER_IDX), vertical diagonal mode (VDIA_IDX), diagonal mode (DIA_IDX ) or intra mode 2 (2) in accordance with the above order, when the intra prediction mode is not included in the MPM list until the number of prediction modes becomes equal to a threshold value.

Вариант 46 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:Option 46 implementation. The method of any one of embodiments 33-41, wherein the method further comprises:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением -4, или режим внутреннего предсказания, соответствующий VER_IDX со смещением 4.if the number of intra prediction modes in the MPM list is less than a threshold value, checking whether the first intra prediction mode of the intra prediction mode set is contained in the MPM list, and adding the first intra prediction mode to the MPM list if the first intra prediction mode is not contained in the MPM list, wherein the intra prediction mode set comprises a vertical mode (VER_IDX), a horizontal mode (HOR_IDX), an intra prediction mode corresponding to VER_IDX with an offset of -4, or an intra prediction mode corresponding to VER_IDX with an offset of 4.

Вариант 47 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:Option 47 implementation. The method of any one of embodiments 33-41, wherein the method further comprises:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, итеративное добавление в MPM список режима внутреннего предсказания набора режимов внутреннего предсказания, содержащего вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением -4, или режим внутреннего предсказания, соответствующий VER_IDX со смещением 4, согласно вышеупомянутому порядку, когда режим внутреннего предсказания не содержится в MPM списке, до тех пор, пока количество режимов предсказания не станет равным пороговому значению.if the number of intra prediction modes in the MPM list is less than a threshold, iteratively adding to the MPM intra prediction mode list an intra prediction mode set containing a vertical mode (VER_IDX), a horizontal mode (HOR_IDX), an intra prediction mode corresponding to VER_IDX with an offset of -4, or an intra prediction mode corresponding to VER_IDX with an offset of 4 according to the above order, when the intra prediction mode is not included in the MPM list, until the number of prediction modes becomes equal to a threshold.

Вариант 48 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:Option 48 implementation. The method of any one of embodiments 33-41, wherein the method further comprises:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением 4, или режим внутреннего предсказания, соответствующий VER_IDX со смещением -4.if the number of intra prediction modes in the MPM list is less than a threshold value, checking whether the first intra prediction mode of the intra prediction mode set is contained in the MPM list, and adding the first intra prediction mode to the MPM list if the first intra prediction mode is not contained in the MPM list, wherein the intra prediction mode set comprises a vertical mode (VER_IDX), a horizontal mode (HOR_IDX), an intra prediction mode corresponding to VER_IDX with an offset of 4, or an intra prediction mode corresponding to VER_IDX with an offset of -4.

Вариант 49 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:Option 49 implementation. The method of any one of embodiments 33-41, wherein the method further comprises:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, итеративное добавление в MPM список режима внутреннего предсказания набора режимов внутреннего предсказания, содержащего вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением 4, или режим внутреннего предсказания, соответствующий VER_IDX со смещением -4, в соответствии с вышеупомянутым порядком, когда режим внутреннего предсказания не содержится в MPM списке, до тех пор, пока количество предсказаний режимов равняется пороговому значению.if the number of intra prediction modes in the MPM list is less than a threshold value, iteratively adding to the MPM intra prediction mode list an intra prediction mode set containing a vertical mode (VER_IDX), a horizontal mode (HOR_IDX), an intra prediction mode corresponding to VER_IDX with an offset of 4, or an intra prediction mode intra prediction corresponding to VER_IDX with an offset of -4, in accordance with the above order, when the intra prediction mode is not included in the MPM list, as long as the number of mode predictions equals the threshold value.

Вариант 50 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:Option 50 implementation. The method of any one of embodiments 33-41, wherein the method further comprises:

если левый блок текущего блока кодирования недоступен и количество режимов внутреннего предсказания в MPM списке меньше порогового значения, проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит один из следующих наборов режимов внутреннего предсказания: вертикальный режим (VER_IDX), вертикальный диагональный режим (VDIA_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением -1, и режим внутреннего предсказания, соответствующий VER_IDX со смещением 1; илиif the left block of the current coding block is not available and the number of intra prediction modes in the MPM list is less than a threshold value, checking whether the first intra prediction mode of the intra prediction mode set is contained in the MPM list, and adding the first intra prediction mode to the MPM list if the first intra prediction mode not contained in the MPM list, in which the intra prediction mode set contains one of the following intra prediction mode sets: vertical mode (VER_IDX), vertical diagonal mode (VDIA_IDX), an intra prediction mode corresponding to VER_IDX with an offset of -1, and an intra prediction mode, corresponding VER_IDX with offset 1; or

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

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

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

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

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

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

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

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

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

Вариант 51 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:Option 51 implementation. The method of any one of embodiments 33-41, wherein the method further comprises:

если левый блок текущего блока кодирования недоступен и количество режимов внутреннего предсказания в MPM списке меньше порогового значения, итеративное добавление в MPM список режима внутреннего предсказания набора режимов внутреннего предсказания в соответствии с вышеупомянутым порядком, когда режим внутреннего предсказания не содержится в MPM списке, до тех пор, пока количество режимов предсказания не станет равным пороговому значению;if the left block of the current coding block is not available and the number of intra prediction modes in the MPM list is less than a threshold value, iteratively adding to the MPM list of the intra prediction mode of the set of intra prediction modes in accordance with the above order, when the intra prediction mode is not contained in the MPM list, until until the number of prediction modes becomes equal to the threshold value;

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

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

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

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

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

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

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

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

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

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

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

Вариант 52 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:Option 52 implementation. The method of any one of embodiments 33-41, wherein the method further comprises:

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

Вариант 53 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:Option 53 implementation. The method of any one of embodiments 33-41, wherein the method further comprises:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, верхний блок текущего блока кодирования недоступен, итеративное добавление режима внутреннего предсказания набора режимов внутреннего предсказания, содержащих горизонтальный режим (HOR_IDX ), внутренний режим 2 (2), диагональный режим (DIA_IDX) или вертикальный диагональный режим (VDIA_IDX) в соответствии с вышеупомянутым порядком, в MPM список, когда режим внутреннего предсказания не содержится в MPM списке, до тех пор, пока количество режимов предсказания равно пороговому значению.if the number of intra prediction modes in the MPM list is less than a threshold value, the upper block of the current coding block is unavailable, iteratively adding an intra prediction mode to a set of intra prediction modes containing horizontal mode (HOR_IDX ), intra mode 2(2), diagonal mode (DIA_IDX), or vertical diagonal mode (VDIA_IDX) in accordance with the above order, in the MPM list, when the intra prediction mode is not contained in the MPM list, as long as the number of prediction modes is equal to the threshold value.

Вариант 54 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:Option 54 implementation. The method of any one of embodiments 33-41, wherein the method further comprises:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, левый блок текущего блока кодирования доступен и верхний блок текущего блока кодирования доступен, проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим (VDIA_IDX) или диагональный режим (DIA_IDX).if the number of intra prediction modes in the MPM list is less than a threshold value, the left block of the current coding block is available and the top block of the current coding block is available, checking whether the first intra prediction mode of the intra prediction mode set is contained in the MPM list, and adding the first intra prediction mode to the MPM list if the first intra prediction mode is not contained in the MPM list, in which the intra prediction mode set contains vertical mode (VER_IDX), horizontal mode (HOR_IDX), intra mode 2(2), vertical diagonal mode (VDIA_IDX), or diagonal mode (DIA_IDX) ).

Вариант 55 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:Option 55 implementation. The method of any one of embodiments 33-41, wherein the method further comprises:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, левый блок текущего блока кодирования доступен и верхний блок текущего блока кодирования доступен, итеративное добавление в MPM список режима внутреннего предсказания набора режимов внутреннего предсказания, содержащий вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим (VDIA_IDX) или диагональный режим (DIA_IDX) в соответствии с вышеупомянутым порядком, когда режим внутреннего предсказания не содержится в MPM списке, пока количество режимов предсказания не станет равным пороговому значению.if the number of intra prediction modes in the MPM list is less than a threshold value, the left block of the current coding block is available and the top block of the current coding block is available, iteratively adding to the MPM the intra prediction mode list of the intra prediction mode set containing vertical mode (VER_IDX), horizontal mode (HOR_IDX ), intra mode 2 (2), vertical diagonal mode (VDIA_IDX) or diagonal mode (DIA_IDX) in accordance with the above order, when the intra prediction mode is not included in the MPM list until the number of prediction modes becomes equal to the threshold value.

Вариант 56 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:Option 56 implementation. The method of any one of embodiments 33-41, wherein the method further comprises:

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

Вариант 57 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:Option 57 implementation. The method of any one of embodiments 33-41, wherein the method further comprises:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, верхний блок текущего блока кодирования недоступен, итеративное добавление в MPM список режима внутреннего предсказания набора режимов внутреннего предсказания, содержащий горизонтальный режим (HOR_IDX), внутренний режим 2 (2), диагональный режим (DIA_IDX) или вертикальный диагональный режим (VDIA_IDX) в соответствии с вышеупомянутым порядком, когда режим внутреннего предсказания не содержится в MPM списке, до тех пор, пока количество режимов предсказания будет равно пороговому значению.if the number of intra prediction modes in the MPM list is less than a threshold value, the top block of the current coding block is not available, iteratively adding to the MPM intra prediction mode list of the intra prediction mode set containing horizontal mode (HOR_IDX), intra mode 2 (2), diagonal mode (DIA_IDX ) or vertical diagonal mode (VDIA_IDX) according to the above order, when the intra prediction mode is not included in the MPM list, as long as the number of prediction modes is equal to the threshold value.

Вариант 58 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:Option 58 implementation. The method of any one of embodiments 33-41, wherein the method further comprises:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, левый блок текущего блока кодирования доступен и верхний блок текущего блока кодирования доступен, проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке, и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением -4, или режим внутреннего предсказания, соответствующий VER_IDX со смещением 4.if the number of intra prediction modes in the MPM list is less than a threshold value, the left block of the current coding block is available and the top block of the current coding block is available, checking whether the first intra prediction mode of the intra prediction mode set is contained in the MPM list, and adding the first intra prediction mode to the MPM a list if the first intra prediction mode is not contained in the MPM list, in which the intra prediction mode set contains a vertical mode (VER_IDX), a horizontal mode (HOR_IDX), an intra prediction mode corresponding to VER_IDX with an offset of -4, or an intra prediction mode corresponding to VER_IDX with offset 4.

Вариант 59 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:Option 59 implementation. The method of any one of embodiments 33-41, wherein the method further comprises:

если количество режимов внутреннего предсказания в MPM списке меньше порогового значения, левый блок текущего блока кодирования доступен и верхний блок текущего блока кодирования доступен, итеративное добавление в MPM список режим внутреннего предсказания набора режимов внутреннего предсказания, содержащий вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), режим внутреннего предсказания, соответствующий VER_IDX со смещением -4, или режим внутреннего предсказания, соответствующий VER_IDX со смещением 4, в соответствии с вышеупомянутым порядком, когда режим внутреннего предсказания не содержится в MPM списке, пока количество режимов предсказания не станет равным пороговому значению.if the number of intra prediction modes in the MPM list is less than a threshold value, the left block of the current coding block is available and the top block of the current coding block is available, iteratively adding to the MPM list an intra prediction mode of an intra prediction mode set containing vertical mode (VER_IDX), horizontal mode (HOR_IDX ), an intra prediction mode corresponding to VER_IDX with an offset of -4, or an intra prediction mode corresponding to a VER_IDX with an offset of 4, in accordance with the above order, when the intra prediction mode is not included in the MPM list until the number of prediction modes becomes equal to a threshold.

Вариант 60 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:Option 60 implementation. The method of any one of embodiments 33-41, wherein the method further comprises:

если верхний блок текущего блока кодирования недоступен и количество режимов внутреннего предсказания в MPM списке меньше порогового значения, проверку, содержится ли первый режим внутреннего предсказания набора режимов внутреннего предсказания в MPM списке и добавление первого режима внутреннего предсказания в MPM список, если первый режим внутреннего предсказания не содержится в MPM списке, в котором набор режимов внутреннего предсказания содержит один из следующих наборов режимов внутреннего предсказания:if the top block of the current coding block is unavailable and the number of intra prediction modes in the MPM list is less than a threshold value, checking whether the first intra prediction mode of the intra prediction mode set is contained in the MPM list, and adding the first intra prediction mode to the MPM list if the first intra prediction mode is not is contained in the MPM list, in which the intra prediction mode set contains one of the following intra prediction mode sets:

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

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

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

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

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

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

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

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

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

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

Вариант 61 осуществления. Способ по любому из вариантов 33-41 осуществления, в котором способ дополнительно содержит:Option 61 implementation. The method of any one of embodiments 33-41, wherein the method further comprises:

если верхний блок текущего блока кодирования недоступен и количество режимов внутреннего предсказания в MPM списке меньше порогового значения, итеративное добавление в MPM список режима внутреннего предсказания набора режимов внутреннего предсказания в соответствии с вышеупомянутым порядком, когда режим внутреннего предсказания не содержится в MPM списке, до тех пор, пока количество режимов предсказания не станет равным пороговому значению;if the top block of the current coding block is not available and the number of intra prediction modes in the MPM list is less than a threshold value, iteratively adding to the MPM list of the intra prediction mode of the set of intra prediction modes in accordance with the above order, when the intra prediction mode is not contained in the MPM list, until until the number of prediction modes becomes equal to the threshold value;

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

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

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

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

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

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

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

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

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

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

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

Вариант 62 осуществления. Кодер, содержащий схему обработки для выполнения способа согласно любому из вариантов 33-61 осуществления.Option 62 implementation. An encoder containing a processing circuit for performing a method according to any one of embodiments 33-61.

Вариант 63 осуществления. Декодер, содержащий схему обработки для выполнения способа согласно любому из вариантов 33-61 осуществления.Option 63 implementation. A decoder containing a processing circuit for performing a method according to any one of embodiments 33-61.

Вариант 64 осуществления. Компьютерный программный продукт, содержащий программный код для выполнения способа согласно любому из вариантов 33-61 осуществления.Option 64 implementation. A computer program product containing program code for performing a method according to any one of embodiments 33-61.

Вариант 65 осуществления. Декодер для построения списка наиболее вероятного режима, MPM, содержит:Option 65 implementation. The most probable mode list decoder, MPM, contains:

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

постоянный машиночитаемый носитель данных, соединенный с процессорами и хранящий программы для выполнения процессорами, в котором программы, когда выполняется процессорами, конфигурирует декодер выполнить способ согласно любому из вариантов 33-61 осуществления.a persistent computer-readable storage medium coupled to the processors and storing programs for execution by the processors, in which the programs, when executed by the processors, configures the decoder to execute the method according to any one of embodiments 33-61.

Вариант 66 осуществления. Кодер для составления списка наиболее вероятного режима, MPM, содержащий:Option 66 implementation. An encoder for listing the most likely mode, MPM, containing:

один или более процессоров; и постоянный машиночитаемый носитель данных, соединенный с процессорами и хранящий программы для выполнения процессорами, причем программы, когда выполняется процессорами, конфигурирует кодер выполнять способ согласно любому из вариантов 33-61 осуществления.one or more processors; and a persistent computer-readable storage medium coupled to the processors and storing programs for execution by the processors, the programs, when executed by the processors, configuring the encoder to execute the method according to any one of embodiments 33-61.

Фиг.10 является схемой сетевого устройства 1300 согласно варианту осуществления настоящего изобретения. Сетевое устройство 1300 подходит для реализации раскрытых вариантов осуществления, как описано в данном документе. Сетевое устройство 1300 содержит входные порты 1310 и блоки (Rx) 1320 приема для приема данных; процессор, логический блок или центральный процессор (CPU) 1330 для обработки данных; блоки 1340 передатчика (Tx) и выходные порты 1350 для передачи данных; и память 1360 для хранения данных. Сетевое устройство 1300 может также содержать оптико-электрические (OE) компоненты и электрические-оптические (EO) компоненты, подключенные к входным портам 1310, блокам 1320 приема, блокам 1340 передатчика и выходным портам 1350 для ввода или вывода оптических или электрических сигналов.10 is a diagram of a network device 1300 according to an embodiment of the present invention. The network device 1300 is suitable for implementing the disclosed embodiments as described herein. The network device 1300 includes input ports 1310 and receive units (Rx) 1320 for receiving data; a processor, logical unit, or central processing unit (CPU) 1330 for processing data; blocks 1340 transmitter (Tx) and output ports 1350 for data transmission; and a memory 1360 for storing data. The network device 1300 may also include optical-electrical (OE) components and electrical-optical (EO) components connected to input ports 1310, receive units 1320, transmitter units 1340, and output ports 1350 for input or output of optical or electrical signals.

Процессор 1330 реализован аппаратным обеспечением и программным обеспечением. Процессор 1330 может быть реализован как одна или более микросхем CPU, ядер (например, как многоядерный процессор), программируемых пользователем вентильных матриц (FPGAs), специализированных интегральных схем (ASICs) и процессоров цифровых сигналов (DSPs). Процессор 1330 соединен с входными портами 1310, блоками 1320 приемника, блоками 1340 передатчика, выходными портами 1350 и памятью 1360. Процессор 1330 содержит модуль 1370 кодирования. Модуль 1370 кодирования реализует раскрытые варианты осуществления, описанные выше. Например, модуль 1370 кодирования реализует, обрабатывает, подготавливает или предоставляет различные сетевые функции. Таким образом, использование модуля 1370 кодирования обеспечивает существенное улучшение функциональных возможностей сетевого устройства 1300 и обеспечивает преобразование сетевого устройства 1300 в другое состояние. В качестве альтернативы модуль 1370 кодирования реализован как инструкции, хранящиеся в памяти 1360 и выполняемые процессором 1330.The 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). The processor 1330 is connected to input ports 1310, receiver units 1320, transmitter units 1340, output ports 1350, and memory 1360. Processor 1330 includes an encoder 1370. Encoding module 1370 implements the disclosed embodiments described above. For example, encoding module 1370 implements, processes, prepares, or provides various network functions. Thus, the use of the encoder 1370 provides a significant improvement in the functionality of the network device 1300 and allows the network device 1300 to be converted to another state. Alternatively, encoding module 1370 is implemented as instructions stored in memory 1360 and executed by processor 1330.

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

Фиг.10 является блок-схемой устройства 1100, которое можно использовать для реализации различных вариантов осуществления. Устройство 1100 может быть устройством 102 источника, как показано на фиг.1, или видеокодер 200, как показано на фиг.2, или устройство 104 назначения, как показано на фиг.1, или видеодекодер 300, как показано на фиг.3. Дополнительно, устройство 1100 может содержать один или более из описанных элементов. В некоторых вариантах осуществления устройство 1100 оснащено одним или несколькими устройствами ввода/вывода, такими как динамик, микрофон, мышь, сенсорный экран, клавиатура, принтер, дисплей и т.п. Устройство 1100 может включать в себя один или более центральных процессоров (CPUs) 1510, память 1520, запоминающее устройство 1530 большой емкости, видеоадаптер 1540 и интерфейс 1560 ввода-вывода, подключенный к шине. Шина является одной или несколькими из нескольких шинных архитектур любого типа, включающую в себя шину памяти или контроллер памяти, периферийную шину, видеошину и т.п.10 is a block diagram of a device 1100 that can be used to implement various embodiments. Device 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. Additionally, device 1100 may include one or more of the elements described. In some embodiments, device 1100 is equipped with one or more input/output devices such as a speaker, microphone, mouse, touch screen, keyboard, printer, display, and the like. Device 1100 may include one or more central processing units (CPUs) 1510, memory 1520, mass storage device 1530, video adapter 1540, and I/O interface 1560 connected to the bus. A bus is one or more of several bus architectures of any type, including a memory bus or memory controller, a peripheral bus, a video bus, and the like.

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

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

Устройство 1100 также включает в себя один или более сетевых интерфейсов 1550, которые включают в себя проводные линии связи, такие как кабель Ethernet или тому подобное, и/или беспроводные линии связи с узлами доступа или одной или несколькими сетями 1580. Сетевой интерфейс 1550 предоставляет возможность устройству 1100 устанавливать связь с удаленными устройствами через сети 1580. Например, сетевой интерфейс 1550 может обеспечивать связь с базой данных. В варианте осуществления устройство 1100 подключено к локальной сети или глобальной сети для обработки данных и обмена данными с удаленными устройствами, такими как другие блоки обработки, интернет, удаленные хранилища и т.п.Device 1100 also includes one or more network interfaces 1550, which include wired links, such as an Ethernet cable or the like, and/or wireless links to access points or one or more networks 1580. Network interface 1550 provides the ability to device 1100 to communicate with remote devices via networks 1580. For example, network interface 1550 may provide communication with a database. In an embodiment, the device 1100 is connected to a local area network or a wide area network for processing data and communicating with remote devices such as other processing units, the Internet, remote repositories, and the like.

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

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

Реализации предмета изобретения и операций, описанных в настоящем раскрытии, могут быть осуществлены в цифровых электронных схемах или в компьютерном программном обеспечении, встроенном программном обеспечении или аппаратном обеспечении, включающие в себя структуры, раскрытые в настоящем раскрытии, и их структурные эквиваленты, или в комбинации одного или более из них. Реализации предмета, описанного в настоящем раскрытии, могут быть осуществлены как одна или более компьютерных программ, то есть, один или более модулей инструкций компьютерных программ, закодированных на компьютерном носителе данных для выполнения или для управления работой устройства обработки данных. В качестве альтернативы или в дополнение, программные инструкции могут быть закодированы на искусственно созданном распространяемом сигнале, например, на генерируемом машиной электрическом, оптическом или электромагнитном сигнале, который генерируется для кодирования информации для передачи в подходящее устройство приемника для выполнения обработки данных. Компьютерный носитель данных, например, машиночитаемый носитель, может быть или находится в машиночитаемом запоминающем устройстве, машиночитаемой микросхеме хранения, массиве или устройстве памяти с произвольным или последовательным доступом, или комбинации одного или более из них. Более того, хотя компьютерный носитель данных не является распространяемым сигналом, компьютерный носитель данных может быть источником или местом назначения инструкций компьютерной программы, закодированных в искусственно созданном распространяемом сигнале. Компьютерный носитель данных также может быть или содержаться в одном или более отдельных физических и/или энергонезависимых компонентах или носителях (например, несколько компакт-дисков, дисков или других устройств хранения).Implementations of the subject matter and operations described in this disclosure may be implemented in digital electronic circuits, or in computer software, firmware, or hardware, incorporating the structures disclosed in this disclosure and their structural equivalents, or in a combination of one or more of them. Implementations of the subject matter described in this disclosure may be implemented as one or more computer programs, that is, one or more computer program instruction modules encoded on a computer storage medium to execute or control the operation of a data processing device. Alternatively or in addition, the program instructions may be encoded on an artificially generated propagation signal, such as a machine-generated electrical, optical, or electromagnetic signal that is generated to encode information for transmission to a suitable receiver device for data processing. A computer storage medium, such as a computer readable medium, can be or reside in a computer readable storage device, a computer readable storage chip, a random access or sequential access memory array or device, or a combination of one or more of these. Moreover, although the computer storage medium is not a distributed signal, the computer storage medium may be the source or destination of computer program instructions encoded in an artificially generated distributed signal. A computer storage medium may also be or be contained in one or more separate physical and/or non-volatile components or media (eg, multiple CDs, disks, or other storage devices).

В некоторых реализациях операции, описанные в настоящем раскрытии, могут быть реализованы как размещенная услуга, предоставляемая на сервере в сети облачных вычислений. Например, машиночитаемые носители данных могут быть логически сгруппированы и доступны в сети облачных вычислений. Серверы в сети облачных вычислений могут включать в себя платформу облачных вычислений для предоставления облачных услуг. Термины «облако», «облачные вычисления» и «облачный» могут использоваться взаимозаменяемо, если это необходимо, без выхода за рамки настоящего изобретения. Облачные сервисы могут быть размещенными сервисами, которые обеспечиваются серверами и доставляются по сети на клиентскую платформу для улучшения, дополнения или замены приложений, выполняемых локально на клиентском компьютере. Схема может использовать облачные службы для быстрого получения обновлений программного обеспечения, приложений и других ресурсов, которые в противном случае потребовали бы длительного периода времени, прежде чем ресурсы могут быть доставлены в схему.In some implementations, the operations described in this disclosure may be implemented as a hosted service provided on a server in a cloud computing network. For example, computer-readable storage media may be logically grouped and available on a cloud computing network. The servers in the cloud computing network may include a cloud computing platform for providing cloud services. The terms "cloud", "cloud computing" and "cloudy" can be used interchangeably, if necessary, without departing from the scope of the present invention. Cloud services may be hosted services that are provided by servers and delivered over a network to a client platform to enhance, supplement, or replace applications running locally on the client computer. The schema can use cloud services to quickly receive updates to software, applications, and other resources that would otherwise take a long period of time before the resources can be delivered to the schema.

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

Процессы и логические потоки, описанные в настоящем раскрытии, могут выполняться одним или несколькими программируемыми процессорами, выполняющими одну или более компьютерных программ для выполнения действий, оперируя входными данными и генерируя выходные данные. Процессы и логические потоки также могут выполняться, и устройство также может быть реализовано как логическая схема специального назначения, например FPGA (field programmable gate array) или ASIC (application-specific integrated circuit).The processes and logical flows described in this disclosure may be executed by one or more programmable processors executing one or more computer programs to perform actions on input data and generate output data. Processes and logical threads can also run, and the device can also be implemented as a special-purpose logic circuit, such as an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).

Процессоры, подходящие для выполнения компьютерной программы, включают в себя, например, микропроцессоры как общего, так и специального назначения, а также любой один или более процессоров любого типа цифрового компьютера. Как правило, процессор будет получать инструкции и данные из постоянного запоминающего устройства или оперативного запоминающего устройства, либо того и другого. Основными элементами компьютера являются процессор для выполнения действий в соответствии с инструкциями и одно или более устройств памяти для хранения инструкций и данных. Как правило, компьютер также будет включать в себя или быть оперативно подключенным для приема данных или передачи данных на одно или оба устройства хранения большой емкости для хранения данных, например магнитные, магнитооптические диски или оптические диски. Однако в компьютере такие устройства могут отсутствовать. Кроме того, компьютер может быть встроен в другое устройство, например, мобильный телефон, персональный цифровой помощник (PDA), мобильный аудио- или видеоплеер, игровую консоль, приемник глобальной системы позиционирования (GPS) или портативное устройство хранения (например, флэш-накопитель с универсальной последовательной шиной (USB)), и это лишь некоторые из них. Устройства, подходящие для хранения инструкций и данных компьютерных программ, включают в себя все формы энергонезависимой памяти, носителей и запоминающих устройств, включающие в себя, например, полупроводниковые запоминающие устройства, например, EPROM, EEPROM и устройства флэш-памяти; магнитные диски, например внутренние жесткие диски или съемные диски; магнитооптические диски; и диски CD-ROM и DVD-ROM. Процессор и память могут быть дополнены специальной логической схемой или включены в нее.Processors suitable for executing a computer program include, for example, both general purpose and special purpose microprocessors, as well as any one or more processors of any type of digital computer. Typically, the processor will receive instructions and data from read-only memory or random access memory, or both. The main elements of a computer are a processor for performing actions in accordance with instructions and one or more memory devices for storing instructions and data. Typically, the computer will also include or be operably connected to receive data from or transmit data to one or both mass storage devices for data storage, such as magnetic, magneto-optical disks or optical disks. However, your computer may not have such devices. In addition, the computer may be embedded in another device, such as a mobile phone, personal digital assistant (PDA), mobile audio or video player, game console, global positioning system (GPS) receiver, or portable storage device (such as a flash drive with Universal Serial Bus (USB)), just to name a few. Devices suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and storage devices, including, for example, semiconductor memory devices such as EPROM, EEPROM, and flash memory devices; magnetic disks, such as internal hard drives or removable drives; magneto-optical disks; and CD-ROM and DVD-ROM discs. The processor and memory can be supplemented with or incorporated into custom logic.

Хотя настоящее изобретение содержит много конкретных деталей реализации, их не следует истолковывать как ограничения объема каких-либо реализаций или того, что может быть заявлено, а скорее, как описание признаков, характерных для конкретных реализаций конкретных реализаций. Некоторые описанные в настоящем раскрытии признаки в контексте отдельных реализаций, также могут быть реализованы в комбинации в одной реализации. И наоборот, различные признаки, которые описаны в контексте одной реализации, также могут быть реализованы в нескольких реализациях по отдельности или в любой подходящей подкомбинации. Более того, хотя признаки могут быть описаны выше как действующие в определенных комбинациях и даже первоначально заявленные как таковые, один или более признаков заявленной комбинации в некоторых случаях могут быть исключены из комбинации и заявленная комбинация может быть направлена на подкомбинацию или вариацию подкомбинации.While the present invention contains many specific implementation details, they should not be construed as limiting the scope of any implementations or what may be claimed, but rather as a description of features specific to particular implementations of particular implementations. Some of the features described in this disclosure in the context of individual implementations may also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation may also be implemented in multiple implementations individually or in any suitable subcombination. Moreover, although the features may be described above as operating in certain combinations and even originally claimed as such, one or more features of the claimed combination may in some cases be excluded from the combination and the claimed combination may be directed to a subcombination or variation of the subcombination.

Аналогичным образом, хотя операции изображены на чертежах в определенном порядке, это не следует понимать как требование, чтобы такие операции выполнялись в конкретном показанном порядке или в последовательном порядке, или чтобы все проиллюстрированные операции выполнялись для достижения желаемого результаты. В определенных обстоятельствах могут быть полезны многозадачность и параллельная обработка. Более того, разделение различных компонентов системы в реализациях, описанных выше, не следует понимать как требующее такого разделения во всех реализациях, и следует понимать, что описанные программные компоненты и системы, как правило, могут быть интегрированы вместе в один программный продукт или упакованы в несколько программных продуктов.Likewise, although the operations are shown in the drawings in a particular order, this should not be understood as a requirement that such operations be performed in the particular order shown or in sequential order, or that all the illustrated operations be performed to achieve the desired result. In certain circumstances, multitasking and parallel processing can be useful. Moreover, the separation of the various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the software components and systems described can generally be integrated together into a single software product or packaged into multiple software products.

Таким образом, были описаны конкретные реализации предмета изобретения. Другие реализации входят в объем следующей формулы изобретения. В некоторых случаях действия, изложенные в формуле изобретения, могут выполняться в другом порядке и все же приводить к желаемым результатам. Кроме того, процессы, изображенные на сопроводительных чертежах, не обязательно требуют конкретного показанного порядка или последовательного порядка для достижения желаемых результатов. В некоторых реализациях могут быть полезными многозадачность и параллельная обработка.Thus, specific implementations of the subject invention have been described. Other implementations are included in the scope of the following claims. In some cases, the steps set forth in the claims may be performed in a different order and still lead to the desired results. In addition, the processes depicted in the accompanying drawings do not necessarily require the specific order shown or sequential order to achieve the desired results. In some implementations, multitasking and parallel processing may be useful.

Хотя в настоящем раскрытии были предоставлены несколько вариантов осуществления, следует понимать, что раскрытые системы и способы могут быть воплощены во многих других конкретных формах без отступления от сущности или объема настоящего изобретения. Настоящие примеры следует рассматривать как иллюстративные, а не как ограничительные, и намерение не ограничиваться приведенными здесь деталями. Например, различные элементы или компоненты могут быть объединены или интегрированы в другую систему, или определенные функции могут быть опущены или не реализованы.While several embodiments have been provided in the present disclosure, it should be understood that the disclosed systems and methods may be embodied in many other specific forms without departing from the spirit or scope of the present invention. The present examples are to be considered illustrative and not restrictive, and the intention is not to be limited by the details given here. For example, various elements or components may be combined or integrated into another system, or certain features may be omitted or not implemented.

Дополнительно, способы, системы, подсистемы и способы, описанные и проиллюстрированные в различных вариантах осуществления как дискретные или отдельные, могут быть объединены или интегрированы с другими системами, модулями, технологиями или способами без отклонения от объема настоящего изобретения. Другие элементы, показанные или обсуждаемые как связанные или непосредственно относящиеся, или взаимодействующие друг с другом, могут быть косвенно связаны или взаимодействовать через некоторый интерфейс, устройство или промежуточный компонент, электрически, механически или иным образом. Специалист в данной области техники может реализовать другие примеры изменений, замен и изменений, которые могут быть выполнены без отклонения от сущности и объема, раскрытых в данном документе.Additionally, the methods, systems, subsystems, and methods described and illustrated in various embodiments as discrete or separate may be combined or integrated with other systems, modules, technologies, or methods without departing from the scope of the present invention. Other elements shown or discussed as related or directly related to or interacting with each other may be indirectly connected or interact through some interface, device, or intermediate component, electrically, mechanically, or otherwise. A person skilled in the art can implement other examples of changes, replacements and changes that can be made without deviating from the spirit and scope disclosed in this document.

Claims (38)

1. Способ декодирования для декодирования текущего блока видео, содержащий этапы, на которых:1. A decoding method for decoding the current video block, comprising the steps of: получают значение флага наиболее вероятных режимов (MPM) для текущего блока из битового потока;getting a most likely modes (MPM) flag value for the current block from the bitstream; получают MPM индекс для текущего блока из битового потока, когда значение MPM флага указывает, что режим внутреннего предсказания для текущего блока является режимом внутреннего предсказания, содержащимся в MPM наборе режимов внутреннего предсказания;obtaining an MPM index for the current block from the bitstream when the value of the MPM flag indicates that the intra prediction mode for the current block is an intra prediction mode contained in the MPM intra prediction mode set; получают значение режима внутреннего предсказания для текущего блока на основании MPM индекса и MPM набора для текущего блока; при этомobtaining an intra prediction mode value for the current block based on the MPM index and MPM set for the current block; wherein когда режим внутреннего предсказания левого соседнего блока текущего блока является планарным режимом и режим внутреннего предсказания верхнего соседнего блока текущего блока является планарным режимом,when the intra prediction mode of the left neighbor block of the current block is the planar mode and the intra prediction mode of the top neighbor block of the current block is the planar mode, MPM набор режимов предсказания содержит: планарный режим, DC режим, вертикальный режим, горизонтальный режим, режим внутреннего предсказания, соответствующий вертикальному режиму с первым смещением, и режим внутреннего предсказания, соответствующий вертикальному режиму со вторым смещением, причем первое смещение равно -4.The MPM prediction mode set 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, the first offset being -4. 2. Способ по п.1, в котором, когда значение MPM флага для текущего блока равно 1, а MPM индекс для текущего блока равен 0, режим внутреннего предсказания для текущего блока является планарным режимом.2. The method of claim 1, wherein when the MPM value of the flag for the current block is 1 and the MPM index for the current block is 0, the intra prediction mode for the current block is a planar mode. 3. Способ по п.1 или 2, в котором второе смещение равно +4.3. The method according to claim 1 or 2, wherein the second offset is +4. 4. Способ декодирования для декодирования текущего блока видео, содержащий этапы, на которых:4. A decoding method for decoding the current video block, comprising the steps of: получают значение флага наиболее вероятных режимов (MPM) для текущего блока из битового потока;getting a most likely modes (MPM) flag value for the current block from the bitstream; получают MPM индекс для текущего блока из битового потока, когда значение MPM флага указывает, что режим внутреннего предсказания для текущего блока является режимом внутреннего предсказания, содержащимся в MPM наборе режимов внутреннего предсказания;obtaining an MPM index for the current block from the bitstream when the value of the MPM flag indicates that the intra prediction mode for the current block is an intra prediction mode contained in the MPM intra prediction mode set; получают значение режима внутреннего предсказания для текущего блока на основании MPM индекса и MPM набора для текущего блока; при этомobtaining an intra prediction mode value for the current block based on the MPM index and MPM set for the current block; wherein когда режим внутреннего предсказания левого соседнего блока текущего блока является планарным режимом и режим внутреннего предсказания верхнего соседнего блока текущего блока является DC режимом, MPM набор режимов предсказания содержит: планарный режим, DC режим, вертикальный режим, горизонтальный режим, режим внутреннего предсказания, соответствующий вертикальному режиму с первым смещением, и режим внутреннего предсказания, соответствующий вертикальному режиму со вторым смещением, причем первое смещение равно -4.when the intra prediction mode of the left neighbor block of the current block is the planar mode and the intra prediction mode of the upper neighbor block of the current block is the DC mode, the MPM prediction mode set contains: planar mode, DC mode, vertical mode, horizontal mode, intra prediction mode corresponding to the vertical mode with a first offset, and an intra prediction mode corresponding to a vertical mode with a second offset, the first offset being −4. 5. Способ по п.4, в котором, когда значение MPM флага для текущего блока равно 1, а MPM индекс для текущего блока равен 0, режим внутреннего предсказания для текущего блока представляет собой планарный режим.5. The method of claim 4, wherein when the MPM value of the flag for the current block is 1 and the MPM index for the current block is 0, the intra prediction mode for the current block is a planar mode. 6. Способ по п.4 или 5, в котором второе смещение равно +4.6. The method according to claim 4 or 5, wherein the second offset is +4. 7. Способ декодирования для декодирования текущего блока видео, содержащий этапы, на которых:7. Decoding method for decoding the current video block, comprising the steps of: получают значение флага наиболее вероятных режимов (MPM) для текущего блока из битового потока;getting a most likely modes (MPM) flag value for the current block from the bitstream; получают MPM индекс для текущего блока из битового потока, когда значение MPM флага указывает, что режим внутреннего предсказания для текущего блока является режимом внутреннего предсказания, содержащимся в MPM наборе режимов внутреннего предсказания;obtaining an MPM index for the current block from the bitstream when the value of the MPM flag indicates that the intra prediction mode for the current block is an intra prediction mode contained in the MPM intra prediction mode set; получают значение режима внутреннего предсказания для текущего блока на основании MPM индекса и MPM набора для текущего блока; при этомobtaining an intra prediction mode value for the current block based on the MPM index and MPM set for the current block; wherein когда левый соседний блок текущего блока недоступен и режим внутреннего предсказания верхнего соседнего блока текущего блока является планарным режимом, MPM набор режимов предсказания содержит: планарный режим, DC режим, вертикальный режим, горизонтальный режим, режим внутреннего предсказания, соответствующий вертикальному режиму с первым смещением, и режим внутреннего предсказания, соответствующий вертикальному режиму со вторым смещением, причем первое смещение равно -4.when the left neighbor block of the current block is not available and the intra prediction mode of the upper neighbor block of the current block is planar mode, the MPM prediction mode set contains: planar mode, DC mode, vertical mode, horizontal mode, intra prediction mode corresponding to the first offset vertical mode, and an intra prediction mode corresponding to the second offset vertical mode, the first offset being -4. 8. Способ по п.7, в котором, когда значение MPM флага для текущего блока равно 1, а MPM индекс для текущего блока равен 0, режим внутреннего предсказания для текущего блока является планарным режимом.8. The method of claim 7, wherein when the MPM flag value for the current block is 1 and the MPM index for the current block is 0, the intra prediction mode for the current block is a planar mode. 9. Способ по п.7 или 8, в котором второе смещение равно +4.9. The method according to claim 7 or 8, wherein the second offset is +4. 10. Способ декодирования для декодирования текущего блока видео, содержащий этапы, на которых:10. A decoding method for decoding the current video block, comprising the steps of: получают значение флага наиболее вероятных режимов (MPM) для текущего блока из битового потока;getting a most likely modes (MPM) flag value for the current block from the bitstream; получают MPM индекс для текущего блока из битового потока, когда значение MPM флага указывает, что режим внутреннего предсказания для текущего блока является режимом внутреннего предсказания, содержащимся в MPM наборе режимов внутреннего предсказания;obtaining an MPM index for the current block from the bitstream when the value of the MPM flag indicates that the intra prediction mode for the current block is an intra prediction mode contained in the MPM intra prediction mode set; получают значение режима внутреннего предсказания для текущего блока на основании MPM индекса и MPM набора для текущего блока; при этомobtaining an intra prediction mode value for the current block based on the MPM index and MPM set for the current block; wherein когда левый соседний блок текущего блока недоступен и верхний соседний блок текущего блока недоступен, MPM набор режимов предсказания содержит: планарный режим, DC режим, вертикальный режим, горизонтальный режим, режим внутреннего предсказания, соответствующий вертикальному режиму с первым смещением, и режим внутреннего предсказания, соответствующий вертикальному режиму со вторым смещением, причем первое смещение равно -4.when the left neighbor block of the current block is unavailable and the top neighbor block of the current block is unavailable, the MPM prediction mode set contains: 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 vertical mode with a second offset, with the first offset equal to -4. 11. Способ по п.10, в котором, когда значение MPM флага для текущего блока равно 1, а MPM индекс для текущего блока равен 0, режим внутреннего предсказания для текущего блока является планарным режимом.11. The method of claim 10, wherein when the MPM value of the flag for the current block is 1 and the MPM index for the current block is 0, the intra prediction mode for the current block is a planar mode. 12. Способ по любому из пп.10, 11, в котором второе смещение равно +4.12. The method according to any one of claims 10, 11, wherein the second offset is +4. 13. Способ декодирования для декодирования текущего блока видео, содержащий этапы, на которых:13. A decoding method for decoding the current video block, comprising the steps of: получают значение флага наиболее вероятных режимов (MPM) для текущего блока из битового потока;getting a most likely modes (MPM) flag value for the current block from the bitstream; получают MPM индекс для текущего блока из битового потока, когда значение MPM флага указывает, что режим внутреннего предсказания для текущего блока является режимом внутреннего предсказания, содержащимся в MPM наборе режимов внутреннего предсказания;obtaining an MPM index for the current block from the bitstream when the value of the MPM flag indicates that the intra prediction mode for the current block is an intra prediction mode contained in the MPM intra prediction mode set; получают значение режима внутреннего предсказания для текущего блока на основании MPM индекса и MPM набора для текущего блока; при этомobtaining an intra prediction mode value for the current block based on the MPM index and MPM set for the current block; wherein когда режим внутреннего предсказания левого соседнего блока текущего блока является планарным режимом и верхний соседний блок текущего блока недоступен, MPM набор режимов предсказания содержит: планарный режим, DC режим, вертикальный режим, горизонтальный режим, режим внутреннего предсказания, соответствующий вертикальному режиму с первым смещением, и режим внутреннего предсказания, соответствующий вертикальному режиму со вторым смещением, причем первое смещение равно -4.when the intra prediction mode of the left neighbor block of the current block is the planar mode and the upper neighbor block of the current block is unavailable, the MPM prediction mode set comprises: planar mode, DC mode, vertical mode, horizontal mode, intra prediction mode corresponding to the first offset vertical mode, and an intra prediction mode corresponding to the second offset vertical mode, the first offset being -4. 14. Способ по п.13, в котором, когда значение MPM флага для текущего блока равно 1, а MPM индекс для текущего блока равен 0, режим внутреннего предсказания для текущего блока представляет собой планарный режим.14. The method of claim 13, wherein when the MPM flag value for the current block is 1 and the MPM index for the current block is 0, the intra prediction mode for the current block is a planar mode. 15. Способ по п.13 или 14, в котором второе смещение равно +4.15. The method according to claim 13 or 14, wherein the second offset is +4. 16. Декодер, содержащий схему обработки, выполненную с возможностью реализации способа по любому из пп.1-15.16. A decoder comprising a processing circuit configured to implement the method of any one of claims 1-15. 17. Машиночитаемый носитель информации, хранящий команды, вызывающие, при исполнении одним или более процессорами, выполнение способа по любому из пп.1-15.17. A computer-readable storage medium storing instructions causing, when executed by one or more processors, the execution of a method according to any one of claims 1-15.
RU2021108898A 2018-09-03 2019-09-03 Method and device for internal prediction RU2785106C2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US62/726,419 2018-09-03

Related Child Applications (1)

Application Number Title Priority Date Filing Date
RU2022130766A Division RU2022130766A (en) 2018-09-03 2019-09-03 METHOD AND DEVICE FOR INTERNAL PREDICTION

Publications (2)

Publication Number Publication Date
RU2021108898A RU2021108898A (en) 2022-10-05
RU2785106C2 true RU2785106C2 (en) 2022-12-02

Family

ID=

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1674680A (en) * 2005-03-31 2005-09-28 华中科技大学 An enhanced in-frame predictive mode coding method
WO2013002556A3 (en) * 2011-06-28 2013-04-04 삼성전자 주식회사 Method and apparatus for coding video and method and apparatus for decoding video, accompanied with intra prediction
WO2013062193A1 (en) * 2011-10-24 2013-05-02 (주)인터앱 Method and apparatus for image decoding
WO2013064094A1 (en) * 2011-11-04 2013-05-10 LI, Yingjin Method and apparatus of deriving intra predicion mode
RU2562379C2 (en) * 2011-02-24 2015-09-10 Квэлкомм Инкорпорейтед Hierarchy of video units with motion forecast
WO2018124333A1 (en) * 2016-12-28 2018-07-05 엘지전자(주) Intra prediction mode-based image processing method, and apparatus therefor

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1674680A (en) * 2005-03-31 2005-09-28 华中科技大学 An enhanced in-frame predictive mode coding method
RU2562379C2 (en) * 2011-02-24 2015-09-10 Квэлкомм Инкорпорейтед Hierarchy of video units with motion forecast
WO2013002556A3 (en) * 2011-06-28 2013-04-04 삼성전자 주식회사 Method and apparatus for coding video and method and apparatus for decoding video, accompanied with intra prediction
WO2013062193A1 (en) * 2011-10-24 2013-05-02 (주)인터앱 Method and apparatus for image decoding
WO2013064094A1 (en) * 2011-11-04 2013-05-10 LI, Yingjin Method and apparatus of deriving intra predicion mode
WO2018124333A1 (en) * 2016-12-28 2018-07-05 엘지전자(주) Intra prediction mode-based image processing method, and apparatus therefor

Similar Documents

Publication Publication Date Title
AU2019335453B2 (en) Method and apparatus for intra prediction
AU2023202685B2 (en) Method and apparatus for intra prediction
US11277608B2 (en) Method and apparatus for intra prediction
KR102543792B1 (en) Intra prediction mode derivation based on neighboring blocks
RU2785106C2 (en) Method and device for internal prediction
RU2780222C2 (en) Method and device for internal prediction