RU2785106C2 - Method and device for internal prediction - Google Patents
Method and device for internal prediction Download PDFInfo
- 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
Links
- 230000000875 corresponding Effects 0.000 claims abstract description 236
- 230000000694 effects Effects 0.000 abstract description 3
- 239000000126 substance Substances 0.000 abstract 1
- 238000000034 method Methods 0.000 description 33
- 238000004891 communication Methods 0.000 description 19
- 238000004590 computer program Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 9
- 230000002085 persistent Effects 0.000 description 9
- 241000023320 Luma <angiosperm> Species 0.000 description 8
- 230000002457 bidirectional Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 238000007781 pre-processing Methods 0.000 description 8
- 230000003044 adaptive Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 230000003287 optical Effects 0.000 description 5
- 230000011664 signaling Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000003780 insertion Methods 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 238000000926 separation method Methods 0.000 description 4
- 238000000638 solvent extraction Methods 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 230000001419 dependent Effects 0.000 description 3
- 230000001702 transmitter Effects 0.000 description 3
- 101700022421 ver-4 Proteins 0.000 description 3
- VBRBNWWNRIMAII-WYMLVPIESA-N 3-[(E)-5-(4-ethylphenoxy)-3-methylpent-3-enyl]-2,2-dimethyloxirane Chemical compound C1=CC(CC)=CC=C1OC\C=C(/C)CCC1C(C)(C)O1 VBRBNWWNRIMAII-WYMLVPIESA-N 0.000 description 2
- 101700024838 ADD1 Proteins 0.000 description 2
- 241001442055 Vipera berus Species 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static Effects 0.000 description 2
- 230000001131 transforming Effects 0.000 description 2
- IESVDEZGAHUQJU-ZLBXKVHBSA-N 1-hexadecanoyl-2-(4Z,7Z,10Z,13Z,16Z,19Z-docosahexaenoyl)-sn-glycero-3-phosphocholine Chemical compound CCCCCCCCCCCCCCCC(=O)OC[C@H](COP([O-])(=O)OCC[N+](C)(C)C)OC(=O)CC\C=C/C\C=C/C\C=C/C\C=C/C\C=C/C\C=C/CC IESVDEZGAHUQJU-ZLBXKVHBSA-N 0.000 description 1
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 240000005158 Phaseolus vulgaris Species 0.000 description 1
- 210000002381 Plasma Anatomy 0.000 description 1
- 230000003190 augmentative Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001427 coherent Effects 0.000 description 1
- 230000004059 degradation Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000002708 enhancing Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006011 modification reaction Methods 0.000 description 1
- 230000002093 peripheral Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000001360 synchronised Effects 0.000 description 1
- 230000001960 triggered Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Abstract
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 (
В нижеследующем описании делается ссылка на сопроводительные чертежи, которые составляют часть настоящего изобретения и на которых в качестве иллюстрации показаны конкретные аспекты реализации настоящего изобретения.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
Источник 16 изображения может содержать или быть устройством захвата изображения любого типа, например, для захвата реального изображения и/или любого вида изображения или комментария (для кодирования контента экрана, некоторые тексты на экране являются также частью изображения или кадра, которое должно быть закодировано) устройства для генерирования, например, процессор компьютерной графики для генерирования компьютерного анимированного изображения, или любое устройство для получения и/или предоставления реального изображения, компьютерного анимированного изображения (например, контент экрана, изображение виртуальной реальности (VR)) и/или любая их комбинация (например, изображение дополненной реальности (AR)).The
(Цифровое) изображение является или может рассматриваться как двумерный массив или матрица выборок со значениями интенсивности. Выборка в массиве также может называться пикселем (сокращенная форма элемента изображения) или пикселем. Количество выборок в горизонтальном и вертикальном направлении (или по оси) массива или изображения определяет размер и/или разрешение изображения. Для представления цвета обычно используются три цветовых компонента, то есть, изображение может быть представлено или включать в себя три массива выборок. В формате 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
В отличие от блока 18 предварительной обработки и обработки, выполняемой блоком 18 предварительной обработки, изображение или данные 17 изображения (например, видеоданные 16) также могут называться необработанным изображением или данными 17 необработанного изображения.Unlike the
Блок 18 предварительной обработки выполнен с возможностью принимать (необработанные) данные 17 изображения и выполнять предварительную обработку данных 17 изображения для получения предварительно обработанного изображения 19 или предварительно обработанных данных 19 изображения. Выполнена предварительная обработка блоком 18 предварительной обработки может, например, включать в себя обрезку, преобразование цветового формата (например, из RGB в YCbCr), цветокоррекцию или устранение шумов. Можно понять, что блок 18 предварительной обработки может быть возможным компонентом.The
Кодер 20 (например, видеокодер 20) выполнен с возможностью принимать предварительно обработанные данные 19 изображения и предоставления данных 21 закодированного изображения (дополнительные подробности будут описаны ниже, например, со ссылкой на фиг. 2).The encoder 20 (eg, video encoder 20) is configured to receive
Интерфейс 22 связи устройства 12 источника может быть выполнен с возможностью принимать данные 21 закодированного изображения и передавать их в другое устройство, например, устройство 14 назначения или любое другое устройство для хранения или прямого восстановления или для обработки данных 21 закодированного изображения соответственно перед сохранением кодированных данных 13 и/или передачей кодированных данных 13 в другое устройство, например, устройство 14 назначения или любое другое устройство для декодирования или сохранения.The communication interface 22 of the
Устройство 14 назначения содержит декодер 30 (например, видеодекодер 30) и может дополнительно, то есть, возможно, содержать интерфейс связи или блок 28 связи, блок 32 постобработки и устройство 34 отображения.
Интерфейс 28 связи устройства 14 назначения выполнен с возможностью принимать данные 21 кодированного изображения или кодированные данные 13, например, непосредственно из устройства 12 назначения или из любого другого источника, например, запоминающее устройство, например, устройство для хранения данных закодированного изображения.The
Интерфейс 22 связи и интерфейс 28 связи могут быть выполнены с возможностью передавать или принимать данные 21 кодированного изображения или закодированные данные 13 через прямую линию связи между устройством 12 источника и устройством 14 назначения, например, прямое проводное или беспроводное соединение или через любую сеть, например, проводная или беспроводная сеть или любая их комбинация, или любая частная сеть и сеть общего пользования, или любая их комбинация.Communication interface 22 and
Интерфейс 22 связи может быть, например, выполнен с возможностью упаковки данных 21 закодированного изображения в соответствующий формат, например, пакеты для передачи по каналу связи или сети связи.The communication interface 22 may, for example, be configured to package the encoded
Интерфейс 28 связи, образующий аналог интерфейса 22 связи, может быть, например, выполнен с возможностью распаковки закодированных данных 13 для получения данных 21 закодированного изображения.The
Как интерфейс 22 связи, так и интерфейс 28 связи могут быть сконфигурированы как однонаправленные интерфейсы связи, как показано стрелкой для данных 13 кодированного изображения на фиг.1, указывающей от устройства 12 источника к устройству 14 назначения, или двунаправленные интерфейсы связи, и может быть выполнен с возможностью, например, отправлять и принимать сообщения, например, для установки соединения, подтверждения и обмена любой другой информацией, относящейся к каналу связи и/или передаче данных, например, передаче данных закодированного изображения.Both the communication interface 22 and the
Декодер 30 выполнен с возможностью принимать данные 21 кодированного изображения и предоставления данных 31 декодированного изображения или декодированного изображения 31 (дополнительные подробности будут описаны ниже, например, со ссылкой на фиг.3).The
Блок 32 постобработки устройства 14 назначения выполнен с возможностью пост-обработки данных 31 декодированного изображения (также называемых данными восстановленного изображения), например, декодированное изображение 31, для получения данных 33 изображения после обработки, например, пост-обработанное изображение 33. Постобработка, выполняемая блоком 32 постобработки, может включать в себя, например, преобразование цветового формата (например, из YCbCr в RGB), цветокоррекцию, обрезку или повторную выборку, или любую другую обработку, например, для подготовки данных 31 декодированного изображения для отображения, например, с помощью устройства 34 отображения.The
Устройство 34 отображения устройства 14 назначения выполнено с возможностью принимать данные 33 изображения после постобработки для отображения изображения, например, пользователю или зрителю. Устройство 34 отображения может быть или содержать любой вид дисплея для представления восстановленного изображения, например, встроенный или внешний дисплей или монитор. Дисплеи могут, например, состоят из жидкокристаллических дисплеев (LCD), дисплеев на органических светодиодах (OLED), плазменных дисплеев, проекторов, микро-светодиодных дисплеев, жидких кристаллов на кремнии (LCoS), цифрового светового процессора (DLP) или любого другого дисплея.The
Хотя фиг.1 изображает устройство 12 источника и устройство 14 назначения как отдельные устройства, варианты осуществления устройств также могут содержать оба или обе функциональные возможности устройства 12 источника или соответствующие функциональные возможности устройства 14 назначения или соответствующие функциональные возможности. В таких вариантах осуществления устройство 12 источника или соответствующие функциональные возможности и устройство 14 назначения или соответствующие функциональные возможности могут быть реализованы с использованием одного и того же аппаратного и/или программного обеспечения или с помощью отдельного аппаратного и/или программного обеспечения или любой их комбинации.Although FIG. 1 depicts
Как будет очевидно для специалиста на основании описания, существование и (точное) разделение функциональных возможностей различных блоков или функций в устройстве 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
Кодер 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
Фиг.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
Например, блок 204 вычисления остатка, блок 206 обработки преобразования, блок 208 квантования, блок 260 обработки предсказания и блок 270 энтропийного кодирования образуют прямой путь сигнала кодера 20, тогда как, например, блок 210 обратного квантования, блок 212 обработки обратного преобразования, блок 214 восстановления, буфер 216, контурный фильтр 220, буфер 230 декодированных изображений (DPB), блок 260 обработки предсказания образуют обратный путь прохождения сигнала кодера, в котором обратный путь сигнала кодера соответствует пути сигнала декодера (см. декодер 30 на фиг.3).For example, the residual calculation block 204, the
Кодер 20 выполнен с возможностью принимать, например, посредством ввода 202 изображение 201 или блок 203 изображения 201, например, изображение последовательности изображений, образующих видео или видеопоследовательность. Блок 203 изображения также может называться блоком текущего изображения или блоком изображения, подлежащим кодированию, и изображение 201 как текущего изображения или изображение, которое должно быть кодировано (в частности, при кодировании видео, чтобы отличать текущее изображение от других изображений, например, ранее закодированных и/или декодированные изображения одной и той же видеопоследовательности, т.е. видеопоследовательности, которая также содержит текущее изображение).
Блок 260 обработки предсказания, также называемый блоком 260 обработки предсказания блока, выполнен с возможностью принимать или получать блок 203 (текущий блок 203 текущего изображения 201) и данные восстановленного изображения, например, опорных выборок одного и того же (текущего) изображения из буфера 216 и/или данных 231 опорного изображения из одного или множества ранее декодированных изображений из буфера 230 декодированного изображения, и обрабатывать эти данные для предсказания, то есть, чтобы обеспечить блок 265 предсказания, который может быть блоком 245 внешнего предсказания или блоком 255 внутреннего предсказания.The
Блок 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
Варианты осуществления блока 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
Фиг.3 показывает примерный видеодекодер 30, который выполнен с возможностью реализации способов настоящего изобретения. Видеодекодер 30, выполненный с возможностью принимать данные 21 кодирования изображения (например, кодированного битового потока), например, кодируется кодером 100, чтобы получить декодированное изображение 131. Во время процесса декодирования видеодекодер 30 принимает видеоданные, например, кодированный битовый поток видео, который представляет блоки изображения кодированного сегмента видео и ассоциированные элементы синтаксиса из видеокодера 100.3 shows an
В примере на фиг.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
Блок 304 энтропийного декодирования выполнен с возможностью выполнять энтропийное декодирование данных 21 кодированного изображения для получения, например, квантованных коэффициентов 309 и/или декодированных параметров кодирования (не показаны на фиг.3), например, (декодированный) любой или все параметры внешнего предсказания, параметр внутреннего предсказания, параметры контурного фильтра и/или другие элементы синтаксиса. Блок 304 энтропийного декодирования дополнительно выполнен с возможностью пересылать параметры внешнего предсказания, параметр внутреннего предсказания и/или другие элементы синтаксиса в блок 360 обработки предсказания. Видеодекодер 30 может принимать элементы синтаксиса на уровне сегмента видео и/или уровне видеоблока.The
Блок 310 обратного квантования может быть идентичен по функциям блоку 110 обратного квантования, блок 312 обработки обратного преобразования может быть идентичным по функциям блоку 112 обработки обратного преобразования, блок 314 восстановления может быть идентичным функциям блоку 114 восстановления, буфер 316 может быть идентичен по функциям буферу 116, контурный фильтр 320 может быть идентичен по функциям контурному фильтру 120, и буфер 330 декодированного изображения может быть идентичен по функции буферу 130 декодированного изображения.
Блок 360 обработки предсказания может содержать блок 344 внешнего предсказания и блок 354 внутреннего предсказания, в котором блок 344 внешнего предсказания может напоминать блок 144 внешнего предсказания по функциям, и блок 354 внутреннего предсказания может напоминать блок 154 внутреннего предсказания по функциям. Блок 360 обработки предсказания обычно выполнен с возможностью выполнять предсказание блока и/или получать блок 365 предсказания из закодированных данных 21, а также принимать или получать (явно или неявно) связанных с предсказанием параметры и/или информацию о выбранном режиме предсказания, например, из блока 304 энтропийного декодирования.
Когда сегмент видео кодируется как сегмент (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
Блок 360 обработки предсказания выполнен с возможностью определять информацию предсказания для видеоблока текущего сегмента видео путем анализа векторов движения и других элементов синтаксиса и использует информацию предсказания для построения блоков предсказания для текущего декодируемого видеоблока. Например, блок 360 обработки предсказания использует некоторые из принятых элементов синтаксиса для определения режима предсказания (например, внутреннее или внешнее предсказание), используемого для кодирования видеоблоков сегмента видео, типа сегмента внешнего предсказания (например, B-сегмент, P-сегмент или GPB-сегмент), информации составления одного или более списков опорных изображений для сегмента, векторы движения для каждого внешне кодированного видеоблока сегмента, статуса внешнего предсказания для каждого внешне кодированного видеоблока сегмента и другую информацию для декодирования видеоблоков в текущем сегменте видео.The
Блок 310 обратного квантования выполнен с возможностью обратного квантования, то есть, деквантования квантованных коэффициентов преобразования, предоставленных в битовом потоке и декодированных блоком 304 энтропийного декодирования. Процесс обратного квантования может включать в себя использование параметра квантования, вычисленного видеокодером 100 для каждого видеоблока в сегменте видео, чтобы определить степень квантования и, аналогично, степень обратного квантования, который должен применяться.The
Блок 312 обработки обратного преобразования выполнен с возможностью применять обратное преобразование, например, обратное DCT, обратное целочисленное преобразование или концептуально аналогичный процесс обратного преобразования, к коэффициентам преобразования для получения остаточных блоков в области пикселей.The inverse
Блок 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
Декодированные видеоблоки 321 в данном кадре или изображении затем сохраняются в буфере 330 декодированных изображений, в котором хранятся опорные изображения, используемые для последующей компенсации движения.The decoded video blocks 321 in that frame or picture are then stored in the decoded
Декодер 30 выполнен с возможностью выводить декодированное изображение 331, например, через выход 332 для представления или просмотра пользователю.The
Другие варианты видеодекодера 30 могут использоваться для декодирования сжатого битового потока. Например, декодер 30 может формировать выходной видеопоток без блока 320 контурной фильтрации. Например, декодер 30 без преобразования может выполнять обратное квантование остаточного сигнала непосредственно без блока 312 обработки обратного преобразования для конкретных блоков или кадров. В другой реализации видеодекодер 30 может иметь блок 310 обратного квантования и блок 312 обработки обратного преобразования, объединенные в один блок.Other variants of
Согласно 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,
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,
Для энтропийного кодирования 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
В другом примере используется способ кодирования внутреннего режима с 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;
В одной форме реализации настоящего изобретения, если количество режимов внутреннего предсказания в 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
После пятого этапа проверить, заполнен ли 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
В одной форме реализации настоящего изобретения на седьмом этапе со списками режимов по умолчанию каждая вставка режима по умолчанию в 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
В одной форме реализации настоящего изобретения, способ дополнительно содержит: если количество режимов внутреннего предсказания в 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
В одной форме реализации настоящего изобретения, способ дополнительно содержит: добавление вертикального режима (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
В примере после шестого этапа, если 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,
В противном случае (при наличии левого блока):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,
В противном случае (при наличии верхнего блока) использовать обычные режимы по умолчанию: 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,
В противном случае (при наличии левого блока):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,
В противном случае (при наличии верхнего блока) использовать измененные режимы по умолчанию: 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 равно 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
Если 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 не был вставлен в 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
Если 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
В другом аспекте настоящего изобретения раскрывается декодер, содержащий схему обработки, выполненную с возможностью выполнять вышеупомянутые способы декодирования.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
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 (
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 (
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
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
Далее раскрываются дополнительные варианты осуществления, в которых нумерация не обязательно может совпадать с нумерацией других вариантов осуществления или примеров описания.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 список.
Вариант 2 осуществления. Способ варианта 1 осуществления, в котором, когда режим предсказания левого блока не является режимом внутреннего предсказания, левый блок текущего блока кодирования недоступен.
Вариант 3 осуществления. Способ варианта 1 или 2 осуществления, в котором, когда текущий блок кодирования является блоком кодирования, расположенным в самой левой части кадра, левый блок текущего блока кодирования недоступен.Option 3 implementation. The method of
Вариант 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
Вариант 7 осуществления. Способ по любому из вариантов 1-6 осуществления, в котором параллельная обработка не поддерживается, и текущий блок кодирования представляет собой блок кодирования, расположенный в самой левой части сегмента, но не в самой левой части кадра, левый блок текущего блока кодирования является доступным.
Вариант 8 осуществления. Способ любого из вариантов 1-7 осуществления, в котором, когда режим предсказания верхнего блока не является режимом внутреннего предсказания, верхний блок текущего блока кодирования недоступен.Option 8 implementation. The method of any one of
Вариант 9 осуществления. Способ по любому из вариантов 1-8 осуществления, в котором, когда текущий блок кодирования является блоком кодирования, расположенным в самой верхней части кадра, верхний блок текущего блока кодирования недоступен.Option 9 implementation. The method as in any one of
Вариант 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 осуществления, в котором поддерживается параллельная обработка, и текущий блок кодирования является блоком кодирования, расположенным в самой верхней части сегмента, верхний блок текущего блока кодирования недоступен.
Вариант 13 осуществления. Способ по любому из вариантов 1-12 осуществления, в котором параллельная обработка не поддерживается, и текущий блок кодирования является блоком кодирования, расположенным в самой верхней части сегмента, но не в самой верхней части кадра, верхний блок текущего блока кодирования является доступным.
Вариант 14 осуществления. Способ любого из вариантов 1-13 осуществления, когда размер линейного буфера ограничен и текущий блок кодирования является блоком кодирования, расположенным на самой верхней стороне текущего CTU, верхний блок текущего блок кодирования недоступен.
Вариант 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.
Вариант 17 осуществления. Способ варианта 15 осуществления, в котором смещение равно 1.
Вариант 18 осуществления. Способ по любому из вариантов 1-17 осуществления, способ дополнительно содержит:
если верхний блок текущего блока кодирования доступен и режим внутреннего предсказания верхнего блока является угловым режимом, добавление смещения к режиму предсказания верхнего блока для получения режима предсказания со смещением вверх, если режим предсказания со смещением вверх отсутствует в 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.
Вариант 20 осуществления. Способ варианта 18 осуществления, в котором смещение равно 1.
Вариант 21 осуществления. Способ по любому из вариантов 1-20 осуществления, способ дополнительно содержит:
добавление в 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 осуществления.
Вариант 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 осуществления.
Вариант 31 осуществления. Декодер для построения списка наиболее вероятного режима, MPM, содержит:
один или более процессоров; и постоянный машиночитаемый носитель данных, соединенный с процессорами и хранящий программы для выполнения процессорами, причем программы, когда выполняются процессорами, конфигурирует декодер выполнять способ согласно любому из вариантов 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, содержащего:
один или более процессоров; и постоянный машиночитаемый носитель данных, соединенный с процессорами и хранящий программы для выполнения процессорами, причем программы, когда выполняется процессорами, конфигурирует кодер выполнить способ согласно любому из вариантов 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 список.
Вариант 34 осуществления. Способ по варианту 33 осуществления, в котором, когда текущий блок кодирования является блоком кодирования, расположенным в самой левой части кадра, левый блок текущего блока кодирования недоступен.
Вариант 35 осуществления. Способ по варианту 33 или 34 осуществления, в котором, когда текущий блок кодирования является блоком кодирования, не расположенным в самой левой части кадра, левый блок текущего блока кодирования доступен.Option 35 implementation. The method of
Вариант 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 осуществления, в котором способ дополнительно содержит:
если левый блок текущего блока кодирования недоступен и количество режимов внутреннего предсказания в 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, содержащий:
один или более процессоров; и постоянный машиночитаемый носитель данных, соединенный с процессорами и хранящий программы для выполнения процессорами, причем программы, когда выполняется процессорами, конфигурирует кодер выполнять способ согласно любому из вариантов 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,
CPU 1510 может иметь любой тип электронного процессора данных. Память 1520 может иметь или быть любым типом системной памяти, такой как статическая память с произвольным доступом (SRAM), динамическая память с произвольным доступом (DRAM), синхронная DRAM (SDRAM), постоянная память (ROM) их комбинация или т.п. В варианте осуществления память 1520 может включать в себя ROM для использования при загрузке и DRAM для хранения программ и данных для использования во время выполнения программ. В вариантах осуществления память 1520 является энергонезависимой. Запоминающее устройство 1530 большой емкости включает в себя любой тип запоминающего устройства, в котором хранятся данные, программы и другую информацию, а также для обеспечения доступа к данным, программам и другой информации через шину. Запоминающее устройство 1530 большой емкости включает в себя, например, один или более из твердотельного накопителя, накопителя на жестком диске, накопителя на магнитном диске, накопителя на оптическом диске и т.п.The
Видеоадаптер 1540 и интерфейс 1560 ввода-вывода обеспечивают интерфейсы для подключения внешних устройств ввода-вывода к устройству 1100. Например, устройство 1100 может предоставлять клиентам SQL интерфейс команд. Как проиллюстрировано, примеры устройств ввода-вывода включают в себя дисплей 1590, подключенный к видеоадаптеру 1540, и любую комбинацию мыши/клавиатуры/принтера 1570, подключенную к интерфейсу 1560 ввода-вывода. К устройству 1100 могут быть подключены другие устройства, а также дополнительные или может использоваться меньше интерфейсных карт. Например, карта последовательного интерфейса (не показана) может использоваться для обеспечения последовательного интерфейса для принтера.
Устройство 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
Для вычисления значений весовых коэффициентов применяется кусочно-линейная аппроксимация, необходимых для предсказания пикселей в данном блоке. Кусочно-линейная аппроксимация, с одной стороны, значительно снижает вычислительную сложность механизма взвешенного по расстоянию предсказания по сравнению с прямым вычислением весовых коэффициентов, и с другой стороны, помогает достичь более высокой точности значений весовых коэффициентов по сравнению с упрощениями предшествующего уровня техники.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)
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)
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)
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 |