RU2820148C2 - Image encoding and decoding equipment and image data transmission equipment - Google Patents
Image encoding and decoding equipment and image data transmission equipment Download PDFInfo
- Publication number
- RU2820148C2 RU2820148C2 RU2023107835A RU2023107835A RU2820148C2 RU 2820148 C2 RU2820148 C2 RU 2820148C2 RU 2023107835 A RU2023107835 A RU 2023107835A RU 2023107835 A RU2023107835 A RU 2023107835A RU 2820148 C2 RU2820148 C2 RU 2820148C2
- Authority
- RU
- Russia
- Prior art keywords
- mode
- flag
- prediction
- combining
- information
- Prior art date
Links
- 230000005540 biological transmission Effects 0.000 title description 6
- 230000033001 locomotion Effects 0.000 claims abstract description 293
- 230000011218 segmentation Effects 0.000 claims abstract description 70
- 230000004913 activation Effects 0.000 claims abstract 20
- 239000013598 vector Substances 0.000 claims description 99
- 239000000284 extract Substances 0.000 claims description 19
- 238000005516 engineering process Methods 0.000 abstract description 9
- 239000000126 substance Substances 0.000 abstract 1
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 100
- 238000000034 method Methods 0.000 description 84
- 230000002123 temporal effect Effects 0.000 description 18
- 230000002776 aggregation Effects 0.000 description 15
- 238000004220 aggregation Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 15
- 230000009466 transformation Effects 0.000 description 15
- 238000001914 filtration Methods 0.000 description 13
- 241000723655 Cowpea mosaic virus Species 0.000 description 12
- 238000012545 processing Methods 0.000 description 12
- 230000003213 activating effect Effects 0.000 description 11
- 230000003044 adaptive effect Effects 0.000 description 11
- 230000004927 fusion Effects 0.000 description 11
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 10
- 238000013139 quantization Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 241000023320 Luma <angiosperm> Species 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 6
- 230000011664 signaling Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 5
- 238000011084 recovery Methods 0.000 description 5
- 238000009877 rendering Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 238000003709 image segmentation Methods 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000002146 bilateral effect Effects 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000001747 exhibiting effect Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Abstract
Description
Уровень техникиState of the art
Область техники, к которой относится изобретениеField of technology to which the invention relates
[1] Настоящее раскрытие относится к способу декодирования изображений для выполнения взаимного (inter) прогнозирования, когда режим прогнозирования в конечном счете не выбирается для текущего блока, и к оборудованию для этого.[1] The present disclosure relates to a method for decoding images to perform inter prediction when a prediction mode is ultimately not selected for the current block, and to equipment for doing so.
Описание предшествующего уровня техникиDescription of the Prior Art
[2] В последнее время, спрос на высококачественное изображение/видео высокого разрешения, к примеру, 4K, 8K либо изображения/видео еще более сверхвысокой четкости (UHD), растет в различных областях техники. По мере того, как разрешение или качество изображений/видео становится более высоким, относительно больший объем информации или число битов передается, чем для традиционных данных изображений/видео. Следовательно, если данные изображений/видео передаются через такую среду, как существующая проводная/беспроводная широкополосная линия, либо сохраняются на унаследованном носителе хранения данных, затраты на передачу и хранение серьезно увеличиваются.[2] Recently, the demand for high-quality high-definition images/videos, for example, 4K, 8K or even higher ultra-high definition (UHD) images/videos, has been growing in various fields of technology. As the resolution or quality of images/videos becomes higher, a relatively larger amount of information or number of bits is transmitted than for traditional image/video data. Therefore, if image/video data is transmitted over a medium such as an existing wired/wireless broadband line or stored on a legacy storage medium, transmission and storage costs increase significantly.
[3] Кроме того, растет интерес и спрос в отношении контента виртуальной реальности (VR) и искусственной реальности (AR) и иммерсивного мультимедиа, к примеру, голограммы; а также растет широковещательная передача изображений/видео, демонстрирующих характеристики изображений/видео, отличающиеся от характеристик фактического изображения/видео, к примеру, игровых изображений/видео.[3] In addition, there is growing interest and demand for virtual reality (VR) and artificial reality (AR) content and immersive multimedia, such as holograms; and there is also an increase in broadcasting of images/videos exhibiting characteristics of the images/videos that differ from those of the actual image/video, for example, game images/videos.
[4] Следовательно, требуется высокоэффективная технология сжатия изображений/видео для того, чтобы эффективно сжимать и передавать, сохранять или воспроизводить высококачественные изображения/видео высокого разрешения, демонстрирующие различные характеристики, как описано выше.[4] Therefore, a highly efficient image/video compression technology is required in order to efficiently compress and transmit, store or play back high-quality, high-resolution images/videos exhibiting various characteristics as described above.
Сущность изобретенияThe essence of the invention
[5] Настоящее раскрытие предоставляет способ и оборудование для повышения эффективности кодирования изображений.[5] The present disclosure provides a method and equipment for improving the efficiency of image encoding.
[6] Настоящее раскрытие также предоставляет способ и оборудование для извлечения прогнозной выборки на основе режима объединения по умолчанию.[6] The present disclosure also provides a method and apparatus for extracting a predictive sample based on the default pooling mode.
[7] Настоящее раскрытие также предоставляет способ и оборудование для извлечения прогнозной выборки посредством применения регулярного режима объединения в качестве режима объединения по умолчанию.[7] The present disclosure also provides a method and equipment for extracting a predictive sample by applying a regular merging mode as the default merging mode.
[8] В аспекте, предоставляется способ декодирования изображений, осуществляемый посредством оборудования декодирования. Способ включает в себя: прием информации изображений, включающей в себя информацию режима взаимного прогнозирования, через поток битов; формирование списка возможных вариантов объединения текущего блока на основе информации режима взаимного прогнозирования; извлечение информации движения текущего блока на основе возможного варианта, выбираемого из списка возможных вариантов объединения; и формирование прогнозных выборок текущего блока на основе информации движения, при этом регулярный режим объединения применяется к текущему блоку на основе того, что режим объединения доступен для текущего блока на основе общего флага объединения, и режим объединения с разностью векторов движения (MMVD), субблочный режим объединения, режим комбинированного межкадрового объединения и внутрикадрового прогнозирования (CIIP) и режим сегментации, в котором прогнозирование выполняется посредством разделения текущего блока на два сегмента, не доступны, и список возможных вариантов объединения формируется посредством применения регулярного режима объединения к текущему блоку.[8] In an aspect, a method for decoding images carried out by decoding equipment is provided. The method includes: receiving image information including inter-prediction mode information through a bit stream; generating a list of possible options for combining the current block based on information from the mutual prediction mode; retrieving motion information of the current block based on a candidate selected from a list of candidate combinations; and generating predictive samples of the current block based on the motion information, wherein a regular combining mode is applied to the current block based on the fact that a combining mode is available for the current block based on a common combining flag, and a motion vector difference (MMVD) combining mode, a sub-block mode combining, combined inter-combining and intra-prediction (CIIP) mode and segmentation mode, in which prediction is performed by dividing the current block into two segments, are not available and a list of possible combining options is generated by applying a regular combining mode to the current block.
[9] В аспекте, предоставляется способ кодирования изображений, осуществляемый посредством оборудования кодирования. Способ включает в себя: определение режима взаимного прогнозирования текущего блока и формирование информации режима взаимного прогнозирования, указывающей режим взаимного прогнозирования; формирование списка возможных вариантов объединения текущего блока на основе режима взаимного прогнозирования; формирование информации выбора, указывающей один из возможных вариантов, включенных в список возможных вариантов объединения; и кодирование информации изображений, включающей в себя информацию режима взаимного прогнозирования и информацию выбора, при этом регулярный режим объединения применяется к текущему блоку на основе того, что режим объединения доступен для текущего блока на основе общего флага объединения, и режим объединения с разностью векторов движения (MMVD), субблочный режим объединения, режим комбинированного межкадрового объединения и внутрикадрового прогнозирования (CIIP) и режим сегментации, в котором прогнозирование выполняется посредством разделения текущего блока на два сегмента, не доступны, и список возможных вариантов объединения формируется посредством применения регулярного режима объединения к текущему блоку.[9] In an aspect, an image encoding method carried out by encoding equipment is provided. The method includes: determining the inter-prediction mode of the current block and generating inter-prediction mode information indicating the inter-prediction mode; generating a list of possible options for combining the current block based on the mutual prediction mode; generating selection information indicating one of the possible options included in the list of possible combination options; and encoding image information including inter-prediction mode information and selection information, wherein a regular combining mode is applied to the current block based on the combining mode being available for the current block based on a common combining flag, and a combining mode with a motion vector difference ( MMVD), sub-block combining mode, combined inter-combining and intra-prediction (CIIP) mode, and segmentation mode, in which prediction is performed by dividing the current block into two segments, are not available and a list of possible combining options is generated by applying the regular combining mode to the current block .
[10] В другом аспекте, предусмотрен компьютерно-читаемый носитель хранения данных, сохраняющий кодированную информацию, инструктирующую оборудованию декодирования изображений осуществлять способ декодирования изображений, при этом способ декодирования изображений включает в себя: получение информации изображений, включающей в себя информацию режима взаимного прогнозирования и остаточную информацию, через поток битов; формирование списка возможных вариантов объединения текущего блока на основе информации режима взаимного прогнозирования; извлечение информации движения текущего блока на основе возможного варианта, выбираемого из списка возможных вариантов объединения; и формирование прогнозных выборок текущего блока на основе информации движения, при этом регулярный режим объединения применяется к текущему блоку на основе того, что режим объединения доступен для текущего блока на основе общего флага объединения, и режим объединения с разностью векторов движения (MMVD), субблочный режим объединения, режим комбинированного межкадрового объединения и внутрикадрового прогнозирования (CIIP) и режим сегментации, в котором прогнозирование выполняется посредством разделения текущего блока на два сегмента, не доступны, и список возможных вариантов объединения формируется посредством применения регулярного режима объединения к текущему блоку.[10] In another aspect, there is provided a computer-readable storage medium storing encoded information instructing image decoding equipment to perform an image decoding method, wherein the image decoding method includes: obtaining image information including inter-prediction mode information and residual information through a stream of bits; generating a list of possible options for combining the current block based on information from the mutual prediction mode; retrieving motion information of the current block based on a candidate selected from a list of candidate combinations; and generating predictive samples of the current block based on the motion information, wherein a regular combining mode is applied to the current block based on the fact that a combining mode is available for the current block based on a common combining flag, and a motion vector difference (MMVD) combining mode, a sub-block mode combining, combined inter-combining and intra-prediction (CIIP) mode and segmentation mode, in which prediction is performed by dividing the current block into two segments, are not available and a list of possible combining options is generated by applying a regular combining mode to the current block.
Преимущества изобретенияAdvantages of the invention
[11] Согласно настоящему раскрытию, общая эффективность сжатия изображений/видео может повышаться.[11] According to the present disclosure, the overall efficiency of image/video compression can be improved.
[12] Согласно настоящему раскрытию, взаимное прогнозирование может эффективно выполняться посредством применения режима объединения по умолчанию, когда режим объединения в конечном счете не выбирается.[12] According to the present disclosure, inter-prediction can be efficiently performed by applying a default combining mode when the combining mode is not ultimately selected.
[13] Согласно настоящему раскрытию, когда режим объединения в конечном счете не выбирается, применяется регулярный режим объединения, и информация движения извлекается на основе возможного варианта, указываемого посредством информации индекса объединения, за счет этого эффективно выполняя взаимное прогнозирование.[13] According to the present disclosure, when the combining mode is not ultimately selected, the regular combining mode is applied, and motion information is extracted based on the candidate indicated by the combining index information, thereby effectively performing mutual prediction.
Краткое описание чертежейBrief description of drawings
[14] Фиг. 1 схематично показывает пример системы кодирования видео/изображений, к которым вариантам осуществления настоящего раскрытия применяется.[14] FIG. 1 schematically shows an example of a video/image coding system to which embodiments of the present disclosure apply.
[15] Фиг. 2 является схемой, принципиально иллюстрирующей конфигурацию оборудования кодирования видео/изображений, к которому могут применяться варианты осуществления настоящего документа.[15] FIG. 2 is a diagram fundamentally illustrating the configuration of video/image encoding equipment to which embodiments of the present document can be applied.
[16] Фиг. 3 является схемой, схематично иллюстрирующей конфигурацию оборудования декодирования видео/изображений, к которому могут применяться варианты осуществления настоящего документа.[16] FIG. 3 is a diagram schematically illustrating the configuration of video/image decoding equipment to which embodiments of the present document can be applied.
[17] Фиг. 4 иллюстрирует процедуру взаимного прогнозирования.[17] FIG. 4 illustrates the inter-prediction procedure.
[18] Фиг. 5 является видом, иллюстрирующим режим объединения при взаимном прогнозировании.[18] FIG. 5 is a view illustrating the merging mode of mutual prediction.
[19] Фиг. 6 является видом, иллюстрирующим режим режима объединения с разностью векторов движения (MMVD) при взаимном прогнозировании.[19] FIG. 6 is a view illustrating a mode of a motion vector difference (MMVD) combining mode in mutual prediction.
[20] Фиг. 7 примерно показывает движение, выражаемое через модель аффинного движения.[20] FIG. 7 roughly shows the motion expressed through the affine motion model.
[21] Фиг. 8А и 8В примерно показывают CPMV для аффинного прогнозирования движения.[21] FIG. 8A and 8B approximately show CPMV for affine motion prediction.
[22] Фиг. 9 примерно показывает случай, в котором аффинное MVF определяется в субблочных единицах.[22] FIG. 9 roughly shows the case in which the affine MVF is defined in sub-block units.
[23] Фиг. 10 является видом, иллюстрирующим аффинный режим объединения или режим объединения на основе субблоков при взаимном прогнозировании.[23] FIG. 10 is a view illustrating an affine combining mode or a subblock-based combining mode in inter-prediction.
[24] Фиг. 11 является видом, иллюстрирующим позиции возможных вариантов в аффинном режиме объединения или режиме объединения на основе субблоков.[24] FIG. 11 is a view illustrating candidate positions in the affine combining mode or the subblock-based combining mode.
[25] Фиг. 12 является видом, иллюстрирующим SbTMVP при взаимном прогнозировании.[25] FIG. 12 is a view illustrating SbTMVP in inter-prediction.
[26] Фиг. 13 является видом, иллюстрирующим режим комбинированного межкадрового объединения и внутрикадрового прогнозирования (CIIP) при взаимном прогнозировании.[26] FIG. 13 is a view illustrating a combined inter-frame combining and intra-frame prediction (CIIP) mode in inter-prediction.
[27] Фиг. 14 является видом, иллюстрирующим режим сегментации при взаимном прогнозировании.[27] FIG. 14 is a view illustrating a segmentation mode in inter-prediction.
[28] Фиг. 15 и 16 схематично показывают пример способа кодирования видео/изображений и связанных компонентов согласно варианту(ам) осуществления настоящего раскрытия.[28] FIG. 15 and 16 schematically show an example of a method for encoding video/images and related components according to embodiment(s) of the present disclosure.
[29] Фиг. 17 и 18 схематично показывают пример способа декодирования видео/изображений и связанных компонентов согласно варианту(ам) осуществления настоящего раскрытия.[29] FIG. 17 and 18 schematically show an example of a method for decoding video/images and related components according to embodiment(s) of the present disclosure.
[30] Фиг. 19 иллюстрирует пример системы потоковой передачи контента, к которой могут применяться варианты осуществления, раскрытые в настоящем раскрытии.[30] FIG. 19 illustrates an example of a content streaming system to which the embodiments disclosed in the present disclosure may be applied.
Подробное описание вариантов осуществленияDetailed Description of Embodiments
[31] Настоящее раскрытие может модифицироваться различными способами и иметь несколько примерных вариантов осуществления. Следовательно, конкретные примерные варианты осуществления настоящего раскрытия проиллюстрированы на прилагаемых чертежах и подробно описываются ниже. Тем не менее, это не имеет намерение ограничивать настоящее раскрытие конкретными вариантами осуществления. Термины, используемые в настоящем описании изобретения, используются только описывать конкретные примерные варианты осуществления вместо того, чтобы ограничивать настоящее раскрытие. Формы единственного числа имеют намерение включать в себя формы множественного числа если контекст явно не указывает иное. Следует понимать, что термины "включать в себя", "иметь" и т.п., используемые в настоящем описании изобретения, указываются присутствие признаков, номеров, этапов, операций, компонентов, частей либо комбинации вышеозначенного, указанной в настоящем описании изобретения, но не исключают присутствие или добавление одного или более других признаков, номеров, этапов, операций, компонентов, частей либо комбинации вышеозначенного.[31] The present disclosure may be modified in various ways and may have several exemplary embodiments. Accordingly, specific exemplary embodiments of the present disclosure are illustrated in the accompanying drawings and described in detail below. However, it is not intended to limit the present disclosure to specific embodiments. The terms used in the present description of the invention are used only to describe specific exemplary embodiments and not to limit the present disclosure. Singular forms are intended to include plural forms unless the context clearly indicates otherwise. It should be understood that the terms “include,” “have,” and the like, as used herein, indicate the presence of features, numbers, steps, operations, components, parts, or combinations thereof set forth in this specification, but do not exclude the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations of the foregoing.
[32] Между тем, каждая конфигурация на чертежах, описанная в настоящем документе, показывается независимо для удобства описания относительно различных характеристических функций и не означает то, что каждая конфигурация реализуется как отдельные аппаратные средства или отдельное программное обеспечение. Например, два или более компонентов для каждого компонента могут комбинироваться, чтобы формировать один компонент, либо один компонент может разделяться на множество компонентов. Варианты осуществления, в которых каждый компонент интегрируется и/или разделяется, также включаются в объем настоящего раскрытия сущности.[32] Meanwhile, each configuration in the drawings described herein is shown independently for convenience of description regarding various characteristic functions and does not mean that each configuration is implemented as separate hardware or separate software. For example, two or more components for each component may be combined to form one component, or one component may be divided into multiple components. Embodiments in which each component is integrated and/or separated are also included within the scope of this disclosure.
[33] В настоящем раскрытии, "А или В" может означать "только А", "только В" или "как А, так и В". Другими словами, "А или В" в настоящем раскрытии может интерпретироваться в качестве "А и/или В". Например, в настоящем раскрытии, "А, В или С" средство "только А", "только В", "только С" или "любой и любая комбинация А, В и С".[33] In the present disclosure, “A or B” may mean “A only,” “B only,” or “both A and B.” In other words, "A or B" in the present disclosure may be interpreted as "A and/or B". For example, in the present disclosure, "A, B or C" means "A only", "B only", "C only" or "any and any combination of A, B and C".
[34] Наклонная черта (/) или запятая (запятая), используемая в настоящем раскрытии, может означать "и/или". Например, "А/В" может означать "А и/или В". Соответственно, "А/В" может означать "только А", "только В" или "оба А и В". Например, "А, В, С" могут означать "А, В или С".[34] The slash (/) or comma (comma) used in this disclosure may indicate “and/or.” For example, "A/B" can mean "A and/or B". Accordingly, "A/B" can mean "only A", "only B" or "both A and B". For example, "A, B, C" can mean "A, B or C".
[35] В настоящем описании изобретения, "по меньшей мере одно из А и В" может означать "только А", "только В" или "как А, так и В". Кроме того, в настоящем описании изобретения, выражение "по меньшей мере одно из А или В" или "по меньшей мере одно из А и/или В" может интерпретироваться идентично "по меньшей мере одно из А и В".[35] In the present specification, “at least one of A and B” may mean “A only,” “B only,” or “both A and B.” Moreover, in the present specification, the expression “at least one of A or B” or “at least one of A and/or B” may be interpreted identically to “at least one of A and B”.
[36] Дополнительно, в настоящем описании изобретения, "по меньшей мере одно из А, В и С" может означать "только А", "только В", "только С" либо "любая комбинация А, В и С". Кроме того, "по меньшей мере одно из А, В или С" или "по меньшей мере одно из А, В и/или С" может означать "по меньшей мере одно из А, В и С".[36] Additionally, as used herein, “at least one of A, B, and C” may mean “A only,” “B only,” “C only,” or “any combination of A, B, and C.” In addition, "at least one of A, B or C" or "at least one of A, B and/or C" may mean "at least one of A, B and C".
[37] Дополнительно, круглые скобки, используемые в настоящем описании изобретения, могут означать "например". В частности, в случае если "прогнозирование (внутреннее (intra) прогнозирование)" выражается, может указываться то, что "внутреннее прогнозирование" предлагается в качестве примера "прогнозирования". Другими словами, термин "прогнозирование" в настоящем описании изобретения не ограничен "внутренним прогнозированием", и может указываться то, что "внутреннее прогнозирование" предлагается в качестве примера "прогнозирования". Дополнительно, даже в случае, если "прогнозирование (т.е. внутреннее прогнозирование)" выражается, может указываться то, что "внутреннее прогнозирование" предлагается в качестве примера "прогнозирования".[37] Additionally, parentheses used in the present description of the invention may mean "for example." In particular, in the case where "forecasting (intra) forecasting" is expressed, it may be indicated that "intra forecasting" is offered as an example of "forecasting". In other words, the term "prediction" in the present specification is not limited to "internal prediction", and it may be stated that "internal prediction" is offered as an example of "prediction". Additionally, even if "forecasting (ie, internal forecasting)" is expressed, it may be indicated that "internal forecasting" is offered as an example of "forecasting".
[38] В настоящем описании изобретения, технические признаки, отдельно поясненные на одном чертеже, могут реализовываться отдельно либо могут реализовываться одновременно.[38] In the present specification, technical features separately explained in one drawing may be implemented separately or may be implemented simultaneously.
[39] Далее подробно описываются примерные варианты осуществления настоящего раскрытия со ссылкой на прилагаемые чертежи. Помимо этого, аналогичные ссылки с номерами используются для того, чтобы указывать аналогичные элементы на всех чертежах, и идентичные описания аналогичных элементов могут опускаться.[39] Exemplary embodiments of the present disclosure are described in detail below with reference to the accompanying drawings. In addition, like reference numerals are used to identify like elements throughout the drawings, and identical descriptions of like elements may be omitted.
[40] Фиг. 1 иллюстрирует пример системы кодирования видео/изображений, к которой могут применяться варианты осуществления настоящего раскрытия.[40] FIG. 1 illustrates an example of a video/image coding system to which embodiments of the present disclosure may be applied.
[41] Ссылаясь на фиг. 1, система кодирования видео/изображений может включать в себя первое устройство (исходное устройство) и второе устройство (приемное устройство). Исходное устройство может передавать кодированную информацию или данные видео/изображений в приемное устройство через цифровой носитель хранения данных или сеть в форме файла или потоковой передачи.[41] Referring to FIG. 1, the video/image encoding system may include a first device (source device) and a second device (receiver device). A source device may transmit encoded information or video/image data to a receiving device via a digital storage medium or network in the form of a file or stream.
[42] Исходное устройство может включать в себя видеоисточник, оборудование кодирования и передатчик. Приемное устройство может включать в себя приемник, оборудование декодирования и модуль рендеринга. Оборудование кодирования может называться "оборудованием кодирования видео/изображений", и оборудование декодирования может называться "оборудованием декодирования видео/изображений". Передатчик может включаться в оборудование кодирования. Приемник может включаться в оборудование декодирования. Модуль рендеринга может включать в себя дисплей, и дисплей может быть сконфигурирован как отдельное устройство или внешний компонент.[42] The source device may include a video source, encoding equipment, and a transmitter. The receiving device may include a receiver, decoding equipment, and a rendering module. The encoding equipment may be referred to as "video/image encoding equipment" and the decoding equipment may be referred to as "video/image decoding equipment". The transmitter may be included in the encoding equipment. The receiver may be included in the decoding equipment. The rendering module may include a display, and the display may be configured as a separate device or an external component.
[43] Видеоисточник может получать видео/изображение посредством процесса захвата, синтезирования или формирования видео/изображения. Видеоисточник может включать в себя устройство захвата видео/изображений и/или устройство формирования видео/изображений. Устройство захвата видео/изображений может включать в себя, например, одну или более камер, архивы видео/изображений, включающие в себя ранее захваченные видео/изображения, и т.п. Устройство формирования видео/изображений может включать в себя, например, компьютеры, планшетные компьютеры и смартфоны и может (электронно) формировать видео/изображения. Например, виртуальное видео/изображение может формироваться через компьютер и т.п. В этом случае, процесс захвата видео/изображений может заменяться посредством процесса формирования связанных данных.[43] A video source may obtain video/image through a video/image capture, synthesis, or shaping process. The video source may include a video/image capture device and/or a video/image generation device. The video/image capturing device may include, for example, one or more cameras, video/image archives including previously captured video/images, and the like. The video/image generating apparatus may include, for example, computers, tablet computers and smartphones and may (electronically) generate video/images. For example, a virtual video/image may be generated via a computer or the like. In this case, the video/image capturing process can be replaced by the associated data generation process.
[44] Оборудование кодирования может кодировать входное видео/изображение. Оборудование кодирования может выполнять последовательность процедур, таких как прогнозирование, преобразование и квантование, для эффективности сжатия и кодирования. Кодированные данные (кодированная информация видео/изображений) могут выводиться в форме потока битов.[44] Encoding equipment can encode the input video/image. Encoding hardware may perform a sequence of procedures such as prediction, transform, and quantization to achieve compression and encoding efficiency. Encoded data (encoded video/image information) may be output in the form of a bitstream.
[45] Передатчик может передавать информацию или данные кодированных изображений/изображений, выводимую в форме потока битов, в приемник приемного устройства через цифровой носитель хранения данных или сеть в форме файла или потоковой передачи. Цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик может включать в себя элемент для формирования мультимедийного файла через предварительно определенный формат файлов и может включать в себя элемент для передачи через широковещательную передачу/сеть связи. Приемник может принимать/извлекать поток битов и передавать принимаемый поток битов в оборудование декодирования.[45] A transmitter may transmit information or encoded image/image data output in the form of a bitstream to a receiver of a receiving device via a digital storage medium or network in the form of a file or streaming. The digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-Ray, HDD, SSD, and the like. The transmitter may include an element for generating a multimedia file through a predefined file format and may include an element for transmission through a broadcast/communication network. The receiver may receive/extract the bit stream and transmit the received bit stream to decoding equipment.
[46] Оборудование декодирования может декодировать видео/изображение посредством выполнения последовательности процедур, таких как деквантование, обратное преобразование и прогнозирование, соответствующих работе оборудования кодирования.[46] The decoding equipment can decode the video/image by performing a sequence of procedures such as dequantization, deconversion and prediction corresponding to the operation of the encoding equipment.
[47] Модуль рендеринга может подготавливать посредством рендеринга декодированное видео/изображение. Подготовленное посредством рендеринга видео/изображение может отображаться через дисплей.[47] The rendering module may prepare a decoded video/image by rendering. The video/image prepared by rendering can be displayed through the display.
[48] Настоящее раскрытие относится к кодированию видео/изображений. Например, способ/вариант осуществления, раскрытый в этом документе, может применяться к способу, раскрытому в стандарте универсального кодирования видео (WC), стандарте фундаментального кодирования видео (EVC), стандарте AOMedia Video 1 (AV1), стандарте второго поколения кодирования аудио/видео (AVS2) или стандарте кодирования видео/изображений следующего поколения (например, Н.267, Н.268 и т.п.).[48] The present disclosure relates to video/image coding. For example, the method/embodiment disclosed in this document may be applied to the method disclosed in the Universal Video Coding (WC) standard, the Fundamental Video Coding (EVC) standard, the AOMedia Video 1 (AV1) standard, the second generation audio/video coding standard (AVS2) or next generation video/image coding standard (for example, H.267, H.268, etc.).
[49] Этот документ предлагает различные варианты осуществления кодирования видео/изображений, и вышеуказанные варианты осуществления также могут выполняться в комбинации между собой, если не указано иное.[49] This document proposes various embodiments of video/image encoding, and the above embodiments can also be performed in combination with each other unless otherwise noted.
[50] В этом документе, видео может означать последовательность изображений во времени. Кадр, в общем, означает единицу, представляющую одно изображение в конкретном временном кинокадре, и срез/плитка означает единицу, составляющую часть кадра с точки зрения кодирования. Срез/плитка может включать в себя одну или более единиц дерева кодирования (CTU). Один кадр может состоять из одного или более срезов/плиток.[50] In this document, video may refer to a sequence of images over time. A frame generally means a unit representing one image in a particular time frame, and a slice/tile means a unit constituting a part of a frame from an encoding point of view. A slice/tile may include one or more coding tree units (CTUs). One frame can consist of one or more slices/tiles.
[51] Плитка представляет собой прямоугольную область CTU в конкретном столбце плиток и конкретной строке плиток в кадре. Столбец плиток представляет собой прямоугольную область CTU, имеющих высоту, равную высоте кадра, и ширину, указываемую посредством синтаксических элементов в наборе параметров кадра. Строка плиток представляет собой прямоугольную область CTU, имеющих высоту, указываемую посредством синтаксических элементов в наборе параметров кадра, и ширину, равную ширине кадра. Сканирование плиток представляет собой конкретное последовательное упорядочение CTU, сегментирующих кадр, при котором CTU упорядочиваются последовательно при растровом сканировании CTU в плитке, тогда как плитки в кадре упорядочиваются последовательно при растровом сканировании плиток кадра. Срез может содержать число полных плиток или число последовательных CTU-строк в одной плитке кадра, который может содержаться в одной NAL-единице. В этом документе, группа плиток и срез могут использоваться взаимозаменяемо. Например, в этом документе, группа плиток/заголовок группы плиток может называться "срезом/заголовком среза".[51] A tile is a rectangular CTU area in a particular column of tiles and a particular row of tiles in a frame. A column of tiles is a rectangular area of CTUs having a height equal to the height of the frame and a width specified by syntax elements in the frame parameter set. A row of tiles is a rectangular area of CTUs having a height specified by syntax elements in the frame parameter set and a width equal to the width of the frame. A tile scan is a specific sequential ordering of the CTUs segmenting a frame, in which CTUs are ordered sequentially in a raster scan of the CTUs in a tile, whereas tiles in a frame are ordered sequentially in a raster scan of the frame's tiles. A slice can contain the number of complete tiles or the number of consecutive CTU lines in one tile of a frame that can be contained in one NAL unit. In this document, tile group and slice can be used interchangeably. For example, in this document, a group of tiles/header of a group of tiles may be referred to as a "slice/slice header".
[52] Между тем, один кадр может разделяться на два или более субкадров. Субкадр может представлять собой прямоугольную область одного или более срезов в кадре.[52] Meanwhile, one frame may be divided into two or more subframes. A subframe may be a rectangular area of one or more slices in a frame.
[53] Пиксел или пел может означать наименьшую единицу, составляющую один кадр (или изображение). Кроме того, "выборка" может использоваться в качестве термина, соответствующего пикселу. Выборка, в общем, может представлять пиксел или значение пиксела и может представлять только пиксел/пикселное значение компонента сигнала яркости либо только пиксел/пикселное значение компонента сигнала цветности.[53] Pixel or pel can mean the smallest unit that makes up one frame (or image). Additionally, "sample" can be used as a term corresponding to a pixel. A sample may generally represent a pixel or a pixel value, and may represent only a pixel/pixel value of a luma component or only a pixel/pixel value of a chroma component.
[54] Единица может представлять базовую единицу обработки изображений. Единица может включать в себя по меньшей мере одно из конкретной области кадра и информации, связанной с областью. Одна единица может включать в себя один блок сигналов яркости и два блока сигналов цветности (например, Cb, Cr). Единица может использоваться взаимозаменяемо с такими терминами, как блок или зона в некоторых случаях. В общем случае, блок M×N может включать в себя выборки (или массивы выборок) либо набор (или массив) коэффициентов преобразования из М столбцов и N строк. Альтернативно, выборка может означать пикселное значение в пространственной области и когда такое пикселное значение преобразуется в частотную область, это может означать коэффициент преобразования в частотной области.[54] The unit may represent a basic image processing unit. The unit may include at least one of a specific frame area and information associated with the area. One unit may include one block of luma signals and two blocks of chrominance signals (eg, Cb, Cr). Unit may be used interchangeably with terms such as block or zone in some cases. In general, an M×N block may include samples (or arrays of samples) or a set (or array) of transform coefficients of M columns and N rows. Alternatively, a sample may refer to a pixel value in the spatial domain, and when such a pixel value is converted to a frequency domain, it may refer to a frequency domain conversion factor.
[55] Фиг. 2 является схемой, принципиально иллюстрирующей конфигурацию оборудования кодирования видео/изображений, к которому может применяться раскрытие настоящего документа. В дальнейшем в этом документе, то, что называется "оборудованием кодирования видео", может включать в себя оборудование кодирования изображений.[55] FIG. 2 is a diagram fundamentally illustrating the configuration of video/image encoding equipment to which the disclosure of this document may be applied. Hereinafter in this document, what is referred to as “video encoding equipment” may include image encoding equipment.
[56] Ссылаясь на фиг. 2, оборудование 200 кодирования может включать в себя и конфигурироваться с помощью модуля 210 сегментации изображений, модуля 220 прогнозирования, остаточного процессора 230, энтропийного кодера 240, сумматора 250, фильтра 260 и запоминающего устройства 270. Модуль 220 прогнозирования может включать в себя модуль 221 взаимного прогнозирования и модуль 222 внутреннего прогнозирования. Остаточный процессор 230 может включать в себя преобразователь 232, квантователь 233, деквантователь 234 и обратный преобразователь 235. Остаточный процессор 230 дополнительно может включать в себя вычитатель 231. Сумматор 250 может называться "модулем восстановления" или "формирователем восстановленных блоков". Модуль 210 сегментации изображений, модуль 220 прогнозирования, остаточный процессор 230, энтропийный кодер 240, сумматор 250 и фильтр 260, которые описываются выше, могут конфигурироваться посредством одного или более аппаратных компонентов (например, наборов микросхем или процессоров кодера) согласно варианту осуществления. Помимо этого, запоминающее устройство 270 может включать в себя буфер декодированных кадров (DPB) и также может конфигурироваться посредством цифрового носителя хранения данных. Аппаратный компонент дополнительно может включать в себя запоминающее устройство 270 в качестве внутреннего/внешнего компонента.[56] Referring to FIG. 2, encoding equipment 200 may include and be configured with an image segmentation module 210, a prediction module 220, a residual processor 230, an entropy encoder 240, an adder 250, a filter 260, and a memory 270. The prediction module 220 may include a mutual module 221. forecasting and internal forecasting module 222. Residual processor 230 may include a transformer 232, a quantizer 233, a dequantizer 234, and an inverse transformer 235. Residual processor 230 may further include a subtractor 231. The adder 250 may be referred to as a “recovery module” or a “recovery block generator.” The image segmentation module 210, prediction module 220, residual processor 230, entropy encoder 240, adder 250, and filter 260, which are described above, may be configured by one or more hardware components (eg, encoder chipsets or processors) according to an embodiment. In addition, storage device 270 may include a decoded frame buffer (DPB) and may also be configured by a digital storage medium. The hardware component may further include a storage device 270 as an internal/external component.
[57] Модуль 210 сегментации изображений может разбивать входное изображение (или кадр, кинокадр), вводимое в оборудование 200 кодирования, на одну или более единиц обработки. В качестве примера, единица обработки может называться "единицей кодирования (CU)". В этом случае, единица кодирования может рекурсивно разбиваться согласно структуре в виде дерева квадрантов, двоичного дерева и троичного дерева (QTBTTT) из единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU). Например, одна единица кодирования может разбиваться на множество единиц кодирования большей глубины на основе структуры в виде дерева квадрантов, структуры в виде двоичного дерева и/или структуры в виде троичного дерева. В этом случае, например, сначала применяется структура в виде дерева квадрантов, и впоследствии может применяться структура в виде двоичного дерева и/или структура в виде троичного дерева. Альтернативно, также сначала может применяться структура в виде двоичного дерева. Процедура кодирования согласно настоящему раскрытию может выполняться на основе конечной единицы кодирования, которая более не разбивается. В этом случае, на основе эффективности кодирования согласно характеристикам изображений и т.п., максимальная единица кодирования может непосредственно использоваться в качестве конечной единицы кодирования, или при необходимости, единица кодирования может рекурсивно разбиваться на единицы кодирования большей глубины, так что единица кодирования, имеющая оптимальный размер, может использоваться в качестве конечной единицы кодирования. Здесь, процедура кодирования может включать в себя такую процедуру, как прогнозирование, преобразование и восстановление, которая описывается ниже. В качестве другого примера, единица обработки дополнительно может включать в себя предиктор (PU) или единицу преобразования (TU). В этом случае, каждое из предиктора и единицы преобразования может разбиваться или сегментироваться из вышеуказанной конечной единицы кодирования. Предиктор может представлять собой единицу выборочного прогнозирования, и единица преобразования может представлять собой единицу для выведения коэффициента преобразования и/или единицу для выведения остаточного сигнала из коэффициента преобразования.[57] The image segmentation module 210 may split an input image (or frame) input to the encoding equipment 200 into one or more processing units. As an example, the processing unit may be called a "coding unit (CU)". In this case, the coding unit may be recursively partitioned according to a quadtree, binary tree, and ternary tree (QTBTTT) structure from a coding tree unit (CTU) or largest coding unit (LCU). For example, one encoding unit may be decomposed into multiple encoding units of greater depth based on a quadtree structure, a binary tree structure, and/or a ternary tree structure. In this case, for example, a quadtree structure is first applied, and a binary tree structure and/or a ternary tree structure may subsequently be applied. Alternatively, a binary tree structure can also be used first. The encoding procedure of the present disclosure may be performed based on a final encoding unit that is no longer split. In this case, based on the coding efficiency according to the characteristics of images and the like, the maximum coding unit can be directly used as the final coding unit, or if necessary, the coding unit can be recursively divided into coding units of greater depth, so that a coding unit having optimal size, can be used as the final coding unit. Here, the encoding procedure may include a procedure such as prediction, transformation and reconstruction, which is described below. As another example, the processing unit may further include a predictor (PU) or transformation unit (TU). In this case, each of the predictor and transformation unit may be split or segmented from the above final encoding unit. The predictor may be a sample prediction unit, and the transformation unit may be a unit for deriving a transformation coefficient and/or a unit for deriving a residual signal from the transformation coefficient.
[58] Единица может взаимозаменяемо использоваться с таким термином, как блок или зона, в некоторых случаях. Обычно, блок M×N может представлять выборки, состоящие из М столбцов и N строк или группы коэффициентов преобразования. Выборка, в общем, может представлять пиксел или значение пиксела и также может представлять только пиксел/пикселное значение компонента сигнала яркости, а также представлять только пиксел/пикселное значение компонента сигнала цветности. Выборка может использоваться в качестве термина, соответствующего пикселу или пелу, конфигурирующему один кадр (или изображение).[58] Unit may be used interchangeably with a term such as block or zone in some cases. Typically, an M×N block may represent samples consisting of M columns and N rows or a group of transform coefficients. A sample may generally represent a pixel or a pixel value, and may also represent only a pixel/pixel value of a luma component, and may also represent only a pixel/pixel value of a chrominance signal component. Sample can be used as a term corresponding to a pixel or pel configuring one frame (or image).
[59] Оборудование 200 кодирования может вычитать прогнозный сигнал (прогнозированный блок, массив прогнозных выборок), выводимый из модуля 221 взаимного прогнозирования или модуля 222 внутреннего прогнозирования, из сигнала входного изображения (исходного блока, массива исходных выборок), чтобы формировать остаточный сигнал (остаточный блок, массив остаточных выборок), и сформированный остаточный сигнал передается в преобразователь 232. В этом случае, как проиллюстрировано, модуль для вычитания прогнозного сигнала (блока прогнозирования, массива прогнозных выборок) из сигнала входного изображения (исходного блока, массива исходных выборок) в кодере 200 может называться "вычитателем 231". Модуль прогнозирования может выполнять прогнозирование для целевого блока обработки (в дальнейшем в этом документе, называемого "текущим блоком"), и формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование, в единицах текущего блока или CU. Модуль прогнозирования может формировать различную информацию относительно прогнозирования, такую как информация режима прогнозирования, и передавать сформированную информацию в энтропийный кодер 240, как описано ниже в описании каждого режима прогнозирования. Информация относительно прогнозирования может кодироваться посредством энтропийного кодера 240 и выводиться в форме потока битов.[59] The encoding equipment 200 may subtract a prediction signal (predicted block, prediction sample array) output from the inter prediction module 221 or intra prediction module 222 from the input image signal (source block, source sample array) to generate a residual signal (residual block, residual sample array), and the generated residual signal is transmitted to converter 232. In this case, as illustrated, a module for subtracting a prediction signal (prediction block, prediction sample array) from an input image signal (source block, source sample array) in the encoder 200 may be referred to as "subtractor 231". The prediction module may perform prediction for a target processing block (hereinafter referred to as a "current block"), and generate a prediction block including prediction samples for the current block. The prediction module may determine whether intra-prediction or inter-prediction is applied in units of the current block or CU. The prediction module may generate various information regarding prediction, such as prediction mode information, and transmit the generated information to the entropy encoder 240, as described below in the description of each prediction mode. The prediction information may be encoded by entropy encoder 240 and output in the form of a bit stream.
[60] Модуль 222 внутреннего прогнозирования может прогнозировать текущий блок со ссылкой на выборки в пределах текущего кадра. Выборки, на которые ссылаются, могут быть расположены как граничащие с текущим блоком либо также могут быть расположены на большом расстоянии от текущего блока согласно режиму прогнозирования. Режимы прогнозирования при внутреннем прогнозировании могут включать в себя множество ненаправленных режимов и множество направленных режимов. Ненаправленный режим может включать в себя, например, DC-режим или планарный режим. Направленный режим может включать в себя, например, 33 режима направленного прогнозирования или 65 режимов направленного прогнозирования согласно точной степени направления прогнозирования. Тем не менее, это является иллюстративным, и режимы направленного прогнозирования, которые больше или меньше вышеуказанного числа, могут использоваться согласно настройке. Модуль 222 внутреннего прогнозирования также может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.[60] Intra prediction module 222 may predict the current block with reference to samples within the current frame. The referenced samples may be located adjacent to the current block or may also be located at a large distance from the current block according to the prediction mode. Prediction modes in intra prediction may include a plurality of non-directional modes and a plurality of directed modes. The omnidirectional mode may include, for example, DC mode or planar mode. The directional mode may include, for example, 33 directional prediction modes or 65 directional prediction modes according to the precise degree of the prediction direction. However, this is exemplary, and directional prediction modes that are greater or less than the above number can be used as configured. The intra prediction module 222 can also determine the prediction mode applied to the current block by using the prediction mode applied to the adjacent block.
[61] Модуль 221 взаимного прогнозирования может логически выводить прогнозированный блок относительно текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В это время, чтобы снижать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.п.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, существующий в текущем кадре, и временной соседний блок, существующий в опорном кадре. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными друг другу или отличающимися друг от друга. Временной соседний блок может упоминаться под таким названием, как "совместно размещенный опорный блок", "совместно размещенная CU (colCU)" и т.п., и опорный кадр, включающий в себя временной соседний блок, также может называться "совместно размещенным кадром (colPic)". Например, модуль 221 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и формировать информацию, указывающую то, какой возможный вариант используется для того, чтобы извлекать вектор движения и/или индекс опорного кадра текущего блока. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования, и, например, в случае режима пропуска и режима объединения, модуль 221 взаимного прогнозирования может использовать информацию движения соседнего блока в качестве информации движения текущего блока. В случае режима пропуска, остаточный сигнал может не передаваться, в отличие от режима объединения. Режим прогнозирования векторов движения (MVP) может указывать вектор движения текущего блока посредством использования вектора движения соседнего блока в качестве предиктора вектора движения и передачи в служебных сигналах разности векторов движения.[61] The inter-prediction unit 221 may logically output a predicted block relative to a current block based on a reference block (an array of reference samples) indicated by a motion vector for the reference frame. At this time, in order to reduce the amount of motion information transmitted in the inter-prediction mode, motion information may be predicted in units of blocks, sub-blocks or samples based on the correlation of motion information between a neighboring block and the current block. The motion information may include a motion vector and a reference frame index. The motion information may further include inter-prediction direction information (L0-prediction, L1-prediction, bi-prediction, etc.). In the case of inter-prediction, the neighbor block may include a spatial neighbor block existing in the current frame and a temporal neighbor block existing in the reference frame. The reference frame including the reference block and the reference frame including the temporary adjacent block may be identical to each other or different from each other. A temporary neighbor block may be referred to by a name such as a "co-located reference block", a "co-located CU (colCU)" and the like, and a reference frame including a temporary neighboring block may also be called a "co-located frame ( colPic)". For example, the inter-prediction module 221 may configure a list of motion information candidates based on neighboring blocks and generate information indicating which candidate is used to retrieve the motion vector and/or reference frame index of the current block. Inter prediction can be performed based on various prediction modes, and, for example, in the case of the skip mode and the merge mode, the inter prediction unit 221 can use the motion information of a neighboring block as the motion information of the current block. In the case of the skip mode, the residual signal may not be transmitted, unlike the combine mode. A motion vector prediction (MVP) mode may indicate the motion vector of a current block by using the motion vector of an adjacent block as a motion vector predictor and transmitting motion vector difference signals.
[62] Модуль 220 прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования, которые описываются ниже. Например, модуль прогнозирования может применять внутреннее прогнозирование или взаимное прогнозирование для прогнозирования одного блока и может одновременно применять внутреннее прогнозирование и взаимное прогнозирование. Это может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может быть основан на режиме прогнозирования на основе внутриблочного копирования (IBC) либо основан на палитровом режиме для прогнозирования блока. Режим IBC-прогнозирования или палитровый режим может использоваться для кодирования изображений/видео контента игры и т.п., например, для кодирования экранного контента (SCC). IBC по существу выполняет прогнозирование в текущем кадре, но может выполняться аналогично взаимному прогнозированию в том, что опорный блок извлекается в текущем кадре. Таким образом, IBC может использовать по меньшей мере одну из технологий взаимного прогнозирования, описанных в этом документе. Палитровый режим может рассматриваться как пример внутреннего кодирования или внутреннего прогнозирования. Когда палитровый режим применяется, выборочное значение в кадре может передаваться в служебных сигналах на основе информации относительно таблицы палитр и индекса палитры.[62] The prediction module 220 may generate a prediction signal based on various prediction methods, which are described below. For example, the prediction module may apply intra-prediction or inter-prediction to predict one block, and may simultaneously apply intra-prediction and inter-prediction. This may be referred to as "combined inter-intraprediction (CIIP)". In addition, the prediction module may be based on an intra-block copy (IBC) prediction mode or based on a palette mode for block prediction. The IBC prediction mode or palette mode can be used for encoding image/video content of a game and the like, for example, screen content encoding (SCC). IBC essentially performs prediction in the current frame, but can be performed similarly to inter-prediction in that the reference block is retrieved in the current frame. Thus, the IBC may use at least one of the inter-prediction technologies described in this document. Palette mode can be considered an example of intra-coding or intra-prediction. When palette mode is applied, a sampled value in a frame may be signaled based on information regarding the palette table and palette index.
[63] Прогнозный сигнал, сформированный посредством модуля прогнозирования (включающего в себя модуль 221 взаимного прогнозирования и/или модуль 222 внутреннего прогнозирования), может использоваться для того, чтобы формировать восстановленный сигнал, либо может использоваться для того, чтобы формировать остаточный сигнал. Преобразователь 232 может формировать коэффициенты преобразования посредством применения технологии преобразования к остаточному сигналу. Например, технология преобразования может включать в себя по меньшей мере одно из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования Карунена-Лоэва (KLT), преобразования на основе графа (GBT) или условно нелинейного преобразования (CNT). Здесь, GBT означает преобразование, полученное из графа при выражении информации взаимосвязи между пикселами на графе. CNT означает преобразование, полученное на основе прогнозного сигнала, сформированного с использованием всех ранее восстановленных пикселов. Кроме того, процесс преобразования может применяться к блоку пикселов, имеющих размер, идентичный размеру квадрата, или может применяться к блоку переменного размера, который не представляет собой квадрат.[63] The prediction signal generated by the prediction module (including inter prediction module 221 and/or intra prediction module 222) may be used to generate a reconstructed signal, or may be used to generate a residual signal. Converter 232 may generate conversion coefficients by applying conversion technology to the residual signal. For example, the transform technology may include at least one of a discrete cosine transform (DCT), a discrete sine transform (DST), a Karhunen-Loeve transform (KLT), a graph-based transform (GBT), or a conditionally nonlinear transform (CNT). Here, GBT means the transformation obtained from a graph when expressing the relationship information between pixels in the graph. CNT means the transformation obtained from the prediction signal generated using all the previously reconstructed pixels. In addition, the conversion process may be applied to a block of pixels that is identical in size to a square, or may be applied to a variable size block that is not a square.
[64] Квантователь 233 квантует коэффициенты преобразования и передает их в энтропийный кодер 240, и энтропийный кодер 240 кодирует квантованный сигнал (информацию относительно квантованных коэффициентов преобразования) и выводит кодированный сигнал в качестве потока битов. Информация относительно квантованных коэффициентов преобразования может называться "остаточной информацией". Квантователь 233 может перекомпоновывать квантованные коэффициенты преобразования в блочной форме в одномерную векторную форму на основе порядка сканирования коэффициентов и может формировать информацию относительно коэффициентов преобразования на основе квантованных коэффициентов преобразования в одномерной векторной форме. Энтропийный кодер 240 может выполнять различные способы кодирования, такие как, например, кодирование экспоненциальным кодом Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC) и контекстно-адаптивное двоичное арифметическое кодирование (САВАС). Энтропийный кодер 240 может кодировать информацию, необходимую для восстановления видео/изображений (например, значения синтаксических элементов и т.д.) отличную от квантованных коэффициентов преобразования, вместе или отдельно. Кодированная информация (например, кодированная информация видео/изображений) может передаваться или сохраняться в единицах слоя абстрагирования от сети (NAL) в форме потока битов. Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Кроме того, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. В этом документе, информация и/или синтаксические элементы, передаваемые/передаваемые в служебных сигналах из оборудования кодирования в оборудование декодирования, могут включаться в информацию видео/изображений. Информация видео/изображений может кодироваться через процедуру кодирования, описанную выше, и включаться в поток битов. Поток битов может передаваться через сеть или может сохраняться на цифровом носителе хранения данных. Здесь, сеть может включать в себя широковещательную сеть и/или сеть связи, и цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как USB, SD, CD, DVD, Blu-Ray, HDD и SSD. Передающий модуль (не показан) и/или модуль хранения (не показан) для передачи или сохранения сигнала, выводимого из энтропийного кодера 240, могут быть сконфигурированы как внутренние/внешние элементы оборудования 200 кодирования, либо передающий модуль может включаться в энтропийный кодер 240.[64] The quantizer 233 quantizes the transform coefficients and passes them to the entropy encoder 240, and the entropy encoder 240 encodes the quantized signal (information regarding the quantized transform coefficients) and outputs the encoded signal as a bitstream. Information regarding the quantized transform coefficients may be referred to as "residual information". Quantizer 233 may re-arrange the quantized transform coefficients in block form into one-dimensional vector form based on the scan order of the coefficients, and may generate information regarding the transform coefficients based on the quantized transform coefficients in one-dimensional vector form. Entropy encoder 240 can perform various encoding techniques, such as, for example, exponential Golomb coding, context adaptive variable length coding (CAVLC), and context adaptive binary arithmetic coding (CABAC). Entropy encoder 240 may encode information needed to reconstruct video/images (eg, values of syntax elements, etc.) other than the quantized transform coefficients, together or separately. Encoded information (eg, encoded video/image information) may be transmitted or stored in Network Abstraction Layer (NAL) units in the form of a bitstream. The video/image information may further include information regarding various parameter sets, such as an adaptation parameter set (APS), a frame parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). In addition, the video/image information may further include general restriction information. In this document, information and/or syntax elements transmitted/signaled from encoding equipment to decoding equipment may be included in video/image information. The video/image information may be encoded through the encoding procedure described above and included in the bit stream. The bit stream may be transmitted over a network or may be stored on a digital storage medium. Here, the network may include a broadcast network and/or a communications network, and the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-Ray, HDD and SSD. A transmitting module (not shown) and/or a storage module (not shown) for transmitting or storing the signal output from the entropy encoder 240 may be configured as internal/external elements of the encoding equipment 200, or the transmitting module may be included in the entropy encoder 240.
[65] Квантованные коэффициенты преобразования, выводимые из квантователя 233, могут использоваться для того, чтобы формировать прогнозный сигнал. Например, остаточный сигнал (остаточный блок или остаточные выборки) может восстанавливаться посредством применения деквантования и обратного преобразования к квантованным коэффициентам преобразования через деквантователь 234 и модуль 235 обратного преобразования. Сумматор 250 может суммировать восстановленный остаточный сигнал с прогнозным сигналом, выводимым из модуля 221 взаимного прогнозирования или модуля 222 внутреннего прогнозирования, чтобы формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок). Когда отсутствует остаток для целевого блока обработки, к примеру, когда режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока. Сумматор 250 может называться "модулем восстановления" или "формирователем блоков восстановления". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего целевого блока для обработки в текущем кадре или может использоваться для взаимного прогнозирования следующего кадра после фильтрации, как описано ниже.[65] The quantized transform coefficients output from quantizer 233 can be used to generate a predictive signal. For example, the residual signal (residual block or residual samples) can be recovered by applying dequantization and inverse transform to the quantized transform coefficients through dequantizer 234 and inverse transform module 235. The adder 250 may add the reconstructed residual signal with the prediction signal output from the inter-prediction module 221 or the intra-prediction module 222 to generate a reconstructed signal (reconstructed frame, reconstructed block, reconstructed sample array). When there is no remainder for a target processing block, for example when a skip mode is applied, the predicted block can be used as a reconstructed block. The adder 250 may be referred to as a "recovery module" or a "recovery block generator." The generated reconstructed signal may be used to internally predict the next target block for processing in the current frame, or may be used to inter-predict the next frame after filtering, as described below.
[66] Между тем, преобразование сигнала яркости с масштабированием сигнала цветности (LMCS) может применяться в ходе процесса кодирования и/или восстановления кадров.[66] Meanwhile, luma conversion with chrominance scaling (LMCS) can be applied during the encoding and/or frame restoration process.
[67] Фильтр 260 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 260 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 270, а именно, в DPB запоминающего устройства 270. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, дискретизированное адаптивное смещение, адаптивный контурный фильтр, билатеральный фильтр и т.п. Фильтр 260 может формировать различные виды информации, связанной с фильтрацией, и передавать сформированную информацию в энтропийный кодер 240, как описано ниже в описании каждого способа фильтрации. Информация, связанная с фильтрацией, может кодироваться посредством энтропийного кодера 240 и выводиться в форме потока битов.[67] Filter 260 may enhance the subjective/objective quality of images by applying filtering to the reconstructed signal. For example, filter 260 may generate a modified reconstructed frame by applying various filtering techniques to the reconstructed frame and store the modified reconstructed frame in storage device 270, namely, a DPB of storage device 270. Various filtering techniques may include, for example, deblocking filtering. , sampled adaptive bias, adaptive contour filter, bilateral filter, etc. The filter 260 may generate various types of filtering-related information and transmit the generated information to the entropy encoder 240, as described below in the description of each filtering method. Information associated with filtering may be encoded by entropy encoder 240 and output in the form of a bitstream.
[68] Модифицированный восстановленный кадр, передаваемый в запоминающее устройство 270, может использоваться в качестве опорного кадра в модуле 221 взаимного прогнозирования. Когда взаимное прогнозирование применяется посредством оборудования кодирования, рассогласование прогнозирования между оборудованием 200 кодирования и оборудованием декодирования может исключаться, и эффективность кодирования может повышаться.[68] The modified reconstructed frame transferred to the storage device 270 can be used as a reference frame in the inter-prediction unit 221. When inter prediction is applied by the encoding equipment, prediction mismatch between the encoding equipment 200 and the decoding equipment can be eliminated, and encoding efficiency can be improved.
[69] DPB запоминающего устройства 270 может сохранять модифицированный восстановленный кадр для использования в качестве опорного кадра в модуле 221 взаимного прогнозирования. Запоминающее устройство 270 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или кодируется), и/или информацию движения уже восстановленных блоков в кадре. Сохраненная информация движения может передаваться в модуль 221 взаимного прогнозирования для использования в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 270 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и может передавать восстановленные выборки в модуль 222 внутреннего прогнозирования.[69] The DPB of the storage device 270 may store the modified reconstructed frame for use as a reference frame in the inter-prediction module 221. Memory 270 may store block motion information from which motion information in the current frame is retrieved (or encoded) and/or motion information of already reconstructed blocks in the frame. The stored motion information may be transmitted to the inter-prediction unit 221 to be used as spatial neighbor block motion information or temporal neighbor block motion information. Memory 270 may store reconstructed samples of reconstructed blocks in the current frame and may transmit reconstructed samples to intra prediction module 222.
[70] Между тем, в этом документе по меньшей мере одно из квантования/деквантования и/или преобразования/обратного преобразования может опускаться. Когда квантование/деквантование опускается, квантованный коэффициент преобразования может называться "коэффициентом преобразования". Когда преобразование/обратное преобразование опускается, коэффициенты преобразования могут называться "коэффициентом" или "остаточным коэффициентом" либо по-прежнему могут называться "коэффициентом преобразования" для единообразности выражения.[70] Meanwhile, in this document, at least one of quantization/dequantization and/or transformation/inverse transformation may be omitted. When quantization/dequantization is omitted, the quantized conversion factor may be referred to as a "transformation factor". When the transform/inverse transform is omitted, the transform coefficients may be called "coefficient" or "residual coefficient" or may still be called "transform coefficient" for consistency of expression.
[71] Дополнительно, в этом документе, квантованный коэффициент преобразования и коэффициент преобразования могут называться "коэффициентом преобразования" и "масштабированным коэффициентом преобразования", соответственно. В этом случае, остаточная информация может включать в себя информацию относительно коэффициента(ов) преобразования, и информация относительно коэффициента(ов) преобразования может передаваться в служебных сигналах через синтаксис остаточного кодирования. Коэффициенты преобразования могут извлекаться на основе остаточной информации (или информации относительно коэффициента(ов) преобразования), и масштабированные коэффициенты преобразования могут извлекаться через обратное преобразование (масштабирование) для коэффициентов преобразования. Остаточные выборки могут извлекаться на основе обратного преобразования (преобразования) масштабированных коэффициентов преобразования. Это также может применяться/выражаться в других частях этого документа.[71] Additionally, in this document, the quantized transform coefficient and the transform coefficient may be referred to as the “transform coefficient” and the “scaled transform coefficient,” respectively. In this case, the residual information may include information regarding the transform coefficient(s), and the information regarding the transform coefficient(s) may be signaled through a residual encoding syntax. Transform coefficients can be extracted based on residual information (or information regarding the transform coefficient(s)), and scaled transform coefficients can be extracted via inverse transform (scaling) of the transform coefficients. Residual samples can be extracted based on the inverse transform (transform) of the scaled transform coefficients. This may also be applied/expressed elsewhere in this document.
[72] Фиг. 3 является схемой для схематичного пояснения конфигурации оборудования декодирования видео/изображений, к которому может применяться раскрытие настоящего документа.[72] FIG. 3 is a diagram for schematically explaining the configuration of video/image decoding equipment to which the disclosure of this document may be applied.
[73] Ссылаясь на фиг. 3, оборудование 300 декодирования может включать в себя и конфигурироваться с помощью энтропийного декодера 310, остаточного процессора 320, модуля 330 прогнозирования, сумматора 340, фильтра 350 и запоминающего устройства 360. Модуль 330 прогнозирования может включать в себя модуль 331 внутреннего прогнозирования и модуль 332 взаимного прогнозирования. Остаточный процессор 320 может включать в себя деквантователь 321 и обратный преобразователь 322. Энтропийный декодер 310, остаточный процессор 320, модуль 330 прогнозирования, сумматор 340 и фильтр 350, которые описываются выше, могут конфигурироваться посредством одного или более аппаратных компонентов (например, наборов микросхем или процессоров декодера) согласно варианту осуществления. Дополнительно, запоминающее устройство 360 может включать в себя буфер декодированных кадров (DPB) и может конфигурироваться посредством цифрового носителя хранения данных. Аппаратный компонент дополнительно может включать в себя запоминающее устройство 360 в качестве внутреннего/внешнего компонента.[73] Referring to FIG. 3, decoding equipment 300 may include and be configured with an entropy decoder 310, a residual processor 320, a prediction module 330, an adder 340, a filter 350, and a memory 360. The prediction module 330 may include an intra prediction module 331 and a mutual prediction module 332. forecasting. Residual processor 320 may include a dequantizer 321 and an inverse converter 322. Entropy decoder 310, residual processor 320, prediction module 330, adder 340, and filter 350, which are described above, may be configured by one or more hardware components (e.g., chipsets or decoder processors) according to an embodiment. Additionally, storage device 360 may include a decoded frame buffer (DPB) and may be configured by a digital storage medium. The hardware component may further include storage device 360 as an internal/external component.
[74] Когда поток битов, включающий в себя информацию видео/изображений, вводится, оборудование 300 декодирования может восстанавливать изображение в ответ на процесс, в котором информация видео/изображений обрабатывается в оборудовании кодирования, проиллюстрированном на фиг. 2. Например, оборудование 300 декодирования может извлекать единицы/блоки на основе связанной с разбиением на блоки информации, полученной из потока битов. Оборудование 300 декодирования может выполнять декодирование с использованием единицы обработки, применяемой для оборудования кодирования. Следовательно, единица обработки для декодирования, например, может представлять собой единицу кодирования, и единица кодирования может разбиваться согласно структуре в виде дерева квадрантов, структуре в виде двоичного дерева и/или структуре в виде троичного дерева из единицы дерева кодирования или максимальной единицы кодирования. Одна или более единиц преобразования могут извлекаться из единицы кодирования. Помимо этого, восстановленный сигнал изображения, декодированный и выводимый посредством оборудования 300 декодирования, может воспроизводиться посредством оборудования воспроизведения.[74] When a bit stream including video/image information is input, the decoding equipment 300 can reconstruct the image in response to the process in which the video/image information is processed in the encoding equipment illustrated in FIG. 2. For example, decoding equipment 300 may extract units/blocks based on blocking-related information obtained from the bit stream. The decoding equipment 300 may perform decoding using a processing unit applied to the encoding equipment. Therefore, a processing unit for decoding, for example, may be an encoding unit, and the encoding unit may be partitioned according to a quadtree structure, a binary tree structure, and/or a ternary tree structure from an encoding tree unit or a maximum encoding unit. One or more transformation units may be derived from a coding unit. In addition, the reconstructed image signal decoded and output by the decoding equipment 300 can be reproduced by the playback equipment.
[75] Оборудование 300 декодирования может принимать сигнал, выводимый из оборудования кодирования по фиг. 2 в форме потока битов, и принимаемый сигнал может декодироваться через энтропийный декодер 310. Например, энтропийный декодер 310 может синтаксически анализировать поток битов, чтобы извлекать информацию (например, информацию видео/изображений), необходимую для восстановления изображений (или восстановления кадров). Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Оборудование декодирования дополнительно может декодировать кадр на основе информации относительно набора параметров и/или общей информации ограничений. Передаваемая в служебных сигналах/принимаемая информация и/или синтаксические элементы, описанные далее в этом документе, могут декодироваться, может декодировать процедуру декодирования и получаться из потока битов. Например, энтропийный декодер 310 декодирует информацию в потоке битов на основе способа кодирования, такого как кодирование экспоненциальным кодом Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC) или контекстно-адаптивное арифметическое кодирование (САВАС), и выходных синтаксических элементов, требуемых для восстановления изображений и квантованных значений коэффициентов преобразования для остатка. Более конкретно, способ энтропийного САВАС-декодирования может принимать элемент разрешения, соответствующий каждому синтаксическому элементу в потоке битов, определять контекстную модель посредством использования информации целевого синтаксического элемента декодирования, информации декодирования целевого блока декодирования или информации символа/элемента разрешения, декодированного на предыдущей стадии, и выполнять арифметическое декодирование для элемента разрешения посредством прогнозирования вероятности появления элемента разрешения согласно определенной контекстной модели и формировать символ, соответствующий значению каждого синтаксического элемента. В этом случае, способ энтропийного САВАС-декодирования может обновлять контекстную модель посредством использования информации декодированного символа/элемента разрешения для контекстной модели следующего символа/элемента разрешения после определения контекстной модели. Информация, связанная с прогнозированием, из информации, декодированной посредством энтропийного декодера 310, может предоставляться в модуль прогнозирования (модуль 332 взаимного прогнозирования и модуль 331 внутреннего прогнозирования), и остаточные значения, для которых энтропийное декодирование выполнено в энтропийном декодере 310, т.е. квантованные коэффициенты преобразования и связанная информация параметров, могут вводиться в остаточный процессор 320.[75] The decoding equipment 300 may receive a signal output from the encoding equipment of FIG. 2 in the form of a bit stream, and the received signal may be decoded through entropy decoder 310. For example, entropy decoder 310 may parse the bit stream to extract information (eg, video/image information) needed for image reconstruction (or frame reconstruction). The video/image information may further include information regarding various parameter sets, such as an adaptation parameter set (APS), a frame parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). In addition, the video/image information may further include general restriction information. The decoding equipment may further decode the frame based on information regarding the parameter set and/or general constraint information. The signaling/receiving information and/or syntax elements described later in this document may be decoded, may be decoded by a decoding procedure, and obtained from the bit stream. For example, entropy decoder 310 decodes information in a bit stream based on an encoding method, such as exponential Golomb coding, context adaptive variable length coding (CAVLC), or context adaptive arithmetic coding (CABAC), and the output syntax elements required for image reconstruction and quantized values of the transformation coefficients for the remainder. More specifically, the entropy CABAC decoding method may receive a resolution element corresponding to each syntax element in the bit stream, determine a context model by using information of a target decoding syntax element, decoding information of a target decoding block, or information of a symbol/resolution element decoded in a previous stage, and perform arithmetic decoding for the permission element by predicting the probability of occurrence of the permission element according to the determined context model and generating a symbol corresponding to the meaning of each syntactic element. In this case, the entropy CABAC decoding method can update the context model by using the decoded symbol/grant element information for the context model of the next symbol/grant element after determining the context model. The prediction-related information from the information decoded by the entropy decoder 310 may be provided to the prediction module (inter-prediction module 332 and intra-prediction module 331), and the residual values for which entropy decoding is performed in the entropy decoder 310, i.e. the quantized transform coefficients and associated parameter information may be input to residual processor 320.
[76] Деквантователь 321 может деквантовать квантованные коэффициенты преобразования, с тем чтобы выводить коэффициенты преобразования. Деквантователь 321 может перекомпоновывать квантованные коэффициенты преобразования в двумерной блочной форме. В этом случае, перекомпоновка может выполняться на основе порядка сканирования коэффициентов, выполняемого посредством оборудования кодирования. Деквантователь 321 может выполнять деквантование для квантованных коэффициентов преобразования с использованием параметра квантования (например, информации размера шага квантования) и получать коэффициенты преобразования.[76] Dequantizer 321 may dequantize the quantized transform coefficients to output transform coefficients. Dequantizer 321 may re-arrange the quantized transform coefficients in two-dimensional block form. In this case, re-arrangement can be performed based on the scanning order of the coefficients performed by the encoding equipment. The dequantizer 321 may perform dequantization on the quantized transform coefficients using a quantization parameter (eg, quantization step size information) and obtain the transform coefficients.
[77] Обратный преобразователь 322 обратно преобразует коэффициенты преобразования, чтобы получать остаточный сигнал (остаточный блок, массив остаточных выборок).[77] An inverse converter 322 inversely converts the transform coefficients to obtain a residual signal (residual block, residual sample array).
[78] Модуль 330 прогнозирования может выполнять прогнозирование текущего блока и формировать прогнозированный блок, включающий в себя прогнозные выборки текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование, или применяется взаимное прогнозирование к текущему блоку, на основе информации относительно прогнозирования, выводимой из энтропийного декодера 310, и определять конкретный режим внутреннего/взаимного прогнозирования.[78] Prediction module 330 may perform prediction on the current block and generate a predicted block including prediction samples of the current block. The prediction module may determine whether intra prediction is applied or inter prediction is applied to the current block based on the prediction information output from the entropy decoder 310, and determine a particular intra/inter prediction mode.
[79] Модуль 330 прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования, которые описываются ниже. Например, модуль прогнозирования может применять внутреннее прогнозирование или взаимное прогнозирование для прогнозирования одного блока и может одновременно применять внутреннее прогнозирование и взаимное прогнозирование. Это может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может быть основан на режиме прогнозирования на основе внутриблочного копирования (IBC) либо основан на палитровом режиме для прогнозирования блока. Режим IBC-прогнозирования или палитровый режим может использоваться для кодирования изображений/видео для такого контента, как игры и т.п., например, для кодирования экранного контента (SCC). IBC по существу может выполнять прогнозирование в текущем кадре, но может выполняться аналогично взаимному прогнозированию в том, что опорный блок извлекается в текущем кадре. Таким образом, IBC может использовать по меньшей мере одну из технологий взаимного прогнозирования, описанных в этом документе. Палитровый режим может рассматриваться как пример внутреннего кодирования или внутреннего прогнозирования. Когда палитровый режим применяется, информация относительно таблицы палитр и индекса палитры может включаться в информацию видео/изображений и передаваться в служебных сигналах.[79] The prediction module 330 may generate a prediction signal based on various prediction methods, which are described below. For example, the prediction module may apply intra-prediction or inter-prediction to predict one block, and may simultaneously apply intra-prediction and inter-prediction. This may be referred to as "combined inter-intraprediction (CIIP)". In addition, the prediction module may be based on an intra-block copy (IBC) prediction mode or based on a palette mode for block prediction. The IBC prediction mode or palette mode can be used for image/video encoding for content such as games and the like, such as Screen Content Coding (SCC). IBC may essentially perform prediction in the current frame, but may perform similar to inter-prediction in that the reference block is retrieved in the current frame. Thus, the IBC may use at least one of the inter-prediction technologies described in this document. Palette mode can be considered an example of intra-coding or intra-prediction. When palette mode is applied, information regarding the palette table and palette index may be included in video/image information and signaled.
[80] Модуль 3321 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки для ссылки могут быть расположены в окружении текущего блока или могут быть расположены с разнесением относительно текущего блока согласно режиму прогнозирования. При внутреннем прогнозировании, режимы прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Модуль 331 внутреннего прогнозирования может определять режим прогнозирования, который должен применяться к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.[80] The intra prediction module 3321 may predict the current block by reference to the samples in the current frame. Samples for reference may be located in the surroundings of the current block or may be located spaced apart from the current block according to a prediction mode. In intraprediction, prediction modes may include a plurality of non-directional modes and a plurality of directed modes. The intra prediction module 331 may determine the prediction mode to be applied to the current block by using the prediction mode applied to the adjacent block.
[81] Модуль 332 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию относительно направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.п.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, существующий в текущем кадре, и временной соседний блок, существующий в опорном кадре. Например, модуль 332 взаимного прогнозирования может конструировать список возможных вариантов информации движения на основе соседних блоков и извлекать вектор движения текущего блока и/или индекс опорного кадра на основе принимаемой информации выбора возможных вариантов. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования, и информация относительно прогнозирования может включать в себя информацию, указывающую режим взаимного прогнозирования для текущего блока.[81] The inter-prediction unit 332 may extract a predicted block for the current block based on a reference block (an array of reference samples) indicated by a motion vector for the reference frame. In this case, in order to reduce the amount of motion information transmitted in the inter-prediction mode, the motion information may be predicted in units of blocks, sub-blocks, or samples based on the correlation of the motion information between a neighboring block and the current block. The motion information may include a motion vector and a reference frame index. The motion information may further include information regarding the direction of the inter-prediction (L0-prediction, L1-prediction, bi-prediction, etc.). In the case of inter-prediction, the neighbor block may include a spatial neighbor block existing in the current frame and a temporal neighbor block existing in the reference frame. For example, the inter-prediction module 332 may construct a list of candidate motion information based on neighboring blocks and extract the current block's motion vector and/or reference frame index based on the received candidate selection information. The inter-prediction may be performed based on various prediction modes, and the information regarding the prediction may include information indicating the inter-prediction mode for the current block.
[82] Сумматор 340 может формировать восстановленный сигнал (восстановленный кадр, восстановленный блок или массив восстановленных выборок) посредством суммирования полученного остаточного сигнала с прогнозным сигналом (прогнозированным блоком или массивом прогнозированных выборок), выводимым из модуля прогнозирования (включающего в себя модуль 332 взаимного прогнозирования и/или модуль 331 внутреннего прогнозирования). Если отсутствует остаток для целевого блока для обработки, к примеру, в случае, когда режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока.[82] The adder 340 may generate a reconstructed signal (a reconstructed frame, a reconstructed block, or an array of reconstructed samples) by adding the resulting residual signal with a prediction signal (a predicted block or an array of predicted samples) output from a prediction module (including an inter-prediction module 332 and /or internal prediction module 331). If there is no remainder for the target block to process, for example in the case where the skip mode is applied, the predicted block can be used as the reconstructed block.
[83] Сумматор 340 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, и, как описано ниже, также может выводиться посредством фильтрации либо также может использоваться для взаимного прогнозирования следующего кадра.[83] The adder 340 may be referred to as a “recovery module” or a “recovered block generator.” The generated reconstructed signal may be used to internally predict the next block to be processed in the current frame, and, as described below, may also be output by filtering, or may also be used to inter-predict the next frame.
[84] Между тем, преобразование сигнала яркости с масштабированием сигнала цветности (LMCS) также может применяться в процессе декодирования кадров.[84] Meanwhile, luma conversion with chrominance scaling (LMCS) can also be applied in the frame decoding process.
[85] Фильтр 350 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 350 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 360, а именно, в DPB запоминающего устройства 360. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, дискретизированное адаптивное смещение, адаптивный контурный фильтр, билатеральный фильтр и т.п.[85] Filter 350 may enhance the subjective/objective quality of images by applying filtering to the reconstructed signal. For example, filter 350 may generate a modified reconstructed frame by applying various filtering techniques to the reconstructed frame and store the modified reconstructed frame in storage device 360, namely, a DPB of storage device 360. Various filtering techniques may include, for example, deblocking filtering. , sampled adaptive bias, adaptive contour filter, bilateral filter, etc.
[86] (Модифицированный) восстановленный кадр, сохраненный в DPB запоминающего устройства 360, может использоваться в качестве опорного кадра в модуле 332 взаимного прогнозирования. Запоминающее устройство 360 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или декодируется), и/или информацию движения уже восстановленных блоков в кадре. Сохраненная информация движения может передаваться в модуль 332 взаимного прогнозирования, так что она используется в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 360 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и передавать восстановленные выборки в модуль 331 внутреннего прогнозирования.[86] The (modified) reconstructed frame stored in the DPB of the storage device 360 can be used as a reference frame in the inter-prediction unit 332. Storage device 360 may store block motion information from which motion information in the current frame is retrieved (or decoded) and/or motion information of already reconstructed blocks in the frame. The stored motion information may be transmitted to the inter-prediction unit 332 so that it is used as spatial neighbor block motion information or temporal neighbor block motion information. Storage device 360 may store reconstructed samples of reconstructed blocks in the current frame and transmit the reconstructed samples to intra prediction module 331.
[87] В этом раскрытии, варианты осуществления, описанные в фильтре 260, модуле 221 взаимного прогнозирования и модуле 222 внутреннего прогнозирования оборудования 200 кодирования, могут применяться одинаково или соответствовать фильтру 350, модулю 332 взаимного прогнозирования и модулю 331 внутреннего прогнозирования.[87] In this disclosure, the embodiments described in the filter 260, the inter-prediction module 221, and the intra-prediction module 222 of the encoding equipment 200 may be applied the same or correspond to the filter 350, the inter-prediction module 332, and the intra-prediction module 331.
[88] Между тем, как описано выше, при выполнении кодирования видео, прогнозирование выполняется для того, чтобы повышать эффективность сжатия. За счет этого может формироваться прогнозированный блок, включающий в себя прогнозные выборки для текущего блока, в качестве блока, который должен кодироваться (т.е. целевого блока кодирования). Здесь, прогнозированный блок включает в себя прогнозные выборки в пространственной области (или пикселной области). Прогнозированный блок извлекается идентично в оборудовании кодирования и оборудовании декодирования, и оборудование кодирования может передавать в служебных сигналах информацию (остаточную информацию) относительно остатка между исходным блоком и прогнозированным блоком, а не значение исходной выборки исходного блока, в оборудование декодирования, за счет этого повышая эффективность кодирования изображений. Оборудование декодирования может извлекать остаточный блок, включающий в себя остаточные выборки на основе остаточной информации, суммировать остаточный блок и прогнозированный блок, чтобы формировать восстановленные блоки, включающие в себя восстановленные выборки, и формировать восстановленный кадр, включающий в себя восстановленные блоки.[88] Meanwhile, as described above, when performing video encoding, prediction is performed in order to improve compression efficiency. Due to this, a predicted block including predictive samples for the current block can be generated as the block to be encoded (ie, the encoding target block). Here, the predicted block includes predictive samples in a spatial domain (or pixel domain). The predicted block is extracted identically in the encoding equipment and the decoding equipment, and the encoding equipment can signal information (residual information) regarding the remainder between the original block and the predicted block, rather than the original sample value of the original block, to the decoding equipment, thereby improving efficiency image coding. The decoding equipment may extract a residual block including residual samples based on the residual information, add the residual block and the predicted block to generate reconstructed blocks including the reconstructed samples, and generate a reconstructed frame including the reconstructed blocks.
[89] Остаточная информация может формироваться через процедуру преобразования и квантования. Например, оборудование кодирования может извлекать остаточный блок между исходным блоком и прогнозированным блоком, выполнять процедуру преобразования для остаточных выборок (массива остаточных выборок), включенных в остаточный блок, чтобы извлекать коэффициенты преобразования, выполнять процедуру квантования для коэффициентов преобразования, чтобы извлекать квантованные коэффициенты преобразования и связанную с сигналами остаточную информацию в оборудование декодирования (через поток битов). Здесь, остаточная информация может включать в себя информацию значений квантованных коэффициентов преобразования, информацию местоположения, технологию преобразования, ядро преобразования, параметр квантования и т.п. Оборудование декодирования может выполнять процедуру деквантования/обратного преобразования на основе остаточной информации и извлекать остаточные выборки (или остаточные блоки). Оборудование декодирования может формировать восстановленный кадр на основе прогнозированного блока и остаточного блока. Кроме того, для ссылки для взаимного прогнозирования изображения позднее, оборудование кодирования также может деквантовать/обратно преобразовывать квантованные коэффициенты преобразования, чтобы извлекать остаточный блок и формировать восстановленный кадр на его основе.[89] Residual information can be generated through a transformation and quantization procedure. For example, the encoding equipment may extract a residual block between an original block and a predicted block, perform a transform procedure on the residual samples (an array of residual samples) included in the residual block to extract transform coefficients, perform a quantization procedure on the transform coefficients to extract quantized transform coefficients, and residual information associated with the signals to the decoding equipment (via the bit stream). Here, the residual information may include quantized transform coefficient value information, location information, transform technology, transform kernel, quantization parameter, and the like. The decoding equipment may perform a dequantization/deconversion procedure based on the residual information and extract the residual samples (or residual blocks). The decoding equipment can generate a reconstructed frame based on the predicted block and the residual block. In addition, for reference to inter-picture prediction later, the encoding equipment may also dequantize/de-convert the quantized transform coefficients to extract a residual block and generate a reconstructed frame based on it.
[90] Между тем, различные режимы взаимного прогнозирования могут использоваться для прогнозирования текущего блока в кадре. Различные режимы взаимного прогнозирования описываются ниже со ссылкой на фиг. 5.[90] Meanwhile, various inter-prediction modes can be used to predict the current block in a frame. Various inter-prediction modes are described below with reference to FIG. 5.
[91] Между тем, информация, указывающая то, используются либо нет прогнозирование на основе списка 0 (L0), прогнозирование на основе списка 1 (L1) или бипрогнозирование, описанные выше, в текущем блоке (текущей единице кодирования), может передаваться в служебных сигналах в текущий блок. Упомянутая информация, например, может называться "информацией направления прогнозирования движения", "информацией направления взаимного прогнозирования" или "информацией индикатора взаимного прогнозирования" и может конфигурироваться/кодироваться/передаваться в служебных сигналах в форме синтаксического элемента inter_pred_idc syntax. Таким образом, синтаксический элемент inter_pred_idc может указывать то, используются либо нет вышеописанное прогнозирование на основе списка 0 (L0), прогнозирование на основе списка 1 (L1) или бипрогнозирование для текущего блока (текущей единицы кодирования). В настоящем раскрытии, для удобства описания, тип взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование или бипрогнозирование), указываемый посредством синтаксического элемента inter_pred_idc, может представляться как направление прогнозирования движения. L0-прогнозирование может представляться посредством pred_L0; L1-прогнозирование может представляться посредством pred_L1; и бипрогнозирование может представляться посредством pred_BI. Например, после прогнозирования тип может указываться согласно значению синтаксического элемента inter_pred_idc.[91] Meanwhile, information indicating whether list 0 (L0) prediction, list 1 (L1) prediction or bi-prediction described above is used in the current block (current coding unit) may be transmitted in overhead signals to the current block. This information, for example, may be called "motion prediction direction information", "inter prediction direction information" or "inter prediction indicator information" and may be configured/encoded/signaled in the form of an inter_pred_idc syntax element. Thus, the inter_pred_idc syntax element may indicate whether the above-described List 0 (L0) prediction, List 1 (L1) prediction, or bi-prediction is used for the current block (current encoding unit). In the present disclosure, for convenience of description, the inter-prediction type (L0-prediction, L1-prediction, or bi-prediction) indicated by the inter_pred_idc syntax element may be represented as a motion prediction direction. L0 prediction may be represented by pred_L0; L1 prediction may be represented by pred_L1; and biforecasting may be represented by pred_BI. For example, after prediction, the type may be specified according to the value of the inter_pred_idc syntax element.
[92] Как описано выше, один кадр может включать в себя один или более срезов. Срез может иметь одни из типов срезов, включающих в себя внутренний (I) срез, прогнозирующий (Р) срез и бипрогнозирующий (В) срез. Тип среза может указываться на основе информации типа среза. Для блоков в I-срезе, взаимное прогнозирование не используется для прогнозирования, и только внутреннее прогнозирование может использоваться. Конечно, даже в этом случае, исходное выборочное значение может кодироваться и передаваться в служебных сигналах без прогнозирования. Для блоков в Р-срезе, может использоваться внутреннее прогнозирование или взаимное прогнозирование, и когда взаимное прогнозирование используется, только унипрогнозирование может использоваться. Между тем, внутреннее прогнозирование или взаимное прогнозирование может использоваться для блоков в В-срезе, и когда взаимное прогнозирование используется, вплоть до максимального бипрогнозирования может использоваться.[92] As described above, one frame may include one or more slices. A slice may have one of the slice types including an internal (I) slice, a predictive (P) slice, and a bipredictive (B) slice. The slice type may be specified based on the slice type information. For blocks in an I-slice, inter-prediction is not used for prediction, and only intra-prediction can be used. Of course, even in this case, the original sample value may be encoded and signaled without prediction. For blocks in a P-slice, intra-forecasting or inter-forecasting can be used, and when inter-forecasting is used, only uni-forecasting can be used. Meanwhile, intra prediction or inter prediction can be used for blocks in the B-slice, and when inter prediction is used, up to maximum bi prediction can be used.
[93] L0 и L1 могут включать в себя опорные кадры, кодированные/декодированные перед текущим кадром. Например, L0 может включать в себя опорные кадры перед и/или после текущего кадра в РОС-порядке, и L1 может включать в себя опорные кадры после и/или перед текущим кадром в РОС-порядке. В этом случае, индекс опорного кадра, ниже относительно опорных кадров раньше текущего кадра в РОС-порядке, может выделяться L0, и индекс опорного кадра, ниже относительно опорных кадров позже текущего кадра в РОС-порядке, может выделяться L1. В случае В-среза, бипрогнозирование может применяться, и в этом случае, однонаправленное бипрогнозирование может применяться, либо двунаправленное бипрогнозирование может применяться. Двунаправленное бипрогнозирование может называться "истинным бипрогнозированием".[93] L0 and L1 may include reference frames encoded/decoded before the current frame. For example, L0 may include reference frames before and/or after the current frame in POC order, and L1 may include reference frames after and/or before the current frame in POC order. In this case, the index of a reference frame lower than the reference frames earlier than the current frame in the POC order may be allocated L0, and the index of the reference frame lower than the reference frames later than the current frame in the POC order may be allocated L1. In the case of a B-slice, bi-prediction can be applied, in which case, unidirectional bi-prediction can be used, or bi-directional bi-prediction can be used. Bidirectional biforecasting may be referred to as "true biforecasting."
[94] Например, информация относительно режима взаимного прогнозирования текущего блока может кодироваться и передаваться в служебных сигналах на уровне CU (CU-синтаксиса) и т.п. или может неявно определяться согласно условию. В этом случае, некоторые режимы могут явно передаваться в служебных сигналах, и другие режимы могут неявно извлекаться.[94] For example, information regarding the inter-prediction mode of the current block may be encoded and signaled at the CU (CU-syntax) layer and the like. or may be implicitly specified according to a condition. In this case, some modes may be explicitly signaled, and other modes may be implicitly retrieved.
[95] Например, CU-синтаксис может переносить информацию относительно (взаимного) режима прогнозирования и т.д. CU-синтаксис может быть таким, как показано в нижеприведенной таблице 1.[95] For example, CU syntax may carry information regarding (mutual) prediction mode, etc. The CU syntax can be as shown in Table 1 below.
[96][96]
[97][97]
[98][98]
[99][99]
[100][100]
[101][101]
[102][102]
[103][103]
[104][104]
[105][105]
[106] В таблице 1, cu_skip_flag может указывать то, применяется или нет режим пропуска к текущему блоку (CU).[106] In Table 1, cu_skip_flag may indicate whether or not the skip mode is applied to the current block (CU).
[107] pred_mode_flag, равный 0, может указывать то, что текущая единица кодирования кодируется в режиме взаимного прогнозирования. Pred_mode_flag, равный 1, может указывать то, что текущая единица кодирования кодируется в режиме внутреннего прогнозирования.[107] pred_mode_flag equal to 0 may indicate that the current coding unit is encoded in inter-prediction mode. Pred_mode_flag equal to 1 may indicate that the current coding unit is encoded in intra prediction mode.
[108] pred_mode_ibc_flag, равный 1, может указывать то, что текущая единица кодирования кодируется в режиме IBC-прогнозирования. Pred_mode_ibc_flag, равный 0, может указывать то, что текущая единица кодирования не кодируется в режиме IBC-прогнозирования.[108] pred_mode_ibc_flag equal to 1 may indicate that the current coding unit is encoded in IBC prediction mode. Pred_mode_ibc_flag equal to 0 may indicate that the current encoding unit is not encoded in IBC prediction mode.
[109] pcm_flag[x0][у0], равный 1, может указывать то, что синтаксическая структура pcm_sample() присутствует, и синтаксическая структура transform_tree() не присутствует в единице кодирования, включающей в себя блок кодирования сигналов яркости в местоположении (х0, у0). Pcm_flag[x0][у0], равный 0, может указывать то, что синтаксическая структура pcm_sample() не присутствует. Таким образом, pcm_flag может представлять то, применяется или нет режим импульсно-кодовой модуляции (РСМ) к текущему блоку. Если РСМ-режим применяется к текущему блоку, прогнозирование, преобразование, квантование и т.д. не применяются, и значения исходной выборки в текущем блоке могут кодироваться и передаваться в служебных сигналах.[109] pcm_flag[x0][y0] equal to 1 may indicate that a pcm_sample() syntax structure is present and a transform_tree() syntax structure is not present in a coding unit including a luma coding block at location (x0, y0). Pcm_flag[x0][y0] equal to 0 may indicate that the pcm_sample() syntax structure is not present. Thus, pcm_flag may represent whether or not a pulse code modulation (PCM) mode is applied to the current block. If PCM mode is applied to the current block, prediction, transformation, quantization, etc. are not applied, and the original sample values in the current block can be encoded and signaled.
[110] intra_mip_flag[x0][у0], равный 1, может указывать то, что тип внутреннего прогнозирования для выборок сигналов яркости представляет собой матричное внутреннее прогнозирование (MIP). Intra_mip_flag[x0][у0], равный 0, может указывать то, что тип внутреннего прогнозирования для выборок сигналов яркости не представляет собой матричное внутреннее прогнозирование. Таким образом, intra_mip_flag может представлять то, применяется или нет режим (тип) MIP-прогнозирования к (выборке сигналов яркости) текущему блоку.[110] intra_mip_flag[x0][y0] equal to 1 may indicate that the intra prediction type for the luminance samples is matrix intra prediction (MIP). Intra_mip_flag[x0][y0] equal to 0 may indicate that the intra prediction type for the luminance samples is not matrix intra prediction. Thus, intra_mip_flag may represent whether or not a mip prediction mode is applied to the luminance sample of the current block.
[111] intra_chroma_pred_mode[x0][у0] может указывать режим внутреннего прогнозирования для выборок сигналов цветности в текущем блоке.[111] intra_chroma_pred_mode[x0][y0] may indicate the intra-chroma prediction mode for the chroma samples in the current block.
[112] general_merge_flag[x0][у0] может указывать то, логически выводятся или нет параметры взаимного прогнозирования для текущей единицы кодирования из соседнего взаимно прогнозированного сегмента. Таким образом, general_merge_flag может представлять то, что общее объединение доступно, и когда значение general_merge_flag равно 1, регулярный режим объединения, MMVD-режим и субблочный режим объединения (режим объединения на основе субблоков) могут быть доступными. Например, когда значение general_merge_flag равно 1, синтаксис данных объединения может синтаксически анализироваться из кодированной информации видео/изображений (или потока битов) и синтаксиса данных объединения, сконфигурированного/кодированного таким образом, что он включает в себя информацию, как показано в нижеприведенной таблице 2.[112] general_merge_flag[x0][y0] may indicate whether or not inter-prediction parameters for the current coding unit are inferred from an adjacent inter-prediction segment. Thus, general_merge_flag may represent that general merging is available, and when the value of general_merge_flag is 1, regular merging mode, MMVD mode, and subblock merging mode (subblock-based merging mode) may be available. For example, when the value of general_merge_flag is 1, the merging data syntax can be parsed from the encoded video/image information (or bitstream) and the merging data syntax configured/encoded to include the information as shown in Table 2 below.
[113][113]
[114][114]
[115] В таблице 2, regular_merge_flag[x0][у0], равный 1, может указывать то, что регулярный режим объединения используется для того, чтобы формировать параметры взаимного прогнозирования текущей единицы кодирования. Таким образом, regular_merge_flag может представлять то, применяется или нет режим объединения (регулярный режим объединения) к текущему блоку.[115] In Table 2, regular_merge_flag[x0][y0] equal to 1 may indicate that the regular merge mode is used to generate the inter-prediction parameters of the current coding unit. Thus, regular_merge_flag can represent whether or not the merge mode (regular merge mode) is applied to the current block.
[116] mmvd_merge_flag[x0][у0], равный 1, может указывать то, что режим объединения с разностью векторов движения используется для того, чтобы формировать параметр взаимного прогнозирования текущего блока. Таким образом, mmvd_merge_flag представляет то, применяется или нет MMVD к текущему блоку.[116] mmvd_merge_flag[x0][y0] equal to 1 may indicate that the motion vector difference merging mode is used to generate the inter-prediction parameter of the current block. Thus, mmvd_merge_flag represents whether or not MMVD is applied to the current block.
[117] mmvd_cand_flag[x0][у0] может указывать то, используется либо нет первый (0) или второй (1) возможный вариант в списке возможных вариантов объединения с разностью векторов движения, извлекаемой из mmvd_distance_idx[x0][у0] и mm vd_di recti on_idx[x0][у0].[117] mmvd_cand_flag[x0][y0] may indicate whether the first (0) or second (1) candidate in the list of candidate combinations with the motion vector difference extracted from mmvd_distance_idx[x0][y0] and mm vd_di is used or not recti on_idx[x0][y0].
[118] mmvd_distance_idx[x0][у0] может указывать индекс, используемый для того, чтобы извлекать MmvdDistance[x0][у0].[118] mmvd_distance_idx[x0][y0] may indicate the index used to retrieve MmvdDistance[x0][y0].
[119] mmvd_direction_idx[x0][у0] может указывать индекс, используемый для того, чтобы извлекать MmvdSign[x0][у0].[119] mmvd_direction_idx[x0][y0] may indicate the index used to retrieve MmvdSign[x0][y0].
[120] merge_subblock_flag[x0][у0] может указывать параметры взаимного прогнозирования на основе субблоков для текущего блока. Таким образом, merge_subblock_flag может представлять то, применяется или нет режим объединения на основе субблоков (или аффинный режим объединения) к текущему блоку.[120] merge_subblock_flag[x0][y0] may indicate subblock-based inter-prediction parameters for the current block. Thus, merge_subblock_flag can represent whether or not the subblock-based merge mode (or affine merge mode) is applied to the current block.
[121] merge_subblock_idx[x0][у0] может указывать индекс возможного варианта объединения списка возможных вариантов объединения на основе субблоков.[121] merge_subblock_idx[x0][y0] may indicate a merge candidate index of a list of subblock-based merge candidates.
[122] ciip_flag[x0][у0] может указывать то, применяется или нет комбинированное межкадровое объединение и внутрикадровое прогнозирование (CIIP) для текущей единицы кодирования.[122] ciip_flag[x0][y0] may indicate whether or not combined inter-frame combining and intra-frame prediction (CIIP) is applied for the current coding unit.
[123] merge_triangle_idx0[x0][у0] может указывать то, что индекс первого возможного варианта объединения список возможных вариантов компенсации движения треугольной формы.[123] merge_triangle_idx0[x0][y0] may indicate that the index of the first possible merge option is a list of possible triangular-shaped motion compensation options.
[124] merge_triangle_idx1[x0][у0] может указывать то, что индекс второго возможного варианта объединения список возможных вариантов компенсации движения треугольной формы.[124] merge_triangle_idx1[x0][y0] may indicate that the index of the second possible merge option is a list of possible triangular-shaped motion compensation options.
[125] merge_idx[x0][у0] может указывать индекс возможного варианта объединения списка возможных вариантов объединения.[125] merge_idx[x0][y0] may indicate the index of a possible merge option of a list of possible merge options.
[126] Между тем, возвращаясь к CU-синтаксису, mvp_10_flag[x0][у0] может указывать индекс предиктора вектора движения списка 0. Таким образом, когда MVP-режим применяется, mvp_10_flag может представлять возможный вариант, выбранный для MVP-извлечения текущего блока из списка 0 возможных MVP-вариантов.[126] Meanwhile, returning to CU syntax, mvp_10_flag[x0][y0] may indicate the motion vector predictor index of list 0. Thus, when MVP mode is applied, mvp_10_flag may represent the candidate selected for MVP retrieval of the current block from a list of 0 possible MVP options.
[127] ref_idx_11[x0][у0] имеет семантику, идентичную семантике ref_idx_10 с 10, и список 0 может заменяться посредством 11 и списка 1, соответственно.[127] ref_idx_11[x0][y0] has identical semantics to ref_idx_10 with 10, and list 0 can be replaced by 11 and list 1, respectively.
[128] inter_pred_idc[x0][у0] может указывать то, используется либо нет list0, list1 или бипрогнозирование для текущей единицы кодирования.[128] inter_pred_idc[x0][y0] may indicate whether or not list0, list1, or biprediction is used for the current encoding unit.
[129] sym_mvd_flag[x0][у0], равный 1, может указывать то, что синтаксические элементы ref_idx_10[x0][у0] и ref_idx_11[x0][у0] и синтаксическая структура mvd_coding(х0, у0, refList, cpIdx) для refList, равного 1, не присутствуют. Таким образом, sym_mvd_flag представляет то, используется или нет симметричная MVD при MVD-кодировании.[129] sym_mvd_flag[x0][y0] equal to 1 may indicate that the syntax elements ref_idx_10[x0][y0] and ref_idx_11[x0][y0] and the syntax structure mvd_coding(x0, y0, refList, cpIdx) for refList equal to 1 are not present. Thus, sym_mvd_flag represents whether or not symmetric MVD is used in MVD encoding.
[130] ref_idx_10[x0][у0] может указывать индекс опорного кадра списка 0 для текущего блока.[130] ref_idx_10[x0][y0] may indicate the list 0 reference frame index for the current block.
[131] ref_idx_11[x0][у0] имеет семантику, идентичную семантике ref_idx_10, с 10, L0 и списком 0, замененным посредством 11, L1 и списка 1, соответственно.[131] ref_idx_11[x0][y0] has semantics identical to those of ref_idx_10, with 10, L0 and list 0 replaced by 11, L1 and list 1, respectively.
[132] inter_affine_flag[x0][у0], равный 1, может указывать то, что компенсация движения на основе аффинной модели используется для того, чтобы формировать прогнозные выборки текущего блока при декодировании Р- или В-среза.[132] inter_affine_flag[x0][y0] equal to 1 may indicate that affine model-based motion compensation is used to generate predictive samples of the current block when decoding the P- or B-slice.
[133] cu_affine_type_flag[x0][у0], равный 1, может указывать то, что для текущей единицы кодирования, при декодировании Р- или В-среза, компенсация движения на основе 6-параметрической аффинной модели используется для того, чтобы формировать прогнозные выборки текущей единицы кодирования. Cu_affine_type_flag[x0][у0], равный 0, может указывать то, что компенсация движения на основе 4-параметрической аффинной модели используется для того, чтобы формировать прогнозные выборки текущего блока.[133] cu_affine_type_flag[x0][y0] equal to 1 may indicate that for the current coding unit, when decoding a P- or B-slice, motion compensation based on a 6-parameter affine model is used to generate predictive samples current coding unit. Cu_affine_type_flag[x0][y0] equal to 0 may indicate that motion compensation based on a 4-parameter affine model is used to generate predictive samples of the current block.
[134] amvr_flag[x0][у0] может указывать разрешение разности векторов движения. Индексы х0, у0 массивов указывают местоположение (х0, у0) левой верхней выборки сигнала яркости рассматриваемого блока кодирования относительно левой верхней выборки сигнала яркости кинокадра. Amvr_flag[x0][у0], равный 0, может указывать то, что разрешение разности векторов движения является 1/4 выборки сигналов яркости. Amvr_flag[x0][у0], равный 1, может указывать то, что разрешение разности векторов движения дополнительно указывается посредством amvr_precision_flag[x0][у0].[134] amvr_flag[x0][y0] may indicate the motion vector difference resolution. The indices x0, y0 of the arrays indicate the location (x0, y0) of the upper left sample of the luminance signal of the encoding block in question relative to the upper left sample of the luminance signal of the movie frame. Amvr_flag[x0][y0] equal to 0 may indicate that the resolution of the motion vector difference is 1/4 of the luminance signal sample. Amvr_flag[x0][y0] equal to 1 may indicate that the motion vector difference resolution is further specified by amvr_precision_flag[x0][y0].
[135] amvr_precision_flag[x0][у0], равный 0, может указывать то, что разрешение разности векторов движения составляет одну целочисленную выборку сигналов яркости, если inter_affine_flag[x0][у0] равен 0, и 1/16 от выборки сигналов яркости в противном случае. Amvr_precision_flag[x0][у0], равный 1, может указывать то, что разрешение разности векторов движения составляет четыре выборки сигналов яркости, если inter_affine_flag[x0][у0] равен 0, и одну целочисленную выборку сигналов яркости в противном случае.[135] amvr_precision_flag[x0][y0] equal to 0 may indicate that the motion vector difference resolution is one integer luminance sample if inter_affine_flag[x0][y0] is 0, and 1/16 of the luminance sample in otherwise. Amvr_precision_flag[x0][y0] equal to 1 may indicate that the motion vector difference resolution is four luminance samples if inter_affine_flag[x0][y0] is 0, and one integer luminance sample otherwise.
[136] bcw_idx[x0][у0] может указывать весовой индекс бипрогнозирования с весовыми коэффициентами CU.[136] bcw_idx[x0][y0] may indicate a biprediction weight index with CU weights.
[137] Фиг. 4 примерно показывает процедуру взаимного прогнозирования.[137] FIG. 4 roughly shows the inter-prediction procedure.
[138] Ссылаясь на фиг. 4, процедура взаимного прогнозирования может включать в себя этап определения режима взаимного прогнозирования, этапа извлечения информации движения согласно определенному режиму прогнозирования и этап выполнения прогнозирования (формирования прогнозной выборки) на основе извлеченной информации движения. Процедура взаимного прогнозирования может выполняться посредством оборудования кодирования и оборудования декодирования, как описано выше. В этом документе, оборудование кодирования может включать в себя оборудование кодирования и/или оборудование декодирования.[138] Referring to FIG. 4, the inter-prediction procedure may include a step of determining the inter-prediction mode, a step of extracting motion information according to the determined prediction mode, and a step of performing prediction (forming a prediction sample) based on the extracted motion information. The inter-prediction procedure may be performed by the encoding equipment and decoding equipment as described above. In this document, the encoding equipment may include encoding equipment and/or decoding equipment.
[139] Ссылаясь на фиг. 4, оборудование кодирования определяет режим взаимного прогнозирования для текущего блока (S400). Между тем, различные режимы взаимного прогнозирования могут использоваться для прогнозирования текущего блока в кадре. Различные режимы взаимного прогнозирования могут использоваться для прогнозирования текущего блока в кадре. Например, различные режимы, такие как режим объединения, режим пропуска, режим прогнозирования векторов движения (MVP), аффинный режим, режим объединения на основе субблоков, режим объединения с MVD (MMVD) и т.д. Режим детализации векторов движения на стороне декодера (DMVR), режим адаптивного разрешения векторов движения (AMVR), бипрогнозирование с помощью весовых коэффициентов уровня CU (BCW), двунаправленный оптический поток (BDOF) и т.д. могут использоваться помимо этого или вместо этого в качестве вспомогательных режимов. Аффинный режим может называться "режимом аффинного прогнозирования движения". MVP-режим может называться "режимом усовершенствованного прогнозирования векторов движения (AMVP)". В настоящем раскрытии, некоторые режимы и/или возможные варианты информации движения, извлекаемые посредством некоторых режимов, могут включаться в качестве одного из связанных с информацией движения возможных вариантов других режимов. Например, возможный HMVP-вариант может добавляться в качестве возможного варианта объединения режима объединения/пропуска или может добавляться в качестве возможного MVP-варианта MVP-режима. Когда возможный HMVP-вариант используется в качестве возможного варианта информации движения режима объединения или режима пропуска, возможный HMVP-вариант может называться "возможным HMVP-вариантом объединения".[139] Referring to FIG. 4, the encoding equipment determines the inter-prediction mode for the current block (S400). Meanwhile, various inter-prediction modes can be used to predict the current block in a frame. Various inter-prediction modes can be used to predict the current block in a frame. For example, various modes such as fusion mode, skip mode, motion vector prediction (MVP) mode, affine mode, sub-block fusion mode, MVD fusion mode (MMVD), etc. Decoder Motion Vector Resolution (DMVR), Adaptive Motion Vector Resolution (AMVR), Bi-Prediction with CU Weights (BCW), Bidirectional Optical Flow (BDOF), etc. can be used in addition to this or instead as auxiliary modes. The affine mode may be called "affine motion prediction mode". The MVP mode may be referred to as "Advanced Motion Vector Prediction (AMVP) mode". In the present disclosure, certain modes and/or motion information options extracted by some modes may be included as one of the motion information-related options of other modes. For example, an HMVP candidate may be added as a merge/skip mode fusion candidate, or may be added as an MVP mode candidate. When an HMVP candidate is used as a combination mode or skip mode traffic information candidate, the HMVP candidate may be referred to as a “combined HMVP candidate.”
[140] Информация режима прогнозирования, указывающая режим взаимного прогнозирования текущего блока, может передаваться в служебных сигналах из оборудования кодирования в оборудование декодирования. Информация режима прогнозирования может включаться в поток битов и приниматься в оборудовании декодирования. Информация режима прогнозирования может включать в себя информацию индекса, указывающую один из нескольких возможных вариантов режимов. Дополнительно, режим взаимного прогнозирования может указываться через иерархическую передачу в служебных сигналах информации флага. В этом случае, информация режима прогнозирования может включать в себя один или более флагов. Например, может указываться то, применяется или нет режим пропуска, посредством передачи в служебных сигналах флага пропуска; может указываться то, применяется или нет режим объединения, посредством передачи в служебных сигналах флага объединения для неприменения режима пропуска; и может указываться то, что MVP-режим применяется, или флаг для дополнительного сегмента дополнительно может передаваться в служебных сигналах, когда режим объединения не применяется. Аффинный режим может передаваться в служебных сигналах в качестве независимого режима или может передаваться в служебных сигналах в качестве режима, зависимого от режима объединения или MVP-режима и т.п. Например, аффинный режим может включать в себя аффинный режим объединения и аффинный MVP-режим.[140] Prediction mode information indicating the inter-prediction mode of the current block may be signaled from the encoding equipment to the decoding equipment. The prediction mode information may be included in the bitstream and received at the decoding equipment. The prediction mode information may include index information indicating one of several possible mode options. Additionally, the inter-prediction mode may be indicated through hierarchical transmission of flag information signaling. In this case, the prediction mode information may include one or more flags. For example, whether or not a skip mode is applied may be indicated by signaling a skip flag; may indicate whether or not the aggregation mode is applied by signaling an aggregation flag for not applying the skip mode; and may indicate that the MVP mode is applied, or a flag for the additional segment may optionally be signaled when the aggregation mode is not applied. The affine mode may be signaled as an independent mode or may be signaled as a mode dependent on an aggregation mode or an MVP mode and the like. For example, an affine mode may include an affine union mode and an affine MVP mode.
[141] Оборудование кодирования извлекает информацию движения для текущего блока (S410). Информация движения может извлекаться на основе режима взаимного прогнозирования.[141] The encoding equipment extracts motion information for the current block (S410). Motion information can be extracted based on a mutual prediction mode.
[142] Оборудование кодирования может выполнять взаимное прогнозирование с использованием информации движения текущего блока. Оборудование кодирования может извлекать оптимальную информацию движения для текущего блока через процедуру оценки движения. Например, оборудование кодирования может выполнять поиск аналогичного опорного блока с высокой корреляцией в предварительно определенном диапазоне поиска в опорном кадре посредством использования исходного блока в исходном кадре относительно текущего блока в дробнопикселных единицах и извлекать информацию движения через него. Подобие блоков может извлекаться на основе разности между выборочными значениями на основе фазы. Например, подобие блоков может вычисляться на основе SAD между текущим блоком (или эталоном текущего блока) и опорным блоком (или эталоном опорного блока). В этом случае, информация движения может извлекаться на основе опорного блока, имеющего наименьшую SAD в зоне поиска. Извлеченная информация движения может передаваться в служебных сигналах в оборудование декодирования согласно различным способам на основе режима взаимного прогнозирования.[142] The encoding equipment may perform inter-prediction using motion information of the current block. The encoding equipment can extract optimal motion information for the current block through a motion estimation procedure. For example, the encoding equipment may search for a similar reference block with high correlation in a predetermined search range in a reference frame by using the source block in the source frame relative to the current block in fractional pixel units, and extract motion information through it. Block similarity can be extracted based on the difference between phase-based sample values. For example, block similarity may be calculated based on the SAD between the current block (or a reference block of the current block) and a reference block (or a reference block reference). In this case, motion information can be extracted based on the reference block having the smallest SAD in the search area. The extracted motion information may be signaled to decoding equipment according to various methods based on an inter-prediction mode.
[143] Оборудование кодирования выполняет взаимное прогнозирование на основе информации движения относительно текущего блока (S420). Оборудование кодирования может извлекать прогнозную выборку(ки) для текущего блока на основе информации движения. Текущий блок, включающий в себя прогнозные выборки, может называться "прогнозированным блоком".[143] The encoding equipment performs inter-prediction based on motion information regarding the current block (S420). The encoding equipment may extract predictive sample(s) for the current block based on the motion information. The current block including the predicted samples may be referred to as a "predicted block".
[144] Фиг. 5 является схемой для пояснения режима объединения при взаимном прогнозировании.[144] FIG. 5 is a diagram for explaining the merging mode of mutual prediction.
[145] Когда режим объединения применяется, информация движения текущего блока прогнозирования непосредственно не передается, но информация движения текущего блока прогнозирования извлекается с использованием информации движения соседнего блока прогнозирования. Соответственно, информация движения текущего блока прогнозирования может указываться посредством передачи информации флага, указывающей то, что режим объединения используется, и индекса объединения, указывающего то, какой блок прогнозирования в окрестности используется. Режим объединения может называться "регулярным режимом объединения".[145] When the combining mode is applied, the motion information of the current prediction block is not directly transmitted, but the motion information of the current prediction block is extracted using the motion information of the adjacent prediction block. Accordingly, motion information of the current prediction block may be indicated by transmitting flag information indicating that the combining mode is used and a combining index indicating which prediction block in the neighborhood is being used. The combining mode may be called "regular combining mode".
[146] Чтобы выполнять режим объединения, оборудование кодирования должно выполнять поиск возможного варианта блока объединения, используемого для того, чтобы извлекать информацию движения относительно текущего блока прогнозирования. Например, могут использоваться вплоть до пяти возможных вариантов блоков объединения, но вариант(ы) осуществления настоящего раскрытия не ограничен этим. Помимо этого, максимальное число возможных вариантов блоков объединения может передаваться в заголовке среза или заголовке группы плиток, но вариант(ы) осуществления настоящего раскрытия не ограничен этим. После нахождения возможных вариантов блоков объединения, оборудование кодирования может формировать список возможных вариантов объединения и может выбирать возможный вариант блока объединения, имеющий наименьшие затраты, из возможных вариантов блоков объединения, в качестве конечного возможного варианта блока объединения.[146] To perform the combining mode, the encoding equipment must search for a candidate combining block used to extract motion information regarding the current prediction block. For example, up to five possible combination block options may be used, but the embodiment(s) of the present disclosure are not limited to this. In addition, a maximum number of possible merge block options may be carried in the slice header or tile group header, but the embodiment(s) of the present disclosure is not limited to this. After finding the combiner candidate candidates, the encoding equipment may generate a list of combiner candidate candidates and may select the combiner candidate candidate having the lowest cost from the combiner block candidate candidates as the final combiner block candidate.
[147] Настоящее раскрытие может предоставлять различные варианты осуществления возможных вариантов блоков объединения, составляющих список возможных вариантов объединения.[147] The present disclosure may provide various embodiments of possible combination blocks constituting a list of possible combinations.
[148] Например, список возможных вариантов объединения может включать в себя пять возможных вариантов блоков объединения. Например, могут использоваться четыре пространственных возможных варианта объединения и один временной возможный вариант объединения. В качестве конкретного примера, в случае пространственного возможного варианта объединения, блоки, проиллюстрированные на фиг. 5, могут использоваться в качестве пространственного возможного варианта объединения. В дальнейшем в этом документе, пространственный возможный вариант объединения или пространственный возможный MVP-вариант, которые описываются ниже, может называться "SMVP", и временной возможный вариант объединения или временной возможный MVP-вариант, которые описываются ниже, может называться "TMVP".[148] For example, the list of merge candidates may include five possible merge block candidates. For example, four spatial join candidates and one temporal join candidate may be used. As a specific example, in the case of a spatial combining option, the blocks illustrated in FIG. 5 can be used as a spatial merging option. Hereinafter in this document, a spatial merging opportunity or a spatial merging opportunity, which is described below, may be referred to as "SMVP", and a temporal merging opportunity or a temporal merging opportunity, which are described below, may be referred to as "TMVP".
[149] Список возможных вариантов объединения для текущего блока может быть сконфигурирован, например, на основе следующей процедуры.[149] The list of possible combinations for the current block can be configured, for example, based on the following procedure.
[150] Оборудование кодирования (оборудование кодирования/оборудование декодирования) может вставлять пространственные возможные варианты объединения, извлекаемые посредством поиска пространственных соседних блоков текущего блока, в список возможных вариантов объединения. Например, пространственные соседние блоки могут включать в себя левый нижний угловой соседний блок, левый соседний блок, правый верхний угловой соседний блок, верхний соседний блок и левый верхний угловой соседний блок относительно текущего блока. Тем не менее, это представляет собой пример, и в дополнение к вышеупомянутым пространственным соседним блокам, дополнительные соседние блоки, такие как правый соседний блок, нижний соседний блок и правый нижний соседний блок, дополнительно могут использоваться в качестве пространственных соседних блоков. Оборудование кодирования может обнаруживать доступные блоки посредством выполнения поиска пространственных соседних блоков на основе приоритета и может извлекать информацию движения обнаруженных блоков в качестве пространственных возможных вариантов объединения. Например, оборудование кодирования и/или оборудование декодирования могут выполнять поиск пяти блоков, проиллюстрированных на фиг. 5, в порядке А1->В1->В0->А0->В2, и могут конфигурировать список возможных вариантов объединения посредством последовательной индексации доступных возможных вариантов.[150] The encoding equipment (encoding equipment/decoding equipment) may insert spatial join candidates retrieved by searching for spatial neighbors of the current block into the list of join candidates. For example, spatial neighbor blocks may include a lower left corner neighbor block, a left neighbor block, a right upper corner neighbor block, a top neighbor block, and a left upper corner neighbor block relative to the current block. However, this is an example, and in addition to the above-mentioned spatial neighbor blocks, additional neighboring blocks such as a right neighbor block, a lower neighbor block, and a right lower neighbor block may further be used as spatial neighbor blocks. The encoding equipment can detect available blocks by performing a priority-based spatial neighbor search, and can extract motion information of the detected blocks as spatial combining candidates. For example, the encoding equipment and/or decoding equipment may search the five blocks illustrated in FIG. 5, in the order A1->B1->B0->A0->B2, and can configure a list of combination candidates by sequentially indexing the available candidates.
[151] Оборудование кодирования может выполнять поиск временного соседнего блока относительно текущего блока и вставлять извлеченный временной возможный вариант объединения в список возможных вариантов объединения. Временной соседний блок может быть расположен в опорном кадре, т.е. в кадре, отличающемся от текущего кадра, в котором расположен текущий блок. Опорный кадр, в котором позиционируются временные соседние блоки, может называться "совместно размещенным кадром" или "совместно размещ. кадром". Можно выполнять поиск временных соседних блоков в порядке из правого нижнего углового соседнего блока и правого нижнего центрального блока относительно совместно размещенного блока относительно текущего блока в совместно размещ. кадре. Между тем, когда сжатие данных движения применяется, конкретная информация движения может сохраняться в качестве характерной информации движения относительно каждой предварительно определенной единицы хранения в совместно размещ. кадре. В этом случае, нет необходимости сохранять информацию движения относительно всех блоков в предварительно определенной единице хранения, и за счет этого преимущество сжатия данных движения может получаться. В этом случае, предварительно определенная единица хранения может быть предварительно определена в качестве, например, единиц выборок 16×16 или единиц 8×8 выборок, или информация размера относительно предварительно определенной единицы хранения может передаваться в служебных сигналах из оборудования кодирования в оборудование декодирования. Когда сжатие данных движения применяется, информация движения относительно временно соседних блоков может заменяться характерной информацией движения относительно предварительно определенной единицы хранения, в которой позиционируются временно соседние блоки. Таким образом, в этом случае, с точки зрения реализации, вместо прогнозированного блока, позиционированного в координатах временно соседних блоков, временной возможный вариант объединения может извлекаться на основе информации движения относительно блока прогнозирования, покрывающего арифметическую сдвинутую влево позицию после арифметического сдвига вправо на определенное значение на основе координат (левой верхней выборочной позиции) временного соседнего блока. Например, когда предварительно определенная единица хранения составляет единицы 2n×2n выборки, если координаты временно соседних блоков представляют собой (xTnb, yTnb), информация движения относительно блока прогнозирования, позиционированного в скорректированной позиции ((xTnb>>n)<<n), (yTnb>>n)<<n)), может использоваться для временного возможного варианта объединения. В частности, когда предварительно определенная единица хранения составляет единицы выборок 16×16, если координаты временно соседних блоков представляют собой (xTnb, yTnb), информация движения относительно блока прогнозирования, позиционированного в скорректированной позиции ((xTnb>>4)<<4), (yTnb>>4)<<4)), может использоваться для временного возможного варианта объединения. Альтернативно, когда предварительно определенная единица хранения составляет единицы 8×8 выборок, если координаты временно соседних блоков представляют собой (xTnb, yTnb), информация движения относительно блока прогнозирования, позиционированного в скорректированной позиции ((xTnb>>3)<<3), (yTnb>>3)<<3)), может использоваться для временного возможного варианта объединения.[151] The encoding equipment may search for a temporary neighbor block relative to the current block and insert the retrieved temporary join candidate into the list of join candidates. The temporary neighbor block may be located in the reference frame, i.e. in a frame different from the current frame in which the current block is located. The reference frame in which temporary adjacent blocks are positioned may be called a "co-located frame" or "co-located frame". You can search for temporary neighboring blocks in order from the lower right corner neighboring block and the lower right center block relative to the co-located block relative to the current block in the co-locating block. frame. Meanwhile, when motion data compression is applied, specific motion information can be stored as characteristic motion information regarding each predetermined storage unit in the co-location. frame. In this case, it is not necessary to store motion information regarding all blocks in a predetermined storage unit, and thereby the advantage of compressing motion data can be obtained. In this case, the predetermined storage unit may be predefined as, for example, 16×16 sample units or 8×8 sample units, or size information regarding the predetermined storage unit may be signaled from the encoding equipment to the decoding equipment. When motion data compression is applied, motion information relative to temporarily adjacent blocks may be replaced with characteristic motion information relative to a predetermined storage unit in which temporarily adjacent blocks are positioned. Thus, in this case, from an implementation point of view, instead of a predicted block positioned at the coordinates of temporarily adjacent blocks, a temporary merging candidate can be retrieved based on motion information relative to the prediction block covering an arithmetic left-shifted position after an arithmetic right-shifted position by a certain value by based on the coordinates (top left sample position) of the temporary adjacent block. For example, when the predetermined storage unit is 2n×2n sample units, if the coordinates of temporarily adjacent blocks are (xTnb, yTnb), the motion information relative to the prediction block positioned at the adjusted position ((xTnb>>n)<<n), ( yTnb>>n)<<n)), can be used for a temporary possible merging option. Specifically, when the predetermined storage unit is 16×16 sample units, if the coordinates of temporarily adjacent blocks are (xTnb, yTnb), the motion information relative to the prediction block positioned at the adjusted position ((xTnb>>4)<<4), (yTnb>>4)<<4)), can be used for a temporary possible merging option. Alternatively, when the predetermined storage unit is 8×8 sample units, if the coordinates of temporarily adjacent blocks are (xTnb, yTnb), motion information relative to the prediction block positioned at the adjusted position ((xTnb>>3)<<3), ( yTnb>>3)<<3)), can be used for a temporary possible merging option.
[152] Оборудование кодирования может проверять то, меньше или нет число текущих возможных вариантов объединения числа максимальных возможных вариантов объединения. Максимальное число возможных вариантов объединения может предварительно задаваться или передаваться в служебных сигналах из оборудования кодирования в оборудование декодирования. Например, оборудование кодирования может формировать и кодировать информацию относительно максимального числа возможных вариантов объединения и передавать информацию в декодер в форме потока битов. Когда максимальное число возможных вариантов объединения заполняется, последующий процесс добавления возможных вариантов может не продолжаться.[152] The encoding equipment may check whether the number of current possible combinations is less than or equal to the number of maximum possible combinations. The maximum number of possible combinations may be preset or signaled from the encoding equipment to the decoding equipment. For example, encoding equipment may generate and encode information regarding the maximum number of possible combinations and transmit the information to a decoder in the form of a bitstream. When the maximum number of candidate joins is filled, the subsequent process of adding candidates may not continue.
[153] В результате проверки, когда число текущих возможных вариантов объединения меньше максимального числа возможных вариантов объединения, оборудование кодирования может вставлять дополнительный возможный вариант объединения в список возможных вариантов объединения. Например, дополнительный возможный вариант объединения может включать в себя по меньшей мере одно из возможного варианта(ов) объединения на основе предыстории, попарного среднего возможного варианта(ов) объединения, ATMVP, комбинированного бипрогнозирующего возможного варианта объединения (когда тип группы срезов/плиток текущей группы срезов/плиток представляет собой тип В) и/или возможного варианта объединения с нулевым вектором.[153] As a result of the check, when the number of current combining candidates is less than the maximum number of combining candidates, the encoding equipment may insert an additional combining candidate into the list of combining candidates. For example, the additional pool candidate may include at least one of history-based pool candidate(s), pairwise average pool candidate(s), ATMVP, combined bi-predictive pool candidate (when the current group's slice/tile group type is slices/tiles is type B) and/or a possible variant of combining with a zero vector.
[154] В результате проверки, когда число текущих возможных вариантов объединения не меньше максимального числа возможных вариантов объединения, оборудование кодирования может завершать конструирование списка возможных вариантов объединения. В этом случае, оборудование кодирования может выбирать оптимальный возможный вариант объединения из числа возможных вариантов объединения, составляющих список возможных вариантов объединения, на основе функции затрат на искажение в зависимости от скорости передачи (RD), и передавать в служебных сигналах информацию выбора, указывающую выбранный возможный вариант объединения (например, индекс объединения), в оборудование декодирования. Декодер может выбирать оптимальный возможный вариант объединения на основе списка возможных вариантов объединения и информации выбора.[154] As a result of the check, when the number of current possible combinations is not less than the maximum number of possible combinations, the encoding equipment may complete constructing the list of possible combinations. In this case, the encoding equipment may select an optimal combining candidate from among the combining candidate candidates constituting a list of combining candidate candidates based on a rate-based distortion cost function (RD), and signaling selection information indicating the selected candidate merging option (eg, merging index) into the decoding hardware. The decoder may select the optimal combining candidate based on the list of combining candidate candidates and the selection information.
[155] Как описано выше, информация движения выбранного возможного варианта объединения может использоваться в качестве информации движения текущего блока, и прогнозные выборки текущего блока могут извлекаться на основе информации движения текущего блока. Оборудование кодирования может извлекать остаточные выборки текущего блока на основе прогнозных выборок и может передавать в служебных сигналах остаточную информацию относительно остаточных выборок в оборудование декодирования. Как описано выше, оборудование декодирования может формировать восстановленные выборки на основе остаточных выборок, извлекаемых на основе остаточной информации и прогнозных выборок, и может формировать восстановленный кадр на их основе.[155] As described above, the motion information of the selected combining candidate can be used as the motion information of the current block, and the prediction samples of the current block can be extracted based on the motion information of the current block. The encoding equipment may extract residual samples of the current block based on the predicted samples, and may signal residual information regarding the residual samples to the decoding equipment. As described above, the decoding equipment can generate reconstructed samples based on residual samples extracted based on residual information and prediction samples, and can generate a reconstructed frame based on them.
[156] Когда режим пропуска применяется, информация движения относительно текущего блока может извлекаться идентично тому, когда режим объединения применяется. Тем не менее, когда режим пропуска применяется, остаточный сигнал для соответствующего блока опускается, и в силу этого прогнозные выборки могут непосредственно использоваться в качестве восстановленных выборок. Режим пропуска может применяться, например, когда значение синтаксического элемента cu_skip_flag равно 1.[156] When the skip mode is applied, motion information regarding the current block can be retrieved identically to when the combining mode is applied. However, when the skip mode is applied, the residual signal for the corresponding block is omitted, and therefore the predicted samples can be directly used as reconstructed samples. Skip mode can be used, for example, when the value of the cu_skip_flag syntax element is 1.
[157] Фиг. 6 является видом, иллюстрирующим режим объединения с разностью векторов движения (MMVD) при взаимном прогнозировании.[157] FIG. 6 is a view illustrating a motion vector difference (MMVD) combining mode in mutual prediction.
[158] MMVD-режим представляет собой способ применения разности векторов движения (MVD) в режим объединения, в котором непосредственно используется информация движения, извлекаемая для того, чтобы формировать прогнозные выборки текущего блока.[158] The MMVD mode is a method of applying motion vector difference (MVD) to a combining mode that directly uses motion information extracted to generate predictive samples of the current block.
[159] Например, MMVD-флаг (например, mmvd_flag), указывающий то, следует или нет использовать MMVD для текущего блока (т.е. для текущей CU), может передаваться в служебных сигналах, и MMVD может выполняться на основе этого MMVD-флага. Когда MMVD применяется к текущему блоку (например, когда mmvd_flag равен 1), дополнительная информация относительно MMVD может передаваться в служебных сигналах.[159] For example, an MMVD flag (eg, mmvd_flag) indicating whether or not MMVD should be used for the current block (ie, the current CU) may be signaled, and MMVD may be executed based on this MMVD. flag. When MMVD is applied to the current block (eg, when mmvd_flag is 1), additional information regarding the MMVD may be signaled.
[160] Здесь, дополнительная информация относительно MMVD может включать в себя флаг возможного варианта объединения (например, mmvd_cand_flag), указывающий то, используются либо нет первый возможный вариант или второй возможный вариант в списке возможных вариантов объединения, вместе с MVD, индексом расстояния для указания абсолютной величины движения (например, mmvd_distance_idx) и индексом направления (например, mmvd_direction_idx) для указания направления движения.[160] Here, the additional information regarding the MMVD may include a combination candidate flag (eg, mmvd_cand_flag) indicating whether the first candidate or the second candidate in the list of combination candidates is used or not, together with an MVD, a distance index to indicate the absolute magnitude of the movement (for example, mmvd_distance_idx) and a direction index (for example, mmvd_direction_idx) to indicate the direction of movement.
[161] В MMVD-режиме могут использоваться два возможных варианта (т.е. первый возможный вариант или второй возможный вариант), расположенные в первой и второй записях, из возможных вариантов в списке возможных вариантов объединения, и один из двух возможных вариантов (т.е. первый возможный вариант или второй возможный вариант) может использоваться в качестве базового MV. Например, флаг возможного варианта объединения (например, mmvd_cand_flag) может передаваться в служебных сигналах, чтобы указывать любой один из двух возможных вариантов (т.е. первый возможный вариант или второй возможный вариант) в списке возможных вариантов объединения.[161] In MMVD mode, two possibilities (i.e., the first candidate or the second candidate) located in the first and second entries of the possible options in the list of possible merge options may be used, and one of the two possible options (i.e. .e. first possible option or second possible option) can be used as the base MV. For example, a combination candidate flag (eg, mmvd_cand_flag) may be signaled to indicate either one of two candidates (ie, the first candidate or the second candidate) in the list of candidate combinations.
[162] Помимо этого, индекс расстояния (например, mmvd_distance_idx) указывает информацию размера при движении и может указывать предварительно определенное смещение от начальной точки. Ссылаясь на фиг. 5, смещение может суммироваться с горизонтальным компонентом или вертикальным компонентом вектора движения начала. Взаимосвязь между индексом расстояния и предварительно определенным смещением может быть показана в нижеприведенной таблице 3.[162] In addition, the distance index (eg, mmvd_distance_idx) indicates motion size information and may indicate a predetermined offset from the starting point. Referring to FIG. 5, the displacement may be added to the horizontal component or the vertical component of the origin motion vector. The relationship between the distance index and the predetermined offset can be shown in Table 3 below.
[163][163]
[164] Ссылаясь на таблицу 3, расстояние MVD (например, MmvdDistance) может определяться согласно значению индекса расстояния (например, mmvd_distance_idx), и расстояние MVD (например, MmvdDistance) может извлекаться с использованием точности в целочисленную часть выборки или точности в дробную часть выборки на основе значения slice_fpel_mmvd_enabled_flag. Например, slice_fpel_mmvd_enabled_flag, равный 1, может указывать то, что, расстояние MVD извлекается с использованием целочисленных единиц выборок в текущем срезе, и slice_fpel_mmvd_enabled_flag, равный 0, может указывать то, что расстояние MVD извлекается с использованием дробных единиц выборок в текущем срезе.[164] Referring to Table 3, the MVD distance (eg, MmvdDistance) can be determined according to the distance index value (eg, mmvd_distance_idx), and the MVD distance (eg, MmvdDistance) can be extracted using integer sampling precision or fractional sampling precision based on the value of slice_fpel_mmvd_enabled_flag. For example, slice_fpel_mmvd_enabled_flag equal to 1 may indicate that the MVD distance is extracted using integer sampling units in the current slice, and slice_fpel_mmvd_enabled_flag equal to 0 may indicate that the MVD distance is extracted using fractional sampling units in the current slice.
[165] Помимо этого, индекс направления (например, mmvd_direction_idx) указывает направление MVD относительно начальной точки и может указывать четыре направления, как показано в нижеприведенной таблице 4. В этом случае, направление MVD может указывать знак MVD. Взаимосвязь между индексом направления и кодом MVD может выражаться так, как показано в нижеприведенной таблице 4.[165] In addition, the direction index (eg, mmvd_direction_idx) indicates the direction of the MVD relative to the starting point and may indicate four directions, as shown in Table 4 below. In this case, the MVD direction may be indicated by the MVD sign. The relationship between the direction index and the MVD code can be expressed as shown in Table 4 below.
[166][166]
[167] Ссылаясь на таблицу 4, знак MVD (например, MmvdSign) может определяться согласно значению индекса направления (например, mmvd_direction_idx), и знак MVD (например, MmvdSign) может извлекаться для опорного L0-кадра и опорного L1-кадра.[167] Referring to Table 4, the MVD sign (eg, MmvdSign) may be determined according to the direction index value (eg, mmvd_direction_idx), and the MVD sign (eg, MmvdSign) may be extracted for the L0 reference frame and the L1 reference frame.
[168] На основе индекса расстояния (например, mmvd_distance_idx) и индекса направления (например, mmvd_direction_idx), описанных выше, смещение MVD может вычисляться так, как показано в нижеприведенном уравнении 1.[168] Based on the distance index (eg, mmvd_distance_idx) and direction index (eg, mmvd_direction_idx) described above, the MVD offset can be calculated as shown in Equation 1 below.
[169] уравнение 1[169] equation 1
[170] Таким образом, в MMVD-режиме, возможный вариант объединения, указываемый посредством флага возможного варианта объединения (например, mmvd_cand_flag), выбирается из числа возможных вариантов объединения списка возможных вариантов объединения, извлекаемого на основе соседнего блока, и выбранный возможный вариант объединения может использоваться в качестве базового возможного варианта (например, MVP). Помимо этого, информация движения (т.е. вектор движения) текущего блока может извлекаться посредством суммирования извлеченной MVD с использованием индекса расстояния (например, mmvd_distance_idx) и индекса направления (например, mmvd_direction_idx) на основе базового возможного варианта.[170] Thus, in MMVD mode, a combine candidate indicated by a combine candidate flag (eg, mmvd_cand_flag) is selected from among the combine candidates of a list of combine candidates retrieved based on the adjacent block, and the selected combine candidate may be used as a base case (e.g. MVP). In addition, motion information (ie, motion vector) of the current block can be extracted by summing the extracted MVD using a distance index (eg, mmvd_distance_idx) and a direction index (eg, mmvd_direction_idx) based on the base candidate.
[171] Между тем, традиционно только один вектор движения может использоваться для того, чтобы выражать движение блока кодирования. Таким образом, модель поступательного движения в пространстве использована. Тем не менее, хотя этот способ может выражать оптимальное движение в единицах блоков, оно фактически не представляет собой оптимальное движение каждой выборки, и эффективность кодирования может повышаться, если оптимальный вектор движения может определяться в единице выборок. С этой целью, модель аффинного движения может использоваться. Способ аффинного прогнозирования движения для кодирования с использованием модели аффинного движения может эффективно выражать четыре движения следующим образом.[171] Meanwhile, traditionally, only one motion vector can be used to express the motion of a coding block. Thus, the model of translational motion in space is used. However, although this method can express the optimal motion in units of blocks, it does not actually represent the optimal motion of each sample, and coding efficiency can be improved if the optimal motion vector can be determined in a unit of samples. For this purpose, an affine motion model can be used. An affine motion prediction method for encoding using an affine motion model can effectively express four motions as follows.
[172] Фиг. 7 примерно показывает движение, выражаемое через модель аффинного движения.[172] FIG. 7 roughly shows the motion expressed through the affine motion model.
[173] Ссылаясь на фиг. 7, движение, которое может выражаться через модель аффинного движения, может включать в себя поступательное движение в пространстве, движение с масштабированием, вращательное движение и сдвиговое движение. Таким образом, не только поступательное движение в пространстве, в котором (часть) изображение перемещается в плоскости с прохождением времени, показанным на фиг. 7, но также и движение с масштабированием, в котором (часть) изображение масштабируется с прохождением времени, вращательное движение, в котором (часть) изображение вращается с прохождением времени, и сдвиговое движение, в котором (часть) изображение преобразуется в параллелограмм с прохождением времени, может эффективно выражаться через аффинное прогнозирование движения.[173] Referring to FIG. 7, the motion that can be expressed through the affine motion model may include translational motion in space, scaling motion, rotational motion, and shear motion. Thus, not only the translational movement in space in which (part of) the image moves in a plane with the passage of time shown in Fig. 7, but also scaling motion in which (part of) the image is scaled as time passes, rotational motion in which (part of) the image rotates as time passes, and shear motion in which (part of) the image is transformed into a parallelogram as time passes , can be effectively expressed through affine motion prediction.
[174] Оборудование кодирования/оборудование декодирования может прогнозировать форму искажения изображения на основе векторов движения в управляющих точках (CP) текущего блока через аффинное прогнозирование движения, и за счет этого точность прогнозирования может повышаться, с тем чтобы повышать производительность сжатия изображения. Помимо этого, вектор движения по меньшей мере для одной управляющей точки текущего блока может извлекаться с использованием вектора движения соседнего блока относительно текущего блока, за счет этого уменьшая нагрузку объема данных для добавленной дополнительной информации и значительно повышая эффективность взаимного прогнозирования.[174] The encoding equipment/decoding equipment can predict an image distortion shape based on motion vectors at control points (CPs) of the current block through affine motion prediction, and thereby the prediction accuracy can be improved so as to improve image compression performance. In addition, the motion vector for at least one control point of the current block can be extracted using the motion vector of an adjacent block relative to the current block, thereby reducing the data load of added side information and greatly improving the efficiency of inter-prediction.
[175] Из движений, которые может выражать модель аффинного перемещения, модель аффинного движения, которая выражает три движения (перемещение в пространстве, масштабирование, вращение), может называться "моделью аффинного движения на основе подобия (упрощенной)". Тем не менее, модель аффинного движения не ограничена моделью движения, описанной выше.[175] Of the motions that an affine motion model can express, an affine motion model that expresses three motions (movement in space, scaling, rotation) can be called a “similarity-based (simplified) affine motion model.” However, the affine motion model is not limited to the motion model described above.
[176] Способ аффинного прогнозирования движения может выражать вектор движения в каждой единице выборок блока с использованием двух, трех или четырех векторов движения.[176] An affine motion prediction method may express a motion vector in each block sample unit using two, three, or four motion vectors.
[177] Фиг. 8А и 8В примерно показывают CPMV для аффинного прогнозирования движения.[177] FIG. 8A and 8B approximately show CPMV for affine motion prediction.
[178] Традиционно, только один вектор движения может использоваться для того, чтобы выражать движение блока кодирования. Таким образом, модель поступательного движения в пространстве использована. Тем не менее, хотя этот способ может выражать оптимальное движение в единицах блоков, оно фактически не представляет собой оптимальное движение каждой выборки, и эффективность кодирования может повышаться, если оптимальный вектор движения может определяться в единице выборок. С этой целью, модель аффинного движения может использоваться. Способ аффинного прогнозирования движения для кодирования с использованием модели аффинного движения может заключаться в следующем.[178] Traditionally, only one motion vector can be used to express the motion of a coding block. Thus, the model of translational motion in space is used. However, although this method can express the optimal motion in units of blocks, it does not actually represent the optimal motion of each sample, and coding efficiency can be improved if the optimal motion vector can be determined in a unit of samples. For this purpose, an affine motion model can be used. A method for affine motion prediction for encoding using an affine motion model may be as follows.
[179] Способ аффинного прогнозирования движения может выражать вектор движения в каждой единице выборок блока с использованием двух, трех или четырех векторов движения. Например, модель аффинного движения может представлять четыре типа движения. Модель аффинного движения, которая выражает три перемещения (перемещение в пространстве, масштабирование и вращение), из движений, которые может выражать модель аффинного движения, может называться "моделью аффинного движения на основе подобия (упрощенной)". Тем не менее, модель аффинного движения не ограничена моделью движения, описанной выше.[179] An affine motion prediction method may express a motion vector in each block sample unit using two, three, or four motion vectors. For example, an affine motion model can represent four types of motion. An affine motion model that expresses three motions (spatial translation, scaling, and rotation) of the motions that an affine motion model can express can be called a “similarity-based (simplified) affine motion model.” However, the affine motion model is not limited to the motion model described above.
[180] Аффинное прогнозирование движения может определять вектор движения выборочной позиции, включенной в блок, с использованием двух или более векторов движения на основе управляющих точек (CPMV). В этом случае, набор векторов движения может называться "полем аффинных векторов движения (MVF)".[180] Affine motion prediction can determine the motion vector of a sample position included in a block using two or more control point motion vectors (CPMVs). In this case, the set of motion vectors may be called an "affine motion vector field (MVF)".
[181] Например, фиг. 8А может показывать случай, когда два CPMV используются, который может называться "4-параметрической аффинной моделью". В этом случае, вектор движения в выборочной позиции (х, у) может определяться, например, в качестве уравнения.[181] For example, FIG. 8A may show a case where two CPMVs are used, which may be called a "4-parameter affine model". In this case, the motion vector at the sample position (x, y) can be defined, for example, as an equation.
[182] уравнение 2[182] equation 2
[183] Например, фиг. 8В может показывать случай, когда три CPMV используются, который может называться "6-параметрической аффинной моделью". В этом случае, вектор движения в выборочной позиции (х, у) может определяться, например, посредством уравнения 3.[183] For example, FIG. 8B may show a case where three CPMVs are used, which may be called a "6-parameter affine model". In this case, the motion vector at the sample position (x, y) can be determined, for example, by Equation 3.
[184] уравнение 3[184] equation 3
[185] В уравнениях 2 и 3, {vx, vy} может представлять вектор движения в позиции (х, у). Помимо этого, {v0x, v0y} может указывать CPMV управляющей точки (CP) в позиции левого верхнего угла блока кодирования, {v1x, v1y} может указывать CPMV CP в верхней правой угловой позиции, {v2x, v2y} может указывать CPMV CP в нижней левой угловой позиции. Помимо этого, W может указывать ширину текущего блока, и Н может указывать высоту текущего блока.[185] In Equations 2 and 3, {v x , v y } may represent the motion vector at position (x, y). In addition, {v 0x , v 0y } may indicate a control point (CP) CPMV at the upper left corner position of the encoding block, {v 1x , v 1y } may indicate the CPMV CP at the upper right corner position, {v 2x , v 2y } may indicate CPMV CP in the lower left corner position. In addition, W may indicate the width of the current block, and H may indicate the height of the current block.
[186] Фиг. 9 примерно иллюстрирует случай, в котором аффинное MVF определяется в единицах субблоков.[186] FIG. 9 roughly illustrates the case in which the affine MVF is defined in terms of subblocks.
[187] В процессе кодирования/декодирования, аффинное MVF может определяться в единицах выборок или предварительно заданных субблоков. Например, когда аффинный MVP определяется в единицах выборок, вектор движения может получаться на основе каждого выборочного значения. Альтернативно, например, когда аффинный MVP определяется в единицах субблоков, вектор движения соответствующего блока может получаться на основе выборочного значения центра субблока (нижнего правого угла центра, т.е. правой нижней выборки из четырех центральных выборок). Таким образом, при аффинном прогнозировании, движения вектор движения текущего блока может извлекаться в единицах выборок или субблоков.[187] During the encoding/decoding process, the affine MVF may be defined in units of samples or predefined subblocks. For example, when the affine MVP is defined in units of samples, a motion vector can be obtained based on each sample value. Alternatively, for example, when an affine MVP is defined in terms of subblocks, the motion vector of the corresponding block can be obtained based on the subblock center sample value (the lower right corner of the center, i.e., the bottom right sample of the four center samples). Thus, in affine motion prediction, the motion vector of the current block can be extracted in units of samples or sub-blocks.
[188] В случае фиг. 9 аффинное MVF определяется в единицах субблоков 4×4, но размер субблоков может модифицироваться различными способами.[188] In the case of FIG. 9, the affine MVF is defined in terms of 4x4 subblocks, but the size of the subblocks can be modified in various ways.
[189] Таким образом, когда аффинное прогнозирование доступно, три модели движения, применимые к текущему блоку, могут включать в себя модель поступательного движения в пространстве, 4-параметрическую модель аффинного движения и 6-параметрическую модель аффинного движения. Модель поступательного движения в пространстве может представлять модель с использованием существующего вектора движения в единицах блоков, 4-параметрическая модель аффинного движения может представлять модель с использованием двух CPMV, и 6-параметрическая модель аффинного движения может представлять модель с использованием трех CPMV.[189] Thus, when affine prediction is available, the three motion models applicable to the current block may include a translational motion model in space, a 4-parameter affine motion model, and a 6-parameter affine motion model. A translational motion model in space can represent a model using an existing motion vector in units of blocks, a 4-parameter affine motion model can represent a model using two CPMVs, and a 6-parameter affine motion model can represent a model using three CPMVs.
[190] Между тем, аффинное прогнозирование движения может включать в себя аффинный MVP-(или аффинный взаимный) режим либо аффинный режим объединения.[190] Meanwhile, affine motion prediction may include an affine MVP (or affine mutual) mode or an affine pooling mode.
[191] Фиг. 10 является видом, иллюстрирующим аффинный режим объединения или режим объединения на основе субблоков при взаимном прогнозировании.[191] FIG. 10 is a view illustrating an affine combining mode or a subblock-based combining mode in inter-prediction.
[192] Например, в аффинном режиме объединения, CPMV может определяться согласно модели аффинного движения соседнего блока, кодированного посредством аффинного прогнозирования движения. Например, соседние блоки, кодированные в качестве аффинного прогнозирования движения в порядке поиска, могут использоваться для аффинного режима объединения. Таким образом, когда по меньшей мере один из соседних блоков кодируется при аффинном прогнозировании движения, текущий блок может кодироваться в аффинном режиме объединения. Здесь, точный режим объединения может называться "AF_MERGE".[192] For example, in the affine combining mode, the CPMV may be determined according to the affine motion model of a neighboring block encoded by affine motion prediction. For example, neighboring blocks encoded as affine motion prediction in the search order can be used for the affine fusion mode. Thus, when at least one of the neighboring blocks is encoded in affine motion prediction, the current block may be encoded in the affine pooling mode. Here, the exact merging mode may be called "AF_MERGE".
[193] Когда аффинный режим объединения применяется, CPMV текущего блока могут извлекаться с использованием CPMV соседних блоков. В этом случае, CPMV соседнего блока могут использоваться в качестве CPMV текущего блока как есть, и CPMV соседнего блока могут модифицироваться на основе размера соседнего блока и размера текущего блока и использоваться в качестве CPMV текущего блока.[193] When the affine merging mode is applied, the CPMVs of the current block can be extracted using the CPMVs of neighboring blocks. In this case, the CPMVs of the neighboring block can be used as the CPMV of the current block as is, and the CPMVs of the neighboring block can be modified based on the size of the neighboring block and the size of the current block and used as the CPMV of the current block.
[194] С другой стороны, в случае аффинного режима объединения, в котором вектор движения (MV) извлекается в единицах субблоков, он может называться "режимом объединения на основе субблоков", который может указываться на основе флага объединения на основе субблоков (либо синтаксического элемента merge_subblock_flag). Альтернативно, когда значение синтаксического элемента merge_subblock_flag равно 1, может указываться то, что режим объединения на основе субблоков применяется. В этом случае, список аффинных возможных вариантов объединения, который описывается ниже, может называться "списком возможных вариантов объединения на основе субблоков". В этом случае, список возможных вариантов объединения на основе субблоков дополнительно может включать в себя возможный вариант, извлекаемый посредством SbTMVP, которое описывается ниже. В этом случае, возможный вариант, извлекаемый посредством SbTMVP, может использоваться в качестве возможного варианта индекса 0 списка возможных вариантов объединения на основе субблоков. Другими словами, возможный вариант, извлекаемый из SbTMVP, может позиционироваться перед унаследованным аффинным возможным вариантом или сконструированным аффинным возможным вариантом, который описывается ниже, в списке возможных вариантов объединения на основе субблоков.[194] On the other hand, in the case of an affine combining mode in which the motion vector (MV) is extracted in units of sub-blocks, it may be referred to as a “sub-block-based combining mode”, which may be indicated based on a sub-block-based combining flag (or a syntax element merge_subblock_flag). Alternatively, when the value of the merge_subblock_flag syntax element is 1, it may indicate that the subblock-based merging mode is being applied. In this case, the list of affine join candidates that is described below may be referred to as a “subblock-based join candidate list.” In this case, the list of subblock-based aggregation candidates may further include a candidate retrieved by SbTMVP, which is described below. In this case, the candidate retrieved by SbTMVP can be used as candidate index 0 of the subblock-based pool candidate list. In other words, a candidate retrieved from the SbTMVP may be positioned before an inherited affine candidate or a constructed affine candidate, which is described below, in the subblock-based pool candidate list.
[195] Когда аффинный режим объединения применяется, список аффинных возможных вариантов объединения может конструироваться, чтобы извлекать CPMV для текущего блока. Например, список аффинных возможных вариантов объединения может включать в себя по меньшей мере один из следующих возможных вариантов. 1) Унаследованный аффинный возможный вариант объединения. 2) Сконструированный аффинный возможный вариант объединения. 3) Возможный вариант нулевого вектора движения (или нулевой вектор). Здесь, унаследованный аффинный возможный вариант объединения представляет собой возможный вариант, извлекаемый на основе CPMV соседнего блока, когда соседний блок кодируется в аффинном режиме, сконструированный аффинный возможный вариант объединения представляет собой возможный вариант, извлекаемый посредством конструирования CPMV на основе MV соседних блоков соответствующей CP в единицах каждого CPMV, и возможный вариант нулевого вектора движения может указывать возможный вариант, состоящий из CPMV, значение которых равно 0.[195] When the affine join mode is applied, a list of affine join candidates can be constructed to retrieve the CPMV for the current block. For example, the list of affine join possibilities may include at least one of the following possibilities. 1) Inherited affine possible join option. 2) Constructed affine possible union option. 3) Possible version of the zero motion vector (or zero vector). Here, the inherited affine merging candidate is a candidate extracted based on the CPMV of a neighboring block, when the neighboring block is encoded in affine mode, the constructed affine merging candidate is a candidate extracted by constructing the CPMV based on the MVs of neighboring blocks of the corresponding CP in units each CPMV, and a null motion vector candidate may indicate a candidate consisting of CPMVs whose value is 0.
[196] Список аффинных возможных вариантов объединения может конструироваться, например, следующим образом.[196] The list of affine possible combinations can be constructed, for example, as follows.
[197] Может быть предусмотрено до двух унаследованных аффинных возможных вариантов, и унаследованные аффинные возможные варианты могут извлекаться из моделей аффинного движения соседних блоков. Соседние блоки могут содержать один левый соседний блок и верхний соседний блок. Возможные варианты блоков могут позиционироваться так, как проиллюстрировано на фиг. 4. Порядок сканирования для левого предиктора может представлять собой A1-->A0, и порядок сканирования для верхнего предиктора может представлять собой B1-->B0-->B2. Только один унаследованный возможный вариант из каждого из левого и верхнего угла может выбираться. Проверка отсечения может не выполняться между двумя унаследованными возможными вариантами.[197] Up to two legacy affine candidates can be provided, and the legacy affine candidates can be extracted from the affine motion patterns of neighboring blocks. Neighbor blocks can contain one left neighbor block and a top neighbor block. Possible block options can be positioned as illustrated in FIG. 4. The scan order for the left predictor may be A 1 -->A 0 , and the scan order for the top predictor may be B 1 -->B 0 -->B 2 . Only one inherited candidate from each of the left and top corners can be selected. The cutoff check may not be performed between two inherited candidates.
[198] Когда соседний аффинный блок идентифицируется, векторы движения на основе управляющих точек проверенного блока могут использоваться для того, чтобы извлекать возможный CPMVP-вариант в списке для аффинного объединения текущего блока. Здесь, соседний аффинный блок может указывать блок, кодированный в аффинном режиме прогнозирования, из соседних блоков текущего блока. Например, ссылаясь на фиг. 10, когда левый нижний соседний блок А кодируется в аффинном режиме прогнозирования, вектор v2, v3 и v4 движения в левом верхнем угле, правом верхнем углу и левом нижнем углу соседнего блока А может получаться. Когда соседний блок А кодируется с помощью 4-параметрической модели аффинного движения, два CPMV текущего блока могут вычисляться согласно v2 и v4. Когда соседний блок А может вычисляться согласно v2 и v3. Когда соседний блок А кодируется с помощью 6-параметрической модели аффинного движения, три CPMV текущего блока могут вычисляться согласно трем CPMV v2, v3 и v4 текущего блока.[198] When a neighboring affine block is identified, motion vectors based on the control points of the checked block can be used to retrieve a candidate CPMVP from the list for the affine union of the current block. Here, a neighboring affine block may indicate a block encoded in the affine prediction mode from neighboring blocks of the current block. For example, referring to FIG. 10, when the lower left adjacent block A is encoded in the affine prediction mode, motion vector v2, v3 and v4 in the upper left corner, upper right corner and lower left corner of the adjacent block A can be obtained. When a neighboring block A is encoded using a 4-parameter affine motion model, the two CPMVs of the current block can be calculated according to v2 and v4. When the neighboring block A can be calculated according to v2 and v3. When a neighboring block A is encoded using a 6-parameter affine motion model, the three CPMVs of the current block can be calculated according to the three CPMVs v2, v3 and v4 of the current block.
[199] Фиг. 11 является схемой, иллюстрирующей позиции возможных вариантов в аффинном режиме объединения или режиме объединения на основе субблоков.[199] FIG. 11 is a diagram illustrating candidate positions in an affine combining mode or a subblock-based combining mode.
[200] Аффинный возможный вариант, сконструированный в аффинном режиме объединения или режиме объединения на основе субблоков, может означать возможный вариант, сконструированный посредством комбинирования информации поступательного движения в пространстве вокруг каждой управляющей точки. Информация движения управляющих точек может извлекаться из указанных пространственных и временных периметров. CPMVk (k=0, 1, 2, 3) может представлять k-ую управляющую точку.[200] An affine candidate constructed in an affine fusion mode or a subblock-based fusion mode may mean a candidate constructed by combining translational motion information in the space around each control point. Control point motion information can be extracted from specified spatial and temporal perimeters. CPMVk (k=0, 1, 2, 3) can represent the kth control point.
[201] Ссылаясь на фиг. 11, блоки могут проверяться в порядке В2->В3->А2 для CPMV0, и вектор движения первого доступного блока может использоваться. Для CPMV1, блоки могут проверяться согласно порядку В1->В0, и для CPMV2, блоки могут проверяться согласно порядку А1->А0. TMVP (временной предиктор вектора движения) может использоваться с CPMV3, если имеется.[201] Referring to FIG. 11, blocks can be checked in the order B2->B3->A2 for CPMV0, and the motion vector of the first available block can be used. For CPMV1, blocks can be checked according to the order B1->B0, and for CPMV2, blocks can be checked according to the order A1->A0. TMVP (Temporal Motion Vector Predictor) can be used with CPMV3 if available.
[202] После того, как векторы движения четырех управляющих точек получаются, аффинные возможные варианты объединения могут формироваться на основе полученной информации движения. Комбинация векторов движения на основе управляющих точек может представлять собой любое из {CPMV0, CPMV1, CPMV2}, {CPMV0, CPMV1, CPMV3}, {CPMV0, CPMV2, CPMV3}, {CPMV1, CPMV2, CPMV3}, {CPMV0, CPMV1} и {CPMV0, CPMV2}.[202] Once the motion vectors of the four control points are obtained, affine fusion candidates can be generated based on the obtained motion information. The control point based motion vector combination may be any of {CPMV0, CPMV1, CPMV2}, {CPMV0, CPMV1, CPMV3}, {CPMV0, CPMV2, CPMV3}, {CPMV1, CPMV2, CPMV3}, {CPMV0, CPMV1} and {CPMV0, CPMV2}.
[203] Комбинация трех CPMV может составлять 6-параметрический аффинный возможный вариант объединения, и комбинация двух CPMV может составлять 4-параметрический аффинный возможный вариант объединения. Чтобы исключать процесс масштабирования движения, если опорные индексы управляющих точек отличаются, связанные комбинации векторов движения на основе управляющих точек могут отбрасываться.[203] A combination of three CPMVs can constitute a 6-parameter affine fusion candidate, and a combination of two CPMVs can constitute a 4-parameter affine fusion candidate. To eliminate the motion scaling process, if the reference indices of the control points are different, associated combinations of motion vectors based on the control points may be discarded.
[204] Фиг. 12 является видом, иллюстрирующим SbTMVP при взаимном прогнозировании.[204] FIG. 12 is a view illustrating SbTMVP in inter-prediction.
[205] Временное прогнозирование векторов движения на основе субблоков (SbTMVP) также может называться "усовершенствованным временным прогнозированием векторов движения (ATMVP)". SbTMVP может использовать поле движения в совместно размещенном кадре для того, чтобы улучшать прогнозирование векторов движения и режим объединения для CU в текущем кадре. Здесь, совместно размещенный кадр может называться "совместно размещ. Кадром".[205] Subblock-based temporal motion vector prediction (SbTMVP) may also be referred to as “advanced temporal motion vector prediction (ATMVP)”. SbTMVP can use the motion field in a co-located frame to improve motion vector prediction and fusion mode for the CU in the current frame. Here, the co-located frame may be referred to as a “co-located frame”.
[206] Например, SbTMVP может прогнозировать движение на уровне субблока (или суб-CU). Помимо этого, SbTMVP может применять сдвиг движения до осуществления выборки временной информации движения из совместно размещ. кадра. Здесь, сдвиг движения может получаться из вектора движения одного из пространственно соседних блоков текущего блока.[206] For example, SbTMVP can predict motion at the sub-block (or sub-CU) level. In addition, SbTMVP may apply motion shifting before sampling temporal motion information from the co-location. frame. Here, the motion offset may be obtained from the motion vector of one of the spatially adjacent blocks of the current block.
[207] SbTMVP может прогнозировать вектор движения субблока (или суб-CU) в текущем блоке (или CU) согласно двум этапам.[207] SbTMVP can predict the motion vector of a sub-unit (or sub-CU) in the current block (or CU) according to two steps.
[208] На первом этапе, пространственные соседние блоки могут тестироваться согласно порядку A1, В1, В0 и А0 по фиг. 5. Первый пространственный соседний блок, имеющий вектор движения с использованием совместно размещ. кадра в качестве своего опорного кадра, может идентифицироваться, и вектор движения может выбираться в качестве сдвига движения, который должен применяться. Когда такое движение не идентифицируется из пространственного соседнего блока, сдвиг движения может задаваться равным (0, 0).[208] In the first step, spatial neighboring blocks may be tested according to the order of A1, B1, B0 and A0 in FIG. 5. The first spatial neighboring block having a motion vector using co-location. frame as its reference frame can be identified, and a motion vector can be selected as the motion offset to be applied. When such motion is not identified from a spatial neighbor block, the motion offset may be set to (0, 0).
[209] На втором этапе, сдвиг движения, идентифицированный на первом этапе, может применяться, чтобы получать информацию движения на уровне субблока (вектор движения и опорные индексы) из совместно размещ. кадра. Например, сдвиг движения может суммироваться с координатами текущего блока. Например, сдвиг движения может задаваться равным движению А1 по фиг. 8. В этом случае, для каждого субблока, информация движения соответствующего блока в совместно размещ. кадре может использоваться для того, чтобы извлекать информацию движения субблока. Временное масштабирование движения может применяться, чтобы совмещать опорные кадры временных векторов движения с опорными кадрами текущего блока.[209] In the second stage, the motion offset identified in the first stage can be applied to obtain sub-block level motion information (motion vector and reference indices) from the co-located ones. frame. For example, the motion shift can be added to the coordinates of the current block. For example, the motion offset may be set equal to the motion A1 in FIG. 8. In this case, for each sub-block, the movement information of the corresponding block is co-located. frame can be used to extract sub-block motion information. Temporal motion scaling can be used to align reference frames of temporal motion vectors with reference frames of the current block.
[210] Комбинированный список объединения на основе субблоков, включающий в себя как возможный SbTVMP-вариант, так и точные возможные варианты объединения, может использоваться для передачи в служебных сигналах аффинного режима объединения. Здесь, аффинный режим объединения может называться "режимом объединения на основе субблоков". SbTVMP-режим может быть доступным или недоступным согласно флагу, включенному в набор параметров последовательности (SPS). Если SbTMVP-режим доступен, SbTMVP-предиктор может добавляться в качестве первой записи списка возможных вариантов объединения на основе субблоков, и аффинные возможные варианты объединения могут приводиться далее. Максимально допустимый размер списка аффинных возможных вариантов объединения может быть равен 5.[210] A combined subblock-based aggregation list including both the SbTVMP candidate and the exact aggregation candidate may be used to carry affine aggregation mode signaling. Here, the affine merging mode may be called “sub-block-based merging mode.” The SbTVMP mode may or may not be available according to a flag included in the Sequence Parameter Set (SPS). If the SbTMVP mode is available, the SbTMVP predictor may be added as the first entry in the subblock-based join candidate list, and the affine join candidates may be listed next. The maximum allowed size of the list of affine possible join options can be 5.
[211] Размер суб-CU (или субблока), используемой в SbTMVP может задаваться фиксированно равным 8×8, и аналогично аффинному режиму объединения, SbTMVP-режим может применяться только к блокам, имеющим ширину и высоту 8 или больше. Логика кодирования дополнительной ширины и высоты может быть идентичной логике кодирования других возможных вариантов объединения. Таким образом, для каждой CU в Р- или В-срезе, RD-проверка с использованием дополнительной функции затрат на искажение в зависимости от скорости передачи (RD) может выполняться, чтобы определять то, следует или нет использовать возможный SbTMVP-вариант.[211] The size of the sub-CU (or sub-block) used in SbTMVP can be set fixed to 8x8, and similar to the affine merge mode, the SbTMVP mode can only be applied to blocks having a width and height of 8 or greater. The logic for encoding the additional width and height may be identical to the logic for encoding other possible join options. Thus, for each CU in a P- or B-slice, an RD test using an additional rate-dependent distortion (RD) cost function can be performed to determine whether or not the SbTMVP candidate should be used.
[212] Фиг. 13 является видом, иллюстрирующим режим комбинированного межкадрового объединения и внутрикадрового прогнозирования (CIIP) при взаимном прогнозировании.[212] FIG. 13 is a view illustrating a combined inter-frame combining and intra-frame prediction (CIIP) mode in inter-prediction.
[213] CIIP может применяться к текущей CU. Например, в случае, в котором CU кодируется в режиме объединения, CU включает в себя по меньшей мере 64 выборки сигналов яркости (т.е. когда произведение CU-ширины и CU-высоты равно 64 или больше), и как CU-ширина, так и CU-высота меньше 128 выборок сигналов яркости, дополнительный флаг (например, ciip_flag) затем может передаваться в служебных сигналах, чтобы указывать то, применяется или нет CIIP-режим к текущей CU.[213] CIIP can be applied to the current CU. For example, in the case in which the CU is encoded in the concatenation mode, the CU includes at least 64 luminance samples (i.e., when the product of CU-width and CU-height is 64 or greater), and as CU-width, Since the CU height is less than 128 luminance samples, an additional flag (eg, ciip_flag) may then be signaled to indicate whether or not the CIIP mode is applied to the current CU.
[214] При CIIP-прогнозировании, взаимный прогнозный сигнал и внутренний прогнозный сигнал могут комбинироваться. В CIIP-режиме, взаимный прогнозный сигнал Р inter может извлекаться с использованием идентичного процесса взаимного прогнозирования, применяемого к регулярному режиму объединения. Внутренний прогнозный сигнал Р_intra может извлекаться согласно процессу внутреннего прогнозирования, имеющему планарный режим.[214] In CIIP prediction, the mutual prediction signal and the internal prediction signal may be combined. In the CIIP mode, the mutual prediction signal P inter can be extracted using the same inter-prediction process applied to the regular combining mode. The internal prediction signal P_intra may be extracted according to an internal prediction process having a planar mode.
[215] Внутренний прогнозный сигнал и взаимный прогнозный сигнал могут комбинироваться с использованием среднего взвешенного и могут выражаться в нижеприведенном уравнении 4. Весовой коэффициент может вычисляться согласно режиму кодирования верхних и левых соседних блоков, показанных на фиг. 13.[215] The internal prediction signal and the mutual prediction signal can be combined using a weighted average and can be expressed in Equation 4 below. The weight coefficient can be calculated according to the coding mode of the top and left adjacent blocks shown in FIG. 13.
[216] уравнение 4[216] equation 4
[217] В уравнении 4, когда верхний соседний блок доступен и внутренне кодирован, isIntraTop может задаваться равным 1, в противном случае isIntraTop может задаваться равным 0. Если левый соседний блок доступен и внутренне кодирован, isIntraLeft может задаваться равным 1, в противном случае isIntraLeft может задаваться равным 0. Когда (isIntraLeft+isIntraLeft) равен 2, wt может задаваться равным 3, и когда (islntraLeft+isIntraLeft) равен 1, wt может задаваться равным 2. В противном случае, wt может задаваться равным 1.[217] In Equation 4, when the top neighbor block is accessible and internally encoded, isIntraTop may be set to 1, otherwise isIntraTop may be set to 0. If the left adjacent block is accessible and internally encoded, isIntraLeft may be set to 1, otherwise isIntraLeft can be set to 0. When (isIntraLeft+isIntraLeft) is 2, wt can be set to 3, and when (islntraLeft+isIntraLeft) is 1, wt can be set to 2. Otherwise, wt can be set to 1.
[218] Фиг. 14 является видом, иллюстрирующим режим сегментации при взаимном прогнозировании.[218] FIG. 14 is a view illustrating a segmentation mode in inter-prediction.
[219] Ссылаясь на фиг. 14, когда режим сегментации применяется, CU может одинаково разделяться на два сегмента треугольной формы с использованием диагонального разбиения или антидиагонального разбиения в противоположном направлении. Тем не менее, это представляет собой только пример режима сегментации, и CU может одинаково или неравномерно разделяться на сегменты, имеющие различные формы[219] Referring to FIG. 14, when the segmentation mode is applied, the CU can be equally divided into two triangular-shaped segments using diagonal partitioning or anti-diagonal partitioning in the opposite direction. However, this represents only an example of the segmentation mode, and the CU may be equally or unevenly divided into segments having different shapes
[220] Для каждого сегмента CU, может разрешаться только однонаправленное прогнозирование. Таким образом, каждый сегмент может иметь один вектор движения и один опорный индекс. Ограничение по однонаправленному прогнозированию должно обеспечивать то, что только два прогнозирования с компенсацией движения требуются для каждой CU, аналогично бипрогнозированию.[220] For each CU segment, only unidirectional prediction may be allowed. Thus, each segment can have one motion vector and one reference index. The unidirectional prediction constraint should ensure that only two motion-compensated predictions are required per CU, similar to bi-prediction.
[221] Когда режим сегментации применяется, флаг, указывающий направление разбиения (диагональное направление или противоположное диагональное направление), и два индекса объединения (для каждого сегмента) дополнительно могут передаваться в служебных сигналах.[221] When the segmentation mode is applied, a flag indicating the partitioning direction (diagonal direction or opposite diagonal direction) and two merge indices (for each segment) may additionally be signaled.
[222] После прогнозирования каждого сегмента, выборочные значения на основе граничной линии в диагонали или противоположной диагонали могут регулироваться с использованием смешивания обработки с адаптивными весовыми коэффициентами на основе адаптивных весовых коэффициентов.[222] After predicting each segment, sample values based on the boundary line in the diagonal or the opposite diagonal can be adjusted using blending processing with adaptive weights based on the adaptive weights.
[223] Между тем, когда режим объединения или режим пропуска применяется, информация движения может извлекаться на основе регулярного режима объединения, MMVD-режим (режим объединения с разностью векторов движения), субблочный режим объединения, CIIP-режим (режим комбинированного межкадрового объединения и внутрикадрового прогнозирования) или режим сегментации может использоваться для того, чтобы извлекать информацию движения, чтобы формировать прогнозные выборки, как описано выше. Каждый режим может активироваться или деактивироваться через флаг включения-выключения в наборе параметров последовательности (SPS). Если флаг включения-выключения для конкретного режима деактивируется в SPS, синтаксис, ясно передаваемый для режима прогнозирования в единицах CU или PU, может не передаваться в служебных сигналах.[223] Meanwhile, when the combining mode or the skip mode is applied, motion information can be extracted based on the regular combining mode, MMVD (motion vector difference combining mode), sub-block combining mode, CIIP mode (combined inter-frame and intra-frame combining mode). prediction) or segmentation mode can be used to extract motion information to generate predictive samples, as described above. Each mode can be activated or deactivated via an on/off flag in the Sequence Parameter Set (SPS). If the on-off flag for a particular mode is deactivated in the SPS, the syntax clearly conveyed for the prediction mode in CU or PU units may not be signaled.
[224] Нижеприведенная таблица 5 связана с процессом извлечения режима объединения или режима пропуска из традиционного синтаксиса merge_data. В нижеприведенной таблице 5, CUMergeTriangleFlag[x0][у0] может соответствовать флагу включения-выключения для режима сегментации, описанного выше на фиг. 14, и merge_triangle_split_dir[x0][у0] может указывать направление разбиения (диагональное направление или противоположное диагональное направление), когда режим сегментации применяется. Помимо этого, merge_triangle_idx0[x0][у0] и merge_triangle_idx1[x0][у0] могут указывать два индекса объединения для каждого сегмента, когда режим сегментации применяется.[224] Table 5 below relates to the process of extracting the merge mode or skip mode from the traditional merge_data syntax. In Table 5 below, CUMergeTriangleFlag[x0][y0] may correspond to the on-off flag for the segmentation mode described above in FIG. 14, and merge_triangle_split_dir[x0][y0] may indicate the splitting direction (diagonal direction or opposite diagonal direction) when the segmentation mode is applied. In addition, merge_triangle_idx0[x0][y0] and merge_triangle_idx1[x0][y0] can specify two merge indexes for each segment when segmentation mode is applied.
[225][225]
[226][226]
[227] Между тем, каждый режим прогнозирования, включающий в себя регулярный режим объединения, MMVD-режим, субблочный режим объединения, CIIP-режим и режим сегментации, может активироваться или деактивироваться из набора параметров последовательности (SPS), как показано в нижеприведенной таблице 6. В нижеприведенной таблице 6, sps_triangle_enabled_flag может соответствовать флагу, который активирует или деактивирует режим сегментации, описанный выше на фиг. 14, из SPS.[227] Meanwhile, each prediction mode including regular combining mode, MMVD mode, sub-block combining mode, CIIP mode and segmentation mode can be activated or deactivated from the Sequence Parameter Set (SPS), as shown in Table 6 below In Table 6 below, sps_triangle_enabled_flag may correspond to a flag that enables or disables the segmentation mode described above in FIG. 14, from SPS.
[228][228]
[229][229]
[230][230]
[231][231]
[232][232]
[233][233]
[234] Синтаксис merge_data таблицы 5 может синтаксически анализироваться или извлекаться согласно флагу SPS таблицы 6 и условию, при котором может использоваться каждый режим прогнозирования. Обобщение всех случаев согласно условиям, при которых флаг SPS и каждый режим прогнозирования может использоваться, показывается в таблицах 7 и В. Таблица 7 показывает число случаев, в которых текущий блок находится в режиме объединения, и таблица 8 показывает число случаев, в которых, текущий блок находится в режиме пропуска. В нижеприведенных таблицах 7 и 8, regular может соответствовать регулярному режиму объединения, mmvd может соответствовать треугольному, или TRI может соответствовать режиму сегментации, описанному выше со ссылкой на фиг. 12.[234] The merge_data syntax of table 5 may be parsed or retrieved according to the SPS flag of table 6 and the condition under which each prediction mode can be used. A summary of all cases according to the conditions under which the SPS flag and each prediction mode can be used is shown in Tables 7 and B. Table 7 shows the number of cases in which the current block is in merge mode, and Table 8 shows the number of cases in which, the current the block is in skip mode. In Tables 7 and 8 below, regular may correspond to the regular join mode, mmvd may correspond to triangular, or TRI may correspond to the segmentation mode described above with reference to FIG. 12.
[235][235]
[236][236]
[237] В качестве одного примера случаев, упомянутых в таблицах 7 и В, описывается случай, в котором текущий блок составляет 4×16, и режим пропуска. Когда субблочный режим объединения, MMVD-режим, CIIP-режим и режим сегментации активируются в SPS, если regular_merge_flag[х0][у0], mmvd_flag[х0][у0] и merge_subblock_flag[х0][у0] в синтаксисе merge_data равны 0, информация движения для текущего блока должна извлекаться в режиме сегментации. Тем не менее, даже если режим сегментации активируется из флага включения-выключения в SPS, он может использоваться в качестве режима прогнозирования только тогда, когда дополнительно удовлетворяются условия нижеприведенной таблицы 9. В нижеприведенной таблице 9, MergeTriangleFlag[x0][у0] может соответствовать флагу включения-выключения для режима сегментации, и sps_triangle_enabled_flag может соответствовать флагу, активирующему или деактивирующему режим сегментации из SPS.[237] As one example of the cases mentioned in Tables 7 and B, a case in which the current block is 4×16 and a skip mode are described. When subblock merge mode, MMVD mode, CIIP mode and segmentation mode are activated in SPS, if regular_merge_flag[x0][y0], mmvd_flag[x0][y0] and merge_subblock_flag[x0][y0] in merge_data syntax are 0, information motion for the current block must be extracted in segmentation mode. However, even if the segmentation mode is activated from the on-off flag in SPS, it can be used as a prediction mode only when the conditions in Table 9 below are additionally satisfied. In Table 9 below, MergeTriangleFlag[x0][y0] can correspond to the flag enable/disable for segmentation mode, and sps_triangle_enabled_flag may correspond to a flag that enables or disables segmentation mode from SPS.
[238][238]
[239] Ссылаясь на вышеприведенную таблицу 9, если текущий срез представляет собой Р-срез, поскольку прогнозные выборки не могут формироваться через режим сегментации, декодер более не может декодировать поток битов. В связи с тем, чтобы разрешать проблему, которая возникает в исключительном случае, в котором не выполняется декодирование, поскольку конечный режим прогнозирования не может выбираться согласно каждому флагу включения-выключения SPS и синтаксису данных объединения, в настоящем раскрытии, режим объединения по умолчанию предлагается. Режим объединения по умолчанию может быть предварительно задан различными способами или может извлекаться посредством дополнительной передачи в служебных сигналах синтаксиса.[239] Referring to the above Table 9, if the current slice is a P-slice, since prediction samples cannot be generated through the segmentation mode, the decoder can no longer decode the bitstream. In order to resolve the problem that occurs in the exceptional case in which decoding is not performed because the final prediction mode cannot be selected according to each SPS on/off flag and the combining data syntax, in the present disclosure, a default combining mode is proposed. The default aggregation mode may be preset in various ways or may be retrieved through additional transmission in the syntax overhead.
[240] В варианте осуществления, регулярный режим объединения может применяться к текущему блоку на основе случая, в котором MMVD-режим, субблочный режим объединения, CIIP-режим и режим сегментации для выполнения прогнозирования посредством разделения текущего блока на два сегмента не доступны. Таким образом, когда режим объединения не может в конечном счете выбираться для текущего блока, регулярный режим объединения может применяться в качестве режима объединения по умолчанию.[240] In an embodiment, the regular merging mode may be applied to the current block based on a case in which the MMVD mode, sub-block merging mode, CIIP mode, and segmentation mode for performing prediction by dividing the current block into two segments are not available. Thus, when the merge mode cannot ultimately be selected for the current block, the regular merge mode can be used as the default merge mode.
[241] Например, если значение общего флага объединения, указывающего то, доступен или нет режим объединения для текущего блока, равно 1, но режим объединения не может в конечном счете выбираться для текущего блока, регулярный режим объединения может применяться в качестве режима объединения по умолчанию.[241] For example, if the value of the general merge flag indicating whether or not a merge mode is available for the current block is 1, but the merge mode cannot ultimately be selected for the current block, the regular merge mode may be used as the default merge mode .
[242] В этом случае, информация движения текущего блока может извлекаться на основе информации индекса объединения, указывающей один из возможных вариантов объединения, включенных в список возможных вариантов объединения текущего блока, и прогнозные выборки могут формироваться на основе извлеченной информации движения.[242] In this case, the motion information of the current block can be extracted based on the merging index information indicating one of the merging candidates included in the merging candidate list of the current block, and prediction samples can be generated based on the extracted motion information.
[243] Соответственно, синтаксис данных объединения может быть таким, как показано в нижеприведенной таблице 10.[243] Accordingly, the syntax of the union data may be as shown in Table 10 below.
[244][244]
[245][245]
[246] Ссылаясь на таблицу 10 и таблицу 6, на основе случая, в котором MMVD-режим не доступен, флаг sps_mmvd_enabled_flag для активации или деактивации MMVD-режима из SPS может быть равен 0, либо первый флаг (mmvd_merge_flag[x0][у0]), указывающий то, применяется или нет MMVD-режим, может быть равен 0.[246] Referring to Table 10 and Table 6, based on the case in which the MMVD mode is not available, the sps_mmvd_enabled_flag for activating or deactivating the MMVD mode from the SPS may be 0, or the first flag (mmvd_merge_flag[x0][y0] ), indicating whether the MMVD mode is applied or not, can be equal to 0.
[247] Помимо этого, на основе случая, в котором субблочный режим объединения не доступен, флаг sps_affine_enabled_flag для активации или деактивации субблочного режима объединения из SPS может быть равен 0, либо второй флаг (merge_subblock_flag[х0][у0]), указывающий то, применяется или нет субблочный режим объединения, может быть равен 0.[247] In addition, based on the case in which the subblock merging mode is not available, the sps_affine_enabled_flag for activating or deactivating the subblock merging mode from the SPS may be 0, or a second flag (merge_subblock_flag[x0][y0]) indicating whether Whether or not subblock merging mode is applied can be equal to 0.
[248] Помимо этого, на основе случая, в котором CIIP-режим не доступен, флаг sps_ciip_enabled_flag для активации или деактивации CIIP-режима из SPS может быть равен 0, либо третий флаг (ciip_flag[х0][у0]), указывающий то, применяется или нет CIIP-режим, может быть равен 0.[248] In addition, based on the case in which the CIIP mode is not available, the sps_ciip_enabled_flag for enabling or disabling the CIIP mode from the SPS may be 0, or a third flag (ciip_flag[x0][y0]) indicating whether CIIP mode is applied or not, can be equal to 0.
[249] Помимо этого, на основе случая, в котором режим сегментации не доступен, флаг sps_triangle_enabled_flag для активации или деактивации режима сегментации из SPS может быть равен 0, либо четвертый флаг (MergeTriangleFlag[x0][у0]), указывающий то, применяется или нет режим сегментации, может быть равен 0.[249] In addition, based on the case in which the segmentation mode is not available, the sps_triangle_enabled_flag for activating or deactivating the segmentation mode from SPS may be 0, or a fourth flag (MergeTriangleFlag[x0][y0]) indicating whether or not no segmentation mode, can be equal to 0.
[250] Кроме того, например, на основе случая, в котором режим сегментации деактивируется на основе флага sps_triangle_enabled_flag, четвертый флаг (MergeTriangleFlag[x0][у0]), указывающий то, применяется или нет режим сегментации, может задаваться равным 0.[250] In addition, for example, based on the case in which the segmentation mode is deactivated based on the sps_triangle_enabled_flag, a fourth flag (MergeTriangleFlag[x0][y0]) indicating whether or not the segmentation mode is applied may be set to 0.
[251] В другом варианте осуществления, на основе то, что регулярный режим объединения, MMVD-режим, субблочный режим объединения, CIIP-режим и режим сегментации для выполнения прогнозирования посредством разделения текущего блока на два сегмента, регулярный режим объединения может применяться к текущему блоку. Таким образом, когда режим объединения не может в конечном счете выбираться для текущего блока, регулярный режим объединения может применяться в качестве режима объединения по умолчанию.[251] In another embodiment, based on the fact that the regular combining mode, MMVD mode, sub-block combining mode, CIIP mode and segmentation mode for performing prediction by dividing the current block into two segments, the regular combining mode can be applied to the current block . Thus, when the merge mode cannot ultimately be selected for the current block, the regular merge mode can be used as the default merge mode.
[252] Например, в случае, в котором значение общего флага объединения, указывающего то, доступен или нет режим объединения для текущего блока, равно 1, но режим объединения не может в конечном счете выбираться для текущего блока, регулярный режим объединения может применяться в качестве режима объединения по умолчанию.[252] For example, in a case in which the value of the general merge flag indicating whether or not the merge mode is available for the current block is 1, but the merge mode cannot ultimately be selected for the current block, the regular merge mode may be used as default merge mode.
[253] Например, на основе случая, в котором MMVD-режим не доступен, флаг sps_mmvd_enabled_flag для активации или деактивации MMVD-режима из SPS может быть равен 0, либо первый флаг (mmvd_merge_flag[x0][у0]), указывающий то, применяется или нет MMVD-режим, может быть равен 0.[253] For example, based on the case in which the MMVD mode is not available, the sps_mmvd_enabled_flag for activating or deactivating the MMVD mode from the SPS may be 0, or the first flag (mmvd_merge_flag[x0][y0]) indicating whether or not MMVD mode, can be equal to 0.
[254] Помимо этого, на основе случая, в котором субблочный режим объединения не доступен, флаг sps_affine_enabled_flag для активации или деактивации субблочного режима объединения из SPS может быть равен 0, либо второй флаг (merge_subblock_flag[x0][у0]), указывающий то, применяется или нет субблочный режим объединения, может быть равен 0.[254] In addition, based on the case in which the subblock merging mode is not available, the sps_affine_enabled_flag for activating or deactivating the subblock merging mode from the SPS may be 0, or a second flag (merge_subblock_flag[x0][y0]) indicating whether Whether or not subblock merging mode is applied can be equal to 0.
[255] Помимо этого, на основе случая, в котором CIIP-режим не доступен, флаг sps_ciip_enabled_flag для активации или деактивации CIIP-режима из SPS может быть равен 0, либо третий флаг (ciip_flag[x0][у0]), указывающий то, применяется или нет CIIP-режим, может быть равен 0.[255] In addition, based on the case in which the CIIP mode is not available, the sps_ciip_enabled_flag for enabling or disabling the CIIP mode from the SPS may be 0, or a third flag (ciip_flag[x0][y0]) indicating whether CIIP mode is applied or not, can be equal to 0.
[256] Помимо этого, на основе случая, в котором режим сегментации не доступен, флаг sps_triangle_enabled_flag для активации или деактивации режима сегментации из SPS может быть равен 0, либо четвертый флаг (MergeTriangleFlag[x0][у0]), указывающий то, применяется или нет режим сегментации, может быть равен 0.[256] In addition, based on the case in which the segmentation mode is not available, the sps_triangle_enabled_flag for activating or deactivating the segmentation mode from SPS may be 0, or a fourth flag (MergeTriangleFlag[x0][y0]) indicating whether or not no segmentation mode, can be equal to 0.
[257] Кроме того, на основе случая, в котором регулярный режим объединения не доступен, пятый флаг (regular_merge_flag[x0][у0]), указывающий то, применяется или нет регулярный режим объединения, может быть равен 0. Таким образом, даже когда значение пятого флага равно 0, регулярный режим объединения может применяться к текущему блоку на основе случая, в котором MMVD-режим, субблочный режим объединения, CIIP-режим и режим сегментации не доступны.[257] In addition, based on the case in which the regular merge mode is not available, the fifth flag (regular_merge_flag[x0][y0]) indicating whether or not the regular merge mode is applied may be set to 0. Thus, even when the value of the fifth flag is 0, the regular aggregation mode can be applied to the current block based on the case in which MMVD mode, sub-block aggregation mode, CIIP mode and segmentation mode are not available.
[258] В этом случае, информация движения текущего блока может извлекаться на основе первого возможного варианта из возможных вариантов объединения, включенных в список возможных вариантов объединения текущего блока, и прогнозные выборки могут формироваться на основе извлеченной информации движения.[258] In this case, motion information of the current block may be extracted based on the first candidate of the merge candidates included in the list of merge candidates of the current block, and predictive samples may be generated based on the extracted motion information.
[259] В другом варианте осуществления, регулярный режим объединения может применяться к текущему блоку на основе того, что регулярный режим объединения, MMVD-режим, субблочный режим объединения, CIIP-режим и режим сегментации для выполнения прогнозирования посредством разделения текущего блока на два сегмента не доступны. Таким образом, когда режим объединения в конечном счете выбирается для текущего блока, регулярный режим объединения может применяться в качестве режима объединения по умолчанию.[259] In another embodiment, the regular combining mode may be applied to the current block based on the fact that the regular combining mode, MMVD mode, sub-block combining mode, CIIP mode and segmentation mode for performing prediction by dividing the current block into two segments are not available. Thus, when a merge mode is ultimately selected for the current block, the regular merge mode can be applied as the default merge mode.
[260] Например, в случае, в котором значение общего флага объединения, указывающего то, доступен или нет режим объединения для текущего блока, равно 1, но режим объединения в конечном счете не выбирается для текущего блока, регулярный режим объединения может применяться в качестве режима объединения по умолчанию.[260] For example, in a case in which the value of the general merge flag indicating whether or not the merge mode is available for the current block is 1, but the merge mode is ultimately not selected for the current block, the regular merge mode may be used as the mode joins by default.
[261] Например, на основе случая, в котором MMVD-режим не доступен, флаг sps_mmvd_enabled_flag для активации или деактивации MMVD-режима из SPS может быть равен 0, либо первый флаг (mmvd_merge_flag[x0][у0]), указывающий то, применяется или нет MMVD-режим, может быть равен 0.[261] For example, based on the case in which the MMVD mode is not available, the sps_mmvd_enabled_flag for activating or deactivating the MMVD mode from the SPS may be 0, or the first flag (mmvd_merge_flag[x0][y0]) indicating whether or not MMVD mode, can be equal to 0.
[262] Помимо этого, на основе случая, в котором субблочный режим объединения не доступен, флаг sps_affine_enabled_flag для активации или деактивации субблочного режима объединения из SPS может быть равен 0, либо второй флаг (merge_subblock_flag[x0][у0]), указывающий то, применяется или нет субблочный режим объединения, может быть равен 0.[262] In addition, based on the case in which the subblock merging mode is not available, the sps_affine_enabled_flag for activating or deactivating the subblock merging mode from the SPS may be 0, or a second flag (merge_subblock_flag[x0][y0]) indicating whether Whether or not subblock merging mode is applied can be equal to 0.
[263] Помимо этого, на основе случая, в котором CIIP-режим не доступен, флаг sps_ciip_enabled_flag для активации или деактивации CIIP-режима из SPS может быть равен 0, либо третий флаг (ciip_flag[x0][у0]), указывающий то, применяется или нет CIIP-режим, может быть равен 0.[263] In addition, based on the case in which the CIIP mode is not available, the sps_ciip_enabled_flag for enabling or disabling the CIIP mode from the SPS may be 0, or a third flag (ciip_flag[x0][y0]) indicating whether CIIP mode is applied or not, can be equal to 0.
[264] Помимо этого, на основе случая, в котором режим сегментации не доступен, флаг sps_triangle_enabled_flag для активации или деактивации режима сегментации из SPS может быть равен 0, либо четвертый флаг (MergeTriangleFlag[x0][у0]), указывающий то, применяется или нет режим сегментации, может быть равен 0.[264] In addition, based on the case in which the segmentation mode is not available, the sps_triangle_enabled_flag for activating or deactivating the segmentation mode from SPS may be 0, or a fourth flag (MergeTriangleFlag[x0][y0]) indicating whether or not no segmentation mode, can be equal to 0.
[265] Кроме того, на основе случая, в котором регулярный режим объединения не доступен, пятый флаг (regular_merge_flag[x0][у0]), указывающий то, применяется или нет регулярный режим объединения, может быть равен 0. Таким образом, даже когда значение пятого флага равно 0, регулярный режим объединения может применяться к текущему блоку на основе случая, в котором MMVD-режим, субблочный режим объединения, CIIP-режим и режим сегментации не доступны.[265] In addition, based on the case in which the regular merge mode is not available, the fifth flag (regular_merge_flag[x0][y0]) indicating whether or not the regular merge mode is applied may be set to 0. Thus, even when the value of the fifth flag is 0, the regular aggregation mode can be applied to the current block based on the case in which MMVD mode, sub-block aggregation mode, CIIP mode and segmentation mode are not available.
[266] В этом случае, вектор движения (0, 0) может извлекаться в качестве информации движения текущего блока, и прогнозные выборки текущего блока могут формироваться на основе информации движения (0, 0). Для вектора движения (0, 0), прогнозирование может выполняться со ссылкой на нулевой опорный кадр опорного L0-списка. Тем не менее, когда нулевой опорный кадр (RefPicList[0][0]) опорного L0-списка не существует, прогнозирование может выполняться посредством обращения к нулевому опорному кадру (RefPicList[1][0]) опорного L1-списка.[266] In this case, the motion vector (0, 0) can be extracted as the motion information of the current block, and prediction samples of the current block can be generated based on the motion information (0, 0). For a motion vector (0, 0), prediction may be performed with reference to the zero reference frame of the L0 reference list. However, when the zero reference frame (RefPicList[0][0]) of the L0 reference list does not exist, prediction can be performed by referring to the zero reference frame (RefPicList[1][0]) of the L1 reference list.
[267] Фиг. 15 и 16 схематично показывают пример способа кодирования видео/изображений и связанных компонентов согласно варианту(ам) осуществления этого документа.[267] FIG. 15 and 16 schematically show an example of a method for encoding video/images and related components according to embodiment(s) of this document.
[268] Способ, раскрытый на фиг. 15, может осуществляться посредством оборудования кодирования, раскрытого на фиг. 2 или фиг. 16. В частности, например, этапы S1500-S1520 по фиг. 15 могут выполняться посредством модуля 220 прогнозирования оборудования 200 кодирования по фиг. 16, и S1530 по фиг. 15 может выполняться посредством энтропийного кодера 240 оборудования 200 кодирования по фиг. 16. Помимо этого, хотя не показано на фиг. 15, прогнозные выборки или связанная с прогнозированием информация могут извлекаться посредством модуля 220 прогнозирования оборудования 200 кодирования на фиг. 15, и остаточная информация может извлекаться из исходных выборок или прогнозных выборок посредством остаточного процессора 230 оборудования 200 кодирования, и поток битов может формироваться из остаточной информации или связанной с прогнозированием информации посредством энтропийного кодера 240 оборудования 200 кодирования. Способ, раскрытый на фиг. 15, может включать в себя варианты осуществления, описанные выше в этом документе.[268] The method disclosed in FIG. 15 may be performed by the encoding equipment disclosed in FIG. 2 or fig. 16. In particular, for example, steps S1500-S1520 in FIG. 15 may be performed by the prediction module 220 of the encoding equipment 200 of FIG. 16, and S1530 of FIG. 15 may be performed by the entropy encoder 240 of the encoding equipment 200 of FIG. 16. In addition, although not shown in FIG. 15, prediction samples or prediction-related information may be retrieved by the prediction module 220 of the encoding equipment 200 in FIG. 15, and the residual information may be extracted from the original samples or prediction samples by the residual processor 230 of the encoding equipment 200, and a bit stream may be generated from the residual information or prediction-related information by the entropy encoder 240 of the encoding equipment 200. The method disclosed in FIG. 15 may include the embodiments described above in this document.
[269] Ссылаясь на фиг. 15, оборудование кодирования может определять режим взаимного прогнозирования текущего блока и формировать информацию режима взаимного прогнозирования, указывающую режим взаимного прогнозирования (S1700). Например, оборудование кодирования может определять по меньшей мере один из регулярного режима объединения, режима пропуска, режима прогнозирования векторов движения (MVP), режима объединения с разностью векторов движения (MMVD), субблочного режима объединения, CIIP-режима (режима комбинированного межкадрового объединения и внутрикадрового прогнозирования) и режима сегментации, который выполняет прогнозирование посредством разделения текущего блока на два сегмента, в качестве режима взаимного прогнозирования, который должен применяться к текущему блоку, и формировать информацию режима взаимного прогнозирования, указывающую режим взаимного прогнозирования.[269] Referring to FIG. 15, the encoding equipment can determine the inter-prediction mode of the current block and generate inter-prediction mode information indicating the inter-prediction mode (S1700). For example, the encoding equipment may determine at least one of a regular combining mode, a skip mode, a motion vector prediction (MVP) mode, a motion vector difference (MMVD) combining mode, a sub-block combining mode, a CIIP mode (combined inter-frame and intra-frame combining mode). prediction) and a segmentation mode that performs prediction by dividing the current block into two segments, as an inter-prediction mode to be applied to the current block, and generate inter-prediction mode information indicating the inter-prediction mode.
[270] Оборудование кодирования может формировать список возможных вариантов объединения текущего блока на основе режима взаимного прогнозирования (S1510). Например, оборудование кодирования может формировать список возможных вариантов объединения согласно определенному режиму взаимного прогнозирования.[270] The encoding equipment may generate a list of possible combinations of the current block based on the inter-prediction mode (S1510). For example, the encoding equipment may generate a list of possible combinations according to a particular inter-prediction mode.
[271] Например, возможные варианты могут вставляться в список возможных вариантов объединения до тех пор, пока число возможных вариантов в списке возможных вариантов объединения не составляет максимальное число возможных вариантов. Здесь, возможный вариант может указывать возможный вариант или возможный вариант блока для извлечения информации движения (или вектора движения) текущего блока. Например, возможный вариант блока может извлекаться посредством поиска соседних блоков текущего блока. Например, соседний блок может включать в себя пространственный соседний блок и/или временной соседний блок относительно текущего блока, и предпочтительно можно выполнять поиск пространственного соседнего блока (пространственное объединение), чтобы извлекать возможный вариант, и после этого можно выполнять поиск временного соседнего блока и извлекать его в качестве возможного варианта (временного объединения), и извлеченные возможные варианты могут вставляться в список возможных вариантов объединения. Например, когда число возможных вариантов в списке возможных вариантов объединения меньше максимального числа возможных вариантов в списке возможных вариантов объединения даже после того, как возможные варианты вставляются, дополнительный возможный вариант может вставляться. Например, дополнительный возможный вариант может включать в себя по меньшей мере одно из возможного варианта(ов) объединения на основе предыстории, попарного среднего возможного варианта(ов) объединения, ATMVP и комбинированных бипрогнозирующих возможных вариантов объединения (когда тип группы срезов/плиток текущей группы срезов/плиток представляет собой тип В) и/или возможного варианта объединения с нулевым вектором.[271] For example, possibilities may be inserted into the list of possible combinations until the number of possibilities in the list of possible combinations is the maximum number of possible possibilities. Here, a candidate may indicate a candidate or block candidate for extracting motion information (or motion vector) of the current block. For example, a candidate block may be retrieved by searching neighboring blocks of the current block. For example, a neighbor block may include a spatial neighbor block and/or a temporal neighbor block relative to the current block, and preferably a spatial neighbor search (spatial join) can be performed to retrieve a candidate, and thereafter a temporary neighbor search can be performed and retrieved it as a candidate (temporary join), and the extracted candidates can be inserted into the list of candidate joins. For example, when the number of candidates in the merge candidate list is less than the maximum number of candidates in the merge candidate list even after candidates are inserted, an additional candidate may be inserted. For example, the additional candidate may include at least one of history-based pool candidate(s), pairwise average pool candidate(s), ATMVP, and combined bipredictive pool candidate(s) (when the slice group/tile type of the current slice group /tile represents type B) and/or a possible combination with a zero vector.
[272] Оборудование кодирования может формировать информацию выбора, указывающую один из возможных вариантов, включенных в список возможных вариантов объединения (S1520). Как описано выше, список возможных вариантов объединения может включать в себя по меньшей мере часть пространственного возможного варианта объединения, временного возможного варианта объединения, попарного возможного варианта или возможного варианта с нулевым вектором, и один из этих возможных вариантов может выбираться для взаимного прогнозирования текущего блока.[272] The encoding equipment may generate selection information indicating one of the candidate options included in the combination candidate list (S1520). As described above, the list of join opportunities may include at least a portion of a spatial join opportunity, a temporal join opportunity, a pairwise opportunity, or a zero vector opportunity, and one of these opportunities may be selected to inter-predict the current block.
[273] Например, информация выбора может включать в себя информацию индекса, указывающую один возможный вариант из возможных вариантов объединения, включенных в список возможных вариантов объединения. Например, информация выбора может называться "информацией индекса объединения".[273] For example, the selection information may include index information indicating one candidate among the combining candidates included in the list of combining candidates. For example, the selection information may be called “merging index information.”
[274] Например, оборудование кодирования может формировать прогнозные выборки текущего блока на основе возможного варианта, указываемого посредством информации индекса объединения. Альтернативно, например, оборудование кодирования может извлекать информацию движения на основе возможного варианта, указываемого посредством информации индекса объединения, и может формировать прогнозные выборки текущего блока на основе информации движения.[274] For example, the encoding equipment may generate predictive samples of the current block based on the candidate indicated by the combining index information. Alternatively, for example, the encoding equipment may extract motion information based on the candidate indicated by the combining index information, and may generate predictive samples of the current block based on the motion information.
[275] В это время, на основе того, что MMVD-режим (режим объединения с разностью векторов движения), субблочный режим объединения, CIIP-режим (режим комбинированного межкадрового объединения и внутрикадрового прогнозирования) и режим сегментации для выполнения прогнозирования посредством разделения текущего блока на сегменты не доступны, регулярный режим объединения может применяться к текущему блоку. Здесь, список возможных вариантов объединения может формироваться посредством применения регулярного режима объединения к текущему блоку.[275] At this time, based on the fact that the MMVD mode (motion vector difference combining mode), sub-block combining mode, CIIP mode (combined inter-frame combining and intra-frame prediction mode) and segmentation mode to perform prediction by dividing the current block segments are not available, regular merging mode can be applied to the current block. Here, a list of possible merge options can be generated by applying a regular merge mode to the current block.
[276] Например, информация режима взаимного прогнозирования может включать в себя информацию индекса объединения, указывающую один из возможных вариантов объединения, включенных в список возможных вариантов объединения текущего блока, и информация движения текущего блока может извлекаться на основе возможного варианта, указываемого посредством информации индекса объединения. Кроме того, прогнозные выборки текущего блока могут формироваться на основе извлеченной информации движения.[276] For example, the inter-prediction mode information may include merging index information indicating one of the merging candidates included in the merging candidate list of the current block, and movement information of the current block may be extracted based on the candidate indicated by the merging index information . In addition, predictive samples of the current block can be generated based on the extracted motion information.
[277] Например, информация режима взаимного прогнозирования может включать в себя первый флаг, указывающий то, применяется или нет MMVD-режим, второй флаг, указывающий то, применяется или нет субблочный режим объединения, и третий флаг, указывающий то, применяется или нет CIIP-режим.[277] For example, the inter-prediction mode information may include a first flag indicating whether or not the MMVD mode is applied, a second flag indicating whether or not a subblock combining mode is applied, and a third flag indicating whether or not CIIP is applied. -mode.
[278] Например, на основе случая, в котором MMVD-режим, субблочный режим объединения, CIIP-режим и режим сегментации не доступны, значения первого флага, второго флага и третьего флага могут быть равны 0.[278] For example, based on the case in which the MMVD mode, sub-block aggregation mode, CIIP mode and segmentation mode are not available, the values of the first flag, second flag and third flag may be 0.
[279] Кроме того, например, информация режима взаимного прогнозирования может включать в себя общий флаг объединения, указывающий то, доступен или нет режим объединения для текущего блока, и значение общего флага объединения может быть равно 1.[279] In addition, for example, the inter-prediction mode information may include a common merge flag indicating whether or not a merge mode is available for the current block, and the value of the common merge flag may be 1.
[280] Например, флаг для активации или деактивации режима сегментации может включаться в набор параметров последовательности (SPS) информации изображений, и на основе случая, в котором режим сегментации деактивируется, значение четвертого флага, указывающего то, применяется или нет режим сегментации, может задаваться равным 0.[280] For example, a flag for activating or deactivating a segmentation mode may be included in a sequence parameter set (SPS) of image information, and based on the case in which the segmentation mode is deactivated, the value of a fourth flag indicating whether or not the segmentation mode is applied may be set equal to 0.
[281] Между тем, информация режима взаимного прогнозирования дополнительно может включать в себя пятый флаг, указывающий то, применяется или нет регулярный режим объединения. Даже когда значение пятого флага равно 0, регулярный режим объединения может применяться к текущему блоку на основе случая, в котором MMVD-режим, субблочный режим объединения, CIIP-режим и режим сегментации не доступны.[281] Meanwhile, the inter-prediction mode information may further include a fifth flag indicating whether or not a regular combining mode is applied. Even when the value of the fifth flag is 0, the regular combining mode can be applied to the current block based on the case in which the MMVD mode, sub-block combining mode, CIIP mode and segmentation mode are not available.
[282] В этом случае, информация движения текущего блока может извлекаться на основе первого возможного варианта объединения из возможных вариантов объединения, включенных в список возможных вариантов объединения текущего блока. Кроме того, прогнозные выборки могут формироваться на основе информации движения текущего блока, извлекаемой на основе первого возможного варианта объединения.[282] In this case, motion information of the current block may be extracted based on the first merge candidate among the merge candidates included in the list of merge candidates of the current block. In addition, predictive samples may be generated based on current block motion information extracted based on the first possible combination.
[283] Альтернативно, в этом случае, информация движения текущего блока может извлекаться на основе вектора движения (0,0), и прогнозные выборки могут формироваться на основе информации движения текущего блока, извлекаемой на основе вектора движения (0,0).[283] Alternatively, in this case, motion information of the current block may be extracted based on the motion vector (0,0), and prediction samples may be generated based on the motion information of the current block extracted based on the motion vector (0,0).
[284] Оборудование кодирования может кодировать информацию изображений, включающую в себя информацию режима взаимного прогнозирования и информацию выбора (S1530). Например, информация изображений может называться "видеоинформацией". Информация изображений может включать в себя различную информацию согласно варианту(ам) осуществления настоящего раскрытия, описанного выше. Например, информация изображений может включать в себя по меньшей мере часть связанной с прогнозированием информации или связанной остаточной информации. Например, связанная с прогнозированием информация может включать в себя по меньшей мере часть информации режима взаимного прогнозирования, информации выбора и информации типа взаимного прогнозирования. Например, оборудование кодирования может кодировать информацию изображений, включающую в себя все или часть вышеуказанной информации (или синтаксических элементов), чтобы формировать информацию потока битов или кодированную информацию. Альтернативно, оборудование кодирования может выводить информацию в форме потока битов. Дополнительно, поток битов или кодированная информация может передаваться в оборудование декодирования через сеть или носитель хранения данных.[284] The encoding equipment may encode image information including inter-prediction mode information and selection information (S1530). For example, image information may be referred to as "video information". The image information may include various information according to the embodiment(s) of the present disclosure described above. For example, the image information may include at least a portion of the prediction-related information or related residual information. For example, the prediction-related information may include at least a portion of inter-prediction mode information, selection information, and inter-prediction type information. For example, encoding equipment may encode image information including all or part of the above information (or syntax elements) to generate bitstream information or encoded information. Alternatively, the encoding equipment may output the information in the form of a bitstream. Additionally, the bit stream or encoded information may be transmitted to the decoding equipment via a network or storage medium.
[285] Альтернативно, хотя не показано на фиг. 15, например, оборудование кодирования может извлекать остаточные выборки на основе прогнозных выборок и исходных выборок. В этом случае, связанная остаточная информация может извлекаться на основе остаточных выборок. Остаточные выборки могут извлекаться на основе связанной остаточной информации. Восстановленные выборки могут формироваться на основе остаточных выборок и прогнозных выборок. Восстановленный блок и восстановленный кадр могут извлекаться на основе восстановленных выборок. Альтернативно, например, оборудование кодирования может кодировать информацию изображений, включающую в себя остаточную информацию или связанную с прогнозированием информацию.[285] Alternatively, although not shown in FIG. 15, for example, the encoding equipment may extract residual samples based on the prediction samples and the original samples. In this case, related residual information can be extracted based on the residual samples. Residual samples can be extracted based on associated residual information. Reconstructed samples can be formed based on residual samples and predictive samples. The reconstructed block and the reconstructed frame can be retrieved based on the reconstructed samples. Alternatively, for example, the encoding equipment may encode image information including residual information or prediction-related information.
[286] Например, оборудование кодирования может формировать информацию потока битов или кодированную информацию посредством кодирования информации изображений, включающей в себя все или часть вышеуказанной информации (или синтаксических элементов). Кодированная информация изображений/видео может выводиться в форме потока битов. Дополнительно, поток битов или кодированная информация может передаваться в оборудование декодирования через сеть или носитель хранения данных. Альтернативно, поток битов или кодированная информация может сохраняться на компьютерно-читаемом носителе хранения данных, и поток битов или кодированная информация может формироваться посредством вышеупомянутого способа кодирования изображений.[286] For example, encoding equipment may generate bitstream information or encoded information by encoding image information including all or part of the above information (or syntax elements). The encoded image/video information may be output in the form of a bit stream. Additionally, the bit stream or encoded information may be transmitted to the decoding equipment via a network or storage medium. Alternatively, the bitstream or encoded information may be stored in a computer-readable storage medium, and the bitstream or encoded information may be generated by the above-mentioned image encoding method.
[287] Фиг. 17 и 18 схематично показывают пример способа декодирования видео/изображений и связанных компонентов согласно варианту(ам) осуществления настоящего раскрытия.[287] FIG. 17 and 18 schematically show an example of a method for decoding video/images and related components according to embodiment(s) of the present disclosure.
[288] Способ, раскрытый на фиг. 17, может осуществляться посредством оборудования декодирования, раскрытого на фиг. 3 или фиг. 18. В частности, например, этап S1700 по фиг. 17 может выполняться посредством энтропийного декодера 310 оборудования 300 декодирования на фиг. 1, и этапы S1710-S1730 по фиг. 17 могут выполняться посредством модуля 330 прогнозирования оборудования 300 декодирования на фиг. 18.[288] The method disclosed in FIG. 17 may be performed by the decoding equipment disclosed in FIG. 3 or fig. 18. In particular, for example, step S1700 in FIG. 17 may be performed by the entropy decoder 310 of the decoding equipment 300 in FIG. 1, and steps S1710-S1730 of FIG. 17 may be performed by the prediction module 330 of the decoding equipment 300 in FIG. 18.
[289] Помимо этого, хотя не показано на фиг. 17, связанная с прогнозированием информация или остаточная информация может извлекаться из потока битов посредством энтропийного декодера 310 оборудования 300 декодирования на фиг. 18. Способ, раскрытый на фиг. 17, может включать в себя варианты осуществления, описанные выше в этом документе.[289] In addition, although not shown in FIG. 17, prediction-related information or residual information may be extracted from the bit stream by the entropy decoder 310 of the decoding equipment 300 in FIG. 18. The method disclosed in FIG. 17 may include the embodiments described above in this document.
[290] Ссылаясь на фиг. 17, оборудование декодирования может принимать информацию изображений, включающую в себя информацию режима взаимного прогнозирования, через поток битов (S1700). Например, информация изображений может называться "видеоинформацией". Информация изображений может включать в себя различную информацию согласно вышеуказанному варианту(ам) осуществления настоящего раскрытия. Например, информация изображений может включать в себя по меньшей мере часть связанной с прогнозированием информации или связанной остаточной информации.[290] Referring to FIG. 17, the decoding equipment may receive image information including inter prediction mode information via a bit stream (S1700). For example, image information may be referred to as "video information". The image information may include various information according to the above embodiment(s) of the present disclosure. For example, the image information may include at least a portion of the prediction-related information or related residual information.
[291] Например, связанная с прогнозированием информация может включать в себя информацию режима внутреннего прогнозирования и/или информацию типа внутреннего прогнозирования. Например, информация режима взаимного прогнозирования может включать в себя информацию, указывающую по меньшей мере некоторые различные режимы взаимного прогнозирования. Например, могут использоваться различные режимы, такие как регулярный режим объединения, режим пропуска, режим MVP (прогнозирования векторов движения), MMVD-режим (режим объединения с разностью векторов движения), субблочный режим объединения, CIIP-режим (режим комбинированного межкадрового объединения и внутрикадрового прогнозирования) и режим сегментации, выполняющий прогнозирование посредством разделения текущего блока на два сегмента. Например, информация типа взаимного прогнозирования может включать в себя синтаксический элемент inter_pred_idc. Альтернативно, информация типа взаимного прогнозирования может включать в себя информацию, указывающую любое из L0-прогнозирования, L1-прогнозирования и бипрогнозирования.[291] For example, the prediction-related information may include intra-prediction mode information and/or intra-prediction type information. For example, the inter-prediction mode information may include information indicating at least some of the different inter-prediction modes. For example, various modes can be used, such as regular combining mode, skip mode, MVP (Motion Vector Prediction) mode, MMVD mode (motion vector difference combining mode), sub-block combining mode, CIIP mode (combined inter-frame and intra-frame combining mode). prediction) and segmentation mode, which performs prediction by dividing the current block into two segments. For example, the inter-prediction type information may include an inter_pred_idc syntax element. Alternatively, the inter-prediction type information may include information indicating any of L0 prediction, L1 prediction, and bi-prediction.
[292] Оборудование декодирования может формировать список возможных вариантов объединения текущего блока на основе информации режима взаимного прогнозирования (S1710). Например, оборудование декодирования может формировать список возможных вариантов объединения согласно определенному режиму взаимного прогнозирования из регулярного режима объединения, режима пропуска, MVP-режима, MMVD-режима, субблочного режима объединения, CIIP-режима и режима сегментации, выполняющего прогнозирование посредством разделения текущего блока на два сегмента, в качестве режима взаимного прогнозирования текущего блока на основе информации режима взаимного прогнозирования.[292] The decoding equipment may generate a list of possible combinations of the current block based on the inter-prediction mode information (S1710). For example, the decoding equipment may generate a list of possible combining options according to a certain inter-prediction mode from a regular combining mode, a skip mode, an MVP mode, an MMVD mode, a sub-block combining mode, a CIIP mode, and a segmentation mode that performs prediction by dividing the current block into two segment as the inter-prediction mode of the current block based on the inter-prediction mode information.
[293] Например, возможные варианты могут вставляться в список возможных вариантов объединения до тех пор, пока число возможных вариантов в списке возможных вариантов объединения не составляет максимальное число возможных вариантов. Здесь, возможный вариант может указывать возможный вариант или возможный вариант блока для извлечения информации движения (или вектора движения) текущего блока. Например, возможный вариант блока может извлекаться посредством поиска соседних блоков текущего блока. Например, соседний блок может включать в себя пространственный соседний блок и/или временной соседний блок относительно текущего блока, и предпочтительно можно выполнять поиск пространственного соседнего блока (пространственное объединение), чтобы извлекать возможный вариант, и после этого можно выполнять поиск временного соседнего блока и извлекать его в качестве возможного варианта (временного объединения), и извлеченные возможные варианты могут вставляться в список возможных вариантов объединения. Например, когда число возможных вариантов в списке возможных вариантов объединения меньше максимального числа возможных вариантов в списке возможных вариантов объединения даже после того, как возможные варианты вставляются, дополнительный возможный вариант может вставляться. Например, дополнительный возможный вариант может включать в себя по меньшей мере одно из возможного варианта(ов) объединения на основе предыстории, попарного среднего возможного варианта(ов) объединения, ATMVP и комбинированных бипрогнозирующих возможных вариантов объединения (когда тип группы срезов/плиток текущей группы срезов/плиток представляет собой тип В) и/или возможного варианта объединения с нулевым вектором.[293] For example, candidates may be inserted into the pool candidate list until the number of candidates in the pool candidate list is the maximum number of possibilities. Here, a candidate may indicate a candidate or block candidate for extracting motion information (or motion vector) of the current block. For example, a candidate block may be retrieved by searching neighboring blocks of the current block. For example, a neighbor block may include a spatial neighbor block and/or a temporal neighbor block relative to the current block, and preferably a spatial neighbor search (spatial join) can be performed to retrieve a candidate, and thereafter a temporary neighbor search can be performed and retrieved it as a candidate (temporary join), and the extracted candidates can be inserted into the list of candidate joins. For example, when the number of candidates in the merge candidate list is less than the maximum number of candidates in the merge candidate list even after candidates are inserted, an additional candidate may be inserted. For example, the additional candidate may include at least one of history-based pool candidate(s), pairwise average pool candidate(s), ATMVP, and combined bipredictive pool candidate(s) (when the slice group/tile type of the current slice group /tile represents type B) and/or a possible combination with a zero vector.
[294] Оборудование декодирования может извлекать информацию движения текущего блока на основе возможного варианта, выбранного из списка возможных вариантов объединения (S1720).[294] The decoding equipment may extract motion information of the current block based on the candidate selected from the combination candidate list (S1720).
[295] Как описано выше, список возможных вариантов объединения может включать в себя по меньшей мере часть пространственного возможного варианта объединения, временного возможного варианта объединения, попарного возможного варианта или возможного варианта с нулевым вектором, и один из этих возможных вариантов может выбираться для взаимного прогнозирования текущего блока.[295] As described above, the list of join opportunities may include at least a portion of a spatial join opportunity, a temporal join opportunity, a pairwise opportunity, or a zero vector opportunity, and one of these opportunities may be selected for inter-prediction current block.
[296] Например, информация выбора может включать в себя информацию индекса, указывающую один возможный вариант из возможных вариантов объединения, включенных в список возможных вариантов объединения. Например, информация выбора может называться "информацией индекса объединения".[296] For example, the selection information may include index information indicating one candidate among the combining candidates included in the list of combining candidates. For example, the selection information may be called “merging index information.”
[297] Оборудование декодирования может формировать прогнозные выборки текущего блока на основе информации движения (S1730). Например, оборудование декодирования может формировать прогнозные выборки текущего блока на основе возможного варианта, указываемого посредством информации индекса объединения. Альтернативно, например, оборудование декодирования может извлекать информацию движения на основе возможного варианта, указываемого посредством информации индекса объединения, и может формировать прогнозные выборки текущего блока на основе информации движения.[297] The decoding equipment may generate predictive samples of the current block based on the motion information (S1730). For example, the decoding equipment may generate predictive samples of the current block based on the candidate indicated by the combining index information. Alternatively, for example, the decoding equipment may extract motion information based on the candidate indicated by the combining index information, and may generate predictive samples of the current block based on the motion information.
[298] Между тем, согласно варианту осуществления, на основе того, что режим объединения с разностью векторов движения (MMVD), субблочный режим объединения, режим комбинированного межкадрового объединения и внутрикадрового прогнозирования (CIIP) и режим сегментации для выполнения прогнозирования посредством разделения текущего блока на два сегмента не доступны, регулярный режим объединения может применяться к текущему блоку. Здесь, список возможных вариантов объединения может формироваться посредством применения регулярного режима объединения к текущему блоку.[298] Meanwhile, according to an embodiment, based on the fact that the motion vector difference (MMVD) combining mode, the sub-block combining mode, the combined inter-frame combining and intra-prediction (CIIP) mode, and the segmentation mode for performing prediction by dividing the current block into two segments are not available, regular merging mode can be applied to the current block. Here, a list of possible merge options can be generated by applying a regular merge mode to the current block.
[299] Например, информация режима взаимного прогнозирования может включать в себя информацию индекса объединения, указывающую один из возможных вариантов объединения, включенных в список возможных вариантов объединения текущего блока, и информация движения текущего блока может извлекаться на основе возможного варианта, указываемого посредством информации индекса объединения. Кроме того, прогнозные выборки текущего блока могут формироваться на основе извлеченной информации движения.[299] For example, the inter-prediction mode information may include merging index information indicating one of the merging candidates included in the merging candidate list of the current block, and movement information of the current block may be extracted based on the candidate indicated by the merging index information . In addition, predictive samples of the current block can be generated based on the extracted motion information.
[300] Например, информация режима взаимного прогнозирования может включать в себя первый флаг, указывающий то, применяется или нет MMVD-режим, второй флаг, указывающий то, применяется или нет субблочный режим объединения, и третий флаг, указывающий то, применяется или нет CIIP-режим.[300] For example, the inter-prediction mode information may include a first flag indicating whether or not the MMVD mode is applied, a second flag indicating whether or not a sub-block combining mode is applied, and a third flag indicating whether or not CIIP is applied. -mode.
[301] Например, на основе случая, в котором MMVD-режим, субблочный режим объединения, CIIP-режим и режим сегментации не доступны, значения первого флага, второго флага и третьего флага могут быть равны 0.[301] For example, based on the case in which the MMVD mode, sub-block aggregation mode, CIIP mode and segmentation mode are not available, the values of the first flag, second flag and third flag may be 0.
[302] Кроме того, например, информация режима взаимного прогнозирования может включать в себя общий флаг объединения, указывающий то, доступен или нет режим объединения для текущего блока, и значение общего флага объединения может быть равно 1.[302] In addition, for example, the inter-prediction mode information may include a common merge flag indicating whether or not a merge mode is available for the current block, and the value of the common merge flag may be 1.
[303] Например, флаг для активации или деактивации режима сегментации может включаться в набор параметров последовательности (SPS) информации изображений, и на основе случая, в котором режим сегментации деактивируется, значение четвертого флага, указывающего то, применяется или нет режим сегментации, может задаваться равным 0.[303] For example, a flag for activating or deactivating a segmentation mode may be included in a sequence parameter set (SPS) of image information, and based on the case in which the segmentation mode is deactivated, the value of a fourth flag indicating whether or not the segmentation mode is applied can be set equal to 0.
[304] Между тем, информация режима взаимного прогнозирования дополнительно может включать в себя пятый флаг, указывающий то, применяется или нет регулярный режим объединения. Даже когда значение пятого флага равно 0, регулярный режим объединения может применяться к текущему блоку на основе случая, в котором MMVD-режим, субблочный режим объединения, CIIP-режим и режим сегментации не доступны.[304] Meanwhile, the inter-prediction mode information may further include a fifth flag indicating whether or not the regular combining mode is applied. Even when the value of the fifth flag is 0, the regular combining mode can be applied to the current block based on the case in which the MMVD mode, sub-block combining mode, CIIP mode and segmentation mode are not available.
[305] В этом случае, информация движения текущего блока может извлекаться на основе первого возможного варианта объединения из возможных вариантов объединения, включенных в список возможных вариантов объединения текущего блока. Кроме того, прогнозные выборки могут формироваться на основе информации движения текущего блока, извлекаемой на основе первого возможного варианта объединения.[305] In this case, motion information of the current block may be extracted based on the first merge candidate among the merge candidates included in the list of merge candidates of the current block. In addition, predictive samples may be generated based on current block motion information extracted based on the first possible combination.
[306] Альтернативно, в этом случае, информация движения текущего блока может извлекаться на основе вектора движения (0,0), и прогнозные выборки могут формироваться на основе информации движения текущего блока, извлекаемой на основе вектора движения (0,0).[306] Alternatively, in this case, motion information of the current block may be extracted based on the motion vector (0,0), and prediction samples may be generated based on the motion information of the current block extracted based on the motion vector (0,0).
[307] Хотя не показано на фиг. 17, например, оборудование декодирования может извлекать остаточные выборки на основе связанной остаточной информации, включенной в информацию изображений.[307] Although not shown in FIG. 17, for example, the decoding equipment may extract residual samples based on associated residual information included in the image information.
[308] Например, оборудование декодирования может получать информацию изображений, включающую в себя все или части вышеописанных фрагментов информации (или синтаксических элементов), посредством декодирования потока битов или кодированной информации. Дополнительно, поток битов или кодированная информация может сохраняться на компьютерно-читаемом носителе хранения данных и может инструктировать осуществление вышеописанного способа декодирования.[308] For example, decoding equipment may obtain image information including all or parts of the above-described pieces of information (or syntax elements) by decoding a bit stream or encoded information. Additionally, the bitstream or encoded information may be stored on a computer-readable storage medium and may cause the above-described decoding method to be performed.
[309] Хотя способы описываются на основе блок-схемы последовательности операций способа, на которой этапы или блоки перечисляются в последовательности в вышеописанных вариантах осуществления, этапы настоящего документа не ограничены определенным порядком, и определенный этап может выполняться на другом этапе или в другом порядке либо одновременно относительно того, что описано выше. Дополнительно, специалисты в данной области техники должны понимать, что этапы блок-схем последовательности операций способа не являются единственно возможными, и другой этап может включаться, либо один или более этапов на блок-схеме последовательности операций способа могут удаляться без влияния на объем настоящего раскрытия.[309] Although the methods are described on the basis of a flowchart in which steps or blocks are listed in sequence in the above-described embodiments, the steps herein are not limited to a particular order, and a particular step may be performed in another step or in a different order or simultaneously regarding what is described above. Additionally, those skilled in the art will appreciate that steps in the flowcharts are not the only possible steps, and another step may be included or one or more steps in the flowchart may be deleted without affecting the scope of the present disclosure.
[310] Вышеуказанный способ согласно настоящему раскрытию может осуществляться в форме программного обеспечения, и оборудования кодирование и/или оборудование декодирования согласно настоящему раскрытию могут включаться в устройство для выполнения обработки изображений, например, в телевизор, компьютер, смартфон, абонентскую приставку, устройство отображения и т.п.[310] The above method according to the present disclosure may be implemented in the form of software, and the encoding equipment and/or decoding equipment according to the present disclosure may be included in an apparatus for performing image processing, for example, a television, a computer, a smartphone, a set-top box, a display device, and etc.
[311] Когда варианты осуществления настоящего раскрытия реализуются посредством программного обеспечения, вышеуказанный способ может реализовываться посредством модуля (процесса или функции), который выполняет вышеуказанную функцию. Модуль может сохраняться в запоминающем устройстве и выполняться посредством процессора. Запоминающее устройство может устанавливаться внутри или снаружи процессора и может соединяться с процессором через различные известные средства. Процессор может включать в себя специализированную интегральную схему (ASIC), другие наборы микросхем, логическую схему и/или устройство обработки данных. Запоминающее устройство может включать в себя постоянное запоминающее устройство (ROM), оперативное запоминающее устройство (RAM), флэш-память, карту памяти, носитель хранения данных и/или другое устройство хранения данных. Другими словами, варианты осуществления согласно настоящему раскрытию могут реализовываться и выполняться на процессоре, микропроцессоре, контроллере или микросхеме. Например, функциональные модули, проиллюстрированные на соответствующих чертежах, могут реализовываться и выполняться на компьютере, процессоре, микропроцессоре, контроллере или микросхеме. В этом случае, информация относительно реализации (например, информация относительно инструкции) или алгоритмы могут сохраняться на цифровом носителе хранения данных.[311] When embodiments of the present disclosure are implemented by software, the above method may be implemented by a module (process or function) that performs the above function. The module may be stored in a storage device and executed by a processor. The storage device may be mounted inside or outside the processor and may be coupled to the processor through various known means. The processor may include an application specific integrated circuit (ASIC), other chipsets, logic circuitry, and/or data processing apparatus. The storage device may include read-only memory (ROM), random access memory (RAM), flash memory, memory card, storage medium, and/or other data storage device. In other words, embodiments of the present disclosure may be implemented and executed on a processor, microprocessor, controller, or chip. For example, the functional modules illustrated in the respective drawings may be implemented and executed on a computer, processor, microprocessor, controller, or chip. In this case, implementation information (eg, instruction information) or algorithms may be stored on a digital storage medium.
[312] Помимо этого, оборудование декодирования и оборудование кодирования, к которым применяется вариант(ы) осуществления настоящего документа, могут включаться в широковещательное мультимедийное приемо-передающее устройство, терминал мобильной связи, видеоустройство системы домашнего кинотеатра, видеоустройство системы цифрового кинотеатра, камеру наблюдения, устройство проведения видеочатов и устройство связи в реальном времени, к примеру, видеосвязи, мобильное устройство потоковой передачи, носитель хранения данных, записывающую видеокамеру, поставщик услуг на основе технологии "видео по запросу (VoD)", видеоустройство поверх сетей (ОТТ), поставщик услуг потоковой передачи по Интернету, трехмерное видеоустройство, устройство в стиле виртуальной реальности (VR), устройство в стиле дополненной реальности (AR), телефонное видеоустройство, терминал в транспортном средстве (например, терминал в транспортном средстве (в том числе в автономном транспортном средстве), терминал в воздушном судне или терминал в морском судне) и медицинское видеоустройство; и могут использоваться для того, чтобы обрабатывать сигнал изображения или данные. Например, ОТТ-видеоустройство может включать в себя игровую консоль, Blu-Ray-проигрыватель, телевизор с доступом в Интернет, систему домашнего кинотеатра, смартфон, планшетный PC и цифровое записывающее видеоустройство (DVR).[312] In addition, the decoding equipment and encoding equipment to which the embodiment(s) of this document applies may be included in a broadcast multimedia transceiver device, a mobile communication terminal, a home theater system video device, a digital cinema system video device, a surveillance camera, video chat device and real-time communication device, e.g., video communication device, mobile streaming device, storage medium, video recording camera, video-on-demand (VoD) service provider, video-over-the-top (OTT) device, service provider Internet streaming device, 3D video device, virtual reality (VR) style device, augmented reality (AR) style device, telephone video device, in-vehicle terminal (e.g., in-vehicle terminal (including autonomous vehicle), aircraft terminal or ship terminal) and medical video device; and can be used to process an image signal or data. For example, an OTT video device may include a game console, Blu-ray player, Internet-enabled television, home theater system, smartphone, tablet PC, and digital video recorder (DVR).
[313] Помимо этого, способ обработки, к которому применяется вариант(ы) осуществления настоящего документа, может формироваться в форме программы, выполняемой посредством компьютера, и может сохраняться на компьютерно-читаемом носителе записи. Мультимедийные данные, имеющие структуру данных согласно варианту(ам) осуществления настоящего документа, также могут сохраняться на компьютерно-читаемом носителе записи. Компьютерно-читаемый носитель записи включает в себя все виды устройств хранения данных и устройств распределенного хранения данных, на которых сохраняются компьютерно-читаемые данные. Компьютерно-читаемый носитель записи может включать в себя, например, Blu-Ray-диск (BD), универсальную последовательную шину (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, магнитную ленту, гибкий диск и оптическое устройство хранения данных. Компьютерно-читаемый носитель записи также включает в себя среды, осуществленные в форме несущей волны (например, передачи по Интернету). Помимо этого, поток битов, сформированный посредством способа кодирования, может сохраняться на компьютерно-читаемом носителе записи или передаваться через сеть проводной или беспроводной связи.[313] In addition, the processing method to which the embodiment(s) of the present document is applied may be formed in the form of a program executed by a computer and may be stored on a computer-readable recording medium. Multimedia data having a data structure according to the embodiment(s) of the present document may also be stored on a computer-readable recording medium. The computer-readable recording medium includes all kinds of storage devices and distributed storage devices on which computer-readable data is stored. The computer-readable recording medium may include, for example, a Blu-ray disc (BD), a universal serial bus (USB), a ROM, a PROM, an EPROM, an EEPROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, and an optical device. data storage. A computer-readable recording medium also includes media implemented in the form of a carrier wave (eg, Internet transmissions). In addition, the bitstream generated by the encoding method may be stored in a computer-readable recording medium or transmitted through a wired or wireless communication network.
[314] Помимо этого, вариант(ы) осуществления настоящего документа может осуществляться в качестве компьютерного программного продукта на основе программного кода, и программный код может выполняться на компьютере согласно варианту(ам) осуществления настоящего документа. Программный код может сохраняться на компьютерно-читаемом носителе.[314] In addition, the embodiment(s) of the present document may be implemented as a computer program product based on program code, and the program code may be executed on a computer according to the embodiment(s) of the present document. The program code may be stored on a computer-readable medium.
[315] Фиг. 19 представляет пример системы потоковой передачи контента, к которой может применяться вариант осуществления настоящего документа.[315] FIG. 19 represents an example of a content streaming system to which an embodiment of the present document may be applied.
[316] Ссылаясь на фиг. 19, система потоковой передачи контента, к которой применяются варианты осуществления настоящего документа, в общем, может включать в себя сервер кодирования, потоковый сервер, веб-сервер, хранилище мультимедиа, пользовательское устройство и устройство ввода мультимедиа.[316] Referring to FIG. 19, a content streaming system to which embodiments of this document apply may generally include an encoding server, a streaming server, a web server, a media storage device, a user device, and a media input device.
[317] Сервер кодирования функционирует для того, чтобы сжимать в цифровые данные контент, вводимый из устройств ввода мультимедиа, таких как смартфон, камера, записывающая видеокамера и т.п., чтобы формировать поток битов и передавать его на потоковый сервер. В качестве другого примера, в случае если устройство ввода мультимедиа, такое как смартфон, камера, записывающая видеокамера и т.п., непосредственно формирует поток битов, сервер кодирования может опускаться.[317] The encoding server functions to digitally compress content input from media input devices such as a smartphone, camera, video recorder, etc. to form a bitstream and transmit it to the streaming server. As another example, in case a media input device such as a smartphone, camera, video recorder, etc. directly generates a bitstream, the encoding server may be omitted.
[318] Поток битов может формироваться посредством способа кодирования или способа формирования потоков битов, к которому применяются варианты осуществления настоящего документа. Кроме того, потоковый сервер может временно сохранять поток битов в процессе передачи или приема потока битов.[318] The bitstream may be generated by an encoding method or a bitstream generation method to which embodiments of this document apply. In addition, the streaming server may temporarily store the bit stream while transmitting or receiving the bit stream.
[319] Потоковый сервер передает мультимедийные данные в абонентское устройство на основе запроса пользователя через вебсервер, который функционирует в качестве инструментария, который информирует пользователя в отношении того, какая услуга предусмотрена. Когда пользователь запрашивает услугу, которую пользователь хочет, веб-сервер передает запрос на потоковый сервер, и потоковый сервер передает мультимедийные данные пользователю. В этом отношении, система потоковой передачи контента может включать в себя отдельный сервер управления, и в этом случае, сервер управления функционирует для того, чтобы управлять командами/ответами между соответствующим оборудованием в системе потоковой передачи контента.[319] The streaming server transmits multimedia data to the subscriber device based on the user's request through the web server, which functions as a tool that informs the user as to what service is provided. When a user requests a service that the user wants, the web server passes the request to the streaming server and the streaming server streams the media data to the user. In this regard, the content streaming system may include a separate control server, in which case, the control server functions to manage commands/responses between associated equipment in the content streaming system.
[320] Потоковый сервер может принимать контент из хранилища мультимедиа и/или сервера кодирования. Например, в случае если контент принимается из сервера кодирования, контент может приниматься в реальном времени. В этом случае, потоковый сервер может сохранять поток битов в течение предварительно определенного периода времени, чтобы плавно предоставлять услугу потоковой передачи.[320] The streaming server may receive content from a media storage and/or encoding server. For example, if the content is received from an encoding server, the content may be received in real time. In this case, the streaming server can store the bit stream for a predetermined period of time to smoothly provide the streaming service.
[321] Например, абонентское устройство может включать в себя мобильный телефон, смартфон, переносной компьютер, цифровой широковещательный терминал, персональное цифровое устройство (PDA), портативный мультимедийный проигрыватель (РМР), навигационное устройство, грифельный планшетный PC, планшетный PC, ультрабук, носимое устройство (например, терминал в виде часов (интеллектуальные часы), терминал в виде очков (интеллектуальные очки), наголовный дисплей (HMD)), цифровой телевизор, настольный компьютер, систему цифровых информационных табло и т.п.[321] For example, a subscriber device may include a mobile phone, a smartphone, a laptop computer, a digital broadcast terminal, a personal digital assistant (PDA), a portable media player (PMP), a navigation device, a tablet PC, a tablet PC, an ultrabook, a wearable device (for example, a watch terminal (smart watch), a glasses terminal (smart glasses), a head-mounted display (HMD)), a digital TV, a desktop computer, a digital signage system, etc.
[322] Каждый из серверов в системе потоковой передачи контента может работать в качестве распределенного сервера, и в этом случае, данные, принимаемые посредством каждого сервера, могут обрабатываться распределенным способом.[322] Each of the servers in the content streaming system may operate as a distributed server, in which case, data received through each server may be processed in a distributed manner.
[323] Пункты формулы изобретения в настоящем описании могут комбинироваться различными способами. Например, технические признаки в пунктах формулы изобретения на способ настоящего описания могут комбинироваться с возможностью реализовываться или выполняться в оборудовании, и технические признаки в пунктах формулы изобретения на оборудование могут комбинироваться с возможностью реализовываться или выполняться в способе. Дополнительно, технические признаки в пункте(ах) формулы изобретения на способ и пункте(ах) формулы изобретения на оборудование могут комбинироваться с возможностью реализовываться или выполняться в оборудовании. Дополнительно, технические признаки в пункте(ах) формулы изобретения на способ и пункте(ах) формулы изобретения на оборудование могут комбинироваться с возможностью реализовываться или выполняться в способе.[323] The claims herein may be combined in various ways. For example, the technical features in the claims for the method of the present description can be combined with the ability to be implemented or performed in equipment, and the technical features in the claims for equipment can be combined with the ability to be implemented or performed in the method. Additionally, the technical features in the method claim(s) and equipment claim(s) may be combined with the ability to be implemented or performed in the equipment. Additionally, the technical features in the method claim(s) and equipment claim(s) may be combined with the ability to be implemented or performed in the method.
Claims (45)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US62/863,810 | 2019-06-19 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2022100984A Division RU2793902C1 (en) | 2019-06-19 | 2020-06-19 | Image decoding method to perform inter frame prediction when prediction mode for current block cannot be selected and device for this method |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2023107835A RU2023107835A (en) | 2023-06-02 |
RU2820148C2 true RU2820148C2 (en) | 2024-05-30 |
Family
ID=
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2434360C2 (en) * | 2007-06-15 | 2011-11-20 | Квэлкомм Инкорпорейтед | Adaptive coding of video block prediction mode |
WO2015142057A1 (en) * | 2014-03-21 | 2015-09-24 | 주식회사 케이티 | Method and apparatus for processing multiview video signals |
US9554150B2 (en) * | 2013-09-20 | 2017-01-24 | Qualcomm Incorporated | Combined bi-predictive merging candidates for 3D video coding |
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2434360C2 (en) * | 2007-06-15 | 2011-11-20 | Квэлкомм Инкорпорейтед | Adaptive coding of video block prediction mode |
US9554150B2 (en) * | 2013-09-20 | 2017-01-24 | Qualcomm Incorporated | Combined bi-predictive merging candidates for 3D video coding |
WO2015142057A1 (en) * | 2014-03-21 | 2015-09-24 | 주식회사 케이티 | Method and apparatus for processing multiview video signals |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230171399A1 (en) | Intra prediction-based image coding method and apparatus using mpm list | |
KR20210042996A (en) | History-based video coding method and apparatus therefor | |
JP7436543B2 (en) | Image decoding method and apparatus based on affine motion prediction using affine MVP candidate list in image coding system | |
US11877010B2 (en) | Signaling method and device for merge data syntax in video/image coding system | |
JP7432035B2 (en) | Video decoding method and device for deriving weight index information for generating predictive samples | |
KR20200130453A (en) | Inter prediction mode based image processing method and apparatus therefor | |
JP7462094B2 (en) | Method and apparatus for eliminating duplicate signaling in a video/image coding system | |
US11632568B2 (en) | Image decoding method for performing inter-prediction when prediction mode for current block ultimately cannot be selected, and device for same | |
US20240107056A1 (en) | Apparatus for performing image coding on basis of atmvp candidate | |
US20240080447A1 (en) | Image/video coding method and device | |
US11962810B2 (en) | Motion prediction-based image coding method and device | |
JP2023145702A (en) | Image decoding method and apparatus for deriving weight index information for weighted average when bi-prediction is applied | |
AU2023214332A1 (en) | Intra block coding-based video or image coding | |
JP2023154003A (en) | Image decoding method for deriving weight index information for bi-prediction, and device for the same | |
KR20210153739A (en) | Video decoding method and apparatus for deriving prediction samples based on default merge mode | |
US20240022727A1 (en) | Image decoding method comprising generating prediction samples by applying determined prediction mode, and device therefor | |
EP4044598A1 (en) | Method and device for processing image information for image/video coding | |
KR102630798B1 (en) | SBTMVP-based image or video coding | |
RU2820148C2 (en) | Image encoding and decoding equipment and image data transmission equipment | |
RU2793902C1 (en) | Image decoding method to perform inter frame prediction when prediction mode for current block cannot be selected and device for this method | |
RU2816199C1 (en) | Video or image encoding based on intra-block encoding | |
RU2809033C2 (en) | Method and equipment for image encoding/decoding using quantization matrix and method for bitstream transmission | |
RU2789454C2 (en) | Video or image encoding based on in-block coding | |
RU2795473C1 (en) | Method and equipment for image encoding/decoding using quantization matrix and method for bitstream transmission | |
RU2774673C1 (en) | Video or image encoding based on in-block coding |