RU2787010C2 - Internal brightness mode signaling - Google Patents
Internal brightness mode signaling Download PDFInfo
- Publication number
- RU2787010C2 RU2787010C2 RU2021102488A RU2021102488A RU2787010C2 RU 2787010 C2 RU2787010 C2 RU 2787010C2 RU 2021102488 A RU2021102488 A RU 2021102488A RU 2021102488 A RU2021102488 A RU 2021102488A RU 2787010 C2 RU2787010 C2 RU 2787010C2
- Authority
- RU
- Russia
- Prior art keywords
- modes
- mode
- list
- intra prediction
- idx
- Prior art date
Links
- 230000011664 signaling Effects 0.000 title description 9
- 230000000694 effects Effects 0.000 abstract description 2
- 239000000126 substance Substances 0.000 abstract 1
- 238000003860 storage Methods 0.000 description 33
- 238000000034 method Methods 0.000 description 22
- 230000005540 biological transmission Effects 0.000 description 12
- 230000000875 corresponding Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 241001442055 Vipera berus Species 0.000 description 10
- 238000004891 communication Methods 0.000 description 10
- 230000002457 bidirectional Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 230000001702 transmitter Effects 0.000 description 5
- 210000004915 Pus Anatomy 0.000 description 4
- 230000003044 adaptive Effects 0.000 description 4
- 229920002635 polyurethane Polymers 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 241000023320 Luma <angiosperm> Species 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 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 1
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 240000005158 Phaseolus vulgaris Species 0.000 description 1
- 230000000903 blocking Effects 0.000 description 1
- 230000001413 cellular Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000000051 modifying Effects 0.000 description 1
- 230000003287 optical Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000003068 static Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Abstract
Description
Перекрестная ссылка на связанные заявкиCross-reference to related applications
[0001] В этой заявке на патент испрашиваются преимущества предварительной заявки на патент США № 62/696739, поданной 11 июля 2019 года Анандом Мехером Котрой и др. и озаглавленной «Улучшения сигнализации внутреннего режима яркости», которая включена в настоящее описание посредством ссылки. [0001] This patent application claims the benefits of U.S. Provisional Application No. 62/696,739, filed July 11, 2019, by Anand Meher Kotra et al., entitled "Internal Brightness Mode Signaling Improvements", which is incorporated herein by reference.
Область техники, к которой относится изобретениеThe technical field to which the invention belongs
[0002] Настоящее раскрытие в целом связано с кодированием видео и, в частности, связано с сигнализацией внутреннего режима яркости. [0002] The present disclosure is generally related to video coding and, in particular, is related to internal brightness mode signaling.
Уровень техникиState of the art
[0003] Объем видеоданных, необходимых для отображения даже относительно короткого видео, может быть значительным, что может привести к трудностям, когда данные должны передаваться в потоковом режиме или иным образом передаваться по сети связи с ограниченной пропускной способностью. Таким образом, видеоданные обычно сжимаются перед передачей по современным телекоммуникационным сетям. Размер видео также может быть проблемой, когда видео хранится на запоминающем устройстве, поскольку ресурсы памяти могут быть ограничены. Устройства сжатия видео часто используют программное обеспечение и/или оборудование в источнике для кодирования видеоданных перед передачей или хранением, тем самым уменьшая количество данных, необходимых для представления цифровых видеоизображений. Затем сжатые данные принимаются в месте назначения посредством устройства распаковки видео, которое декодирует видеоданные. В связи с ограниченными сетевыми ресурсами и постоянно растущими требованиями к более высокому качеству видео требуются улучшенные методы сжатия и распаковки, которые улучшают степень сжатия с минимальными потерями в качестве изображения или вообще без них.[0003] The amount of video data required to display even a relatively short video can be significant, which can lead to difficulties when the data must be streamed or otherwise transmitted over a bandwidth-limited communication network. Thus, video data is usually compressed before transmission over modern telecommunication networks. Video size can also be an issue when the video is stored on a storage device, as memory resources can be limited. Video compression devices often use source software and/or hardware to encode video data prior to transmission or storage, thereby reducing the amount of data needed to represent digital video images. The compressed data is then received at the destination by a video decompressor that decodes the video data. Due to limited network resources and ever-increasing demands for higher video quality, improved compression and decompression techniques are required that improve compression rates with little or no loss in image quality.
Сущность изобретенияThe essence of the invention
[0004] Первый аспект относится к способу кодирования, реализованному посредством устройства кодирования. Способ включает в себя этапы, на которых выбирают с использованием устройства кодирования режим внутреннего предсказания для текущего блока; и кодируют с использованием устройства кодирования выбранный режим внутреннего предсказания с использованием усеченного двоичного кодирования, когда выбранный режим внутреннего предсказания является оставшимся режимом. В варианте осуществления способ включает в себя этап, на котором определяют, что выбранный режим внутреннего предсказания находится в списке оставшихся режимов. [0004] The first aspect relates to an encoding method implemented by an encoding device. The method includes selecting, using an encoder, an intra prediction mode for the current block; and encoding, using the coding device, the selected intra prediction mode using truncated binary coding when the selected intra prediction mode is the remaining mode. In an embodiment, the method includes determining that the selected intra prediction mode is in the list of remaining modes.
[0005] Как будет более полно объяснено ниже, способ улучшает существующую схему сигнализации внутреннего режима. Варианты осуществления могут быть выполнены с возможностью кодирования всех оставшихся внутренних режимов, например, всех внутренних режимов, которые не находятся в списке MPM (также известных как «режимы без MPM») и передаются в битовом потоке с использованием усеченной бинаризации. Посредством использования усеченной бинаризации для оставшихся режимов кодовые слова используются более эффективно. [0005] As will be explained more fully below, the method improves upon the existing intra mode signaling scheme. Embodiments may be configured to encode all remaining intrinsic modes, for example, all intrinsic modes that are not in the MPM list (also known as "non-MPM modes") and are transmitted in the bitstream using truncated binarization. By using truncated binarization for the remaining modes, codewords are used more efficiently.
[0006] В первой форме реализации способа согласно первому аспекту как таковому способ дополнительно содержит этап, на котором определяют, что выбранный режим внутреннего предсказания не входит в список наиболее вероятных режимов (MPM - most probable modes). [0006] In the first implementation form of the method according to the first aspect, as such, the method further comprises determining that the selected intra prediction mode is not included in the most probable modes (MPM) list.
[0007] Во второй форме реализации способа согласно первому аспекту как таковому или любой предшествующей форме реализации первого аспекта, способ дополнительно содержит этап, на котором кодируют выбранный режим внутреннего предсказания с использованием 5 битов, когда выбранный режим внутреннего предсказания является одним из первых трех режимов из оставшихся режимов. [0007] In a second implementation form of the method according to the first aspect as such or any previous implementation form of the first aspect, the method further comprises encoding the selected intra prediction mode using 5 bits when the selected intra prediction mode is one of the first three modes of the remaining modes.
[0008] В третьей форме реализации способа согласно первому аспекту как таковому или любой предшествующей форме реализации первого аспекта, способ дополнительно содержит этап, на котором кодируют выбранный режим внутреннего предсказания с использованием N битов, когда выбранный режим внутреннего предсказания включен в первую часть из оставшихся режимов и с использованием N+1 битов, когда выбранный режим внутреннего предсказания включен во вторую часть оставшихся режимов. [0008] In a third implementation form of the method according to the first aspect as such or any previous implementation form of the first aspect, the method further comprises encoding the selected intra prediction mode using N bits when the selected intra prediction mode is included in the first part of the remaining modes and using N+1 bits when the selected intra prediction mode is included in the second part of the remaining modes.
[0009] В четвертой форме реализации способа согласно первому аспекту как таковому или любой предшествующей форме реализации первого аспекта, способ дополнительно содержит этап, на котором кодируют режим внутреннего предсказания с использованием 6 битов, когда выбранный режим внутреннего предсказания не является одним из первых трех режимов из оставшихся режимов. [0009] In a fourth implementation form of the method according to the first aspect as such or any previous implementation form of the first aspect, the method further comprises encoding an intra prediction mode using 6 bits when the selected intra prediction mode is not one of the first three modes of the remaining modes.
[0010] В пятой форме реализации способа согласно первому аспекту как таковому или любой предыдущей форме реализации первого аспекта, оставшийся режим является одним из 61 оставшихся режимов. [0010] In the fifth form of implementation of the method according to the first aspect as such or any previous form of implementation of the first aspect, the remaining mode is one of the 61 remaining modes.
[0011] В шестой форме реализации способа согласно первому аспекту как таковому или любой предшествующей форме реализации первого аспекта список MPM содержит 6 режимов, а оставшийся режим является одним из 61 оставшихся режимов. [0011] In the sixth implementation form of the method according to the first aspect as such or any previous implementation form of the first aspect, the MPM list contains 6 modes, and the remaining mode is one of the 61 remaining modes.
[0012] В седьмой форме реализации способа согласно первому аспекту как таковому или любой предшествующей форме реализации первого аспекта все режимы либо принадлежат списку MPM, либо оставшимся режимам. [0012] In the seventh form of implementation of the method according to the first aspect as such or any previous form of implementation of the first aspect, all modes either belong to the MPM list or the remaining modes.
[0013] В восьмой форме реализации способа согласно первому аспекту как таковому или любой предшествующей форме реализации первого аспекта все оставшиеся режимы кодируются с использованием усеченного двоичного кодирования. [0013] In the eighth form of implementation of the method according to the first aspect as such or any previous form of implementation of the first aspect, all remaining modes are encoded using truncated binary coding.
[0014] В девятой форме реализации способа согласно первому аспекту как таковому или любой предшествующей форме реализации первого аспекта способ дополнительно содержит этап, на котором заполняют начальные режимы в списке оставшихся режимов с использованием предварительно определенного списка режимов по умолчанию. [0014] In a ninth implementation form of the method according to the first aspect as such or any previous implementation form of the first aspect, the method further comprises populating the initial modes in the remaining modes list using a predetermined default mode list.
[0015] В десятой форме реализации способа согласно первому аспекту как таковому или любой предшествующей форме реализации первого аспекта предварительно определенный список режимов по умолчанию содержит планарный режим (PLANAR_IDX), режим DC (DC_IDX), вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим (VDIA_IDX) и диагональный режим (DIA_IDX). [0015] In the tenth form of implementation of the method according to the first aspect as such or any previous form of implementation of the first aspect, the predefined default mode list contains planar mode (PLANAR_IDX), DC mode (DC_IDX), vertical mode (VER_IDX), horizontal mode (HOR_IDX) , Inner Mode 2 (2), Vertical Diagonal Mode (VDIA_IDX), and Diagonal Mode (DIA_IDX).
[0016] В одиннадцатой форме реализации способа согласно первому аспекту как таковому или любой предшествующей форме реализации первого аспекта способ дополнительно содержит этап, на котором заполняют начальные режимы в списке оставшихся режимов с использованием смещения к угловым режимам, включенным в список MPM. [0016] In an eleventh form of implementation of the method according to the first aspect as such or any previous form of implementation of the first aspect, the method further comprises filling in the initial modes in the list of remaining modes using an offset to the angular modes included in the MPM list.
[0017] В двенадцатой форме реализации способа согласно первому аспекту как таковому или любой предшествующей форме реализации первого аспекта смещение составляет +/- N, где N - целое число со значением 1, 2, 3 или 4.[0017] In the twelfth form of implementation of the method according to the first aspect as such or any previous form of implementation of the first aspect, the offset is +/- N, where N is an integer with a value of 1, 2, 3 or 4.
[0018] В тринадцатой форме реализации способа согласно первому аспекту как таковому или любой предшествующей форме реализации первого аспекта смещение добавляется только к первому из двух угловых режимов в списке MPM. [0018] In the thirteenth form of implementation of the method according to the first aspect as such or any previous form of implementation of the first aspect, the offset is added to only the first of the two angular modes in the MPM list.
[0019] В четырнадцатой форме реализации способа согласно первому аспекту как таковому или любой предшествующей форме реализации первого аспекта способ дополнительно содержит этап, на котором заполняют начальные режимы в списке оставшихя режимов с использованием режимов соседних блоков, не смежных непосредственно с текущим блоком. [0019] In a fourteenth form of implementation of the method according to the first aspect as such or any previous form of implementation of the first aspect, the method further comprises populating initial modes in the list of remaining modes using modes of neighboring blocks not directly adjacent to the current block.
[0020] В пятнадцатой форме реализации способа согласно первому аспекту как таковому или любой предшествующей форме реализации первого аспекта, способ дополнительно содержит этап, на котором заполняют начальные режимы в списке оставшихся режимов с использованием режимов соседей второго уровня текущего блока вместо соседей первого уровня. [0020] In a fifteenth form of implementation of the method according to the first aspect as such or any previous form of implementation of the first aspect, the method further comprises populating the initial modes in the list of remaining modes using the modes of the second level neighbors of the current block instead of the first level neighbors.
[0021] В шестнадцатой форме реализации способа согласно первому аспекту как таковому или любой предшествующей форме реализации первого аспекта способ дополнительно содержит этап, на котором заполняют начальные режимы в списке оставшихся режимов на основе расположения большинства режимов в списке MPM относительно одного из планарного режима (PLANAR_IDX), режима DC (DC_IDX), вертикального режима (VER_IDX), горизонтального режима (HOR_IDX), внутреннего режима 2 (2), вертикального диагонального режима (VDIA_IDX) и диагонального режима (DIA_IDX). [0021] In the sixteenth implementation form of the method according to the first aspect as such or any previous implementation form of the first aspect, the method further comprises filling in the initial modes in the list of remaining modes based on the location of the majority of the modes in the MPM list relative to one of the 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).
[0022] В семнадцатой форме реализации способа согласно первому аспекту как таковому или любой предшествующей форме реализации первого аспекта способ дополнительно содержит этап, на котором заполняют начальные режимы в списке оставшихся режимов посредством: сравнения каждого из режимов в списке MPM с расположением различных режимов в списке режимов по умолчанию; определения того, что выигравший один из различных режимов в списке режимов по умолчанию является ближайшим к большинству режимов в списке MPM; и заполнения первых трех режимов в списке оставшихся режимов режимами, ближайшими к выигравшему одному из различных режимов в списке режимов по умолчанию. [0022] In the seventeenth implementation form of the method according to the first aspect as such or any previous implementation form of the first aspect, the method further comprises populating the initial modes in the remaining modes list by: comparing each of the modes in the MPM list with the location of the various modes in the mode list default; determining that the winner of one of the various modes in the default mode list is closest to the majority of the modes in the MPM list; and populating the first three modes in the list of remaining modes with the modes closest to the winning one of the various modes in the list of default modes.
[0023] Второй аспект относится к способу декодирования, реализованному посредством устройства декодирования. Способ включает в себя этапы, на которых получают посредством устройства декодирования усеченный двоичный код; декодируют посредством устройства декодирования усеченный двоичный код для получения режима внутреннего предсказания, содержащего оставшийся режим; и формируют посредством устройства декодирования текущий блок с использованием режима внутреннего предсказания, который был получен. [0023] The second aspect relates to a decoding method implemented by a decoding device. The method includes the steps of obtaining, by means of a decoding device, a truncated binary code; decoding by means of the decoding device the truncated binary code to obtain an intra prediction mode containing the remaining mode; and generating, by the decoding apparatus, a current block using the intra prediction mode that has been obtained.
[0024] Как будет более полно объяснено ниже, способ улучшает существующую схему сигнализации внутреннего режима. Варианты осуществления могут быть выполнены с возможностью декодирования усеченного двоичного кода для получения режима внутреннего предсказания, который является одним из оставшихся режимов, закодированных с использованием усеченного двоичного кодирования. Посредством использования усеченной бинаризации для оставшихся режимов кодовые слова используются более эффективно. [0024] As will be explained more fully below, the method improves on the existing intra mode signaling scheme. Embodiments may be configured to decode the truncated binary code to obtain an intra prediction mode, which is one of the remaining modes encoded using truncated binary coding. By using truncated binarization for the remaining modes, codewords are used more efficiently.
[0025] В первой форме реализации способа согласно второму аспекту как таковому способ дополнительно содержит этап, на котором определяют, что режим внутреннего предсказания не входит в список наиболее вероятных режимов (MPM). [0025] In a first implementation form of the method according to the second aspect, as such, the method further comprises determining that the intra prediction mode is not in the most likely modes (MPM) list.
[0026] Во второй форме реализации способа согласно второму аспекту как таковому или любой предшествующей форме реализации второго аспекта, способ дополнительно содержит этап, на котором декодируют режим внутреннего предсказания с использованием 5 битов, когда режим внутреннего предсказания был одним из первых трех режимов из оставшихся режимов. [0026] In a second implementation form of the method according to the second aspect as such or any previous implementation form of the second aspect, the method further comprises decoding the intra prediction mode using 5 bits when the intra prediction mode was one of the first three modes of the remaining modes. .
[0027] В третьей форме реализации способа согласно второму аспекту как таковому или любой предшествующей форме реализации второго аспекта, способ дополнительно содержит этап, на котором декодируют режим внутреннего предсказания с использованием 6 битов, когда режим внутреннего предсказания находится вне первых трех режимов из оставшихся режимов. [0027] In a third implementation form of the method according to the second aspect as such or any previous form of implementation of the second aspect, the method further comprises decoding the intra prediction mode using 6 bits when the intra prediction mode is outside the first three modes of the remaining modes.
[0028] В четвертой форме реализации способа согласно второму аспекту как таковому или любой предшествующей форме реализации второго аспекта, оставшийся режим является одним из 61 оставшихся режимов. [0028] In the fourth form of implementation of the method according to the second aspect as such or any previous form of implementation of the second aspect, the remaining mode is one of the 61 remaining modes.
[0029] В пятой форме реализации способа согласно второму аспекту как таковому или любой предшествующей форме реализации второго аспекта имеется 6 режимов в списке MPM и 61 режим в оставшихся режимах. [0029] In the fifth form of implementation of the method according to the second aspect as such or any previous form of implementation of the second aspect, there are 6 modes in the MPM list and 61 modes in the remaining modes.
[0030] В шестой форме реализации способа согласно второму аспекту как таковому или любой предшествующей форме реализации второго аспекта все режимы внутреннего предсказания либо принадлежат списку MPM, либо оставшимся режимам. [0030] In the sixth form of implementation of the method according to the second aspect as such or any previous form of implementation of the second aspect, all intra prediction modes either belong to the MPM list or the remaining modes.
[0031] В седьмой форме реализации способа согласно второму аспекту как таковому или любой предшествующей форме реализации второго аспекта все оставшиеся режимы кодируются с использованием усеченного двоичного кодирования. [0031] In the seventh form of implementation of the method according to the second aspect as such or any previous form of implementation of the second aspect, all remaining modes are encoded using truncated binary coding.
[0032] В восьмой форме реализации способа согласно второму аспекту как таковому или любой предшествующей форме реализации второго аспекта начальные режимы в списке оставшихся режимов берутся из предварительно определенного списка режимов по умолчанию. [0032] In the eighth form of implementation of the method according to the second aspect as such or any previous form of implementation of the second aspect, the initial modes in the list of remaining modes are taken from a predefined list of default modes.
[0033] В девятой форме реализации способа согласно второму аспекту как таковому или любой предшествующей форме реализации второго аспекта предварительно определенный список режимов по умолчанию содержит планарный режим (PLANAR_IDX), режим DC (DC_IDX), вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим (VDIA_IDX) и диагональный режим (DIA_IDX). [0033] In the ninth implementation form of the method according to the second aspect as such or any previous implementation form of the second aspect, the predefined default mode list comprises planar mode (PLANAR_IDX), DC mode (DC_IDX), vertical mode (VER_IDX), horizontal mode (HOR_IDX) , Inner Mode 2 (2), Vertical Diagonal Mode (VDIA_IDX), and Diagonal Mode (DIA_IDX).
[0034] В десятой форме реализации способа согласно второму аспекту как таковому или любой предшествующей форме реализации второго аспекта начальные режимы в списке оставшихся режимов основаны на смещении к угловым режимам, включенным в список MPM. [0034] In the tenth implementation of the method according to the second aspect as such or any previous implementation of the second aspect, the initial modes in the list of remaining modes are based on an offset to the angular modes included in the MPM list.
[0035] В одиннадцатой форме реализации способа согласно второму аспекту как таковому или любой предыдущей форме реализации второго аспекта смещение равно +/- N, где N - целое число со значением 1, 2, 3 или 4. [0035] In the eleventh implementation of the method according to the second aspect as such or any previous implementation of the second aspect, the offset is +/- N, where N is an integer with a value of 1, 2, 3, or 4.
[0036] В двенадцатой форме реализации способа согласно второму аспекту как таковому или любой предшествующей форме реализации второго аспекта смещение добавляется только к первому из двух угловых режимов в списке MPM. [0036] In the twelfth form of implementation of the method according to the second aspect as such or any previous form of implementation of the second aspect, the offset is added to only the first of the two angular modes in the MPM list.
[0037] В тринадцатой форме реализации способа согласно второму аспекту как таковому или любой предшествующей форме реализации второго аспекта, начальные режимы в списке оставшихся режимов основаны на режимах соседних блоков, не смежных непосредственно с текущим блоком. [0037] In the thirteenth form of implementation of the method according to the second aspect as such or any previous form of implementation of the second aspect, the initial modes in the list of remaining modes are based on the modes of neighboring blocks not directly adjacent to the current block.
[0038] В четырнадцатой форме реализации способа согласно второму аспекту как таковому или любой предшествующей форме реализации второго аспекта, начальные режимы в списке оставшихся режимов основаны на режимах соседей второго уровня текущего блока вместо соседей первого уровня. [0038] In the fourteenth form of implementation of the method according to the second aspect as such or any previous form of implementation of the second aspect, the initial modes in the list of remaining modes are based on the modes of the second level neighbors of the current block instead of the first level neighbors.
[0039] В пятнадцатой форме реализации способа согласно второму аспекту как таковому или любой предшествующей форме реализации второго аспекта начальные режимы в списке оставшихся режимов основаны на расположении большинства режимов в списке MPM относительно одного из планарного режима (PLANAR_IDX), режима DC (DC_IDX), вертикального режима (VER_IDX), горизонтального режима (HOR_IDX), внутреннего режима 2 (2), вертикального диагонального режима (VDIA_IDX) и диагонального режима (DIA_IDX). [0039] In the fifteenth form of implementation of the method according to the second aspect as such or any previous form of implementation of the second aspect, the initial modes in the list of remaining modes are based on the location of the majority of modes in the MPM list relative to one 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).
[0040] В шестнадцатой форме реализации способа согласно второму аспекту как таковому или любой предыдущей форме реализации второго аспекта, начальные режимы в списке оставшихся режимов определялись посредством: сравнения каждого из режимов в списке MPM с расположением различных режимы в списке режимов по умолчанию; определения того, что выигравший один из различных режимов в списке режимов по умолчанию является ближайшим к большинству режимов в списке MPM; и заполнения первых трех режимов в списке оставшихся режимов режимами, ближайшими к выигравшему одному из различных режимов в списке режимов по умолчанию. [0040] In the sixteenth form of implementation of the method according to the second aspect as such or any previous form of implementation of the second aspect, the initial modes in the list of remaining modes were determined by: comparing each of the modes in the MPM list with the location of the various modes in the default mode list; determining that the winner of one of the various modes in the default mode list is closest to the majority of the modes in the MPM list; and populating the first three modes in the list of remaining modes with the modes closest to the winning one of the various modes in the default mode list.
[0041] В семнадцатой форме реализации способа согласно второму аспекту как таковому или любой предшествующей форме реализации второго аспекта различные режимы в категории режимов содержат планарный режим (PLANAR_IDX), режим DC (DC_IDX), вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим (VDIA_IDX) и диагональный режим (DIA_IDX). [0041] In the seventeenth form of implementation of the method according to the second aspect as such or any previous form of implementation of the second aspect, the various modes in the mode category include planar mode (PLANAR_IDX), DC mode (DC_IDX), vertical mode (VER_IDX), horizontal mode (HOR_IDX), internal mode 2 (2), vertical diagonal mode (VDIA_IDX) and diagonal mode (DIA_IDX).
[0042] Третий аспект относится к устройству кодирования, выполненному с возможностью выполнения любого из предшествующих способов кодирования. [0042] A third aspect relates to an encoding device configured to perform any of the preceding encoding methods.
[0043] Четвертый аспект относится к устройству декодирования, выполненному с возможностью выполнения любого из предшествующих способов декодирования. [0043] The fourth aspect relates to a decoding device configured to perform any of the previous decoding methods.
[0044] Пятый аспект относится к устройству кодирования, включающему в себя память; и процессор, связанный с памятью, причем процессор выполнен с возможностью: выбора режима внутреннего предсказания для текущего блока; кодирования выбранного режима внутреннего предсказания с использованием усеченного двоичного кодирования, когда выбранный режим внутреннего предсказания является оставшимся режимом. [0044] A fifth aspect relates to an encoding device including a memory; and a processor associated with the memory, the processor being configured to: select an intra prediction mode for the current block; encoding the selected intra prediction mode using truncated binary coding when the selected intra prediction mode is the remaining mode.
[0045] В первой форме реализации устройства кодирования согласно пятому аспекту как таковому устройство кодирования содержит передатчик, связанный с процессором, причем передатчик выполнен с возможностью передачи закодированного выбранного режима внутреннего предсказания в устройство декодирования. [0045] In a first embodiment of the encoding device according to the fifth aspect, the encoding device itself comprises a transmitter associated with the processor, the transmitter being configured to transmit an encoded selected intra prediction mode to the decoding device.
[0046] Во второй форме реализации устройства кодирования согласно пятому аспекту как таковому или любой предшествующей форме реализации пятого аспекта процессор выполнен с возможностью реализации одного или нескольких из предшествующих аспектов или реализаций. [0046] In the second form of implementation of the encoder according to the fifth aspect as such or any previous form of implementation of the fifth aspect, the processor is configured to implement one or more of the previous aspects or implementations.
[0047] Дополнительные формы реализации устройства кодирования соответствуют соответствующим формам реализации способа кодирования согласно первому аспекту. [0047] Additional implementation forms of the encoding device correspond to the corresponding implementation forms of the encoding method according to the first aspect.
[0048] Шестой аспект относится к устройству декодирования, включающему в себя приемник, выполненный с возможностью получения усеченного двоичного кода; процессор, связанный с приемником, причем процессор выполнен с возможностью: декодирования усеченного двоичного кода для получения режима внутреннего предсказания, содержащего оставшийся режим; и формирования текущего блока с использованием полученного режима внутреннего предсказания. [0048] The sixth aspect relates to a decoding device, including a receiver configured to receive a truncated binary code; a processor associated with the receiver, the processor being configured to: decode the truncated binary code to obtain an intra prediction mode containing the remaining mode; and generating a current block using the obtained intra prediction mode.
[0049] В первой форме реализации устройства декодирования согласно шестому аспекту как таковому, устройство декодирования содержит дисплей, связанный с процессором, причем дисплей выполнен с возможностью отображения изображения, сформированного с использованием текущего блока. [0049] In the first implementation form of the decoding apparatus according to the sixth aspect as such, the decoding apparatus comprises a display associated with the processor, the display being configured to display an image generated using the current block.
[0050] Во второй форме реализации устройства кодирования согласно шестому аспекту как таковому или любой предшествующей форме реализации шестого аспекта процессор выполнен с возможностью реализации одного или нескольких из предшествующих аспектов или реализаций. [0050] In a second implementation form of the encoder according to the sixth aspect as such or any previous form of implementation of the sixth aspect, the processor is configured to implement one or more of the previous aspects or implementations.
[0051] Дополнительные формы реализации устройства декодирования соответствуют соответствующим формам реализации способа декодирования согласно второму аспекту. [0051] Additional implementation forms of the decoding device correspond to corresponding implementation forms of the decoding method according to the second aspect.
[0052] Для ясности любой из вышеупомянутых вариантов осуществления может быть объединен с любым одним или несколькими другими вышеупомянутыми вариантами осуществления для создания нового варианта осуществления в пределах объема настоящего раскрытия. Дополнительные подробности вариантов осуществления представлены в подробном описании. [0052] For clarity, any of the above embodiments may be combined with any one or more of the other above embodiments to create a new embodiment within the scope of this disclosure. Additional details of the embodiments are provided in the detailed description.
Краткое описание чертежейBrief description of the drawings
[0053] Для более полного понимания этого раскрытия теперь сделана ссылка на следующее краткое описание, взятое в связи с прилагаемыми чертежами и подробным описанием, в котором одинаковые номера позиций представляют одинаковые части. [0053] For a more complete understanding of this disclosure, reference is now made to the following brief description, taken in connection with the accompanying drawings and the detailed description, in which like reference numbers represent like parts.
[0054] Фиг. 1 - блок-схема, иллюстрирующая примерную систему кодирования, которая может использовать методы контекстного моделирования. [0054] FIG. 1 is a block diagram illustrating an exemplary coding system that may use context modeling techniques.
[0055] Фиг. 2 - блок-схема, иллюстрирующая пример видеокодера, который может реализовывать методы контекстного моделирования. [0055] FIG. 2 is a block diagram illustrating an example of a video encoder that can implement context modeling techniques.
[0056] Фиг. 3 - блок-схема, иллюстрирующая пример видеодекодера, который может реализовывать методы контекстного моделирования. [0056] FIG. 3 is a block diagram illustrating an example of a video decoder that can implement context modeling techniques.
[0057] Фиг. 4 - схематическая диаграмма текущей единицы кодирования и пяти соседних блоков. [0057] FIG. 4 is a schematic diagram of the current coding unit and five neighboring blocks.
[0058] Фиг. 5 - схематическая диаграмма текущей единицы кодирования, соседей первого уровня и соседей второго уровня. [0058] FIG. 5 is a schematic diagram of the current coding unit, first layer neighbors, and second layer neighbors.
[0059] Фиг. 6 - схематическая диаграмма примера 67 режимов внутреннего предсказания. [0059] FIG. 6 is a schematic diagram of an example of 67 intra prediction modes.
[0060] Фиг. 7 - схематическая диаграмма примерного устройства кодирования видео. [0060] FIG. 7 is a schematic diagram of an exemplary video encoding apparatus.
Подробное описаниеDetailed description
[0061] С самого начала следует понимать, что раскрытые системы и/или способы могут быть реализованы с использованием любого количества методов, известных в настоящее время или существующих. Раскрытие никоим образом не должно ограничиваться иллюстративными реализациями, чертежами и методами, проиллюстрированными ниже, включая иллюстративные схемы и реализации, проиллюстрированные и описанные здесь. [0061] It should be understood from the outset that the disclosed systems and/or methods may be implemented using any number of techniques currently known or existing. The disclosure should in no way be limited to the illustrative implementations, drawings, and methods illustrated below, including the illustrative circuits and implementations illustrated and described herein.
[0062] Фиг. 1 является блок-схемой, иллюстрирующей примерную систему 10 кодирования, которая может подходить для реализации различных методов видеокодирования, предсказания или сжатия. Как показано на фиг. 1, система 10 кодирования включает в себя устройство-источник 12, которое обеспечивает закодированные видеоданные для декодирования позднее посредством устройства-адресата 14 назначения. В частности, устройство-источник 12 может обеспечивать видеоданные в устройство-адресат 14 через считываемый компьютером носитель 16 данных. Устройство-источник 12 и устройство-адресат 14 могут включать в себя любое из широкого диапазона устройств, включая настольные компьютеры, ноутбуки (т.е. портативные компьютеры), планшетные компьютеры, телевизионные приставки, телефонные трубки, такие как так называемые «умные» телефоны, так называемые «умные» планшеты, телевизоры, камеры, устройства отображения, цифровые медиаплееры, игровые приставки, устройства для потоковой передачи видео и т.п. В некоторых случаях устройство-источник 12 и устройство-адресат 14 могут быть оборудованы для беспроводной связи. [0062] FIG. 1 is a block diagram illustrating an
[0063] Устройство-адресат 14 может принимать закодированные видеоданные для декодирования через считываемый компьютером носитель 16 данных. Считываемый компьютером носитель 16 данных может содержать любой тип носителя данных или устройства, способного перемещать закодированные видеоданные с устройства-источника 12 на устройство-адресат 14. В одном примере считываемый компьютером носитель 16 данных может содержать среду связи, позволяющую устройству-источнику 12 передавать закодированные видеоданные непосредственно на устройство-адресат 14 в реальном времени. Кодированные видеоданные могут быть модулированы согласно стандарту связи, например протоколу беспроводной связи, и переданы на устройство-адресат 14. Среда связи может содержать любую беспроводную или проводную среду связи, такую как радиочастотный (RF - radio frequency) спектр или одну или несколько физических линий передачи. Среда связи может составлять часть сети на основе пакетов, такой как локальная сеть, широкомасштабная сеть или глобальная сеть, такая как Интернет. Среда связи может включать в себя маршрутизаторы, коммутаторы, базовые станции или любое другое оборудование, которое может быть полезно для облегчения связи от устройства-источника 12 к устройству-адресату 14. [0063]
[0064] В некоторых примерах закодированные данные могут выводиться из интерфейса 22 вывода в устройство хранения. Точно так же к закодированным данным можно получить доступ с запоминающего устройства через интерфейс ввода. Запоминающее устройство может включать в себя любой из множества распределенных или локально доступных носителей данных, таких как жесткий диск, диски Blu-ray, цифровые видеодиски (DVD - digital video disk), компакт-диски с постоянным запоминающим устройством (CD-ROM), флэш-память, энергозависимая или энергонезависимая память или любой другой подходящий цифровой носитель для хранения кодированных видеоданных. В дополнительном примере запоминающее устройство может соответствовать файловому серверу или другому промежуточному запоминающему устройству, которое может хранить кодированное видео, сформированное посредством устройства-источника 12. Устройство-адресат 14 может получить доступ к сохраненным видеоданным с запоминающего устройства посредством потоковой передачи или загрузки. Файловый сервер может быть сервером любого типа, выполненным с возможностью хранения кодированных видеоданных и передачи этих закодированных видеоданных на устройство-адресат 14. Примеры файловых серверов включают в себя веб-сервер (например, для веб-сайта), сервер протокола передачи файлов (FTP - file transfer protocol), устройства сетевого хранилища данных (NAS - network attached storage) или локальный диск. Устройство-адресат 14 может получить доступ к закодированным видеоданным через любое стандартное соединение для передачи данных, включая Интернет- соединение. Это может включать в себя беспроводной канал (например, соединение Wi-Fi), проводное соединение (например, цифровую абонентскую линию (DSL - digital subscriber line), кабельный модем и т.д.) или их комбинацию, которая подходит для доступа к кодированным видеоданным, сохраненным на файловом сервере. Передача закодированных видеоданных с запоминающего устройства может быть потоковой передачей, загрузкой или их комбинацией. [0064] In some examples, encoded data may be output from the
[0065] Методы этого раскрытия необязательно ограничиваются беспроводными применениями или настройками. Эти методы могут применяться к кодированию видео для поддержки любого из множества мультимедийных применений, таких как эфирное телевещание, передачи кабельного телевидения, передачи спутникового телевидения, потоковые передачи видео через Интернет, такие как динамическая адаптивная потоковая передача через HTTP (DASH - dynamic adaptive streaming over HTTP), цифровое видео, которое кодируется на носителе данных, декодирование цифрового видео, хранящегося на носителе данных, или другие применения. В некоторых примерах система 10 кодирования может быть выполнена с возможностью поддержки односторонней или двусторонней передачи видео для поддержки таких применений, как потоковая передача видео, воспроизведение видео, широковещательная передача видео и/или видеотелефония. [0065] The techniques of this disclosure are not necessarily limited to wireless applications or settings. These techniques can be applied to video coding to support any of a variety of multimedia applications such as terrestrial television, cable television transmissions, satellite television transmissions, video streaming over the Internet such as dynamic adaptive streaming over HTTP (DASH). ), digital video that is encoded on a storage medium, decoding of digital video stored on a storage medium, or other applications. In some examples,
[0066] В примере на фиг. 1, устройство-источник 12 включает в себя видеоисточник 18, видеокодер 20 и интерфейс 22 вывода. Устройство-адресат 14 включает в себя интерфейс 28 ввода, видеодекодер 30 и устройство 32 отображения. В соответствии с этим раскрытием видеокодер 20 устройства-источника 12 и/или видеодекодер 30 устройства-адресата 14 может быть выполнен с возможностью применения методов двунаправленного предсказания. В других примерах устройство-источник и устройство-адресат могут включать в себя другие компоненты или устройства. Например, устройство-источник 12 может принимать видеоданные от внешнего источника видео, такого как внешняя камера. Аналогично, устройство-адресат 14 может взаимодействовать с внешним устройством отображения, а не включать в себя встроенное устройство отображения. [0066] In the example of FIG. 1,
[0067] Проиллюстрированная система 10 кодирования на фиг. 1 - всего лишь один пример. Методы двунаправленного предсказания могут выполняться посредством любого устройства кодирования и/или декодирования цифрового видео. Хотя методы этого раскрытия сущности обычно выполняются посредством устройства кодирования видео, методы также могут выполняться посредством кодера/декодера видео, обычно называемого «КОДЕК». Кроме того, методы этого раскрытия также могут выполняться посредством процессора предварительной обработки видео. Видеокодер и/или декодер могут быть графическим процессором (GPU - graphics processing unit) или подобным устройством. [0067] The illustrated
[0068] Устройство-источник 12 и устройство-адресат 14 являются просто примерами таких устройств кодирования, в которых устройство-источник 12 формирует кодированные видеоданные для передачи на устройство-адресат 14. В некоторых примерах устройство-источник 12 и устройство-адресат 14 могут работать по существу симметрично, так что каждое из устройства-источника 12 и устройства-адресата 14 включает в себя компоненты кодирования и декодирования видео. Следовательно, система 10 кодирования может поддерживать одностороннюю или двустороннюю передачу видео между видеоустройствами 12, 14, например, для потоковой передачи видео, воспроизведения видео, широковещательной передачи видео или видеотелефонии. [0068]
[0069] Источник 18 видео устройства-источника 12 может включать в себя устройство захвата видео, такое как видеокамера, видеоархив, содержащее ранее захваченное видео, и/или интерфейс видеопотока для приема видео от поставщика видео контента. В качестве дополнительной альтернативы источник 18 видео может формировать данные на основе компьютерной графики в качестве исходного видео или комбинацию видео в реальном времени, архивированного видео и компьютерного видео. [0069]
[0070] В некоторых случаях, когда источником 18 видео является видеокамера, устройство-источник 12 и устройство-адресат 14 могут образовывать так называемые телефоны с камерой или видеотелефоны. Однако, как упомянуто выше, методы, описанные в этом раскрытии сущности, могут быть применимы к кодированию видео в целом и могут применяться к беспроводным и/или проводным применениям. В каждом случае захваченное, предварительно захваченное или сформированное компьютером видео может быть закодировано посредством видеокодера 20. Затем закодированная видеоинформация может выводиться через интерфейс 22 вывода в считываемый компьютером носитель 16 данных. [0070] In some cases where
[0071] Считываемый компьютером носитель 16 данных может включать в себя временные носители данных, такие как беспроводное вещание или передача по проводной сети, или носители данных (то есть энергонезависимые носители данных), такие как жесткий диск, флэш-накопитель, компакт-диск, цифровой видеодиск, диск Blu-ray или другой считываемый компьютером носитель данных. В некоторых примерах сетевой сервер (не показан) может принимать закодированные видеоданные от устройства-источника 12 и обеспечивать закодированные видеоданные в устройство-адресат 14, например, через сетевую передачу. Точно так же вычислительное устройство средства производства носителя данных, такого как средство штамповки диска, может принимать закодированные видеоданные от устройства-источника 12 и создавать диск, содержащий закодированные видеоданные. Следовательно, можно понимать, что считываемый компьютером носитель 16 данных включает в себя один или несколько считываемых компьютером носителей данных различных форм в различных примерах. [0071] Computer-
[0072] Интерфейс 28 ввода устройства-адресата 14 принимает информацию из считываемого компьютером носителя 16 данных. Информация считываемого компьютером носителя 16 данных может включать в себя синтаксическую информацию, определенную посредством видеокодера 20, которая также используется посредством видеодекодера 30, которая включает в себя элементы синтаксиса, которые описывают характеристики и/или обработку блоков и других кодированных единиц, например группы изображений (GOP - group of pictures). Устройство 32 отображения отображает декодированные видеоданные пользователю и может содержать любое из множества устройств отображения, таких как электронно-лучевая трубка (CRT - cathode ray tube), жидкокристаллический дисплей (LCD - liquid crystal display), плазменный дисплей, органический светоизлучающий диод (OLED - organic light emitting diode) или другое устройство отображения. [0072] The
[0073] Видеокодер 20 и видеодекодер 30 могут работать в соответствии со стандартом видеокодирования, таким как разрабатываемый в настоящее время стандарт высокоэффективного видеокодирования (HEVC - High Efficiency Video Coding), и могут соответствовать тестовой модели HEVC (HM - HEVC Test Model). В качестве альтернативы видеокодер 20 и видеодекодер 30 могут работать в соответствии с другими частными или отраслевыми стандартами, такими как стандарт H.264 Сектора стандартизации телекоммуникаций Международного союза телекоммуникаций (ITU-T), также называемый Экспертная группа по движущимся изображениям (MPEG - Moving Picture Expert Group) - 4, часть 10, Усовершенствованное кодирование видео (AVC - Advanced Video Coding), H.265/HEVC или расширениями таких стандартов. Однако методы этого раскрытия не ограничиваются каким-либо конкретным стандартом кодирования. Другие примеры стандартов кодирования видео включают в себя MPEG-2 и ITU-T H.263. Хотя это не показано на фиг. 1, в некоторых аспектах видеокодер 20 и видеодекодер 30 могут быть интегрированы с аудиокодером и декодером и могут включать в себя соответствующие блоки мультиплексора-демультиплексора (MUX-DEMUX) или другое аппаратное и программное обеспечение для обработки кодирования как аудио, так и видео в общем потоке данных или в отдельных потоках данных. Если применимо, блоки MUX-DEMUX могут соответствовать протоколу мультиплексора ITU H.223 или другим протоколам, таким как протокол пользовательских дейтаграмм (UDP - user datagram protocol). [0073]
[0074] Видеокодер 20 и видеодекодер 30 каждый может быть реализован как любая из множества подходящих схем кодера, таких как один или несколько микропроцессоров, процессоров цифровых сигналов (DSP - digital signal processor), специализированных интегральных схем (ASIC - application specific integrated circuit), программируемых пользователем вентильных матриц (FPGA - field programmable gate array), дискретная логика, программное обеспечение, аппаратное обеспечение, прошивка или любые их комбинации. Когда методы частично реализованы в программном обеспечении, устройство может хранить инструкции для программного обеспечения на подходящем энергонезависимом считываемом компьютером носителе данных и выполнять инструкции в аппаратных средствах с использованием одного или нескольких процессоров для выполнения методов этого раскрытия сущности. Каждый из видеокодера 20 и видеодекодера 30 может быть включен в один или несколько кодеров или декодеров, каждый из которых может быть интегрирован как часть комбинированного кодера/декодера (CODEC) в соответствующем устройстве. Устройство, включающее в себя видеокодер 20 и/или видеодекодер 30, может содержать интегральную схему, микропроцессор и/или устройство беспроводной связи, такое как сотовый телефон. [0074]
[0075] Фиг. 2 является блок-схемой, иллюстрирующей пример видеокодера 20, который может реализовывать методы двунаправленного предсказания. Видеокодер 20 может выполнять внутреннее и внешнее кодирование видеоблоков внутри видеослайсов. Внутреннее кодирование основывается на пространственном предсказании для уменьшения или удаления пространственной избыточности в видео в данном видеокадре или изображении. Внешнее кодирование основывается на временном предсказании для уменьшения или удаления временной избыточности в видео в соседних кадрах или изображениях видеопоследовательности. Внутренний режим (I-режим) может относиться к любому из нескольких режимов пространственного кодирования. Внешние режимы, такие как однонаправленное предсказание (режим P) или двунаправленное предсказание (режим B), могут относиться к любому из нескольких режимов кодирования на основе времени. [0075] FIG. 2 is a block diagram illustrating an example of
[0076] Как показано на фиг. 2, видеокодер 20 принимает текущий видеоблок внутри видеокадра, который должен быть кодирован. В примере на фиг. 2, видеокодер 20 включает в себя блок 40 выбора режима, память 64 опорных кадров, сумматор 50, блок 52 обработки преобразования, блок 54 квантования и блок 56 энтропийного кодирования. Блок 40 выбора режима, в свою очередь, включает в себя блок 44 компенсации движения, блок 42 оценки движения, блок 46 внутреннего предсказания и блок 48 разделения. Для восстановления видеоблока видеокодер 20 также включает в себя блок 58 обратного квантования, блок 60 обратного преобразования и сумматор 62. Фильтр удаления блочности (не показан на фиг. 2) также может быть включен для фильтрации границ блоков для удаления артефактов блочности из восстановленного видео. При желании фильтр удаления блочности обычно фильтрует выходной сигнал сумматора 62. Дополнительные фильтры (в цикле или после цикла) также могут использоваться в дополнение к фильтру удаления блочности. Такие фильтры не показаны для краткости, но при желании могут фильтровать выходной сигнал сумматора 50 (как внутриконтурный фильтр). [0076] As shown in FIG. 2,
[0077] Во время процесса кодирования видеокодер 20 принимает видеокадр или слайс для кодирования. Кадр или слайс можно разделить на несколько видеоблоков. Блок 42 оценки движения и блок 44 компенсации движения выполняют кодирование с внешним предсказанием принятого видеоблока относительно одного или нескольких блоков в одном или нескольких опорных кадрах для обеспечения временного предсказания. Блок 46 внутреннего предсказания может альтернативно выполнять кодирование с внутренним предсказанием принятого видеоблока относительно одного или нескольких соседних блоков в том же кадре или слайсе, что и блок, который должен быть кодирован, для обеспечения пространственного предсказания. Видеокодер 20 может выполнять несколько проходов кодирования, например, для выбора соответствующего режима кодирования для каждого блока видеоданных. [0077] During the encoding process,
[0078] Более того, блок 48 разделения может разбивать блоки видеоданных на подблоки на основе оценки предыдущих схем разделения в предыдущих проходах кодирования. Например, блок 48 разделения может первоначально разделить кадр или слайс на наибольшие единицы кодирования (LCU - largest coding unit) и разделить каждую из LCU на единицы субкодирования (суб-CU - sub-coding unit) на основе анализа скорости и искажения (например, оптимизации скорости и искажения). Блок 40 выбора режима может дополнительно формировать структуру данных квадродерева, указывающую разделение LCU на суб-CU. CU вершин дерева квадрантов могут включать в себя одну или несколько единиц предсказания (PU - prediction unit) и одну или несколько единиц преобразования (TU - transform unit). [0078] Moreover, the
[0079] В настоящем раскрытии используется термин «блок» для обозначения любой из CU, PU или TU в контексте HEVC или аналогичных структур данных в контексте других стандартов (например, макроблоков и их подблоков в H.264/AVC). CU включает в себя узел кодирования, PU и TU, связанные с узлом кодирования. Размер CU соответствует размеру узла кодирования и имеет квадратную форму. Размер CU может варьироваться от 8 × 8 пикселей до размера древовидного блока с максимум 64 × 64 пикселей или больше. Каждая CU может содержать одну или несколько PU и одну или несколько TU. Данные синтаксиса, связанные с CU, могут описывать, например, разделение CU на одну или несколько PU. Режимы разделения могут различаться в зависимости от того, кодируется ли CU в режиме пропуска или в прямом режиме, в режиме внутреннего предсказания или в режиме внешнего предсказания. PU могут быть разделены на части, чтобы иметь неквадратную форму. Данные синтаксиса, связанные с CU, также могут описывать, например, разделение CU на одну или несколько TU согласно квадродереву. TU может иметь квадратную или неквадратную (например, прямоугольную) форму. [0079] The present disclosure uses the term "block" to refer to any of the CU, PU, or TU in the context of HEVC, or similar data structures in the context of other standards (eg, macroblocks and their subblocks in H.264/AVC). The CU includes an encoding node, PUs and TUs associated with an encoding node. The size of the CU corresponds to the size of the coding unit and is square in shape. The size of a CU can vary from 8×8 pixels to a treeblock size with a maximum of 64×64 pixels or more. Each CU may contain one or more PUs and one or more TUs. Syntax data associated with a CU may describe, for example, the division of a CU into one or more PUs. The split modes may differ depending on whether the CU is encoded in skip mode or direct mode, intra prediction mode or inter prediction mode. PUs can be split to be non-square. The syntax data associated with the CU may also describe, for example, the division of the CU into one or more TUs according to a quadtree. The TU may be square or non-square (eg, rectangular) in shape.
[0080] Блок 40 выбора режима может выбрать один из режимов кодирования, внутренний или внешний, например, на основе результатов ошибок, и обеспечивает результирующий блок с внутренним или внутренним кодированием сумматору 50 для формирования данных остаточного блока и сумматору 62 для восстановления закодированного блока для использования в качестве опорного кадра. Блок 40 выбора режима также обеспечивает элементы синтаксиса, такие как векторы движения, индикаторы внутреннего режима, информацию разделения и другую такую информацию синтаксиса, в блок 56 энтропийного кодирования. [0080] The
[0081] Блок 42 оценки движения и блок 44 компенсации движения могут быть высоко интегрированы, но для концептуальных целей показаны отдельно. Оценка движения, выполняемая посредством блока 42 оценки движения, представляет собой процесс формирования векторов движения, которые оценивают движение для видеоблоков. Вектор движения, например, может указывать на перемещение PU видеоблока внутри текущего кадра видео или изображений по отношению к предсказательному блоку в опорном кадре (или другой кодированной единице) по отношению к текущему блоку, кодируемому в пределах текущего кадра (или другой кодированной единицы). Предсказательный блок - это блок, который, как установлено, близко соответствует блоку, который должен быть кодирован, с точки зрения разности пикселей, которая может быть определена посредством суммы абсолютной разности (SAD - sum of absolute difference), суммы разности квадратов (SSD - sum of square difference) или других показателей разности. В некоторых примерах видеокодер 20 может вычислять значения для положений субцелочисленных пикселей опорных изображений, сохраненных в памяти 64 опорных кадров. Например, видеокодер 20 может интерполировать значения одной четвертой положений пикселей, одной восьмой положений пикселей, или других дробных положений пикселей опорного изображения. Следовательно, блок 42 оценки движения может выполнять поиск движения относительно положений целых пикселей и положений дробных пикселей и выводить вектор движения с точностью до дробных пикселей. [0081] The
[0082] Блок 42 оценки движения вычисляет вектор движения для PU видеоблока в внешне кодированном слайсе посредством сравнения положения PU с положением предсказательного блока опорного изображения. Опорное изображение может быть выбрано из первого списка опорных изображений (List 0) или второго списка опорных изображений (List 1), каждый из которых идентифицирует одно или более опорных изображений, сохраненных в памяти 64 опорных кадров. Блок 42 оценки движения отправляет вычисленный вектор движения в блок 56 энтропийного кодирования и блок 44 компенсации движения. [0082] The
[0083] Компенсация движения, выполняемая посредством блока 44 компенсации движения, может включать в себя получение или формирование предсказательного блока на основе вектора движения, определенного посредством блока 42 оценки движения. Опять же, в некоторых примерах блок 42 оценки движения и блок 44 компенсации движения могут быть функционально интегрированы. После приема вектора движения для PU текущего видеоблока блок 44 компенсации движения может найти предсказательный блок, на который указывает вектор движения, в одном из списков опорных изображений. Сумматор 50 формирует остаточный видеоблок посредством вычитания значений пикселей предсказательного блока из значений пикселей текущего кодируемого видеоблока, формируя значения разности пикселей, как обсуждается ниже. В общем, блок 42 оценки движения выполняет оценку движения относительно компонентов яркости, а блок 44 компенсации движения использует векторы движения, вычисленные на основе компонентов яркости как для компонентов цветности, так и для компонентов яркости. Блок 40 выбора режима также может формировать элементы синтаксиса, связанные с видеоблоками и видеослайсом, для использования посредством видеодекодера 30 при декодировании видеоблоков видеослайса. [0083] The motion compensation performed by the
[0084] Блок 46 внутреннего предсказания может внутренне предсказывать текущий блок в качестве альтернативы внешнему предсказанию, выполняемому посредством блока 42 оценки движения и блока 44 компенсации движения, как описано выше. В частности, блок 46 внутреннего предсказания может определять режим внутреннего предсказания для использования для кодирования текущего блока. В некоторых примерах блок 46 внутреннего предсказания может кодировать текущий блок с использованием различных режимов внутреннего предсказания, например, во время отдельных проходов кодирования, а блок 46 внутреннего предсказания (или блок 40 выбора режима в некоторых примерах) может выбрать соответствующий режим внутреннего предсказания для использования из тестируемых режимов. [0084] The
[0085] Например, блок 46 внутреннего предсказания может вычислять значения скорости и искажения с использованием анализа скорости и искажения для различных тестируемых режимов внутреннего предсказания и выбирать режим внутреннего предсказания, имеющий лучшие характеристики скорости и искажения среди тестируемых режимов. Анализ скорости и искажения обычно определяет величину искажения (или ошибки) между закодированным блоком и исходным некодированным блоком, который был закодирован для создания закодированного блока, а также битовую скорость передачи данных (то есть количество битов), используемую для создания закодированного блока. Блок 46 внутреннего предсказания может вычислять отношения из искажений и скоростей для различных кодированных блоков для определения того, какой режим внутреннего предсказания показывает наилучшее значение скорости и искажения для блока. [0085] For example,
[0086] Кроме того, блок 46 внутреннего предсказания может быть выполнен с возможностью кодирования блоков глубины карты глубины с использованием режима моделирования глубины (DMM - depth modeling mode). Блок 40 выбора режима может определять, дает ли доступный режим DMM лучшие результаты кодирования, чем режим внутреннего предсказания и другие режимы DMM, например, используя оптимизацию скорости и искажения (RDO - rate-distortion optimization). Данные для изображения текстуры, соответствующего карте глубины, могут храниться в памяти 64 опорных кадров. Блок 42 оценки движения и блок 44 компенсации движения также могут быть выполнены с возможностью взаимного предсказания блоков глубины карты глубины. [0086] In addition, the
[0087] После выбора режима внутреннего предсказания для блока (например, обычного режима внутреннего предсказания или одного из режимов DMM), блок 46 внутреннего предсказания может обеспечить информацию, указывающую выбранный режим внутреннего предсказания для блока 56 энтропийного кодирования. Блок 56 энтропийного кодирования может кодировать информацию, указывающую выбранный режим внутреннего предсказания. Видеокодер 20 может включать в передаваемые данные конфигурации битового потока, которые могут включать в себя множество таблиц индексов режима внутреннего предсказания и множество модифицированных таблиц индексов режима внутреннего предсказания (также называемых таблицами отображения кодовых слов), определения контекстов кодирования для различных блоков и индикации наиболее вероятного режима внутреннего предсказания, таблицу индексов режима внутреннего предсказания и модифицированную таблицу индексов режима внутреннего предсказания для использования в каждом из контекстов. [0087] After selecting an intra prediction mode for a block (eg, a normal intra prediction mode or one of the DMM modes),
[0088] Видеокодер 20 формирует остаточный видеоблок посредством вычитания данных предсказания из блока 40 выбора режима из исходного видеоблока, подлежащего кодированию. Сумматор 50 представляет компонент или компоненты, которые выполняют эту операцию вычитания. [0088] The
[0089] Блок 52 обработки преобразования применяет преобразование, такое как дискретное косинусное преобразование (DCT - discrete cosine transform) или концептуально аналогичное преобразование, к остаточному блоку, создавая видеоблок, содержащий значения коэффициентов остаточного преобразования. Блок 52 обработки преобразования может выполнять другие преобразования, которые концептуально аналогичны DCT. Также могут использоваться преобразования элементарных волн, целочисленные преобразования, преобразования поддиапазонов или другие типы преобразований. [0089] Transform processing
[0090] Блок 52 обработки преобразования применяет преобразование к остаточному блоку, создавая блок остаточных коэффициентов преобразования. Преобразование может преобразовывать остаточную информацию из области значений пикселей в область преобразования, такую как частотная область. Блок 52 обработки преобразования может отправлять результирующие коэффициенты преобразования в блок 54 квантования. Блок 54 квантования квантует коэффициенты преобразования, чтобы дополнительно снизить скорость передачи битов. Процесс квантования может уменьшить битовую глубину, связанную с некоторыми или всеми коэффициентами. Степень квантования может быть изменена посредством регулирования параметра квантования. В некоторых примерах блок 54 квантования может затем выполнить сканирование матрицы, включающей в себя квантованные коэффициенты преобразования. В качестве альтернативы блок 56 энтропийного кодирования может выполнять сканирование. [0090] The
[0091] После квантования блок 56 энтропийного кодирования энтропийно кодирует квантованные коэффициенты преобразования. Например, блок 56 энтропийного кодирования может выполнять контекстно-адаптивное кодирование с переменной длиной (CAVLC - context adaptive variable length coding), контекстно-адаптивное двоичное арифметическое кодирование (CABAC - context adaptive binary arithmetic coding), контекстно-адаптивное двоичное арифметическое кодирование на основе синтаксиса (SBAC - syntax-based context-adaptive binary arithmetic coding), энтропийное кодирование разделения с интервалом вероятности (PIPE - probability interval partitioning entropy) или другой метод энтропийного кодирования. В случае энтропийного кодирования на основе контекста контекст может быть основан на соседних блоках. После энтропийного кодирования посредством блока 56 энтропийного кодирования закодированный битовый поток может быть передан другому устройству (например, видеодекодеру 30) или заархивирован для последующей передачи или поиска. [0091] After quantization,
[0092] Блок обратного квантования 58 и блок 60 обратного преобразования применяют обратное квантование и обратное преобразование, соответственно, для восстановления остаточного блока в области пикселей, например, для последующего использования в качестве опорного блока. Блок 44 компенсации движения может вычислять опорный блок, добавляя остаточный блок к предсказательному блоку одного из кадров памяти 64 опорных кадров. Блок 44 компенсации движения также может применять один или несколько фильтров интерполяции к восстановленному остаточному блоку для вычисления значений субцелочисленных пикселей для использования при оценке движения. Сумматор 62 добавляет восстановленный остаточный блок к блоку предсказания с компенсацией движения, созданному посредством блока 44 компенсации движения, чтобы создать восстановленный видеоблок для хранения в памяти 64 опорных кадров. Восстановленный видеоблок может быть использован посредством блока 42 компенсации движения и блока 44 оценки движения в качестве опорного блока для внешнего кодирования блока в последующем видеокадре. [0092]
[0093] Фиг. 3 является блок-схемой, иллюстрирующей пример видеодекодера 30, который может реализовывать методы двунаправленного предсказания. В примере на фиг. 3, видеодекодер 30 включает в себя блок 70 энтропийного декодирования, блок 72 компенсации движения, блок 74 внутреннего предсказания, блок 76 обратного квантования, блок 78 обратного преобразования, память 82 опорных кадров и сумматор 80. Видеодекодер 30 может, в некоторых примерах, выполнять этап декодирования, в целом обратный этапу кодирования, описанному в отношении видеокодера 20 (фиг. 2). Блок 72 компенсации движения может формировать данные предсказания на основе векторов движения, принятых от блока 70 энтропийного декодирования, в то время как блок 74 внутреннего предсказания может формировать данные предсказания на основе индикаторов режима внутреннего предсказания, принятых от блока 70 энтропийного декодирования. [0093] FIG. 3 is a block diagram illustrating an example of a
[0094] Во время процесса декодирования видеодекодер 30 принимает закодированный битовый поток видео, который представляет видеоблоки закодированного видеослайса и связанные элементы синтаксиса от видеокодера 20. Блок 70 энтропийного декодирования видеодекодера 30 энтропийно декодирует битовый поток для формирования квантованных коэффициентов, векторов движения или индикаторов режима внутреннего предсказания и других элементов синтаксиса. Блок 70 энтропийного декодирования пересылает векторы движения и другие элементы синтаксиса в блок 72 компенсации движения. Видеодекодер 30 может принимать элементы синтаксиса на уровне видеослайса и/или уровне видеоблока. [0094] During the decoding process,
[0095] Когда видеослайс кодируется как внутренне кодированный (I) слайс, блок 74 внутреннего предсказания может сформировать данные предсказания для видеоблока текущего видеослайса на основе сигнализированного режима внутреннего предсказания и данных из ранее декодированных блоков текущего кадра или изображения. Когда видеокадр кодируется как внешне кодированный (т.е. B, P или GPB) слайс, блок 72 компенсации движения создает предсказательные блоки для видеоблока текущего видеослайса на основе векторов движения и других элементов синтаксиса, полученных от блока 70 энтропийного декодирования. Предсказательные блоки могут быть созданы из одного из опорных изображений в одном из списков опорных изображений. Видеодекодер 30 может создавать списки опорных кадров, Список 0 и Список 1, используя методы построения по умолчанию на основе опорных изображений, сохраненных в памяти 82 опорных кадров. [0095] When a video slice is encoded as an intra-coded (I) slice,
[0096] Блок 72 компенсации движения определяет информацию предсказания для видеоблока текущего видеослайса посредством анализа векторов движения и других элементов синтаксиса и использует информацию предсказания для создания предсказательных блоков для текущего видеоблока, подлежащего декодированию. Например, блок 72 компенсации движения использует некоторые из принятых элементов синтаксиса для определения режима предсказания (например, внутреннее или внешнее предсказание), используемого для кодирования видеоблоков видеослайса, типа слайса с внешним предсказанием (например, слайс B, слайс P или слайс GPB), информации о построении для одного или нескольких списков опорных изображений для слайса, векторов движения для каждого внешне кодированного видеоблока слайса, состояния внешнего предсказания для каждого внешне кодированного видеоблока слайса и другой информации для декодирования видеоблоков в текущем видеослайсе. [0096] The
[0097] Блок 72 компенсации движения также может выполнять интерполяцию на основе фильтров интерполяции. Блок 72 компенсации движения может использовать фильтры интерполяции, которые используются посредством видеокодера 20 во время кодирования видеоблоков для вычисления интерполированных значений для субцелочисленных пикселей опорных блоков. В этом случае блок 72 компенсации движения может определять фильтры интерполяции, используемые посредством видеокодера 20, из принятых элементов синтаксиса и использовать фильтры интерполяции для создания предсказательных блоков. [0097] The
[0098] Данные для изображения текстуры, соответствующего карте глубины, могут храниться в памяти 82 опорных кадров. Блок 72 компенсации движения также может быть выполнен с возможностью взаимного предсказания блоков глубины карты глубины. [0098] Data for a texture image corresponding to a depth map may be stored in the 82 reference frame memory. The
[0099] Хотя некоторые варианты осуществления описаны в данном документе с использованием концепции слайсов, варианты осуществления могут использовать клетки и/или группы клеток вместо или в дополнение к слайсам. [0099] Although some embodiments are described herein using the concept of slices, embodiments may use cells and/or groups of cells instead of or in addition to slices.
[00100] Определения сокращений и глоссарий[00100] Definitions of abbreviations and glossary
[00101] CTU/CTB - Coding Tree Unit/Coding Tree Block – единица дерева кодирования/блок дерева кодирования [00101] CTU / CTB - Coding Tree Unit / Coding Tree Block - coding tree unit / coding tree block
[00102] CU/CB - Coding Unit/Coding Block – единица кодирования/блок кодирования [00102] CU/CB - Coding Unit/Coding Block
[00103] PU/PB - Prediction Unit/Prediction Block – единица предсказания/блок предсказания [00103] PU/PB - Prediction Unit/Prediction Block
[00104] TU/TB - Transform Unit/Transform Block – единица преобразования/блок преобразования [00104] TU/TB - Transform Unit/Transform Block
[00105] HEVC - высокоэффективное кодирование видео[00105] HEVC - High Efficiency Video Coding
[00106] Схемы кодирования видео, такие как H.264/AVC и HEVC, разработаны на основе успешного принципа гибридного кодирования видео на основе блоков. Используя этот принцип, изображение сначала разделяется на блоки, а затем каждый блок предсказывается с использованием внутрикадрового или межкадрового предсказания. [00106] Video coding schemes such as H.264/AVC and HEVC are developed based on the successful concept of block-based hybrid video coding. Using this principle, the image is first divided into blocks, and then each block is predicted using intra-frame or inter-frame prediction.
[00107] ITU-T VCEG (Q6/16) и ISO/IEC MPEG (JTC 1/SC 29/WG 11) изучают потенциальную потребность в стандартизации будущей технологии кодирования видео с возможностью сжатия, которая значительно превосходит возможности текущего стандарта HEVC (включая его текущие расширения и краткосрочные расширения для кодирования содержимого экрана и кодирования с высоким динамическим диапазоном). Группы работают вместе над этой исследовательской деятельностью в рамках совместного сотрудничества, известного как Совместная команда по исследованию видео (JVET - Joint Video Exploration Team), для оценки проектов технологий сжатия, предложенных их экспертами в этой области. [00107] ITU-T VCEG (Q6/16) and ISO/IEC MPEG (JTC 1/SC 29/WG 11) are exploring the potential need to standardize a future compression-capable video coding technology that far exceeds the capabilities of the current HEVC standard (including its current extensions and short term extensions for screen content encoding and high dynamic range encoding). The groups work together on these research activities in a collaborative collaboration known as the Joint Video Exploration Team (JVET) to evaluate compression technology projects proposed by their experts in the field.
[00108] Стандарт VTM (Versatile Test Model - универсальная тестовая модель) использует 35 внешних режимов, тогда как BMS (Benchmark Set - набор тестов) использует 67 внутренних режимов. Для кодирования 67 внутренних режимов текущая схема кодирования внутреннего режима в BMS использует следующий способ. [00108] The VTM (Versatile Test Model) standard uses 35 external modes, while the BMS (Benchmark Set) uses 67 internal modes. To encode 67 intra modes, the current intra mode coding scheme in BMS uses the following method.
[00109] Чтобы приспособиться к увеличенному количеству направленных внутренних режимов в BMS, используется способ кодирования внутреннего режима с 6 наиболее вероятными режимами (MPM). Здесь задействованы два основных технических аспекта. [00109] In order to accommodate the increased number of directional intra modes in the BMS, a 6 Most Likely Mode (MPM) intra mode coding method is used. There are two main technical aspects involved here.
[00110] 1) получение 6 MPM, и[00110] 1) receiving 6 MPM, and
[00111] 2) энтропийное кодирование 6 MPM и не-MPM режимов. [00111] 2) entropy encoding of 6 MPM and non-MPM modes.
[00112] В BMS режимы, включенные в списки MPM, делятся на три группы: Соседние внутренние режимы, Полученные внутренние режимы и Внутренние режимы по умолчанию. [00112] In BMS, the modes included in the MPM lists are divided into three groups: Adjacent Intramodes, Received Intramodes, and Default Intramodes.
[00113] Фиг. 4 изображает текущую единицу 400 кодирования и пять соседних блоков 402. Текущая единица 400 кодирования также может называться текущим блоком кодирования. Пять соседних режимов внутреннего предсказания или, другими словами, режимов внутреннего предсказания пяти соседних блоков, используются для формирования списка MPM. Эти расположения 5 соседних блоков такие же, как и те, которые используются в режиме объединения, то есть слева (L - left), вверху (A - above), внизу слева (BL - below left), вверху справа (AR - above right) и вверху слева (AL - above left), как показано на фигуре 4. Исходный список MPM формируется посредством вставки 5 соседних внутренних режимов, планарного режима и режима DC в список MPM. Для удаления дублированных режимов используется процесс отсечения, чтобы в список MPM включались только уникальные режимы. Порядок включения начальных режимов: левый, верхний, планарный, DC, нижний левый, верхний правый и верхний левый. [00113] FIG. 4 shows the
[00114] Если список MPM не полон (т.е. в списке меньше 6 возможных MPM), полученные режимы добавляются, эти внутренние режимы получаются посредством добавления -1 или +1 к угловым режимам, которые уже включены в список MPM. Получение не применяется к неугловым режимам, т.е. DC или планарному. [00114] If the list of MPMs is incomplete (ie, there are less than 6 possible MPMs in the list), the resulting modes are added, these internal modes are obtained by adding -1 or +1 to the angular modes that are already included in the MPM list. Gain does not apply to non-angular modes, i.e. DC or planar.
[00115] Наконец, если список MPM все еще не завершен, режимы по умолчанию добавляются в следующем порядке: вертикальный, горизонтальный, внутренний режим 2 и диагональный режим. На фиг. 6 эти режимы показаны как HOR_IDX, DIA_IDX, MODE2 и VER_IDX соответственно. В результате этого процесса создается уникальный список из 6 режимов MPM. [00115] Finally, if the MPM list is still incomplete, default modes are added in the following order: vertical, horizontal,
[00116] Для энтропийного кодирования 6 MPM используется усеченная унарная бинаризация MPM. Первые три бина кодируются контекстами, которые зависят от режима MPM, относящегося к бину, который сигнализируется в настоящее время. Режим MPM подразделяется на одну из трех категорий: (a) относится ли режим к горизонтальному (режим MPM меньше или равен диагональному направлению), (b) вертикальному (режим MPM больше, чем диагональное направление) или (c) неугловому (DC и планарный) классу. Соответственно, для сигнализации индекса MPM используются три контекста. [00116] For 6 MPM entropy coding, a truncated unary binarization of MPM 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. The MPM mode is classified into one of three categories: (a) whether the mode is horizontal (MPM mode less than or equal to the diagonal direction), (b) vertical (MPM mode greater than the diagonal direction), or (c) non-angular (DC and planar) class. Accordingly, three contexts are used to signal the MPM index.
[00117] Кодирование оставшихся 61 без MPM выполняется следующим образом. 61 без MPM сначала делятся на два набора: выбранный набор режимов и невыбранный набор режимов. Выбранный набор режимов содержит 16 режимов, а остальные (45 режимов) назначаются невыбранному набору режимов. Набор режимов, которому принадлежит текущий режим, указывается в битовом потоке с помощью метки. Затем режим из выбранного набора сигнализируется 4-битным кодом фиксированной длины, а режим из невыбранного набора кодируется усеченным двоичным кодом. Выбранный набор режимов создается посредством субсэмплирования всех 61 режимов без MPM со следующими индексами: [00117] Encoding of the remaining 61 without MPM is performed as follows. 61 without MPM are first divided into two sets: the selected mode set and the unselected mode set. The selected mode set contains 16 modes, and the rest (45 modes) are assigned to the unselected mode set. The set of modes to which the current mode belongs is indicated in the bitstream with a label. 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 mode set is created by subsampling all 61 non-MPM modes with the following indices:
[00118] Выбранный набор режимов = {0, 4, 8, 12, 16, 20… 60}[00118] Selected mode set = {0, 4, 8, 12, 16, 20… 60}
[00119] Невыбранный набор режимов = {1, 2, 3, 5, 6, 7, 9, 10… 59}[00119] Unselected mode set = {1, 2, 3, 5, 6, 7, 9, 10… 59}
[00120] Сводка различных механизмов сигнализации во внутреннем режиме показана в таблице 1. [00120] A summary of the various internal mode signaling mechanisms is shown in Table 1.
Таблица 1 - Текущая сигнализация внутреннего режима яркости в BMSTable 1 - Current internal brightness mode signaling in BMS
[00121] Настоящее раскрытие нацелено на улучшение схемы сигнализации внутреннего режима. [00121] The present disclosure is aimed at improving the intra mode signaling scheme.
[00122] Схема кодирования во внутреннем режиме, описанная в настоящее время в BMS, считается сложной, и поэтому требуется более чистое решение. [00122] The intra-mode coding scheme currently described in BMS is considered complex and therefore a cleaner solution is required.
[00123] Недостатком выбранного набора режимов является то, что список индексов всегда постоянен и не адаптируется на основе свойств текущего блока (например, для внутренних режимов его соседних блоков). Недостатком невыбранного набора режимов является то, что список индексов всегда постоянен и не адаптируется на основе свойств текущего блока (например, для внутренних режимов его соседних блоков). [00123] The disadvantage of the selected set of modes is that the index list is always constant and does not adapt based on the properties of the current block (eg, for the internal modes of its neighboring blocks). The disadvantage of the unselected mode set is that the index list is always constant and does not adapt based on the properties of the current block (eg, for the internal modes of its neighboring blocks).
[00124] В настоящем раскрытии предлагается схема сигнализации внутреннего режима с 6 MPM и оставшимся 61 режимом, при этом оставшийся 61 режим кодируется с использованием схемы усеченной бинаризации. Наиболее вероятные режимы также могут упоминаться как наиболее вероятные режимы внутреннего предсказания, а остальные режимы также могут упоминаться как оставшиеся режимы внутреннего предсказания. Таким образом, варианты осуществления могут быть выполнены с возможностью кодирования всех оставшихся внутренних режимов, то есть всех внутренних режимов, которые не включены в список MPM (сокращенно «режимы без MPM») и сообщаются в битовом потоке с использованием усеченной бинаризации. Остающийся 61 внутренний режим также может быть закодирован с использованием кода фиксированной длины из 6 битов, но недостатком кода фиксированной длины из 6 битов является то, что из 64 возможных кодовых слов используется только 61 кодовое слово, а оставшиеся 3 кодовых слова не используется. Вместо кода фиксированной длины предлагается усеченная бинаризация, которая будет использовать только 5 битов для сигнализации первых 3 оставшихся режимов, а остальные 58 режимов затем кодируются с использованием 6 бит. 6 режимов MPM, например, кодируются с использованием унарного кодирования. Дополнительные варианты осуществления могут быть выполнены с возможностью использования списка MPM и списка оставшихся режимов с другим количеством внутренних режимов, например, список MPM, содержащий более или менее 6 режимов, и список оставшихся режимов, содержащий более или менее 61 режима. Варианты осуществления могут быть особенно выгодными в случае, если количество оставшихся режимов не равно степени двойки, поскольку кодирование с фиксированной длиной не будет эффективно использовать все возможные кодовые слова. Варианты осуществления, использующие усеченное двоичное кодирование, могут сигнализировать несколькио режимов с использованием меньшего количества битов по сравнению с другими режимами оставшихся режимов и, таким образом, сигнализировать оставшиеся режимы более эффективно. [00124] The present disclosure proposes an intra mode signaling scheme with 6 MPM and a remaining 61 modes, with the remaining 61 modes encoded using a truncated binarization scheme. The most likely modes may also be referred to as the most likely intra prediction modes, and the remaining modes may also be referred to as the remaining intra prediction modes. Thus, embodiments can be configured to encode all remaining intrinsic modes, i.e., all intrinsic modes that are not included in the MPM list (non-MPM modes for short) and are reported in the bitstream using truncated binarization. The remaining 61 intra modes can also be encoded using a 6-bit fixed-length code, but the disadvantage of a 6-bit fixed-length code is that out of 64 possible codewords, only 61 codewords are used, and the remaining 3 codewords are not used. Instead of a fixed length code, a truncated binarization is proposed that will only use 5 bits to signal the first 3 remaining modes, and the remaining 58 modes are then encoded using 6 bits. The 6 MPM modes, for example, are encoded using unary coding. Additional embodiments may be configured to use an MPM list and a remaining mode list with a different number of internal modes, such as an MPM list containing more or less 6 modes and a remaining mode list containing more or less 61 modes. Embodiments may be particularly advantageous if the number of remaining modes is not a power of two, since fixed length coding will not efficiently use all possible codewords. Embodiments using truncated binary coding can signal multiple modes using fewer bits compared to other modes of the remaining modes, and thus signal the remaining modes more efficiently.
[00125] Варианты осуществления способа кодирования могут содержать этапы, на которых выбирают режим внутреннего предсказания для текущего блока; и кодируют режим внутреннего предсказания с использованием усеченного двоичного кодирования, когда выбранный режим внутреннего предсказания является оставшимся режимом. Оставшийся режим может содержаться в или быть частью набора или множества оставшихся режимов, например, списка оставшихся режимов. Варианты осуществления могут дополнительно содержать этапы, на которых определяют, что режим внутреннего предсказания не содержится в списке (или находится вне списка) MPM, и кодируют выбранный режим внутреннего предсказания с использованием усеченного двоичного кодирования. В вариантах осуществления выбранный режим внутреннего предсказания не содержится в списке (или находится за пределами списка) MPM. Варианты осуществления могут содержать список MPM и оставшиеся режимы, например, только список MPM и оставшиеся режимы (режимы без MPM), и не различают дополнительные наборы режимов внутреннего предсказания для кодирования или сигнализации, при этом ни один из режимов внутреннего предсказания оставшихся режимов не содержится в списке MPM. В вариантах осуществления список MPM может содержать 6 режимов внутреннего предсказания, а оставшиеся режимы могут содержать 61 режим. Варианты осуществления могут содержать этап, на котором добавляют усеченный двоичный код к битовому потоку. Дополнительные варианты осуществления содержат кодер, например устройство кодирования, выполненное с возможностью выполнения любого из способов кодирования. [00125] Embodiments of the encoding method may comprise: selecting an intra prediction mode for the current block; and encoding the intra prediction mode using truncated binary coding when the selected intra prediction mode is the remaining mode. The remaining mode may be contained in or be part of a set or set of remaining modes, such as a list of remaining modes. Embodiments may further comprise determining that the intra prediction mode is not in (or out of the list of) the MPM list and encoding the selected intra prediction mode using truncated binary coding. In embodiments, the selected intra prediction mode is not listed (or is outside the list) of the MPM. Embodiments may contain the MPM list and the remaining modes, e.g., only the MPM list and the remaining modes (non-MPM modes), and do not distinguish between additional sets of intra prediction modes for coding or signaling, with none of the intra prediction modes of the remaining modes contained in MPM list. In embodiments, the MPM list may contain 6 intra prediction modes, and the remaining modes may contain 61 modes. Embodiments may include adding a truncated binary code to a bitstream. Additional embodiments comprise an encoder, such as an encoding device, configured to perform any of the encoding methods.
[00126] Варианты осуществления способа декодирования могут содержать этапы, на которых получают усеченный двоичный код, например, посредством синтаксического анализа битового потока или другими средствами; декодируют усеченный двоичный код для получения режима внутреннего предсказания оставшегося режима, например, из множества или набора оставшихся режимов; и формируют текущий блок с использованием полученного режима внутреннего предсказания. Дополнительные признаки, описанные в отношении способа кодирования, в равной степени или соответственно применимы к соответствующим вариантам осуществления декодирования. Дополнительные варианты осуществления содержат декодер, например устройство декодирования, выполненное с возможностью выполнения любого из способов декодирования. [00126] Embodiments of the decoding method may include: obtaining a truncated binary code, for example, by bitstream parsing or other means; decoding the truncated binary code to obtain an intra prediction mode of the remaining mode, eg, from a plurality or set of remaining modes; and generating a current block using the obtained intra prediction mode. The additional features described with respect to the encoding method are equally or appropriately applicable to the respective decoding embodiments. Additional embodiments comprise a decoder, such as a decoding device, configured to perform any of the decoding methods.
[00127] Предлагается несколько решений для заполнения первых трех режимов в списке оставшихся режимов. [00127] Several solutions are proposed for populating the first three modes in the list of remaining modes.
[00128] Первые три режима в списке оставшихся режимов можно заполнить несколькими способами. [00128] The first three modes in the list of remaining modes can be populated in several ways.
[00129] Во-первых, посредством использования режимов из предварительно определенного списка режимов по умолчанию, который представляет собой {планарный режим (PLANAR_IDX, что соответствует индексу «0»), режим DC (DC_IDX, который соответствует индексу «1»), вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), внутренний режим 2 (MODE2, который соответствует индексу «2»), вертикальный диагональный режим (VDIA_IDX) и диагональный режим (DIA_IDX)} (термины в скобках показывают соответствующие термины на фиг. 6, дополнительные подробности о фиг.6 представлены ниже, список режимов по умолчанию содержит только режимы с внутренним предсказанием и может также называться списком режимов по умолчанию с внутренним предсказанием). [00129] First, by using modes from a predefined default mode list, which is {planar mode (PLANAR_IDX, corresponding to index "0"), DC mode (DC_IDX, which corresponds to index "1"), vertical mode (VER_IDX), horizontal mode (HOR_IDX), indoor mode 2 (MODE2, which corresponds to the index "2"), vertical diagonal mode (VDIA_IDX) and diagonal mode (DIA_IDX)} (terms in brackets show the corresponding terms in Fig. 6, additional details of FIG. 6 are provided below, the default mode list contains only intra prediction modes and may also be referred to as the default intra prediction mode list).
[00130] Во-вторых, посредством смещений в угловые режимы (угловые режимы внутреннего предсказания), которые уже присутствуют в списке MPM. Здесь смещение может быть +/- N, где N - возможное целочисленное значение, значение которого равно {1, 2, 3, 4}. Смещения можно было добавить только к первым двум угловым режимам из списка MPM. [00130] Secondly, through offsets to angular modes (angular modes of intra prediction) that are already present in the MPM list. Here, the offset can be +/- N, where N is a possible integer value whose value is {1, 2, 3, 4}. Offsets could only be added to the first two angular modes from the MPM list.
[00131] В-третьих, внутренние режимы (угловые режимы внутреннего предсказания) несмежных соседей также могут использоваться для заполнения трех режимов. Фиг. 5 изображает текущую единицу 500 кодирования, соседей 502 первого уровня и соседей 504 второго уровня. Как показано на фиг. 5, могут использоваться внутренние режимы соседей второго уровня. [00131] Third, the intra modes (angular intra prediction modes) of non-adjacent neighbors can also be used to populate the three modes. Fig. 5 shows the
[00132] В-четвертых, как показано на фиг. 6, на первом этапе выбирают данный режим из списка MPM и проверяют, находится ли он «рядом» с одной из следующих категорий режимов {DC_IDX, HOR_IDX, DIA_IDX, VER_IDX, VDIA_IDX}, на втором этапе затем категории режимов «сортируют» на основе «большинства» близких к ним режимов. На третьем этапе формируют список оставшихся режимов посредством вставки режимов, которые находятся рядом с категорией выигравших режимов из этапа 2. [00132] Fourth, as shown in FIG. 6, in the first step, select a given mode from the MPM list and check if it is "near" one of the following mode categories {DC_IDX, HOR_IDX, DIA_IDX, VER_IDX, VDIA_IDX}, in the second step, then the mode categories are "sorted" based on " most" regimes close to them. In the third step, a list of remaining modes is generated by inserting modes that are adjacent to the winning mode category from
[00133] Фиг. 6 показывает пример 67 режимов внутреннего предсказания, например, как предложено для VVC, множество режимов внутреннего предсказания из 67 режимов внутреннего предсказания, содержащих: планарный режим (индекс 0), режим DC (индекс 1) и угловые режимы с индексами 2 - 66, где левый нижний угловой режим на фиг. 3 относится к индексу 2, а нумерация индексов увеличивается до тех пор, пока индекс 66 не станет самым верхним правым угловым режимом на фиг. 6. [00133] FIG. 6 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
[00134] Схема обработки может быть реализована аппаратно или в комбинации аппаратного и программного обеспечения, например, посредством программируемого процессора или тому подобного. [00134] The processing circuitry may be implemented in hardware or in a combination of hardware and software, such as through a programmable processor or the like.
[00135] Фиг. 7 - схематическая диаграмма сетевого устройства 700 согласно варианту осуществления раскрытия. Сетевое устройство 700 подходит для реализации раскрытых вариантов осуществления, как описано здесь. Сетевое устройство 700 содержит входные порты 710 и блоки (Rx) 720 приемника для приема данных; процессор, логический блок или центральный процессор (CPU) 730 для обработки данных; блоки (Tx) 740 передатчика и выходные порты 750 для передачи данных; а также память 760 для хранения данных. Сетевое устройство 700 может также содержать оптико-электронные (OE - optical-to-electrical) компоненты и электро-оптические (EO - electrical-to-optical) компоненты, подключенные к входным портам 710, блокам 720 приемника, блокам 740 передатчика и выходным портам 750 для выхода или входа оптических или электрических сигналов. [00135] FIG. 7 is a schematic diagram of a
[00136] Процессор 730 реализован аппаратно и программно. Процессор 730 может быть реализован как одна или несколько микросхем CPU, ядер (например, как многоядерный процессор), программируемых пользователем вентильных матриц (FPGA), специализированных интегральных схем (ASIC) и процессоров цифровых сигналов (DSP). Процессор 730 связан с входными портами 710, блоками 720 приемника, блоками 740 передатчика, выходными портами 750 и памятью 760. Процессор 730 содержит модуль 770 кодирования. Модуль 770 кодирования реализует раскрытые варианты осуществления, описанные выше. Например, модуль 770 кодирования реализует, обрабатывает, подготавливает или обеспечивает различные сетевые функции. Таким образом, включение модуля 770 кодирования обеспечивает существенное улучшение функциональности сетевого устройства 700 и вызывает преобразование сетевого устройства 700 в другое состояние. В качестве альтернативы модуль 770 кодирования реализован как инструкции, хранящиеся в памяти 760 и выполняемые посредством процессора 730. [00136] The
[00137] Память 760 содержит один или несколько дисков, ленточных накопителей и твердотельных накопителей и может использоваться в качестве устройства хранения данных с переполнением, для хранения программ, когда такие программы выбраны для выполнения, и для хранения инструкций и данных, считываемых во время выполнения программы. Память 760 может быть энергозависимой и/или энергонезависимой и может представлять собой постоянное запоминающее устройство (ROM - read-only memory), оперативное запоминающее устройство (RAM - random access memory), троичное запоминающее устройство с адресацией по содержимому (TCAM - ternary content-addressable memory) и/или статическое оперативное запоминающее устройство (SRAM - static random-access memory).[00137]
[00138] Дополнительные подробности этого раскрытия представлены в следующих вариантах осуществления. [00138] Additional details of this disclosure are provided in the following embodiments.
[00139] Вариант 1 осуществления. Устройство для определения принятого режима внутреннего предсказания на основе списка наиболее вероятных режимов (MPM) и списка оставшихся режимов, имеющего первую часть и вторую часть, при этом принятый режим внутреннего предсказания является одним из множества режимов внутреннего предсказания, содержащих множество угловых режимов внутреннего предсказания для предсказания значений сэмплов текущего блока изображения, при этом устройство содержит схему обработки, выполненную с возможностью: формирования первой части списка оставшихся режимов посредством включения одного или нескольких угловых режимов внутреннего предсказания, определенных на основе списка наиболее вероятных режимов, так что один или несколько угловых режимов внутреннего предсказания первой части списка оставшихся режимов близки к соответствующему угловому режиму внутреннего предсказания из списка наиболее вероятных режимов; и определения принятого режима внутреннего предсказания, в случае, если принятый режим внутреннего предсказания является частью первой части списка оставшихся режимов, используя меньше битов для кодирования или декодирования принятого режима внутреннего предсказания, чем в случае, если принятый режим внутреннего предсказания является частью второй части списка оставшихся режимов. [00139] Embodiment 1. An apparatus for determining a received intra prediction mode based on a most likely mode list (MPM) and a remaining mode list having a first part and a second part, wherein the received intra prediction mode is one of a plurality of intra prediction modes comprising a plurality of intra prediction angle modes for prediction sample values of the current image block, wherein the device comprises a processing circuit configured to: generate the first part of the list of remaining modes by including one or more angular modes of intra prediction determined based on the list of most likely modes, so that one or more angular modes of intra prediction the first part of the list of remaining modes are close to the corresponding intra-prediction angular mode from the list of most likely modes; and determining the received intra prediction mode, if the received intra prediction mode is part of the first part of the remaining mode list, using fewer bits to encode or decode the received intra prediction mode than if the received intra prediction mode is part of the second part of the remaining list. modes.
[00140] Вариант 2 осуществления. Устройство варианта 1 осуществления, в котором схема обработки выполнена с возможностью формирования первой части списка оставшихся режимов посредством: ранжирования множества категорий угловых режимов внутреннего предсказания согласно количеству и/или направлению угловых режимов внутреннего предсказания из списка наиболее вероятных режимов, попадающих в каждую категорию угловых режимов внутреннего предсказания; и формирования первой части списка оставшихся режимов посредством включения одного или нескольких угловых режимов внутреннего предсказания из категории угловых режимов внутреннего предсказания с наивысшим рангом в список оставшихся режимов. [00140]
[00141] Вариант 3 осуществления. Устройство варианта 2 осуществления, в котором первая часть списка оставшихся режимов, полученная из предварительно определенного списка режимов по умолчанию, содержащего пять категорий угловых режимов внутреннего предсказания, а именно режим DC (DC_IDX), вертикальный режим (VER_IDX), горизонтальный режим (HOR_IDX), внутренний режим 2 (2), вертикальный диагональный режим (VDIA_IDX) и диагональный режим DIA_IDX, в причем угловой режим внутреннего предсказания из списка наиболее вероятных режимов, попадающих в каждую категорию угловых режимов внутреннего предсказания, например, соответствует связыванию каждого из углового режима внутреннего предсказания из списка наиболее вероятных режимов с категорией угловых режимов внутреннего предсказания, наиболее близкой к соответствующему угловому режиму внутреннего предсказания из списка наиболее вероятных режимов. [00141] Embodiment 3. The apparatus of
[00142] Вариант 4 осуществления. Устройство варианта 2 или 3 осуществления, в котором схема обработки дополнительно выполнена с возможностью завершения первой части списка оставшихся режимов посредством повторения этапа (ii) со второй по рангу категорией угловых режимов внутреннего предсказания. [00142] Embodiment 4. The device of
[00143] Вариант 5 осуществления. Устройство варианта 2-3 осуществления, в котором каждый режим внутреннего предсказания идентифицируется посредством индекса режима внутреннего предсказания и в котором схема обработки выполнена с возможностью определения множества категорий угловых режимов внутреннего предсказания на основе соответствующих угловых режимов внутреннего предсказания, связанных с горизонтальным направлением, вертикальным направлением и одним или несколькими диагональными направлениями. [00143] Embodiment 5. The apparatus of Embodiment 2-3, wherein each intra prediction mode is identified by an intra prediction mode index, and wherein the processing circuit is configured to determine a plurality of intra prediction angular mode categories based on respective intra prediction angular modes related to horizontal direction, vertical direction, and one or more diagonal directions.
[00144] Вариант 6 осуществления. Устройство любого из предшествующих вариантов осуществления, в котором каждый режим внутреннего предсказания идентифицируется посредством индекса режима внутреннего предсказания и в котором схема обработки выполнена с возможностью формирования первой части списка оставшихся режимов посредством включения одного или нескольких угловых режимов внутреннего предсказания в первую часть списка оставшихся режимов, чей соответствующий индекс режима внутреннего предсказания имеет смещение +1, -1, +2, -2, +3, -3, +4 или -4 относительно индекса режима внутреннего предсказания углового режима внутреннего предсказания из списка наиболее вероятных режимов. [00144] Embodiment 6. The apparatus of any of the preceding embodiments, wherein each intra prediction mode is identified by an intra prediction mode index, and wherein the processing circuit is configured to generate a first part of the remaining mode list by including one or more intra prediction angular modes in the first part of the remaining mode list, whose the corresponding intra prediction mode index has an offset of +1, -1, +2, -2, +3, -3, +4, or -4 relative to the intra prediction mode index of the intra prediction angular mode from the list of most likely modes.
[00145] Вариант 7 осуществления. Устройство варианта 6 осуществления, в котором каждый элемент списка из списка наиболее вероятных режимов идентифицируется посредством индекса наиболее вероятных режимов, и в котором схема обработки выполнена с возможностью формирования первой части списка оставшихся режимов посредством включения одного или нескольких угловых режимов внутреннего предсказания в первую часть списка оставшихся режимов, чей соответствующий индекс режима внутреннего предсказания имеет смещение +1, -1, +2, -2, +3, -3, +4 или -4 относительно индекса режима внутреннего предсказания углового режима внутреннего предсказания из списка наиболее вероятных режимов. [00145] Embodiment 7. The apparatus of Embodiment 6, wherein each list item of the most likely mode list is identified by a most likely mode index, and wherein the processing circuit is configured to generate a first part of the remaining mode list by including one or more intra prediction angle modes in the first part of the remaining list modes whose corresponding intra prediction mode index has an offset of +1, -1, +2, -2, +3, -3, +4, or -4 relative to the intra prediction mode index of the angular intra prediction mode from the list of most likely modes.
[00146] Вариант 8 осуществления. Устройство варианта 7 осуществления, в котором схема обработки выполнена с возможностью формирования первой части списка оставшихся режимов посредством включения одного или нескольких угловых режимов внутреннего предсказания в первую часть списка оставшихся режимов на основе цикла обработки, начиная со смещения +1 по отношению к индексу режима внутреннего предсказания углового режима внутреннего предсказания из списка наиболее вероятных режимов, которое увеличивается во время каждого раунда цикла обработки, или со смещения -1 по отношению к индексу режима внутреннего предсказания углового режима внутреннего предсказания из списка наиболее вероятных режимов, который уменьшается на единицу во время каждого раунда цикла обработки. [00146] Embodiment 8. Apparatus of Embodiment 7 wherein the processing circuit is configured to generate a first part of the remaining mode list by including one or more intra-prediction angle modes in the first part of the remaining mode list based on a processing cycle starting at an offset of +1 with respect to the intra prediction mode index of the intra prediction angular mode from the most likely mode list, which is incremented during each round of the processing cycle, or from an offset of -1 with respect to the intra prediction mode index of the intra prediction angular mode from the most likely mode list, which is decreased by one during each round of the cycle processing.
[00147] Вариант 9 осуществления. Устройство варианта 8 осуществления, в котором схема обработки выполнена с возможностью повторения цикла обработки для углового режима внутреннего предсказания из списка наиболее вероятных режимов, имеющего малый индекс наиболее вероятных режимов, чаще, чем цикла обработки для углового режима внутреннего предсказания из списка наиболее вероятных режимов с большим индексом наиболее вероятных режимов. [00147] Embodiment 9. The apparatus of Embodiment 8, wherein the processing circuit is configured to repeat a processing cycle for the intra prediction angular mode of the most likely mode list having a small most likely mode index more frequently than a processing cycle for the intra prediction angular mode of the most likely mode list with a large index of the most probable regimes.
[00148] Вариант 10 осуществления. Устройство варианта 8 осуществления, в котором схема обработки выполнена с возможностью формирования первой части списка оставшихся режимов посредством включения одного или нескольких угловых режимов внутреннего предсказания в первую часть списка оставшихся режимов, чей соответствующий индекс режима внутреннего предсказания имеет смещение +2, -2, +4, -4, +6, -6, +8 или -8 по отношению к индексу режима внутреннего предсказания для углового режима внутреннего предсказания из списка наиболее вероятных режимов. [00148]
[00149] Вариант 11 осуществления. Устройство любого из предыдущих вариантов осуществления, в котором схема обработки дополнительно выполнена с возможностью формирования второй части списка оставшихся режимов пуосредством включения тех режимов внутреннего предсказания из множества режимов внутреннего предсказания во вторую часть списка оставшихся режимов, которые не являются частью списка наиболее вероятных режимов и первой части списка оставшихся режимов. [00149] Embodiment 11. The apparatus of any of the previous embodiments, wherein the processing circuit is further configured to generate a second part of the remaining mode list by including those intra prediction modes from the plurality of intra prediction modes in the second part of the remaining mode list that are not part of the most likely mode list and the first part list of remaining modes.
[00150] Вариант 12 осуществления. Устройство любого из предыдущих вариантов осуществления, в котором схема обработки дополнительно выполнена с возможностью реализации в аппаратных средствах или в комбинации аппаратных средств и программного обеспечения. [00150]
[00151] Вариант 13 осуществления. Устройство любого из предыдущих вариантов осуществления, в котором схема обработки дополнительно выполнена с возможностью предсказания значений сэмплов текущего блока изображения с использованием принятого режима внутреннего предсказания и для обеспечения предсказываемого блока изображения. [00151] Embodiment 13. The apparatus of any of the previous embodiments wherein the processing circuitry is further configured to predict sample values of the current image block using the received intra prediction mode and to provide the predicted image block.
[00152] Вариант 14 осуществления. Устройство согласно варианту 13 осуществления, причем устройство представляет собой устройство кодирования, и в котором схема обработки дополнительно выполнена с возможностью: кодирования текущего блока изображения на основе предсказанного блока изображения и принятого режима внутреннего предсказания. [00152]
[00153] Вариант 15 осуществления. Устройство согласно варианту 14 осуществления, в котором схема обработки дополнительно выполнена с возможностью сигнализации усеченного двоичного кода для режима внутреннего предсказания текущего блока изображения, если режим внутреннего предсказания принадлежит списку оставшихся режимов. [00153] Embodiment 15. The apparatus of
[00154] Вариант 16 осуществления. Устройство согласно варианту 15 осуществления, причем устройство является устройством декодирования, и в котором схема обработки дополнительно выполнена с возможностью декодирования текущего блока изображения на основе предсказанного блока изображения и принятого режима внутреннего предсказания. [00154]
[00155] Вариант 17 осуществления. Устройство согласно варианту 16 осуществления, в котором схема обработки дополнительно выполнена с возможностью синтаксического анализа усеченного двоичного кода для определения режима внутреннего предсказания текущего блока изображения, если режим внутреннего предсказания принадлежит списку оставшихся режимов. [00155] Embodiment 17. The apparatus of
[00156] Вариант 18 осуществления. Способ определения принятого режима внутреннего предсказания на основе списка наиболее вероятных режимов и списка оставшихся режимов, имеющего первую часть и вторую часть, при этом принятый режим внутреннего предсказания является одним из множества режимов внутреннего предсказания, содержащих множество угловых режимов внутреннего предсказания для предсказания значений сэмплов текущего блока изображения, при этом способ содержит этапы, на которых: формируют первую часть списка оставшихся режимов посредством включения одного или нескольких угловых режимов внутреннего предсказания, определенных на основе списка наиболее вероятных режимов, так что один или несколько угловых режимов внутреннего предсказания первой части списка оставшихся режимов близки к соответствующему угловому режиму внутреннего предсказания из списка наиболее вероятных режимов; и определяют принятый режим внутреннего предсказания в случае, если принятый режим внутреннего предсказания является частью первой части списка оставшихся режимов, с использованием меньшего количества битов для кодирования или декодирования принятого режима внутреннего предсказания, чем в случае, если принятый режим внутреннего предсказания является частью второй части списка оставшихся режимов. [00156]
[00157] Вариант 19 осуществления. Компьютерный программный продукт, содержащий программный код для выполнения способа варианта 14 осуществления, когда он выполняется на компьютере или процессоре. [00157] Embodiment 19. A computer program product containing program code for performing the method of
[00158] Вариант 20 осуществления. Устройство согласно любому из вариантов с 1 по 13 осуществления, в котором схема обработки дополнительно выполнена с возможностью определения первой части списка оставшихся режимов из предварительно определенного списка режимов по умолчанию, содержащего или состоящего из планарного режима (PLANAR_IDX), режима DC (DC_IDX), вертикального режима (VER_IDX), горизонтального режима (HOR_IDX), внутреннего режима 2 (2), вертикального диагонального режима (VDIA_IDX) и диагонального режима (DIA_IDX). [00158]
[00159] Вариант 21 осуществления. Устройство согласно любому из вариантов с 1 по 13 осуществления, в котором схема обработки дополнительно выполнена с возможностью определения первой части списка оставшихся режимов посредством включения режимов внутреннего предсказания соседей второго уровня текущего блока изображения. [00159] Embodiment 21. The apparatus according to any one of embodiments 1 to 13, wherein the processing circuit is further configured to determine the first part of the list of remaining modes by turning on intra prediction modes of the second layer neighbors of the current image block.
[00160] Вариант 22 осуществления. Как в кодере, так и в декодере, внутренний режим сигнализируется с использованием усеченной бинаризации для внутренних режимов без MPM. [00160]
[00161] Вариант 23 осуществления. Поскольку усеченная бинаризация используется для кодирования 61 без MPM, первые три режима потребуют передачи 5 битов, и поэтому первые три режима в списке без MPM формируются на основе внутренних режимов, которые уже включены в список MPM. [00161] Embodiment 23. Because truncated binarization is used to encode 61 without MPM, the first three modes will require 5 bits to be transmitted, and therefore the first three modes in the non-MPM list are generated based on the internal modes that are already included in the MPM list.
[00162] Хотя в настоящем раскрытии обеспечено несколько вариантов осуществления, следует понимать, что раскрытые системы и способы могут быть осуществлены во многих других конкретных формах, не выходящих за рамки сущности или объема настоящего раскрытия. Настоящие примеры следует рассматривать как иллюстративные, а не ограничительные, а намерение - не ограничиваться приведенными здесь подробностями. Например, различные элементы или компоненты могут быть объединены или интегрированы в другую систему, или определенные функции могут быть опущены или не реализованы. [00162] While several embodiments are provided in the present disclosure, it should be understood that the disclosed systems and methods may be implemented in many other specific forms without departing from the spirit or scope of the present disclosure. 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.
[00163] Кроме того, методики, системы, подсистемы и способы, описанные и проиллюстрированные в различных вариантах осуществления как дискретные или отдельные, могут быть объединены или интегрированы с другими системами, модулями, технологиями или способами, не выходя за рамки объема настоящего раскрытия. Другие элементы, показанные или обсуждаемые как связанные или непосредственно связанные или взаимодействующие друг с другом, могут быть косвенно связаны или взаимодействовать через некоторый интерфейс, устройство или промежуточный компонент, электрически, механически или иным образом. Другие примеры изменений и замен могут быть установлены специалистом в данной области техники и могут быть выполнены без отклонения от сущности и объема, раскрытых в данном документе. [00163] In addition, the techniques, 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 this disclosure. Other elements shown or discussed as related or directly connected or interacting with each other may be indirectly connected or interact through some interface, device or intermediate component, electrically, mechanically or otherwise. Other examples of changes and substitutions can be established by a person skilled in the art and can be made without deviating from the spirit and scope disclosed in this document.
Claims (26)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US62/696,739 | 2018-07-11 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2022132868A Division RU2022132868A (en) | 2018-07-11 | 2019-05-08 | INTERNAL BRIGHTNESS ALARM |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2021102488A RU2021102488A (en) | 2022-08-11 |
RU2787010C2 true RU2787010C2 (en) | 2022-12-28 |
Family
ID=
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2838578A1 (en) * | 2012-01-20 | 2013-07-25 | Huawei Technologies Co., Ltd. | Encoding or decoding method and apparatus |
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2838578A1 (en) * | 2012-01-20 | 2013-07-25 | Huawei Technologies Co., Ltd. | Encoding or decoding method and apparatus |
Non-Patent Citations (1)
Title |
---|
Kotra A.M. и др. "CE3.2.2: Intra mode signaling with priority based MPM and non-MPM list construction", Любляна, Словения, опубл. 10.07.2018. Alshin Alexander и др., "Description of SDR, HDR and 360. * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102288109B1 (en) | Bidirectional prediction in video compression | |
US11019339B2 (en) | Fractional quantization parameter offset in video compression | |
US9807401B2 (en) | Transform unit partitioning for chroma components in video coding | |
US9172963B2 (en) | Joint coding of syntax elements for video coding | |
US9491491B2 (en) | Run-mode based coefficient coding for video coding | |
JP7513693B2 (en) | Luma Intra Mode Signaling | |
US11917152B2 (en) | Position dependent spatial varying transform for video coding | |
WO2019068261A1 (en) | Bidirectional intra prediction | |
US11889079B2 (en) | Constrained prediction mode for video coding | |
WO2019072210A1 (en) | Restriction on sub-block size derivation for affine inter-prediction | |
RU2787010C2 (en) | Internal brightness mode signaling | |
KR20210125085A (en) | Transform unit partition method for video coding | |
JP2024156660A (en) | Luma Intra Mode Signaling | |
WO2019199838A1 (en) | Reducing context switching for coding transform coefficients |