RU2789454C2 - Video or image encoding based on in-block coding - Google Patents

Video or image encoding based on in-block coding Download PDF

Info

Publication number
RU2789454C2
RU2789454C2 RU2022115978A RU2022115978A RU2789454C2 RU 2789454 C2 RU2789454 C2 RU 2789454C2 RU 2022115978 A RU2022115978 A RU 2022115978A RU 2022115978 A RU2022115978 A RU 2022115978A RU 2789454 C2 RU2789454 C2 RU 2789454C2
Authority
RU
Russia
Prior art keywords
block
prediction mode
ibc
information
candidate list
Prior art date
Application number
RU2022115978A
Other languages
Russian (ru)
Other versions
RU2022115978A (en
Inventor
Дзунгхак НАМ
Хиеонгмоон ДЗАНГ
Original Assignee
ЭлДжи ЭЛЕКТРОНИКС ИНК.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ЭлДжи ЭЛЕКТРОНИКС ИНК. filed Critical ЭлДжи ЭЛЕКТРОНИКС ИНК.
Publication of RU2022115978A publication Critical patent/RU2022115978A/en
Application granted granted Critical
Publication of RU2789454C2 publication Critical patent/RU2789454C2/en

Links

Images

Abstract

FIELD: images encoding.
SUBSTANCE: invention relates to means for encoding images based on intra-block coding. Image information is obtained, including flag information for intra-block coding (IBC) prediction mode and index information for extracting a block vector. The prediction mode for the current block in the current frame is retrieved as the IBC prediction mode based on the flag information. A list of possible options for the IBC prediction mode is retrieved. The list of possible choices includes the block vector choices. The block vector for the current block is retrieved based on the list of possible options for the IBC prediction mode and the index information. Predictive samples of the current block are generated based on the block vector. Reconstructed samples are formed based on predictive samples. The image information contains information regarding the maximum number of block vector candidates included in the candidate list for the IBC prediction mode and information regarding the maximum number of motion vector candidates included in the candidate list for the inter prediction mode.
EFFECT: improving encoding efficiency.
12 cl, 6 tbl, 13 dwg

Description

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

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

[1] Настоящий документ относится к кодированию видео или изображений на основе внутриблочного кодирования (IBC).[1] This document relates to video or image coding based on In-Block Coding (IBC).

Описание уровня техникиDescription of the prior art

[2] В последнее время, спрос на высококачественное изображение/видео высокого разрешения, к примеру, изображение/видео сверхвысокой четкости (UHD) формата 4K или 8K либо выше, растет в различных областях техники. Поскольку данные изображений/видео имеют высокое разрешение и высокое качество, объем информации или битов, который должен передаваться, увеличивается относительно существующих данных изображений/видео, и в силу этого, передача данных изображений с использованием носителя, такого как существующая проводная/беспроводная широкополосная линия или существующий носитель хранения данных, либо сохранение данных изображений/видео с использованием существующего носителя хранения данных увеличивает затраты на передачу и затраты на хранение.[2] Recently, the demand for high-quality high-definition image/video, such as 4K or 8K ultra-high definition (UHD) image/video or higher, is growing in various fields of technology. Since the image/video data has high resolution and high quality, the amount of information or bits to be transmitted increases with respect to the existing image/video data, and therefore, the transmission of image data using a medium such as an existing wired/wireless broadband line or an existing storage medium, or storing image/video data using an existing storage medium increases transmission costs and storage costs.

[3] Помимо этого, интерес и спрос на иммерсивное мультимедиа, такое как контент виртуальной реальности (VR) и искусственной реальности (AR) или голограммы, в последнее время растет, и широковещательная передача для изображения/видео, имеющего характеристики, отличающиеся от изображений реальности, таких как игровые изображения, увеличивается.[3] In addition, the interest and demand for immersive media such as virtual reality (VR) and artificial reality (AR) content or holograms is growing recently, and broadcasting for an image/video having characteristics different from reality images , such as game images, is enlarged.

[4] Соответственно, требуется технология высокоэффективного сжатия изображений/видео, чтобы эффективно сжимать, передавать, сохранять и воспроизводить информацию высококачественного изображения/видео высокого разрешения, имеющего различные характеристики, как описано выше.[4] Accordingly, a high-performance image/video compression technology is required to efficiently compress, transmit, store, and reproduce high-quality, high-resolution image/video information having various characteristics as described above.

[5] Помимо этого, проводится обсуждение на предмет технологии внутриблочного кодирования (IBC), чтобы повышать эффективность сжатия и повышать эффективность кодирования для экранного контента. Чтобы эффективно применять эти технологии, существует потребность в способе для эффективной передачи в служебных сигналах связанной информации.[5] In addition, discussions are being held on an in-block coding (IBC) technology to improve compression efficiency and improve coding efficiency for screen content. In order to effectively apply these technologies, there is a need for a method for efficiently signaling related information.

Сущность изобретенияThe essence of the invention

[6] Согласно варианту осуществления настоящего документа, предоставляются способ и оборудование для повышения эффективности кодирования изображений.[6] According to an embodiment of the present document, a method and equipment for improving image coding efficiency are provided.

[7] Согласно варианту осуществления настоящего документа, предоставляются способ и оборудование эффективного применения фильтрации.[7] According to an embodiment of the present document, a method and equipment for efficiently applying filtration is provided.

[8] Согласно варианту осуществления настоящего документа, предоставляются способ и оборудование эффективного IBC-применения.[8] According to an embodiment of the present document, a method and equipment for an efficient IBC application are provided.

[9] Согласно варианту осуществления настоящего документа, предоставляются способ и оборудование для передачи в служебных сигналах информации относительно максимального числа возможных вариантов блочных векторов, включенных в список возможных вариантов для IBC.[9] According to an embodiment of the present document, a method and equipment is provided for signaling information regarding the maximum number of block vector options included in a list of options for IBC.

[10] Согласно варианту осуществления настоящего документа, предоставляются способ и оборудование для отдельной передачи в служебных сигналах информации относительно максимального числа возможных вариантов блочных векторов, включенных в список возможных вариантов объединения для IBC-объединения, и информации относительно максимального числа возможных вариантов векторов движения, включенных в список возможных вариантов объединения для режима объединения взаимного прогнозирования.[10] According to an embodiment of the present document, a method and equipment is provided for separately signaling information regarding the maximum number of block vector candidates included in a list of possible block vectors for an IBC merge and information regarding the maximum number of motion vector candidates included to the list of join options for the inter-prediction join mode.

[11] Согласно варианту осуществления настоящего документа, предоставляется способ декодирования видео/изображений, осуществляемый посредством оборудования декодирования.[11] According to an embodiment of the present document, a video/image decoding method by decoding equipment is provided.

[12] Согласно варианту осуществления настоящего документа, предоставляется оборудование декодирования для выполнения декодирования видео/изображений.[12] According to an embodiment of the present document, decoding equipment is provided to perform video/image decoding.

[13] Согласно варианту осуществления настоящего документа, предоставляется способ кодирования видео/изображений, осуществляемый посредством оборудования кодирования.[13] According to an embodiment of the present document, a video/image encoding method is provided by encoding equipment.

[14] Согласно варианту осуществления настоящего документа, предоставляется оборудование кодирования для выполнения кодирования видео/изображений.[14] According to an embodiment of the present document, encoding equipment for performing video/image encoding is provided.

[15] Согласно одному варианту осуществления настоящего документа, предоставляется машиночитаемый цифровой носитель хранения данных, на котором сохраняется кодированная информация видео/изображений, сформированная согласно способу кодирования видео/изображений, раскрытому, по меньшей мере, в одном из вариантов осуществления настоящего документа.[15] According to one embodiment of the present document, a computer-readable digital storage medium is provided on which encoded video/image information generated according to the video/image coding method disclosed in at least one embodiment of the present document is stored.

[16] Согласно варианту осуществления настоящего документа, предоставляется машиночитаемый цифровой носитель хранения данных, на котором сохраняется кодированная информация или кодированная информация видео/изображений, инструктирующая осуществление способа декодирования видео/изображений, раскрытого, по меньшей мере, в одном из вариантов осуществления настоящего документа, посредством оборудования декодирования.[16] According to an embodiment of the present document, a computer-readable digital storage medium is provided on which encoded information or encoded video/image information is stored instructing the implementation of the video/image decoding method disclosed in at least one embodiment of the present document, through decoding equipment.

Преимущества изобретенияBenefits of the Invention

[17] Согласно варианту осуществления настоящего документа, может повышаться полная эффективность сжатия изображений/видео.[17] According to an embodiment of the present document, the overall image/video compression efficiency can be improved.

[18] Согласно варианту осуществления настоящего документа, субъективное/объективное визуальное качество может повышаться посредством эффективной фильтрации.[18] According to an embodiment of the present document, subjective/objective visual quality can be improved by efficient filtering.

[19] Согласно варианту осуществления настоящего документа, список возможных вариантов объединения для IBC может конструироваться.[19] According to an embodiment of the present document, a list of candidate joins for the IBC may be constructed.

[20] Согласно варианту осуществления настоящего документа, информация относительно максимального числа возможных вариантов, включенных в список возможных вариантов объединения для IBC, может передаваться в служебных сигналах.[20] According to an embodiment of the present document, information regarding the maximum number of possible options included in the list of combining options for IBC may be signaled.

[21] Согласно варианту осуществления настоящего документа, степень свободы для кодека может увеличиваться, и эффективность кодирования может повышаться.[21] According to an embodiment of the present document, the degree of freedom for a codec may be increased and coding efficiency may be increased.

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

[22] Фиг. 1 иллюстрирует пример системы кодирования видео/изображений, к которой могут применяться варианты осуществления настоящего документа.[22] FIG. 1 illustrates an example of a video/image coding system to which embodiments of the present document may be applied.

[23] Фиг. 2 является схемой, принципиально иллюстрирующей конфигурацию оборудования кодирования видео/изображений, к которому могут применяться варианты осуществления настоящего документа.[23] FIG. 2 is a diagram principally illustrating the configuration of video/image coding equipment to which embodiments of the present document may be applied.

[24] Фиг. 3 является схемой, схематично иллюстрирующей конфигурацию оборудования декодирования видео/изображений, к которому могут применяться варианты осуществления настоящего документа.[24] FIG. 3 is a diagram schematically illustrating the configuration of video/image decoding equipment to which embodiments of the present document may be applied.

[25] Фиг. 4 является чертежом для пояснения способа извлечения информации движения через режим взаимного прогнозирования.[25] FIG. 4 is a drawing for explaining a method for extracting motion information through an inter-prediction mode.

[26] Фиг. 5 и фиг. 6 иллюстрируют способ кодирования изображений на основе режима IBC-прогнозирования и модуль прогнозирования оборудования кодирования, осуществляющий способ кодирования изображений.[26] FIG. 5 and FIG. 6 illustrates an image encoding method based on the IBC prediction mode and an encoding equipment prediction unit implementing the image encoding method.

[27] Фиг. 7 и фиг. 8 иллюстрируют способ декодирования изображений на основе режима IBC-прогнозирования и модуль прогнозирования оборудования декодирования, осуществляющий способ декодирования изображений.[27] FIG. 7 and FIG. 8 illustrates an image decoding method based on the IBC prediction mode and a decoding equipment prediction unit implementing the image decoding method.

[28] Фиг. 9 и фиг. 10 схематично показывают пример способа кодирования видео/изображений и связанных компонентов согласно варианту(ам) осуществления настоящего документа.[28] FIG. 9 and FIG. 10 schematically show an example of a video/image coding method and related components according to the embodiment(s) of the present document.

[29] Фиг. 11 и фиг. 12 схематично показывают пример способа декодирования изображений/видео и связанных компонентов согласно варианту осуществления настоящего документа.[29] FIG. 11 and FIG. 12 schematically show an example of an image/video decoding method and related components according to an embodiment of the present document.

[30] Фиг. 13 показывает пример системы потоковой передачи контента, к которой могут применяться варианты осуществления, раскрытые в настоящем документе.[30] FIG. 13 shows an example of a content streaming system to which the embodiments disclosed herein may be applied.

Подробное описание вариантов осуществленияDetailed description of embodiments

[31] Настоящий документ может модифицироваться в различных формах, и его конкретные варианты осуществления описываются и показываются на чертежах. Тем не менее, варианты осуществления не имеют намерение для ограничения настоящего документа. Термины, используемые в нижеприведенном описании, используются для того, чтобы просто описывать конкретные варианты осуществления, но не имеют намерение ограничивать настоящий документ. Выражение единственного числа включает в себя выражение множественного числа до этих пор, до тех пор, пока они четко трактуются по-разному. Такие термины, как "включать в себя" и "иметь", предназначены для того, чтобы указывать то, что существуют признаки, числа, этапы, операции, элементы, компоненты либо комбинации вышеозначенного, используемые в нижеприведенном описании, и в силу этого следует понимать, что не исключается возможность наличия или добавления одного или более других признаков, чисел, этапов, операций, элементов, компонентов либо комбинаций вышеозначенного.[31] This document may be modified in various forms, and its specific embodiments are described and shown in the drawings. However, the embodiments are not intended to limit the present document. The terms used in the description below are used to simply describe specific embodiments, but are not intended to limit the present document. The expression of the singular includes the expression of the plural as long as they are clearly treated differently. Terms such as "include" and "have" are intended to indicate that there are features, numbers, steps, operations, elements, components, or combinations of the foregoing used in the description below, and as such should be understood , which does not exclude the possibility of the presence or addition of one or more other features, numbers, steps, operations, elements, components, or combinations of the above.

[32] Между тем, каждая конфигурация на чертежах, описанная в настоящем документе, показывается независимо для удобства описания относительно различных характеристических функций и не означает, что каждая конфигурация реализуется как отдельные аппаратные средства или отдельное программное обеспечение. Например, два или более компонентов для каждого компонента могут комбинироваться, чтобы формировать один компонент, либо один компонент может разделяться на множество компонентов. Варианты осуществления, в которых каждый компонент интегрируется и/или отделяется, также включаются в объем раскрытия сущности настоящего документа.[32] Meanwhile, each configuration in the drawings described herein is shown independently for convenience of description with respect to 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 split into multiple components. Embodiments in which each component is integrated and/or separated are also included within the scope of this disclosure.

[33] В дальнейшем в этом документе подробно описываются примеры настоящего варианта осуществления со ссылкой на прилагаемые чертежи. Помимо этого, аналогичные ссылки с номерами используются для того, чтобы указывать аналогичные элементы на всех чертежах, и идентичные описания аналогичных элементов опускаются.[33] Hereinafter, examples of the present embodiment are described in detail with reference to the accompanying drawings. In addition, like reference numerals are used to refer to like elements throughout the drawings, and like descriptions of like elements are omitted.

[34] Фиг. 1 иллюстрирует пример системы кодирования видео/изображений, к которой могут применяться варианты осуществления настоящего документа.[34] FIG. 1 illustrates an example of a video/image coding system to which embodiments of the present document may be applied.

[35] Ссылаясь на фиг. 1, система кодирования видео/изображений может включать в себя первое устройство (исходное устройство) и второе устройство (приемное устройство). Исходное устройство может передавать кодированную информацию или данные видео/изображений в приемное устройство через цифровой носитель хранения данных или сеть в форме файла или потоковой передачи.[35] Referring to FIG. 1, the video/image coding system may include a first device (source device) and a second device (receiver device). The source device may transmit the encoded information or video/image data to the receiving device via a digital storage medium or a network in the form of a file or streaming.

[36] Исходное устройство может включать в себя видеоисточник, оборудование кодирования и передатчик. Приемное устройство может включать в себя приемник, оборудование декодирования и модуль рендеринга. Оборудование кодирования может называться "оборудованием кодирования видео/изображений", и оборудование декодирования может называться "оборудованием декодирования видео/изображений". Передатчик может включаться в оборудование кодирования. Приемник может включаться в оборудование декодирования. Модуль рендеринга может включать в себя дисплей, и дисплей может быть сконфигурирован как отдельное устройство или внешний компонент.[36] The source device may include a video source, encoding equipment, and a transmitter. The receiver may include a receiver, decoding hardware, and a renderer. The encoding equipment may be referred to as "video/image coding 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 decoding equipment. The renderer may include a display, and the display may be configured as a separate device or an external component.

[37] Видеоисточник может получать видео/изображение посредством процесса захвата, синтезирования или формирования видео/изображения. Видеоисточник может включать в себя устройство захвата видео/изображений и/или устройство формирования видео/изображений. Устройство захвата видео/изображений может включать в себя, например, одну или более камер, архивы видео/изображений, включающие в себя ранее захваченные видео/изображения, и т.п. Устройство формирования видео/изображений может включать в себя, например, компьютеры, планшетные компьютеры и смартфоны и может (электронно) формировать видео/изображения. Например, виртуальное видео/изображение может формироваться через компьютер и т.п. В этом случае, процесс захвата видео/изображений может заменяться посредством процесса формирования связанных данных.[37] A video source may acquire a video/image through a process of capturing, synthesizing, or generating a video/image. The video source may include a video/image capture device and/or a video/image generation device. The video/image capture device may include, for example, one or more cameras, video/image archives including previously captured videos/images, and the like. The video/image generation apparatus may include, for example, computers, tablet computers, and smartphones, and may (electronically) generate video/images. For example, the virtual video/image may be generated via a computer or the like. In this case, the video/image capturing process may be replaced by a linked data generation process.

[38] Оборудование кодирования может кодировать входное видео/изображение. Оборудование кодирования может выполнять последовательность процедур, таких как прогнозирование, преобразование и квантование, для эффективности сжатия и кодирования. Кодированные данные (кодированная информация видео/изображений) могут выводиться в форме потока битов.[38] The encoding equipment may encode the input video/image. The encoding equipment may perform a series of procedures such as prediction, transformation, and quantization for compression and encoding efficiency. Encoded data (encoded video/picture information) may be output in the form of a bit stream.

[39] Передатчик может передавать информацию или данные кодированных изображений/изображений, выводимую в форме потока битов, в приемник приемного устройства через цифровой носитель хранения данных или сеть в форме файла или потоковой передачи. Цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как, USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик может включать в себя элемент для формирования мультимедийного файла через предварительно определенный формат файлов и может включать в себя элемент для передачи через широковещательную передачу/сеть связи. Приемник может принимать/извлекать поток битов и передавать принимаемый поток битов в оборудование декодирования.[39] The transmitter may transmit information or coded image/image data output in the form of a bit stream to the receiver of the receiving device via a digital storage medium or a 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 media file via a predetermined file format and may include an element for transmission via a broadcast/communication network. The receiver may receive/retrieve the bitstream and transmit the received bitstream to the decoding equipment.

[40] Оборудование декодирования может декодировать видео/изображение посредством выполнения последовательности процедур, таких как деквантование, обратное преобразование и прогнозирование, соответствующих работе оборудования кодирования.[40] The decoding equipment can decode the video/image by performing a sequence of procedures such as dequantization, inverse transformation, and prediction corresponding to the operation of the encoding equipment.

[41] Модуль рендеринга может подготавливать посредством рендеринга декодированное видео/изображение. Подготовленное посредством рендеринга видео/изображение может отображаться через дисплей.[41] The rendering module may prepare a decoded video/image by rendering. The rendered video/image can be displayed through the display.

[42] Настоящий документ относится к кодированию видео/изображений. Например, способ/вариант осуществления, раскрытый в этом документе, может применяться к способу, раскрытому в стандарте универсального кодирования видео (VVC), стандарте фундаментального кодирования видео (EVC), стандарте AOMedia Video 1 (AV1), стандарте второго поколения кодирования аудио/видео (AVS2) или стандарте кодирования видео/изображений следующего поколения (например, H.267, H.268 и т.п.).[42] This document 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 (VVC) 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 (eg H.267, H.268, etc.).

[43] Настоящий документ предлагает различные варианты осуществления кодирования видео/изображений, и вышеуказанные варианты осуществления также могут выполняться в комбинации между собой, если не указано иное.[43] The present document proposes various video/image coding embodiments, and the above embodiments may also be performed in combination with each other, unless otherwise indicated.

[44] В настоящем документе, видео может означать последовательность изображений во времени. Кадр, в общем, означает единицу, представляющую одно изображение в конкретном временном кадре, и срез/плитка означает единицу, составляющую часть кадра с точки зрения кодирования. Срез/плитка может включать в себя одну или более единиц дерева кодирования (CTU). Один кадр может состоять из одного или более срезов/плиток. Один кадр может состоять из одной или более групп плиток. Одна группа плиток может включать в себя одну или более плиток. Кирпич может представлять прямоугольную область CTU-строк в плитке в кадре. Плитка может сегментироваться на несколько кирпичей, каждый из которых может конструироваться с одной или более CTU-строк в плитке. Плитка, которая не сегментируется на несколько кирпичей, также может называться "кирпичом". Кирпичное сканирование может представлять конкретное последовательное упорядочение CTU, сегментирующих кадр, при этом CTU могут упорядочиваться при растровом сканировании CTU в кирпиче, и кирпичи в плитке могут упорядочиваться последовательно при растровом сканировании кирпичей плитки, и плитки в кадре могут упорядочиваться последовательно при растровом сканировании плиток кадра. Плитка представляет собой прямоугольную область CTU в конкретном столбце плиток и конкретной строке плиток в кадре. Столбец плиток представляет собой прямоугольную область CTU, имеющих высоту, равную высоте кадра, и ширину, указываемую посредством синтаксических элементов в наборе параметров кадра. Строка плиток представляет собой прямоугольную область CTU, имеющих высоту, указываемую посредством синтаксических элементов в наборе параметров кадра, и ширину, равную ширине кадра. Сканирование плиток представляет собой конкретное последовательное упорядочение CTU, сегментирующих кадр, при котором CTU упорядочиваются последовательно при растровом сканировании CTU в плитке, тогда как плитки в кадре упорядочиваются последовательно при растровом сканировании плиток кадра. Срез включает в себя собой целое число кирпичей кадра, которые могут содержаться исключительно в одной NAL-единице. Срез может состоять либо из определенного числа полных плиток, либо только из жесткой последовательности полных кирпичей одной плитки. В настоящем документе, группа плиток и срез могут использоваться друг вместо друга. Например, в настоящем документе, группа плиток/заголовок группы плиток может называться "срезом/заголовком среза".[44] As used herein, video may refer to a sequence of images over time. A frame generally means a unit representing one image in a particular temporal frame, and a slice/tile means a unit that is part of a frame in terms of encoding. A slice/tile may include one or more coding tree units (CTUs). One frame may consist of one or more slices/tiles. One frame may consist of one or more tile groups. One group of tiles may include one or more tiles. A brick may represent a rectangular area of CTU rows in a tile in a frame. A tile may be segmented into multiple bricks, each of which may be constructed with one or more CTU rows per tile. A tile that does not segment into multiple bricks may also be referred to as a "brick". A brick scan may represent a particular sequential ordering of CTUs segmenting a frame, wherein CTUs may be ordered in a raster scan of the CTUs in a brick, and bricks in a tile may be ordered sequentially in a raster scan of the bricks of a tile, and tiles in a frame may be ordered sequentially in a raster scan of the tiles of the frame. A tile is a rectangular area of a CTU in a particular column of tiles and a particular row of tiles in a frame. The tile column 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. The row of tiles is a rectangular area of CTUs having a height indicated by syntax elements in the frame parameter set and a width equal to the frame width. Tile scanning is a particular sequential ordering of CTUs segmenting a frame, whereby CTUs are ordered sequentially in a raster scan of the CTUs in a tile, while tiles in a frame are ordered sequentially in a raster scan of the frame's tiles. A slice includes an integer number of frame bricks that can only be contained in one NAL unit. A slice can either consist of a certain number of full tiles, or only a rigid sequence of full bricks of a single tile. In this document, a group of tiles and a slice can be used instead of each other. For example, in this document, a tile group/tile group header may be referred to as a "slice/slice header".

[45] Между тем, один кадр может разделяться на два или более субкадров. Субкадр может представлять собой прямоугольную область одного или более срезов в кадре.[45] Meanwhile, one frame may be divided into two or more subframes. A subframe may be a rectangular region of one or more slices in a frame.

[46] Пиксел или пел может означать наименьшую единицу, составляющую один кадр (или изображение). Кроме того, "выборка" может использоваться в качестве термина, соответствующего пикселу. Выборка, в общем, может представлять пиксел или значение пиксела и может представлять только пиксел/пиксельное значение компонента сигнала яркости либо только пиксел/пиксельное значение компонента сигнала цветности.[46] A pixel or pel can mean the smallest unit that makes up one frame (or image). In addition, "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.

[47] Единица может представлять базовую единицу обработки изображений. Единица может включать в себя, по меньшей мере, одно из конкретной области кадра и информации, связанной с областью. Одна единица может включать в себя один блок сигналов яркости и два блока сигналов цветности (например, Cb, Cr). Единица может использоваться взаимозаменяемо с такими терминами, как блок или зона в некоторых случаях. В общем случае, блок MxN может включать в себя выборки (или массивы выборок) либо набор (или массив) коэффициентов преобразования из M столбцов и N строк. Альтернативно, выборка может означать пиксельное значение в пространственной области и когда такое пиксельное значение преобразуется в частотную область, это может означать коэффициент преобразования в частотной области.[47] The unit may represent a basic image processing unit. The unit may include at least one of a specific area of the frame and information associated with the area. One unit may include one luminance block and two chrominance blocks (eg, Cb, Cr). The unit can be used interchangeably with terms such as block or zone in some cases. In general, an MxN block may include samples (or arrays of samples) or a set (or array) of transform coefficients of M columns and N rows. Alternatively, the sample may mean a pixel value in the spatial domain, and when such a pixel value is converted to the frequency domain, it can mean a transform factor in the frequency domain.

[48] В настоящем документе, "A или B" может означать "только A", "только B" или "как A, так и B". Другими словами, "A или B" в настоящем документе может интерпретироваться в качестве "A и/или B". Например, в настоящем документе "A, B или C (A, B или C) " означает "только A", "только B", "только C" либо "любая комбинация A, B и C".[48] As used herein, "A or B" can mean "A only", "B only", or "both A and B". In other words, "A or B" in this document can be interpreted as "A and/or B". For example, in this document "A, B or C (A, B or C)" means "A only", "B only", "C only", or "any combination of A, B and C".

[49] Наклонная черта (/) или запятая (запятая), используемая в настоящем документе, может означать "и/или". Например, "A/B" может означать "A и/или B". Соответственно, "A/B" может означать "только A", "только B" либо "как A, так и B". Например, "A, B, C" может означать "A, B или C".[49] The slash (/) or comma (comma) used herein can mean "and/or". For example, "A/B" could mean "A and/or B". Accordingly, "A/B" can mean "only A", "only B", or "both A and B". For example, "A, B, C" could mean "A, B, or C".

[50] В настоящем документе, "по меньшей мере, одно из A и B" может означать "только A", "только B" или "как A, так и B". Кроме того, в настоящем документе, выражение "по меньшей мере, одно из A или B" или "по меньшей мере, одно из A и/или B" может интерпретироваться идентично "по меньшей мере, одно из A и B".[50] As used herein, "at least one of A and B" can mean "only A", "only B", or "both A and B". In addition, in this document, the expression "at least one of A or B" or "at least one of A and/or B" can be interpreted identically to "at least one of A and B".

[51] Кроме того, в настоящем документе, "по меньшей мере, одно из A, B и C" означает "только A", "только B", "только C" либо "любая комбинация A, B и C". Кроме того, "по меньшей мере, одно из A, B или C" или "по меньшей мере, одно из A, B и/или C" может означать "по меньшей мере, одно из A, B и C".[51] In addition, in this document, "at least one of A, B and C" means "only A", "only B", "only C" 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" can mean "at least one of A, B and C".

[52] Кроме того, круглые скобки, используемые в настоящем документе, могут означать "например". В частности, когда "прогнозирование (внутреннее прогнозирование) " указывается, "внутреннее прогнозирование" может предлагаться в качестве примера "прогнозирования". Другими словами, "прогнозирование" в настоящем документе не ограничено "внутренним прогнозированием", и "внутреннее прогнозирование" может предлагаться в качестве примера "прогнозирования". Кроме того, даже когда "прогнозирование (т.е. внутреннее прогнозирование) " указывается, "внутреннее прогнозирование" может предлагаться в качестве примера "прогнозирования".[52] In addition, parentheses used herein may mean "for example". In particular, when "prediction (internal prediction)" is indicated, "internal prediction" may be suggested as an example of "prediction". In other words, "prediction" herein is not limited to "internal prediction", and "internal prediction" may be offered as an example of "prediction". In addition, even when "prediction (ie, intra prediction)" is indicated, "intra prediction" may be suggested as an example of "prediction".

[53] Технические признаки, которые отдельно описываются на одном чертеже в настоящем документе, могут реализовываться отдельно или одновременно.[53] Technical features that are separately described in one drawing in this document may be implemented separately or simultaneously.

[54] Фиг. 2 является схемой, принципиально иллюстрирующей конфигурацию оборудования кодирования видео/изображений, к которому могут применяться варианты осуществления настоящего документа. В дальнейшем в этом документе, то, что называется "оборудованием кодирования видео", может включать в себя оборудование кодирования изображений.[54] FIG. 2 is a diagram principally illustrating the configuration of video/image coding equipment to which embodiments of the present document may be applied. Hereinafter in this document, what is referred to as "video encoding equipment" may include image encoding equipment.

[55] Ссылаясь на фиг. 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 в качестве внутреннего/внешнего компонента.[55] Referring to FIG. 2, the encoding equipment 200 includes an image segmentation unit 210, a prediction unit 220, a residual processor 230 and an entropy encoder 240, an adder 250, a filter 260, and a memory 270. The prediction unit 220 may include an inter prediction unit 221 and an intra prediction unit 222. forecasting. 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. Adder 250 may be referred to as a "rebuilder" or "recovered block generator". Image segmentation module 210, prediction module 220, residual processor 230, entropy encoder 240, adder 250, and filter 260 may be configured by at least one hardware component (e.g., chipset or encoder processor) according to an embodiment. In addition, the memory 270 may include a decoded frame buffer (DPB) or may be configured by a digital storage medium. The hardware component may further include a storage device 270 as an internal/external component.

[56] Модуль 210 сегментации изображений может сегментировать входное изображение (либо кадр или кадр), вводимое в оборудование 200 кодирования, на один более блоков обработки. Например, блок обработки может называться "единицей кодирования (CU)". В этом случае, единица кодирования может рекурсивно сегментироваться согласно структуре в виде дерева квадрантов, двоичного дерева и троичного дерева (QTBTTT) из единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU). Например, одна единица кодирования может сегментироваться на множество единиц кодирования большей глубины на основе структуры в виде дерева квадрантов, структуры в виде двоичного дерева и/или троичной структуры. В этом случае, например, сначала может применяться структура в виде дерева квадрантов, и впоследствии может применяться структура в виде двоичного дерева и троичная структура. Альтернативно, сначала может применяться структура в виде двоичного дерева. Процедура кодирования согласно настоящему раскрытию сущности может выполняться на основе конечной единицы кодирования, которая более не сегментируется. В этом случае, наибольшая единица кодирования может использоваться в качестве конечной единицы кодирования на основе эффективности кодирования согласно характеристикам изображений, или при необходимости, единица кодирования может рекурсивно сегментироваться на единицы кодирования большей глубины, и единица кодирования, имеющая оптимальный размер, может использоваться в качестве конечной единицы кодирования. Здесь, процедура кодирования может включать в себя процедуру прогнозирования, преобразования и восстановления, которая описывается ниже. В качестве другого примера, блок обработки дополнительно может включать в себя единицу прогнозирования (PU) или единицу преобразования (TU). В этом случае, единица прогнозирования и единица преобразования могут разбиваться или сегментироваться из вышеуказанной конечной единицы кодирования. Единица прогнозирования может представлять собой единицу выборочного прогнозирования, и единица преобразования может представлять собой единицу для извлечения коэффициента преобразования и/или единицу для извлечения остаточного сигнала из коэффициента преобразования.[56] The image segmentation module 210 may segment the input image (either frame or frame) input to the encoding equipment 200 into one more processing units. For example, a processing unit may be referred to as a "coding unit (CU)". In this case, a coding unit may be recursively segmented according to a quadtree, binary tree, and ternary tree (QTBTTT) structure from a coding tree unit (CTU) or a largest coding unit (LCU). For example, one coding unit may be segmented into multiple deeper coding units based on a quadtree structure, a binary tree structure, and/or a ternary structure. In this case, for example, a quadtree structure may be applied first, and a binary tree structure and a ternary structure may subsequently be applied. Alternatively, a binary tree structure may be applied first. The encoding procedure according to the present disclosure may be performed based on a final encoding unit that is no longer segmented. In this case, the largest coding unit may be used as the final coding unit based on the coding efficiency according to the characteristics of the images, or if necessary, the coding unit may be recursively segmented into coding units of greater depth, and the coding unit having the optimal size may be used as the final coding units. Here, the encoding procedure may include a prediction, transformation, and restoration procedure, which is described below. As another example, the processing unit may further include a prediction unit (PU) or a transformation unit (TU). In this case, the prediction unit and the transformation unit may be split or segmented from the above final coding unit. The prediction unit may be a selective prediction unit, and the transform unit may be a unit for extracting a transform coefficient and/or a unit for extracting a residual signal from a transform coefficient.

[57] Единица может использоваться взаимозаменяемо с такими терминами, как блок или зона в некоторых случаях. В общем случае, блок MxN может представлять набор выборок или коэффициентов преобразования, состоящих из M столбцов и N строк. Выборка, в общем, может представлять пиксел или значение пиксела, может представлять только пиксел/пиксельное значение компонента сигнала яркости либо представлять только пиксел/пиксельное значение компонента сигнала цветности. Выборка может использоваться в качестве термина, соответствующего одному кадру (или изображению) для пиксела или пела.[57] The unit can be used interchangeably with terms such as block or zone in some cases. In general, an MxN block may represent a set of samples or transform coefficients consisting of M columns and N rows. The sample, in general, may represent a pixel or pixel value, may represent only a pixel/pixel value of the luminance signal component, or represent only a pixel/pixel value of the chrominance signal component. Sampling can be used as a term corresponding to one frame (or image) for a pixel or pel.

[58] В оборудовании 200 кодирования, прогнозный сигнал (прогнозированный блок, массив прогнозных выборок), выводимый из модуля 221 взаимного прогнозирования или модуля 222 внутреннего прогнозирования, вычитается из сигнала входного изображения (исходного блока, массива исходных выборок), чтобы формировать остаточный сигнал (остаточный блок, массив остаточных выборок), и сформированный остаточный сигнал передается в преобразователь 232. В этом случае, как показано, модуль для вычитания прогнозного сигнала (прогнозированного блока, массива прогнозных выборок) из сигнала входного изображения (исходного блока, массива исходных выборок) в кодере 200 может называться "вычитателем 231". Модуль прогнозирования может выполнять прогнозирование для блока, который должен обрабатываться (в дальнейшем в этом документе, называемого "текущим блоком"), и формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование, на основе текущего блока или CU. Как описано ниже в описании каждого режима прогнозирования, модуль прогнозирования может формировать различную информацию, связанную с прогнозированием, к примеру, информацию режима прогнозирования, и передавать сформированную информацию в энтропийный кодер 240. Информация относительно прогнозирования может кодироваться в энтропийном кодере 240 и выводиться в форме потока битов.[58] In the encoding equipment 200, the prediction signal (predicted block, array of predictive samples) output from the inter prediction unit 221 or the intra prediction unit 222 is subtracted from the input image signal (original block, array of original samples) to generate a residual signal ( residual block, residual sample array), and the generated residual signal is passed to converter 232. In this case, as shown, a module for subtracting the predictive signal (predicted block, predictive sample array) from the input image signal (original block, original sample array) in encoder 200 may be referred to as "subtractor 231". The prediction module may perform prediction on a block to be processed (hereinafter referred to as "the current block") and generate a prediction block including the prediction samples for the current block. The prediction module may determine whether intra prediction or inter prediction is applied based on the current block or CU. As described below in the description of each prediction mode, the prediction module may generate various prediction-related information, such as prediction mode information, and transmit the generated information to the entropy encoder 240. The prediction information may be encoded in the entropy encoder 240 and output in the form of a stream. bits.

[59] Модуль 222 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки для ссылки могут быть расположены в окружении текущего блока или могут быть расположены независимо согласно режиму прогнозирования. При внутреннем прогнозировании, режимы прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Ненаправленный режим может включать в себя, например, DC-режим и планарный режим. Направленный режим может включать в себя, например, 33 режима направленного прогнозирования или 65 режимов направленного прогнозирования согласно степени детальности направления прогнозирования. Тем не менее, это представляет собой просто пример, большее или меньшее число режимов направленного прогнозирования может использоваться в зависимости от настройки. Модуль 222 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.[59] The intra prediction module 222 may predict the current block by referring to the samples in the current frame. The reference samples may be located in the surroundings of the current block, or may be independently located according to the prediction mode. In intra prediction, the prediction modes may include a plurality of non-directional modes and a plurality of directional modes. The non-directional mode may include, for example, a DC mode and a planar mode. The directional mode may include, for example, 33 directional prediction modes or 65 directional prediction modes according to the granularity of the prediction direction. However, this is just an example, more or less directional prediction modes may be used depending on the setting. The intra prediction unit 222 may determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring block.

[60] Модуль 221 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. Здесь, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными или отличающимися. Временной соседний блок может называться "совместно размещенным опорным блоком", "совместно размещенной CU (colCU) " и т.п., и опорный кадр, включающий в себя временной соседний блок, может называться "совместно размещенным кадром (colPic)". Например, модуль 221 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и формировать информацию, указывающую то, какой возможный вариант используется для того, чтобы извлекать вектор движения и/или индекс опорного кадра текущего блока. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования. Например, в случае режима пропуска и режима объединения, модуль 221 взаимного прогнозирования может использовать информацию движения соседнего блока в качестве информации движения текущего блока. В режиме пропуска, в отличие от режима объединения, остаточный сигнал может не передаваться. В случае режима прогнозирования векторов движения (MVP), вектор движения соседнего блока может использоваться в качестве предиктора вектора движения, и вектор движения текущего блока может указываться посредством передачи в служебных сигналах разности векторов движения.[60] The inter-prediction unit 221 may derive a predicted block for the current block based on a reference block (reference sample array) indicated by a motion vector for the reference frame. Here, 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 an adjacent block and a 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, an adjacent block may include a spatial adjacent block present in the current frame and a temporal adjacent block present in the reference frame. The reference frame including the reference block and the reference frame including the temporal neighbor block may be the same or different. The temporal neighbor block may be referred to as a "collocated reference block", "collocated CU (colCU)" or the like, and a reference frame including the temporal neighbor block may be referred to as a "collocated frame (colPic)". For example, the inter prediction unit 221 may configure a motion information candidate list based on neighboring blocks, and generate information indicating which candidate is used to derive the motion vector and/or the reference frame index of the current block. Inter prediction may be performed based on various prediction modes. For example, in the case of the skip mode and the join mode, the inter prediction unit 221 may use the neighboring block motion information as the current block motion information. In the skip mode, unlike the combine mode, the residual signal may not be transmitted. In the case of a motion vector prediction (MVP) mode, the motion vector of an adjacent block may be used as a motion vector predictor, and the motion vector of the current block may be indicated by signaling a motion vector difference.

[61] Модуль 220 прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования, описанных ниже. Например, модуль прогнозирования может не только применять внутреннее прогнозирование или взаимное прогнозирование для того, чтобы прогнозировать один блок, но также и одновременно применять как внутренние прогнозирование, так и взаимное прогнозирование. Это может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может быть основан на режиме прогнозирования на основе внутриблочного копирования (IBC) либо на палитровом режиме для прогнозирования блока. Режим IBC-прогнозирования или палитровый режим может использоваться для кодирования изображений/видео контента игры и т.п., например, для кодирования экранного контента (SCC). IBC по существу выполняет прогнозирование в текущем кадре, но может выполняться аналогично взаимному прогнозированию, в котором опорный блок извлекается в текущем кадре. Таким образом, IBC может использовать, по меньшей мере, одну из технологий взаимного прогнозирования, описанных в настоящем раскрытии сущности. Палитровый режим может рассматриваться как пример внутреннего кодирования или внутреннего прогнозирования. Когда палитровый режим применяется, выборочное значение в кадре может передаваться в служебных сигналах на основе информации относительно таблицы палитр и индекса палитры.[61] The prediction module 220 may generate a prediction signal based on various prediction methods described below. For example, the prediction module may not only apply intra prediction or inter prediction to predict one block, but also apply both intra prediction and inter prediction at the same time. This may be referred to as "combined mutual and intra prediction (CIIP)". In addition, the prediction module may be based on an intra-block copy (IBC) prediction mode or a palette mode for block prediction. The IBC prediction mode or palette mode can be used for image/video coding of game content and the like, for example, screen content coding (SCC). The IBC essentially performs prediction in the current frame, but may be performed similar to inter prediction in which the reference block is retrieved in the current frame. Thus, the IBC may use at least one of the inter-prediction technologies described in the present disclosure. Palette mode can be considered as an example of intra coding or intra prediction. When the palette mode is applied, a sample value in a frame may be signaled based on information regarding the palette table and palette index.

[62] Прогнозный сигнал, сформированный посредством модуля прогнозирования (включающего в себя модуль 221 взаимного прогнозирования и/или модуль 222 внутреннего прогнозирования), может использоваться для того, чтобы формировать восстановленный сигнал или формировать остаточный сигнал. Преобразователь 232 может формировать коэффициенты преобразования посредством применения технологии преобразования к остаточному сигналу. Например, технология преобразования может включать в себя, по меньшей мере, одно из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования на основе графа (GBT) или условно нелинейного преобразования (CNT). Здесь, GBT означает преобразование, полученное из графа, когда информация взаимосвязи между пикселами представляется посредством графа. CNT означает преобразование, сформированное на основе прогнозного сигнала, сформированного с использованием всех ранее восстановленных пикселов. Помимо этого, процесс преобразования может применяться к квадратным пиксельным блокам, имеющим идентичный размер, или может применяться к блокам, имеющим переменный размер, а не квадратный.[62] The prediction signal generated by the prediction module (including the inter prediction module 221 and/or the intra prediction module 222) may be used to generate a recovered signal or generate a residual signal. Converter 232 may generate transform coefficients by applying a transform technique to the residual signal. For example, the transform technique may include at least one of Discrete Cosine Transform (DCT), Discrete Sine Transform (DST), Graph Based Transform (GBT), or Conditionally Nonlinear Transform (CNT). Here, GBT means a transformation obtained from a graph when relationship information between pixels is represented by a graph. CNT means a transform generated based on a predictive signal generated using all previously reconstructed pixels. In addition, the transformation process may be applied to square pixel blocks having the same size, or may be applied to blocks having a variable size rather than square.

[63] Квантователь 233 может квантовать коэффициенты преобразования и передавать их в энтропийный кодер 240, и энтропийный кодер 240 может кодировать квантованный сигнал (информацию относительно квантованных коэффициентов преобразования) и выводить поток битов. Информация относительно квантованных коэффициентов преобразования может называться "остаточной информацией". Квантователь 233 может перекомпоновывать блочные квантованные коэффициенты преобразования в одномерную векторную форму на основе порядка сканирования коэффициентов и формировать информацию относительно квантованных коэффициентов преобразования на основе квантованных коэффициентов преобразования в одномерной векторной форме. Информация относительно коэффициентов преобразования может формироваться. Энтропийный кодер 240 может осуществлять различные способы кодирования, такие как, например, кодирование экспоненциальным кодом Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и т.п. Энтропийный кодер 240 может кодировать информацию, необходимую для восстановления видео/изображений, отличную от квантованных коэффициентов преобразования (например, значений синтаксических элементов и т.д.), вместе или отдельно. Кодированная информация (например, кодированная информация видео/изображений) может передаваться или сохраняться в единицах NAL (слоя абстрагирования от сети) в форме потока битов. Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. В настоящем раскрытии сущности, информация и/или синтаксические элементы, передаваемые/передаваемые в служебных сигналах из оборудования кодирования в оборудование декодирования, могут включаться в информацию видео/кадров. Информация видео/изображений может кодироваться через вышеописанную процедуру кодирования и включаться в поток битов. Поток битов может передаваться по сети или может сохраняться на цифровом носителе хранения данных. Сеть может включать в себя широковещательную сеть и/или сеть связи, и цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как, USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик (не показан), передающий сигнал, выводимый из энтропийного кодера 240, и/или модуль хранения (не показан), сохраняющий сигнал, могут включаться в качестве внутреннего/внешнего элемента оборудования 200 кодирования, и альтернативно, передатчик может включаться в энтропийный кодер 240.[63] The quantizer 233 may quantize the transform coefficients and pass them to the entropy encoder 240, and the entropy encoder 240 may encode the quantized signal (information regarding the quantized transform coefficients) and output a bitstream. The information regarding the quantized transform coefficients may be referred to as "residual information". The quantizer 233 may repackage the block quantized transform coefficients into one-dimensional vector form based on the scan order of the coefficients, and generate information about the quantized transform coefficients based on the quantized transform coefficients in one-dimensional vector form. Information regarding transform coefficients may be generated. Entropy encoder 240 may implement various coding methods such as exponential Golomb coding, context adaptive variable length coding (CAVLC), context adaptive binary arithmetic coding (CABAC), and the like, for example. Entropy encoder 240 may encode information needed for video/image reconstruction other than quantized transform coefficients (eg, syntax element values, etc.) together or separately. Encoded information (eg, encoded video/image information) may be transmitted or stored in NAL (Network Abstraction Layer) units in the form of a bit stream. 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 the present disclosure, information and/or syntax elements transmitted/signaled from encoding equipment to decoding equipment may be included in video/frame information. The video/image information may be encoded through the above-described encoding procedure and included in the bitstream. The bit stream may be transmitted over a network or may be stored on a digital storage medium. 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, SSD, and the like. A transmitter (not shown), transmitting a signal output from the entropy encoder 240, and/or a storage module (not shown) storing the signal may be included as an internal/external member of the encoding equipment 200, and alternatively, a transmitter may be included in the entropy encoder 240 .

[64] Квантованные коэффициенты преобразования, выводимые из квантователя 233, могут использоваться для того, чтобы формировать прогнозный сигнал. Например, остаточный сигнал (остаточный блок или остаточные выборки) может восстанавливаться посредством применения деквантования и обратного преобразования к квантованным коэффициентам преобразования через деквантователь 234 и обратный преобразователь 235. Сумматор 250 суммирует восстановленный остаточный сигнал с прогнозным сигналом, выводимым из модуля 221 взаимного прогнозирования или модуля 222 внутреннего прогнозирования, чтобы формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок). Если отсутствует остаток для блока, который должен обрабатываться, к примеру, в случае, в котором режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока. Сумматор 250 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, и может использоваться для взаимного прогнозирования следующего кадра посредством фильтрации, как описано ниже.[64] The quantized transform coefficients output from quantizer 233 may be used to generate a predictive signal. For example, the residual signal (residual block or residual samples) may be recovered by applying dequantization and inverse transformation to the quantized transform coefficients via dequantizer 234 and inverse transform 235. Summer 250 adds the recovered residual signal to the predictive signal output from inter prediction module 221 or module 222 intra-prediction to generate a reconstructed signal (recovered frame, reconstructed block, reconstructed sample array). If there is no remainder for a block to be processed, such as in a case in which the skip mode is applied, the predicted block may be used as the reconstructed block. The adder 250 may be referred to as a "recovery module" or "recovered block generator". The generated recovered signal may be used to intra-predict the next block to be processed in the current frame, and may be used to inter-predict the next frame through filtering as described below.

[65] Между тем, преобразование сигнала яркости с масштабированием сигнала цветности (LMCS) может применяться во время кодирования и/или восстановления кадров.[65] Meanwhile, luminance chrominance scaling (LMCS) transform may be applied during encoding and/or frame reconstruction.

[66] Фильтр 260 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 260 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 270, а именно, в DPB запоминающего устройства 270. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, дискретизированное адаптивное смещение, адаптивный контурный фильтр, билатеральный фильтр и т.п. Фильтр 260 может формировать различную информацию, связанную с фильтрацией, и передавать сформированную информацию в энтропийный кодер 240, как описано ниже в описании каждого способа фильтрации. Информация, связанная с фильтрацией, может кодироваться посредством энтропийного кодера 240 и выводиться в форме потока битов.[66] The filter 260 can improve subjective/objective image quality by applying filtering to the reconstructed signal. For example, filter 260 may generate a modified reconstructed frame by applying various filtering methods to the reconstructed frame and store the modified reconstructed frame in memory 270, namely the DPB of memory 270. Various filtering methods may include, for example, filtering to deblock , sampled adaptive bias, adaptive loop filter, bilateral filter, etc. The filter 260 may generate various filtering-related information and pass the generated information to the entropy encoder 240 as described below in the description of each filtering method. Filtering related information may be encoded by entropy encoder 240 and output in the form of a bitstream.

[67] Модифицированный восстановленный кадр, передаваемый в запоминающее устройство 270, может использоваться в качестве опорного кадра в модуле 221 взаимного прогнозирования. Когда взаимное прогнозирование применяется посредством оборудования кодирования, рассогласование прогнозирования между оборудованием 200 кодирования и оборудованием 300 декодирования может исключаться, и эффективность кодирования может повышаться.[67] The modified reconstructed frame transmitted to the memory 270 may be used as a reference frame in the inter prediction module 221 . When inter prediction is applied by the encoding equipment, prediction mismatch between the encoding equipment 200 and the decoding equipment 300 can be eliminated, and encoding efficiency can be improved.

[68] DPB запоминающего устройства 270 может сохранять модифицированный восстановленный кадр для использования в качестве опорного кадра в модуле 221 взаимного прогнозирования. Запоминающее устройство 270 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или кодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 221 взаимного прогнозирования и использоваться в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 270 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и может передавать восстановленные выборки в модуль 222 внутреннего прогнозирования.[68] The DPB of the memory 270 may store the modified reconstructed frame for use as a reference frame in the inter prediction module 221 . The memory 270 may store block motion information from which motion information in the current frame is extracted (or encoded) and/or motion information of blocks in the frame that have already been recovered. The stored motion information may be transmitted to the inter-prediction unit 221 and used as spatial neighbor block motion information or temporal neighbor block motion information. The memory 270 may store the recovered samples of the recovered blocks in the current frame and may pass the recovered samples to the intra prediction module 222 .

[69] Фиг. 3 является принципиальной схемой, иллюстрирующей конфигурацию оборудования декодирования видео/изображений, к которому может применяться вариант(ы) осуществления настоящего раскрытия сущности.[69] FIG. 3 is a schematic diagram illustrating a configuration of video/image decoding equipment to which embodiment(s) of the present disclosure may be applied.

[70] Ссылаясь на фиг. 3, оборудование 300 декодирования может включать в себя энтропийный декодер 310, остаточный процессор 320, модуль 330 прогнозирования, сумматор 340, фильтр 350, запоминающее устройство 360. Модуль 330 прогнозирования может включать в себя модуль 331 взаимного прогнозирования и модуль 332 внутреннего прогнозирования. Остаточный процессор 320 может включать в себя деквантователь 321 и обратный преобразователь 321. Энтропийный декодер 310, остаточный процессор 320, модуль 330 прогнозирования, сумматор 340 и фильтр 350 могут быть сконфигурированы посредством аппаратного компонента (например, набора микросхем или процессора декодера) согласно варианту осуществления. Помимо этого, запоминающее устройство 360 может включать в себя буфер декодированных кадров (DPB) или может быть сконфигурировано посредством цифрового носителя хранения данных. Аппаратный компонент дополнительно может включать в себя запоминающее устройство 360 в качестве внутреннего/внешнего компонента.[70] Referring to FIG. 3, the decoding equipment 300 may include an entropy decoder 310, a residual processor 320, a prediction unit 330, an adder 340, a filter 350, a memory 360. The prediction unit 330 may include an inter prediction unit 331 and an intra prediction unit 332. Residual processor 320 may include a dequantizer 321 and an inverse converter 321. Entropy decoder 310, residual processor 320, predictor 330, adder 340, and filter 350 may be configured by a hardware component (eg, a chipset or decoder processor) according to an embodiment. In addition, the storage device 360 may include a decoded frame buffer (DPB) or may be configured with a digital storage medium. The hardware component may further include a storage device 360 as an internal/external component.

[71] Когда поток битов, включающий в себя информацию видео/изображений, вводится, оборудование 300 декодирования может восстанавливать изображение, соответствующее процессу, в котором информация видео/изображений обрабатывается в оборудовании кодирования по фиг. 2. Например, оборудование 300 декодирования может извлекать единицы/блоки на основе связанной с сегментацией на блоки информации, полученной из потока битов. Оборудование 300 декодирования может выполнять декодирование с использованием блока обработки, применяемого в оборудовании кодирования. Таким образом, блок обработки декодирования, например, может представлять собой единицу кодирования, и единица кодирования может сегментироваться согласно структуре в виде дерева квадрантов, структуре в виде двоичного дерева и/или структуре в виде троичного дерева из единицы дерева кодирования или наибольшей единицы кодирования. Одна или более единиц преобразования могут извлекаться из единицы кодирования. Восстановленный сигнал изображения, декодированный и выводимый посредством оборудования 300 декодирования, может воспроизводиться посредством оборудования воспроизведения.[71] When a bitstream including video/image information is input, the decoding equipment 300 can reconstruct an image corresponding to a process in which the video/image information is processed in the encoding equipment of FIG. 2. For example, decoding equipment 300 may extract units/blocks based on block segmentation-related information obtained from the bit stream. The decoding equipment 300 may perform decoding using a processing unit used in the encoding equipment. Thus, the decoding processing unit may, for example, be a coding unit, and the coding unit may be segmented according to a quadtree structure, a binary tree structure, and/or a ternary tree structure from the coding tree unit or the largest coding unit. One or more transformation units may be derived from a coding unit. The reconstructed image signal decoded and output by the decoding equipment 300 can be reproduced by the playback equipment.

[72] Оборудование 300 декодирования может принимать сигнал, выводимый из оборудования кодирования по фиг. 2 в форме потока битов, и принимаемый сигнал может декодироваться через энтропийный декодер 310. Например, энтропийный декодер 310 может синтаксически анализировать поток битов, чтобы извлекать информацию (например, информацию видео/изображений), необходимую для восстановления изображений (или восстановления кадров). Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Оборудование декодирования дополнительно может декодировать кадр на основе информации относительно набора параметров и/или общей информации ограничений. Передаваемая в служебных сигналах/принимаемая информация и/или синтаксические элементы, описанные далее в настоящем раскрытии сущности, могут декодироваться, могут декодировать процедуру декодирования и получаться из потока битов. Например, энтропийный декодер 310 декодирует информацию в потоке битов на основе способа кодирования, такого как кодирование экспоненциальным кодом Голомба, CAVLC или CABAC, и выходных синтаксических элементов, требуемых для восстановления изображений, и квантованных значений коэффициентов преобразования для остатка. Более конкретно, способ энтропийного CABAC-декодирования может принимать элемент разрешения, соответствующий каждому синтаксическому элементу в потоке битов, определять контекстную модель с использованием информации целевого синтаксического элемента декодирования, информации декодирования целевого блока декодирования или информации символа/элемента разрешения, декодированного на предыдущей стадии, и выполнять арифметическое декодирование для элемента разрешения посредством прогнозирования вероятности появления элемента разрешения согласно определенной контекстной модели и формировать символ, соответствующий значению каждого синтаксического элемента. В этом случае, способ энтропийного CABAC-декодирования может обновлять контекстную модель посредством использования информации декодированного символа/элемента разрешения для контекстной модели следующего символа/элемента разрешения после определения контекстной модели. Информация, связанная с прогнозированием, из информации, декодированной посредством энтропийного декодера 310, может предоставляться в модуль прогнозирования (модуль 332 взаимного прогнозирования и модуль 331 внутреннего прогнозирования), и остаточное значение, для которого энтропийное декодирование выполнено в энтропийном декодере 310, т.е. квантованные коэффициенты преобразования и связанная информация параметров, может вводиться в остаточный процессор 320. Остаточный процессор 320 может извлекать остаточный сигнал (остаточный блок, остаточные выборки, массив остаточных выборок). Помимо этого, информация относительно фильтрации из информации, декодированной посредством энтропийного декодера 310, может предоставляться в фильтр 350. Между тем, приемник (не показан) для приема сигнала, выводимого из оборудования кодирования, может быть дополнительно сконфигурирован в качестве внутреннего/внешнего элемента оборудования 300 декодирования, либо приемник может представлять собой компонент энтропийного декодера 310. Между тем, оборудование декодирования согласно этому документу может называться "оборудованием декодирования видео/изображений/кадров", и оборудование декодирования может классифицироваться на информационный декодер (декодер информации видео/изображений/кадров) и выборочный декодер (декодер выборок видео/изображений/кадров). Информационный декодер может включать в себя энтропийный декодер 310, и выборочный декодер может включать в себя, по меньшей мере, одно из деквантователя 321, обратного преобразователя 322, сумматора 340, фильтра 350, запоминающего устройства 360, модуля 332 взаимного прогнозирования и модуля 331 внутреннего прогнозирования.[72] The decoding equipment 300 may receive a signal output from the encoding equipment of FIG. 2 in the form of a bitstream, and the received signal may be decoded via entropy decoder 310. For example, entropy decoder 310 may parse the bitstream to extract information (eg, video/image information) needed for image recovery (or frame recovery). 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 the parameter set information and/or general constraint information. Signaling/receiving information and/or syntax elements described later in this disclosure may be decoded, may be decoded by a decoding procedure, and obtained from a bit stream. For example, entropy decoder 310 decodes information in the bitstream based on an encoding method such as Exponential Golomb, CAVLC, or CABAC coding and output syntax elements required for image reconstruction and quantized transform coefficient values for the remainder. More specifically, the CABAC entropy decoding method can receive a bin corresponding to each syntax element in the bit stream, determine a context model using the decoding target syntax element information, the decoding information of the decoding target block, or the symbol/bin information decoded in the previous step, and perform arithmetic decoding on the permission element by predicting the occurrence probability of the permission element according to the determined context model, and generating a character corresponding to the value of each syntax element. In this case, the CABAC entropy decoding method can update the context model by using the decoded symbol/bin information for the context model of the next symbol/bin after the context model is determined. Prediction related information from the information decoded by the entropy decoder 310 may be provided to a prediction unit (inter prediction unit 332 and intra prediction unit 331) and a residual value for which entropy decoding is performed in the entropy decoder 310, i. the quantized transform coefficients and associated parameter information may be input to residual processor 320. Residual processor 320 may extract the residual signal (residual block, residual samples, residual sample array). In addition, information regarding filtering from the information decoded by the entropy decoder 310 may be provided to the filter 350. Meanwhile, a receiver (not shown) for receiving a signal output from the encoding equipment may be further configured as an internal/external member of the equipment 300 decoding equipment, or the receiver may be a component of the entropy decoder 310. Meanwhile, the decoding equipment according to this document may be referred to as "video/image/frame decoding equipment", and the decoding equipment may be classified into an information decoder (video/image/frame information decoder) and selective decoder (decoder of video/image/frame samples). The information decoder may include an entropy decoder 310, and the selective decoder may include at least one of a dequantizer 321, an inverse transform 322, an adder 340, a filter 350, a memory 360, an inter prediction unit 332, and an intra prediction unit 331. .

[73] Деквантователь 321 может деквантовать квантованные коэффициенты преобразования и выводить коэффициенты преобразования. Деквантователь 321 может перекомпоновывать квантованные коэффициенты преобразования в форме двумерной блочной формы. В этом случае, перекомпоновка может выполняться на основе порядка сканирования коэффициентов, выполняемого в оборудовании кодирования. Деквантователь 321 может выполнять деквантование для квантованных коэффициентов преобразования посредством использования параметра квантования (например, информации размера шага квантования) и получать коэффициенты преобразования.[73] The dequantizer 321 may dequantize the quantized transform coefficients and output the transform coefficients. The dequantizer 321 may recompose the quantized transform coefficients into a two-dimensional block form. In this case, the reassembly may be performed based on the coefficient scan order performed in the encoding equipment. The dequantizer 321 may perform dequantization on the quantized transform coefficients by using a quantization parameter (eg, quantization step size information) and obtain the transform coefficients.

[74] Обратный преобразователь 322 обратно преобразует коэффициенты преобразования, чтобы получать остаточный сигнал (остаточный блок, массив остаточных выборок).[74] The inverse transform 322 inversely transforms the transform coefficients to obtain a residual signal (residual block, array of residual samples).

[75] Модуль 230 прогнозирования может выполнять прогнозирование для текущего блока и может формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование к текущему блоку, на основе информации относительно прогнозирования, выводимой из энтропийного декодера 310, и может определять конкретный режим внутреннего/взаимного прогнозирования.[75] Prediction module 230 may perform prediction for the current block and may generate a predicted block including prediction samples for the current block. The prediction module may determine whether intra prediction or inter prediction is applied to the current block based on the prediction information output from the entropy decoder 310, and may determine a specific intra/inter prediction mode.

[76] Модуль 320 прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования, описанных ниже. Например, модуль прогнозирования может не только применять внутреннее прогнозирование или взаимное прогнозирование для того, чтобы прогнозировать один блок, но также и одновременно применять внутреннее прогнозирование и взаимное прогнозирование. Это может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может быть основан на режиме прогнозирования на основе внутриблочного копирования (IBC) либо на палитровом режиме для прогнозирования блока. Режим IBC-прогнозирования или палитровый режим может использоваться для кодирования изображений/видео контента игры и т.п., например, для кодирования экранного контента (SCC). IBC по существу выполняет прогнозирование в текущем кадре, но может выполняться аналогично взаимному прогнозированию, в котором опорный блок извлекается в текущем кадре. Таким образом, IBC может использовать, по меньшей мере, одну из технологий взаимного прогнозирования, описанных в настоящем раскрытии сущности. Палитровый режим может рассматриваться как пример внутреннего кодирования или внутреннего прогнозирования. Когда палитровый режим применяется, выборочное значение в кадре может передаваться в служебных сигналах на основе информации относительно таблицы палитр и индекса палитры.[76] Prediction module 320 may generate a predictive signal based on various prediction methods described below. For example, the prediction module may not only apply intra prediction or inter prediction in order to predict one block, but also apply intra prediction and inter prediction at the same time. This may be referred to as "combined mutual and intra prediction (CIIP)". In addition, the prediction module may be based on an intra-block copy (IBC) prediction mode or a palette mode for block prediction. The IBC prediction mode or palette mode can be used for image/video coding of game content and the like, for example, screen content coding (SCC). The IBC essentially performs prediction in the current frame, but may be performed similar to inter prediction in which the reference block is retrieved in the current frame. Thus, the IBC may use at least one of the inter-prediction technologies described in the present disclosure. Palette mode can be considered as an example of intra coding or intra prediction. When the palette mode is applied, a sample value in a frame may be signaled based on information regarding the palette table and palette index.

[77] Модуль 331 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки для ссылки могут быть расположены в окружении текущего блока или могут быть расположены независимо согласно режиму прогнозирования. При внутреннем прогнозировании, режимы прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Модуль 331 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.[77] The intra prediction module 331 may predict the current block by referring to the samples in the current frame. The reference samples may be located in the surroundings of the current block, or may be independently located according to the prediction mode. In intra prediction, the prediction modes may include a plurality of non-directional modes and a plurality of directional modes. The intra prediction unit 331 may determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring block.

[78] Модуль 332 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Например, модуль 332 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и извлекать вектор движения текущего блока и/или индекс опорного кадра на основе принимаемой информации выбора возможных вариантов. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования, и информация относительно прогнозирования может включать в себя информацию, указывающую режим взаимного прогнозирования для текущего блока.[78] The inter prediction unit 332 may derive a predicted block for the current block based on a reference block (reference sample array) 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 the adjacent 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, an adjacent block may include a spatial adjacent block present in the current frame and a temporal adjacent block present in the reference frame. For example, inter-prediction unit 332 may configure a motion information candidate list based on neighboring blocks, and derive the current block's motion vector and/or reference frame index based on the received candidate selection information. Inter prediction may be performed based on various prediction modes, and the prediction information may include information indicative of the inter prediction mode for the current block.

[79] Сумматор 340 может формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок) посредством суммирования полученного остаточного сигнала с прогнозным сигналом (прогнозированным блоком, массивом прогнозированных выборок), выводимым из модуля прогнозирования (включающего в себя модуль 332 взаимного прогнозирования и/или модуль 331 внутреннего прогнозирования). Если отсутствует остаток для блока, который должен обрабатываться, к примеру, когда режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока.[79] The adder 340 may generate a reconstructed signal (recovered frame, reconstructed block, reconstructed sample array) by summing the obtained residual signal with the predictive signal (predicted block, predicted sample array) output from the prediction module (including the inter prediction module 332 and /or internal prediction module 331). If there is no remainder for the block to be processed, for example, when the skip mode is applied, the predicted block may be used as the reconstructed block.

[80] Сумматор 340 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, может выводиться посредством фильтрации, как описано ниже, или может использоваться для взаимного прогнозирования следующего кадра.[80] The adder 340 may be referred to as a "recovery module" or "recovered block generator". The generated recovered signal may be used for intra prediction of the next block to be processed in the current frame, may be output by filtering as described below, or may be used for inter prediction of the next frame.

[81] Фильтр 350 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 350 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 360, а именно, в DPB запоминающего устройства 360. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, дискретизированное адаптивное смещение, адаптивный контурный фильтр, билатеральный фильтр и т.п.[81] The filter 350 can improve subjective/objective image quality by applying filtering to the reconstructed signal. For example, filter 350 may generate a modified reconstructed frame by applying various filtering methods to the reconstructed frame and store the modified reconstructed frame in memory 360, namely the DPB of memory 360. Various filtering methods may include, for example, filtering to deblock , sampled adaptive bias, adaptive loop filter, bilateral filter, etc.

[82] (Модифицированный) восстановленный кадр, сохраненный в DPB запоминающего устройства 360, может использоваться в качестве опорного кадра в модуле 332 взаимного прогнозирования. Запоминающее устройство 360 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или декодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 260 взаимного прогнозирования, так что она используется в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 360 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и передавать восстановленные выборки в модуль 331 внутреннего прогнозирования.[82] The (modified) reconstructed frame stored in the DPB of the storage device 360 may be used as a reference frame in the inter prediction module 332 . The memory 360 may store block motion information from which motion information in the current frame is extracted (or decoded) and/or motion information of blocks in the frame that have already been recovered. The stored motion information may be transmitted to the inter-prediction unit 260 so that it is used as spatial neighbor block motion information or temporal neighbor block motion information. The memory device 360 may store the reconstructed samples of the reconstructed blocks in the current frame and pass the reconstructed samples to the intra prediction module 331 .

[83] В настоящем документе, варианты осуществления, описанные в фильтре 260, модуле 221 взаимного прогнозирования и модуле 222 внутреннего прогнозирования оборудования 200 кодирования, могут быть идентичными или надлежащим образом применяться, так что они соответствуют фильтру 350, модулю 332 взаимного прогнозирования и модулю 331 внутреннего прогнозирования оборудования 300 декодирования. То же также может применяться к модулю 332 и модулю 331 внутреннего прогнозирования.[83] Herein, the embodiments described in the filter 260, the inter prediction unit 221, and the intra prediction unit 222 of the encoding equipment 200 may be identical or appropriately applied so that they correspond to the filter 350, the inter prediction unit 332, and the unit 331 internal prediction equipment 300 decoding. The same can also be applied to module 332 and module 331 internal prediction.

[84] Как описано выше, при кодировании видео, прогнозирование выполняется для того, чтобы повышать эффективность сжатия. Через это, можно формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока, который представляет собой блок, который должен кодироваться. Здесь, прогнозированный блок включает в себя прогнозные выборки в пространственной области (или пиксельной области). Прогнозированный блок извлекается одинаково из устройства кодирования и устройства декодирования, и устройство кодирования декодирует информацию (остаточную информацию) относительно остатка между исходным блоком и прогнозированным блоком, а не исходное выборочное значение самого исходного блока. Посредством передачи служебных сигналов в устройство может увеличиваться эффективность кодирования изображений. Оборудование декодирования может извлекать остаточный блок, включающий в себя остаточные выборки на основе остаточной информации, и формировать восстановленный блок, включающий в себя восстановленные выборки, посредством суммирования остаточного блока с прогнозированным блоком и формировать восстановленный кадр, включающий в себя восстановленные блоки.[84] As described above, when encoding video, prediction is performed in order to improve compression efficiency. Through this, it is possible to generate a prediction block including prediction samples for the current block, which is a block to be encoded. Here, the prediction block includes prediction samples in the spatial domain (or pixel domain). The predicted block is extracted equally from the encoder and the decoder, and the encoder decodes information (residual information) about the residual between the original block and the predicted block, rather than the original sample value of the original block itself. By signaling to the device, the image encoding efficiency can be increased. The decoding equipment can extract a residual block including the residual samples based on the residual information, and generate a reconstructed block including the reconstructed samples by summing the residual block with the predicted block, and generate a reconstructed frame including the reconstructed blocks.

[85] Остаточная информация может формироваться через процессы преобразования и квантования. Например, оборудование кодирования может извлекать остаточный блок между исходным блоком и прогнозированным блоком и выполнять процесс преобразования для остаточных выборок (массива остаточных выборок), включенных в остаточный блок, чтобы извлекать коэффициенты преобразования, и после этого, посредством выполнения процесса квантования для коэффициентов преобразования, извлекать квантованные коэффициенты преобразования, чтобы передавать в служебных сигналах остаточную связанную информацию в оборудование декодирования (через поток битов). Здесь, остаточная информация может включать в себя информацию местоположения, технологию преобразования, ядро преобразования и параметр квантования, информацию значений квантованных коэффициентов преобразования и т.д. Оборудование декодирования может выполнять процесс деквантования/обратного преобразования на основе остаточной информации и извлекать остаточные выборки (или остаточные блоки). Оборудование декодирования может формировать восстановленное изображение на основе прогнозированного блока и остаточного блока. Оборудование кодирования также может деквантовать/обратно преобразовывать квантованные коэффициенты преобразования для ссылки для взаимного прогнозирования более позднего кадра, чтобы извлекать остаточный блок и формировать восстановленный кадр на его основе. В настоящем документе, по меньшей мере, одно из квантования/деквантования и/или преобразования/обратного преобразования может опускаться. Когда квантование/деквантование опускается, квантованный коэффициент преобразования может называться "коэффициентом преобразования". Когда преобразование/обратное преобразование опускается, коэффициенты преобразования могут называться "коэффициентами" или "остаточными коэффициентами" либо по-прежнему могут называться "коэффициентами преобразования" для единообразности выражения. В настоящем документе, квантованный коэффициент преобразования и коэффициент преобразования могут называться "коэффициентом преобразования" и "масштабированным коэффициентом преобразования", соответственно. В этом случае, остаточная информация может включать в себя информацию относительно коэффициента(ов) преобразования, и информация относительно коэффициента(ов) преобразования может передаваться в служебных сигналах через синтаксис остаточного кодирования. Коэффициенты преобразования могут извлекаться на основе остаточной информации (или информации относительно коэффициента(ов) преобразования), и масштабированные коэффициенты преобразования могут извлекаться через обратное преобразование (масштабирование) для коэффициентов преобразования. Остаточные выборки могут извлекаться на основе обратного преобразования (преобразования) масштабированных коэффициентов преобразования. Это также может применяться/выражаться в других частях настоящего документа.[85] Residual information may be generated through transformation and quantization processes. For example, the encoding equipment may extract the residual block between the original block and the predicted block, and perform a transform process on the residual samples (array of residual samples) included in the residual block to extract transform coefficients, and thereafter, by performing a quantization process on the transform coefficients, extract quantized transform coefficients to signal the residual associated information to the decoding equipment (via the bitstream). Here, the residual information may include location information, transform technology, transform kernel and quantization parameter, quantized transform coefficient value information, and so on. The decoding equipment may perform a dequantization/inverse transform process based on the residual information and extract residual samples (or residual blocks). The decoding equipment may generate a reconstructed image based on the predicted block and the residual block. The encoding equipment may also dequantize/inversely transform the quantized transform coefficients for a later frame inter-prediction reference to extract the residual block and generate a reconstructed frame based on it. Herein, at least one of quantization/dequantization and/or transformation/inverse transformation may be omitted. When quantization/dequantization is omitted, the quantized transform coefficient may be referred to as a "transform coefficient". When the transform/inverse transform is omitted, the transform coefficients may be referred to as "coefficients" or "residual coefficients", or may still be referred to as "transform coefficients" for uniformity of expression. Herein, the quantized transform coefficient and the transform coefficient may be referred to as "transform coefficient" and "scaled transform coefficient", respectively. In this case, the residual information may include information on the transform coefficient(s), and information on the transform coefficient(s) may be signaled via the residual coding syntax. The transform coefficients may be derived based on the residual information (or information regarding the transform coefficient(s)), and the scaled transform coefficients may be derived via an inverse transform (scaling) of the transform coefficients. Residual samples may be derived based on an inverse transform (transform) of the scaled transform coefficients. This may also apply/express in other parts of this document.

[86] Внутреннее прогнозирование может означать прогнозирование, которое формирует прогнозные выборки для текущего блока на основе опорных выборок в кадре, которому принадлежит текущий блок (далее называется "текущим кадром"). Когда внутреннее прогнозирование применяется к текущему блоку, соседние опорные выборки, которые должны использоваться для внутреннего прогнозирования текущего блока, могут извлекаться. Соседние опорные выборки текущего блока могут включать в себя выборки, смежные с левой границей относительно текущего блока, имеющего размер nWxnH, и в сумме 2xnH выборок, граничащих с левой нижней частью, выборки, смежные с верхней границей относительно текущего блока, и в сумме 2xnW выборок, граничащих с правой верхней частью, и одну выборку, граничащую с левой верхней частью относительно текущего блока. Альтернативно, соседние опорные выборки текущего блока могут включать в себя множество верхних соседних выборок и множество левых соседних выборок. Помимо этого, соседние опорные выборки текущего блока могут включать в сумме nH выборок, смежных с правой границей относительно текущего блока, имеющего размер nWxnH, в сумме nW выборок, смежных с нижней границей относительно текущего блока, и одну выборку, смежную с правой нижней частью относительно текущего блока.[86] Intra prediction may mean prediction that generates predictive samples for the current block based on the reference samples in the frame to which the current block belongs (hereinafter referred to as the "current frame"). When intra prediction is applied to the current block, adjacent reference samples to be used for intra prediction of the current block may be extracted. Adjacent reference samples of the current block may include samples adjacent to the left border relative to the current block having size nWxnH and a total of 2xnH samples bordering the bottom left, samples adjacent to the upper border relative to the current block and a total of 2xnW samples , bordering the top right, and one selection bordering the top left, relative to the current block. Alternatively, the adjacent reference samples of the current block may include a plurality of upper neighbor samples and a plurality of left neighbor samples. In addition, the adjacent reference samples of the current block may include a sum of nH samples adjacent to the right boundary with respect to the current block having size nWxnH, a sum of nW samples adjacent to the lower boundary relative to the current block, and one sample adjacent to the lower right with respect to current block.

[87] Тем не менее, некоторые соседние опорные выборки текущего блока могут еще не декодироваться или не быть доступными. В этом случае, декодер может конфигурировать соседние опорные выборки, которые следует использовать для прогнозирования, посредством подстановки вместо выборок, которые не доступны, доступных выборок. Альтернативно, соседние опорные выборки, которые должны использоваться для прогнозирования, могут быть сконфигурированы через интерполяцию доступных выборок.[87] However, some adjacent reference samples of the current block may not yet be decoded or may not be available. In this case, the decoder may configure adjacent reference samples to be used for prediction by substituting available samples for samples that are not available. Alternatively, adjacent reference samples to be used for prediction may be configured through interpolation of the available samples.

[88] Когда соседние опорные выборки извлекаются, (i) прогнозная выборка может извлекаться на основе среднего или интерполяции соседних опорных выборок текущего блока, и (ii) прогнозная выборка может извлекаться на основе опорной выборки, присутствующей в конкретном направлении (прогнозирования) для прогнозной выборки из периферийных опорных выборок текущего блока. Случай (i) может называться "ненаправленным режимом" или "неугловым режимом", и случай (ii) может называться "направленным режимом" или "угловым режимом".[88] When neighboring reference samples are extracted, (i) a prediction sample may be derived based on an average or an interpolation of adjacent reference samples of the current block, and (ii) a prediction sample may be derived based on a reference sample present in a particular direction (prediction) for the prediction sample from the peripheral reference samples of the current block. Case (i) may be referred to as "non-directional mode" or "non-angular mode", and case (ii) may be referred to as "directional mode" or "angular mode".

[89] Кроме того, прогнозная выборка также может формироваться через интерполяцию между второй соседней выборкой и первой соседней выборкой, расположенной в направлении, противоположном направлению прогнозирования режима внутреннего прогнозирования текущего блока на основе прогнозной выборки текущего блока из соседних опорных выборок. Вышеописанный случай может называться "внутренним прогнозированием с линейной интерполяцией (LIP)". Помимо этого, выборки прогнозирования сигналов цветности могут формироваться на основе выборок сигнала яркости с использованием линейной модели. Этот случай может называться "LM-режимом".[89] In addition, the prediction sample can also be generated through interpolation between the second neighboring sample and the first neighboring sample located in the direction opposite to the prediction direction of the intra prediction mode of the current block based on the prediction sample of the current block from the neighboring reference samples. The above case may be referred to as "linear interpolation intra prediction (LIP)". In addition, the chrominance signal prediction samples may be generated based on the luminance signal samples using a linear model. This case may be referred to as "LM mode".

[90] Помимо этого, временная прогнозная выборка текущего блока может извлекаться на основе фильтруемых соседних опорных выборок и, по меньшей мере, одной опорной выборки, извлекаемой согласно режиму внутреннего прогнозирования из существующих соседних опорных выборок, т.е. нефильтрованные соседние опорные выборки и временная прогнозная выборка могут суммироваться со взвешиванием, чтобы извлекать прогнозную выборку текущего блока. Вышеописанный случай может называться "позиционно-зависимым внутренним прогнозированием (PDPC)".[90] In addition, the temporal prediction sample of the current block may be derived based on the filtered neighbor reference samples and at least one reference sample derived according to the intra prediction mode from the existing neighbor reference samples, i. the unfiltered adjacent reference samples and the temporal prediction sample may be added with weighting to derive the current block prediction sample. The above case may be referred to as "position dependent intra prediction (PDPC)".

[91] Помимо этого, линия опорных выборок, имеющая наибольшую точность прогнозирования из соседних множественных опорных примерных линий текущего блока, может выбираться, чтобы извлекать прогнозную выборку посредством использования опорной выборки, расположенной в направлении прогнозирования на соответствующей линии, и затем линия опорных выборок, используемая в данном документе, может указываться (передаваться в служебных сигналах) в оборудование декодирования, за счет этого выполняя внутреннее прогнозирующее кодирование. Вышеописанный случай может называться "внутренним прогнозированием на основе множественной опорной линии (MRL) " или "внутренним прогнозированием на основе MRL".[91] In addition, a reference sample line having the highest prediction accuracy of the adjacent multiple reference exemplary lines of the current block may be selected to extract a prediction sample by using a reference sample located in the prediction direction on the corresponding line, and then the reference sample line used herein, may be indicated (signaled) to the decoding equipment, thereby performing intra predictive coding. The above case may be referred to as "multiple reference line (MRL) intra prediction" or "MRL intra prediction".

[92] Помимо этого, внутреннее прогнозирование может выполняться на основе идентичного режима внутреннего прогнозирования посредством разделения текущего блока на вертикальные или горизонтальные субсегменты, и соседние опорные выборки могут извлекаться и использоваться в единице субсегментов. Таким образом, в этом случае, режим внутреннего прогнозирования для текущего блока в равной степени применяется к субсегментам, и производительность внутреннего прогнозирования может повышаться в некоторых случаях посредством извлечения и использования соседних опорных выборок в единице субсегментов. Такой способ прогнозирования может называться "внутренним прогнозированием на основе внутренних субсегментов (ISP) или на основе ISP".[92] In addition, intra prediction may be performed based on the same intra prediction mode by dividing the current block into vertical or horizontal sub-segments, and adjacent reference samples may be extracted and used in a unit of sub-segments. Thus, in this case, the intra prediction mode for the current block is equally applied to the sub-segments, and the performance of the intra prediction can be improved in some cases by extracting and using neighboring reference samples in a unit of sub-segments. Such a prediction method may be referred to as "intra-sub-segment prediction (ISP) or ISP-based".

[93] Вышеописанные способы внутреннего прогнозирования могут называться "типом внутреннего прогнозирования" отдельно от режима внутреннего прогнозирования. Тип внутреннего прогнозирования может называться с помощью различных терминов, таких как "технология внутреннего прогнозирования" или "дополнительный режим внутреннего прогнозирования". Например, тип внутреннего прогнозирования (или дополнительный режим внутреннего прогнозирования) может включать в себя, по меньшей мере, одно из вышеописанных LIP, PDPC, MRL и ISP. Общий способ внутреннего прогнозирования, за исключением конкретного типа внутреннего прогнозирования, такого как LIP, PDPC, MRL или ISP, может называться "типом нормального внутреннего прогнозирования". Тип нормального внутреннего прогнозирования, в общем, может применяться, когда конкретный тип внутреннего прогнозирования не применяется, и прогнозирование может выполняться на основе режима внутреннего прогнозирования, описанного выше. Между тем, постфильтрация может выполняться для прогнозированной выборки, извлекаемой по мере необходимости.[93] The above-described intra prediction methods may be referred to as "intra prediction type" apart from the intra prediction mode. The type of intra prediction may be referred to by various terms such as "intra prediction technology" or "additional intra prediction mode". For example, the intra prediction type (or additional intra prediction mode) may include at least one of LIP, PDPC, MRL, and ISP described above. The general intra prediction method except for a specific type of intra prediction such as LIP, PDPC, MRL, or ISP may be referred to as "normal intra prediction type". The normal intra prediction type may generally be applied when a particular type of intra prediction is not applied, and prediction may be performed based on the intra prediction mode described above. Meanwhile, post-filtering can be performed on the predicted sample, drawn as needed.

[94] В частности, процедура внутреннего прогнозирования может включать в себя этап определения режима/типа внутреннего прогнозирования, этап извлечения соседних опорных выборок и этап извлечения прогнозных выборок на основе режима/типа внутреннего прогнозирования. Помимо этого, этап постфильтрации может выполняться для прогнозированной выборки, извлекаемой по мере необходимости.[94] Specifically, the intra prediction procedure may include an intra prediction mode/type determination step, an adjacent reference sample extraction step, and a prediction sample extraction step based on the intra prediction mode/type. In addition, the post-filtering step may be performed on the predicted sample, drawn as needed.

[95] Когда внутреннее прогнозирование применяется, режим внутреннего прогнозирования, применяемый к текущему блоку, может определяться с использованием режима внутреннего прогнозирования соседнего блока. Например, оборудование декодирования может выбирать один из возможных вариантов наиболее вероятного режима (MPM) MPM-списка, извлекаемого на основе режима внутреннего прогнозирования соседнего блока (например, левого и/или верхнего соседних блоков) относительно текущего блока на основе принимаемого MPM-индекса и выбирать один из других оставшихся вводных режимов прогнозирования, не включенных в возможные MPM-варианты (и в планарный режим), на основе информации оставшегося режима внутреннего прогнозирования. MPM-список может быть выполнен с возможностью включать в себя или не включать в себя планарный режим в качестве возможного варианта. Например, если MPM-список включает в себя планарный режим в качестве возможного варианта, MPM-список может иметь шесть возможных вариантов. Если MPM-список не включает в себя планарный режим в качестве возможного варианта, MPM-список может иметь три возможных варианта. Когда MPM-список не включает в себя планарный режим в качестве возможного варианта, непланарный флаг (например, intra_luma_not_planar_flag), указывающий то, не представляет собой либо представляет собой режим внутреннего прогнозирования текущего блока планарный режим, может передаваться в служебных сигналах. Например, MPM-флаг может передаваться в служебных сигналах сначала, и MPM-индекс и непланарный флаг могут передаваться в служебных сигналах, когда значение MPM-флага равно 1. Помимо этого, MPM-индекс может передаваться в служебных сигналах, когда значение непланарного флага равно 1. Здесь, MPM-список выполнен с возможностью как не включать в себя планарный режим, поскольку возможный вариант не должен передавать в служебных сигналах непланарный флаг первым, чтобы сначала проверять то представляет он собой или нет планарный режим, поскольку планарный режим всегда рассматривается в качестве MPM.[95] When intra prediction is applied, the intra prediction mode applied to the current block may be determined using the intra prediction mode of the adjacent block. For example, the decoding equipment may select one of the most likely mode (MPM) options of the MPM list derived based on the intra prediction mode of an adjacent block (e.g., left and/or top neighboring blocks) relative to the current block based on the received MPM index, and select one of the other remaining input prediction modes not included in the MPM candidates (and in the planar mode), based on the information of the remaining intra prediction mode. The MPM list may be configured to include or not include a planar mode as an option. For example, if the MPM list includes planar mode as an option, the MPM list may have six options. If the MPM list does not include planar as an option, the MPM list can have three options. When the MPM list does not include a planar mode as an option, a non-planar flag (eg, intra_luma_not_planar_flag) indicating whether or not the intra prediction mode of the current block is a planar mode may be signaled. For example, the MPM flag may be signaled first, and the MPM index and the non-planar flag may be signaled when the value of the MPM flag is 1. In addition, the MPM index may be signaled when the value of the non-planar flag is 1. Here, the MPM list is configured to not include a planar mode, since the option is not to signal the non-planar flag first, in order to first check whether it is or not a planar mode, since the planar mode is always considered as MPM.

[96] Например, то, находится режим внутреннего прогнозирования, применяемый к текущему блоку, в возможных MPM-вариантах (и в планарном режиме) или в оставшемся режиме, может указываться на основе MPM-флага (например, intra_luma_mpm_flag). Значение 1 MPM-флага может указывать то, что режим внутреннего прогнозирования для текущего блока находится в возможных MPM-вариантах (и в планарном режиме), и значение 0 MPM-флага может указывать то, что режим внутреннего прогнозирования для текущего блока не находится в возможных MPM-вариантах (и планарном режиме). Значение 0 непланарного флага (например, intra_luma_not_planar_flag) может указывать то, что режим внутреннего прогнозирования для текущего блока представляет собой планарный режим, и значение 1 не значения планарного флага может указывать то, что режим внутреннего прогнозирования для текущего блока не представляет собой планарный режим. MPM-индекс может передаваться в служебных сигналах в форме синтаксического элемента mpm_idx или intra_luma_mpm_idx, и информация оставшегося режима внутреннего прогнозирования может передаваться в служебных сигналах в форме синтаксического элемента rem_intra_luma_pred_mode или intra_luma_mpm_remainder. Например, информация оставшегося режима внутреннего прогнозирования может индексировать оставшиеся режимы внутреннего прогнозирования, не включенные в возможные MPM-варианты (и в планарный режим), из всех режимов внутреннего прогнозирования в порядке номера режима прогнозирования, чтобы указывать один из них. Режим внутреннего прогнозирования может представлять собой режим внутреннего прогнозирования для компонента (выборки) сигнала яркости. В дальнейшем в этом документе, информация режима внутреннего прогнозирования может включать в себя, по меньшей мере, одно из MPM-флага (например, intra_luma_mpm_flag), непланарного флага (например, Intra_luma_not_planar_flag), MPM-индекса (например, mpm_idx или intra_luma_mpm_idx) и информации оставшегося режима внутреннего прогнозирования (rem_intra_luma_pred_mode или intra_luma_mpm_remainder). В настоящем документе, MPM-список может называться с помощью различных терминов, таких как "список возможных MPM-вариантов" и "candModeList". Когда MIP применяется к текущему блоку, отдельный MPM-флаг (например, intra_mip_mpm_flag), MPM-индекс (например, intra_mip_mpm_idx) и информация оставшегося режима внутреннего прогнозирования (например, intra_mip_mpm_remainder) для MIP могут передаваться в служебных сигналах, и непланарный флаг не передается в служебных сигналах.[96] For example, whether the intra prediction mode applied to the current block is in MPM candidates (and in planar mode) or in the remaining mode may be indicated based on an MPM flag (eg, intra_luma_mpm_flag). An MPM flag value of 1 may indicate that the intra prediction mode for the current block is in MPM candidate cases (and in planar mode), and an MPM flag value of 0 may indicate that the intra prediction mode for the current block is not in candidate MPM candidates. MPM variants (and planar mode). A non-planar flag value of 0 (eg, intra_luma_not_planar_flag) may indicate that the intra prediction mode for the current block is a planar mode, and a non-planar flag value of 1 may indicate that the intra prediction mode for the current block is not a planar mode. The MPM index may be signaled in the form of the mpm_idx or intra_luma_mpm_idx syntax element, and the intra-prediction remaining mode information may be signaled in the form of the rem_intra_luma_pred_mode or intra_luma_mpm_remainder syntax element. For example, the remaining intra prediction mode information may index the remaining intra prediction modes not included in MPM candidates (and planar mode) from all intra prediction modes in order of prediction mode number to indicate one of them. The intra prediction mode may be an intra prediction mode for a component (sample) of the luminance signal. Hereinafter, the intra prediction mode information may include at least one of an MPM flag (eg, intra_luma_mpm_flag), a non-planar flag (eg, Intra_luma_not_planar_flag), an MPM index (eg, mpm_idx or intra_luma_mpm_idx), and information the remaining intra prediction mode (rem_intra_luma_pred_mode or intra_luma_mpm_remainder). In this document, an MPM list may be referred to by various terms such as "MPM candidate list" and "candModeList". When MIP is applied to the current block, a separate MPM flag (eg, intra_mip_mpm_flag), MPM index (eg, intra_mip_mpm_idx), and intra prediction mode remaining information (eg, intra_mip_mpm_remainder) for the MIP may be signaled, and the non-planar flag is not transmitted in service signals.

[97] Другими словами, в общем, когда разбиение блоков выполняется для изображения, текущий блок и соседний блок, которые должны кодироваться, имеют аналогичные характеристики изображений. Следовательно, текущий блок и соседний блок имеют высокую вероятность наличия идентичного или аналогичного режима внутреннего прогнозирования. Таким образом, кодер может использовать режим внутреннего прогнозирования соседнего блока для того, чтобы кодировать режим внутреннего прогнозирования текущего блока.[97] In other words, in general, when block splitting is performed on a picture, the current block and the adjacent block to be encoded have similar picture characteristics. Therefore, the current block and the neighboring block have a high probability of having the same or similar intra prediction mode. Thus, the encoder can use the intra prediction mode of the adjacent block to encode the intra prediction mode of the current block.

[98] Например, кодер/декодер может конфигурировать список наиболее вероятных режимов (MPM) для текущего блока. MPM-список также может называться "списком возможных MPM-вариантов". В данном документе, MPM может означать режим, используемый для того, чтобы повышать эффективность кодирования с учетом подобия между текущим блоком и соседним блоком при кодировании режима внутреннего прогнозирования. Как описано выше, MPM-список может быть выполнен с возможностью включать в себя планарный режим или может быть выполнен с возможностью исключать планарный режим. Например, когда MPM-список включает в себя планарный режим, число возможных вариантов в MPM-списке может быть равным 6. Так же, если MPM-список не включает в себя планарный режим, число возможных вариантов в MPM-списке может быть равным 5.[98] For example, the encoder/decoder may configure a list of most likely modes (MPM) for the current block. An MPM list may also be referred to as a "MPM candidate list". Herein, MPM may mean a mode used to improve efficiency of similarity-based coding between a current block and a neighboring block when encoding an intra prediction mode. As described above, the MPM list may be configured to include a planar mode, or may be configured to exclude a planar mode. For example, when the MPM list includes a planar mode, the number of options in the MPM list may be 6. Similarly, if the MPM list does not include a planar mode, the number of options in the MPM list may be 5.

[99] Кодер/декодер может конфигурировать MPM-список, включающий в себя 5 или 6 MPM.[99] The encoder/decoder may configure an MPM list including 5 or 6 MPMs.

[100] Чтобы конфигурировать MPM-список, три типа режимов могут рассматриваться: внутренние режимы по умолчанию, соседние внутренние режимы и извлеченные внутренние режимы.[100] To configure the MPM list, three types of modes can be considered: default intra modes, neighboring intra modes, and extracted intrinsic modes.

[101] Для соседних внутренних режимов, могут рассматриваться два соседних блока, т.е. левый соседний блок и верхний соседний блок.[101] For adjacent intramodes, two adjacent blocks may be considered, i. e. the left neighbor block and the top neighbor block.

[102] Как описано выше, если MPM-список выполнен с возможностью не включать в себя планарный режим, планарный режим исключается из списка, и число возможных вариантов MPM-списков может задаваться равным 5.[102] As described above, if the MPM list is configured not to include the planar mode, the planar mode is excluded from the list, and the number of possible MPM lists may be set to 5.

[103] Помимо этого, ненаправленный режим (или неугловой режим) из режимов внутреннего прогнозирования может включать в себя DC-режим на основе среднего соседних опорных выборок текущего блока или планарный режим на основе интерполяции.[103] In addition, the non-directional mode (or non-angular mode) of the intra prediction modes may include a DC mode based on the average of adjacent reference samples of the current block, or a planar mode based on interpolation.

[104] Когда взаимное прогнозирование применяется, модуль прогнозирования оборудования кодирования/оборудования декодирования может извлекать прогнозную выборку посредством выполнения взаимного прогнозирования в единицах блоков. Взаимное прогнозирование может представлять собой прогнозирование, извлекаемое таким способом, который зависит от элементов данных (например, выборочных значений или информаций движения) кадра(ов), отличного от текущего кадра. Когда взаимное прогнозирование применяется к текущему блоку, прогнозированный блок (массив прогнозных выборок) для текущего блока может извлекаться на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения на опорном кадре, указываемом посредством индекса опорного кадра. Здесь, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения текущего блока может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию типа взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными или отличающимися. Временной соседний блок может называться "совместно размещенным опорным блоком", "совместно размещенной CU (colCU) " и т.п., и опорный кадр, включающий в себя временной соседний блок, может называться "совместно размещенным кадром (colPic)". Например, список возможных вариантов информации движения может быть сконфигурирован на основе соседних блоков текущего блока, и информация флага или индекса, указывающая то, какой возможный вариант выбирается (используется), может передаваться в служебных сигналах, чтобы извлекать вектор движения и/или индекс опорного кадра текущего блока. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования. Например, в случае режима пропуска и режима объединения, информация движения текущего блока может быть идентичной информации движения соседнего блока. В режиме пропуска, в отличие от режима объединения, остаточный сигнал может не передаваться. В случае режима прогнозирования векторов движения (MVP), вектор движения выбранного соседнего блока может использоваться в качестве предиктора вектора движения, и вектор движения текущего блока может передаваться в служебных сигналах. В этом случае, вектор движения текущего блока может извлекаться с использованием суммы предиктора вектора движения и разности векторов движения.[104] When inter prediction is applied, the prediction unit of the encoding equipment/decoding equipment can extract a predictive sample by performing inter prediction in units of blocks. Inter-prediction may be a prediction derived in a manner that depends on data elements (eg, sample values or motion information) of a frame(s) other than the current frame. When inter prediction is applied to a current block, a predicted block (predictive sample array) for the current block may be derived based on a reference block (reference sample array) indicated by a motion vector on a reference frame indicated by a reference frame index. Here, in order to reduce the amount of motion information transmitted in the inter-prediction mode, the motion information of the current block may be predicted in units of blocks, sub-blocks, or samples based on the correlation of the motion information between the 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 type information (L0 prediction, L1 prediction, bi-prediction, etc.). In the case of inter prediction, an adjacent block may include a spatial adjacent block present in the current frame and a temporal adjacent block present in the reference frame. The reference frame including the reference block and the reference frame including the temporal neighbor block may be the same or different. The temporal neighbor block may be referred to as a "collocated reference block", "collocated CU (colCU)" or the like, and a reference frame including the temporal neighbor block may be referred to as a "collocated frame (colPic)". For example, a list of motion information candidates may be configured based on adjacent blocks of the current block, and flag or index information indicating which candidate is selected (used) may be signaled to derive a motion vector and/or a reference frame index. current block. Inter prediction may be performed based on various prediction modes. For example, in the case of the skip mode and the join mode, the motion information of the current block may be identical to the motion information of the adjacent block. In the skip mode, unlike the combine mode, the residual signal may not be transmitted. In the case of a motion vector prediction (MVP) mode, the motion vector of a selected neighboring block may be used as a motion vector predictor, and the motion vector of the current block may be signaled. In this case, the motion vector of the current block may be extracted using the sum of the motion vector predictor and the motion vector difference.

[105] Информация движения может включать в себя L0-информацию движения и/или L1-информацию движения согласно типу взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). Вектор движения в L0-направлении может называться "L0-вектором движения" или "MVL0", и вектор движения в L1-направлении может называться "L1-вектором движения" или "MVL1". Прогнозирование на основе L0-вектора движения может называться "L0-прогнозированием", прогнозирование на основе L1-вектора движения может называться "L1-прогнозированием", и прогнозирование на основе как L0-вектора движения, так и L1-вектора движения может называться "бипрогнозированием". Здесь, L0-вектор движения может указывать вектор движения, ассоциированный со списком L0 опорных кадров (L0), и L1-вектор движения может указывать вектор движения, ассоциированный со списком L1 опорных кадров (L1). Список L0 опорных кадров может включать в себя кадры, которые находятся раньше в порядке вывода, чем текущий кадр, в качестве опорных кадров, и список L1 опорных кадров может включать в себя кадры, которые находятся позже в порядке вывода, чем текущий кадр. Предыдущие кадры могут называться "прямыми (опорными) кадрами", и последующие кадры могут называться "обратными (опорными) кадрами". Список L0 опорных кадров дополнительно может включать в себя кадры, которые находятся позже в порядке вывода, чем текущий кадр, в качестве опорных кадров. В этом случае, предыдущие кадры могут индексироваться сначала в списке L0 опорных кадров, и последующие кадры могут индексироваться позже. Список L1 опорных кадров дополнительно может включать в себя предыдущие кадры в порядке вывода относительно текущего кадра в качестве опорных кадров. В этом случае, последующие кадры могут индексироваться сначала в списке 1 опорных кадров, и предыдущие кадры могут индексироваться позже. Порядок вывода может соответствовать порядку номеров в последовательности кадров (POC).[105] The motion information may include L0 motion information and/or L1 motion information according to the type of mutual prediction (L0 prediction, L1 prediction, bi-prediction, etc.). The motion vector in the L0 direction may be referred to as the "L0 motion vector" or "MVL0", and the motion vector in the L1 direction may be referred to as the "L1 motion vector" or "MVL1". Prediction based on the L0 motion vector may be referred to as "L0 prediction", prediction based on the L1 motion vector may be referred to as "L1 prediction", and prediction based on both the L0 motion vector and the L1 motion vector may be referred to as "biprediction". ". Here, the L0 motion vector may indicate a motion vector associated with the L0 list of reference frames (L0), and the L1 motion vector may indicate a motion vector associated with the L1 list of reference frames (L1). The reference frame list L0 may include frames that are earlier in the output order than the current frame as reference frames, and the reference frame list L1 may include frames that are later in the output order than the current frame. Previous frames may be referred to as "forward (reference) frames", and subsequent frames may be referred to as "reverse (reference) frames". The reference frame list L0 may further include frames that are later in the output order than the current frame as reference frames. In this case, previous frames may be indexed first in the reference frame list L0, and subsequent frames may be indexed later. The reference frame list L1 may further include previous frames in output order relative to the current frame as reference frames. In this case, subsequent frames may be indexed first in the reference frame list 1, and previous frames may be indexed later. The output order may correspond to the order of the numbers in the sequence of frames (POC).

[106] Фиг. 4 является чертежом для пояснения способа извлечения информации движения через режим взаимного прогнозирования. Здесь, из режимов взаимного прогнозирования, ниже описываются режим объединения, режим прогнозирования векторов движения (MVP) (или усовершенствованное прогнозирование векторов движения (AMVP)), режим попарного среднего объединения и режим MVP на основе предыстории (HMVP).[106] FIG. 4 is a drawing for explaining a method for extracting motion information through an inter-prediction mode. Here, of the inter-prediction modes, the merge mode, the motion vector prediction (MVP) mode (or advanced motion vector prediction (AMVP)) mode, the pairwise average merge mode, and the history-based MVP mode (HMVP) are described below.

[107] Когда режим объединения применяется, информация движения текущего блока прогнозирования непосредственно не передается, и информация движения текущего блока прогнозирования извлекается с использованием информации движения соседнего блока прогнозирования. Следовательно, информация движения текущего блока прогнозирования может указываться посредством передачи информации флага, указывающей то, что режим объединения используется, и индекса объединения, указывающего то, какие соседние блоки прогнозирования используются.[107] When the combining mode is applied, the motion information of the current prediction block is not directly transmitted, and the motion information of the current prediction block is extracted using the motion information of the adjacent prediction block. Therefore, motion information of the current prediction block can be indicated by transmitting flag information indicating that the combining mode is being used and a combining index indicating which neighboring prediction blocks are being used.

[108] Кодер должен выполнять поиск возможного варианта блока объединения, используемого для того, чтобы извлекать информацию движения текущего блока прогнозирования, чтобы выполнять режим объединения. Например, могут использоваться вплоть до пяти возможных вариантов блоков объединения, но настоящий документ не ограничен этим. Максимальное число возможных вариантов блоков объединения может передаваться в заголовке среза, заголовке группы плиток или наборе параметров (т.е. наборе параметров последовательности (SPS)), и настоящий документ не ограничен этим. После нахождения возможных вариантов блоков объединения, кодер может формировать список возможных вариантов объединения и выбирать возможный вариант блока объединения, имеющий наименьшие затраты из них, в качестве конечного возможного варианта блока объединения.[108] The encoder must search for a candidate combining block used to extract motion information of the current prediction block in order to perform the combining mode. For example, up to five possible combination blocks may be used, but the present document is not limited to this. The maximum number of possible merge block options may be conveyed in a slice header, tile group header, or parameter set (ie, Sequence Parameter Set (SPS)), and the present document is not limited thereto. After finding the merge block candidates, the encoder may generate a list of merge block candidates and select the merge block candidate having the least cost of them as the final merge block candidate.

[109] Настоящий документ предоставляет различные варианты осуществления возможного варианта блока объединения, конфигурирующего список возможных вариантов объединения.[109] The present document provides various embodiments of a candidate merge block configuring a list of merge candidates.

[110] Список возможных вариантов объединения может использовать, например, пять возможных вариантов блоков объединения. Например, могут использоваться четыре пространственных возможных варианта объединения и один временной возможный вариант объединения. В качестве конкретного примера, в случае пространственного возможного варианта объединения, блоки, показанные на фиг. 4, могут использоваться в качестве пространственного возможного варианта объединения.[110] The merge candidate list may use, for example, five merge block candidates. For example, four spatial merging opportunities and one temporal merging candidate may be used. As a specific example, in the case of a spatial merging option, the blocks shown in FIG. 4 can be used as a spatial fusion candidate.

[111] Список возможных вариантов объединения для текущего блока может быть сконфигурирован, например, на основе следующей процедуры.[111] The list of merging options for the current block may be configured, for example, based on the following procedure.

[112] Оборудование кодирования (кодер/декодер) вставляет пространственные возможные варианты объединения, извлекаемые посредством поиска пространственных соседних блоков текущего блока, в список возможных вариантов объединения (S310). Например, пространственные соседние блоки могут включать в себя левый нижний угловой соседний блок, левый соседний блок, правый верхний угловой соседний блок, верхний соседний блок и левый верхний угловой соседний блок относительно текущего блока. Тем не менее, это представляет собой просто пример, и в дополнение к вышеописанным пространственным соседним блокам, дополнительные соседние блоки, такие как правый соседний блок, нижний соседний блок и правый нижний соседний блок, могут использоваться в качестве пространственных соседних блоков. Оборудование кодирования может выполнять поиск пространственных соседних блоков на основе приоритета, с тем чтобы обнаруживать доступные блоки, и извлекать информацию движения обнаруженных блоков в качестве пространственных возможных вариантов объединения. Например, кодер и декодер могут выполнять поиск пяти блоков, показанных на фиг. 1.3.2-1 в порядке A1, B1, B0, A0, B2, и последовательно индексировать доступные возможные варианты, чтобы конфигурировать список возможных вариантов объединения.[112] The encoding equipment (encoder/decoder) inserts the spatial join opportunities retrieved by searching the spatial neighboring blocks of the current block into the join candidate list (S310). For example, spatial neighbors may include a left bottom corner neighbor, a left neighbor, a right top corner neighbor, a top neighbor, and a left top corner neighbor relative to the current block. However, this is just an example, and in addition to the spatial neighbors described above, additional neighbors such as a right neighbor, a bottom neighbor, and a right bottom neighbor can be used as the spatial neighbors. The coding equipment may search for spatial neighboring blocks based on priority so as to detect available blocks, and extract motion information of the detected blocks as spatial join candidates. For example, the encoder and decoder may search for the five blocks shown in FIG. 1.3.2-1 in the order of A1, B1, B0, A0, B2, and sequentially index the available options to configure a join candidate list.

[113] Оборудование кодирования вставляет временной возможный вариант объединения, извлекаемый посредством выполнения поиска во временном соседнем блоке текущего блока, в список возможных вариантов объединения (S320). Временной соседний блок может быть расположен в опорном кадре, т.е. в кадре, отличающемся от текущего кадра, в котором расположен текущий блок. Опорный кадр, в котором расположен временной соседний блок, может называться "совместно размещенным кадром" или "совместно размещ. кадром". Можно выполнять поиск временного соседнего блока в порядке из правого нижнего углового соседнего блока и правого нижнего центрального блока относительно совместно размещенного блока для текущего блока в совместно размещ. кадре. Между тем, когда сжатие данных движения применяется, конкретная информация движения может сохраняться в качестве характерной информации движения для каждой предварительно определенной единицы хранения в совместно размещ. кадре. В этом случае, необязательно сохранять информацию движения для всех блоков в предварительно определенной единице хранения, за счет этого получая преимущество сжатия данных движения. В этом случае, предварительно определенная единица хранения может заранее определяться, например, в единицах выборок 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)), может использоваться для временного возможного варианта объединения.[113] The encoding equipment inserts the temporal join candidate retrieved by performing a search on the temporal neighbor block of the current block into the join candidate list (S320). The temporal neighbor block may be located in a reference frame, i. e. in a frame other than the current frame in which the current block is located. The reference frame in which the temporal neighbor block is located may be referred to as a "co-located frame" or "co-located frame". You can search for a temporary neighbor block in the order of the right bottom corner neighbor block and the right bottom center block relative to the collocation block for the current block in the collocation. frame. Meanwhile, when motion data compression is applied, specific motion information may be stored as motion specific information for each predetermined storage unit in the co-location. frame. In this case, it is not necessary to store motion information for all blocks in a predetermined storage unit, thereby taking advantage of motion data compression. In this case, the predetermined storage unit may be predetermined, for example, in 16×16 sample units, 8×8 sample units, or the like, or size information regarding the predetermined storage unit may be signaled from the encoder to the decoder. When motion data compression is applied, the motion information of the temporal neighbor block may be replaced with characteristic motion information of a predetermined storage unit in which the temporal neighbor block is located. Thus, in this case, from an implementation point of view, the predetermined value is shifted arithmetically to the right based on the coordinates (upper left sample position) of the temporal neighboring block, and thereafter, the temporal merging candidate can be derived based on motion information of the prediction block covering arithmetically position shifted to the left. For example, in the case where the sampling unit having the predetermined storage unit is 2n×2n, if the coordinates of the temporal neighboring block are (xTnb, yTnb), motion information of the prediction block located at the modified position ((xTnb>>n)< <n), (yTnb>>n)<<n)). Specifically, for example, in the case where the predetermined storage unit is a sample unit of 16×16, if the coordinates of the temporal neighbor block are (xTnb, yTnb), motion information of the prediction block located at the modified position ((xTnb>>4)<< 4), (yTnb>>4)<<4)), can be used for a temporary join option. Alternatively, for example, in the case where the predetermined storage unit is an 8×8 sample unit, if the coordinates of the temporal neighbor block are (xTnb, yTnb), motion information of the prediction block located at the modified position ((xTnb>>3)<<3 ), (yTnb>>3)<<3)), can be used for a temporary join option.

[114] Оборудование кодирования может определять то, меньше или нет число текущих возможных вариантов объединения максимального числа возможных вариантов объединения (максимального числа возможных вариантов, включенных в список возможных вариантов объединения) (S330). Максимальное число возможных вариантов объединения может быть предварительно задано или передаваться в служебных сигналах из кодера в декодер (т.е. через заголовок группы плиток или SPS). Например, кодер может формировать информацию относительно максимального числа возможных вариантов объединения (максимального числа возможных вариантов, включенных в список возможных вариантов объединения), кодировать информацию и передавать кодированную информацию в декодер в форме потока битов. Если максимальное число возможных вариантов объединения заполняется, последующий процесс добавления возможного варианта может не выполняться.[114] The encoding equipment may determine whether or not the number of current combining candidates is less than the maximum number of combining candidates (the maximum number of candidates included in the combining candidate list) (S330). The maximum number of possible combinations may be predefined or signaled from the encoder to the decoder (ie, via the tile group header or SPS). For example, the encoder may generate information regarding the maximum number of possible combinations (the maximum number of possible combinations included in the list of possible combinations), encode the information, and transmit the encoded information to the decoder in the form of a bit stream. If the maximum number of merge candidates is full, the subsequent candidate adding process may not be performed.

[115] В результате проверки, если число текущих возможных вариантов объединения меньше максимального числа возможных вариантов объединения, оборудование кодирования вставляет дополнительный возможный вариант объединения в список возможных вариантов объединения (S340). Дополнительный возможный вариант объединения может включать в себя, например, ATMVP и комбинированный бипрогнозирующий возможный вариант объединения (когда тип среза/плитки текущей группы срезов/плиток представляет собой B) и/или возможный вариант объединения с нулевым вектором.[115] As a result of checking, if the number of current combining candidates is less than the maximum number of combining candidates, the encoding equipment inserts an additional combining candidate into the combining candidate list (S340). An additional merge candidate may include, for example, ATMVP and a combined bi-predictive merge candidate (when the slice/tile type of the current slice/tile group is B) and/or a null vector merge candidate.

[116] В результате проверки, если число текущих возможных вариантов объединения не меньше числа максимальных возможных вариантов объединения, оборудование кодирования может завершать конструирование списка возможных вариантов объединения. В этом случае, кодер может выбирать оптимальный возможный вариант объединения из возможных вариантов объединения, конфигурирующих список возможных вариантов объединения, на основе функции затрат на искажение в зависимости от скорости передачи (RD) и информации выбора сигналов (например, индекса объединения), указывающей выбранный возможный вариант объединения для декодера. Декодер может выбирать оптимальный возможный вариант объединения на основе списка возможных вариантов объединения и информации выбора.[116] As a result of checking, if the number of current merge options is not less than the number of maximum merge options, the encoding equipment may complete the construction of the merge candidate list. In this case, the encoder may select the best combining candidate from among the combining candidates configuring a list of combining candidates, based on a rate-dependent distortion cost function (RD) and signal selection information (e.g., combining index) indicating the selected candidate. combination option for the decoder. The decoder may select the best possible combination based on the list of possible combinations and the selection information.

[117] Как описано выше, информация движения выбранного возможного варианта объединения может использоваться в качестве информации движения текущего блока, и прогнозные выборки текущего блока могут извлекаться на основе информации движения текущего блока. Кодер может извлекать остаточные выборки текущего блока на основе прогнозных выборок и может передавать в служебных сигналах остаточную информацию относительно остаточных выборок в декодер. Декодер может формировать восстановленные выборки на основе остаточных выборок и прогнозированных выборок, извлекаемых на основе остаточной информации, и формировать восстановленный кадр на основе этого, как описано выше.[117] As described above, the motion information of the selected combining candidate may be used as the motion information of the current block, and the prediction samples of the current block may be derived based on the motion information of the current block. The encoder may derive the current block residual samples based on the predictive samples and may signal residual information about the residual samples to the decoder. The decoder may generate recovered samples based on the residual samples and predicted samples derived from the residual information, and generate a reconstructed frame based on this, as described above.

[118] Когда режим пропуска применяется, информация движения текущего блока может извлекаться таким же образом, как информация движения для случая, в котором режим объединения применяется. Тем не менее, когда режим пропуска применяется, остаточный сигнал для соответствующего блока опускается, и в силу этого прогнозные выборки могут использоваться в качестве восстановленных выборок.[118] When the skip mode is applied, the motion information of the current block can be retrieved in the same manner as the motion information for the case in which the combine mode is applied. However, when the skip mode is applied, the residual signal for the corresponding block is omitted, and thus the prediction samples can be used as the recovered samples.

[119] Когда режим прогнозирования векторов движения (MVP) применяется, список возможных вариантов предикторов векторов движения (MVP) может формироваться с использованием вектора движения восстановленного пространственного соседнего блока (который может представлять собой соседний блок по фиг. 4) и/или вектора движения временного соседнего блока (либо Col-блока). Таким образом, вектор движения, соответствующий восстановленному пространственному соседнему блоку, и/или вектор движения, соответствующий временному соседнему блоку, могут использоваться в качестве возможного варианта предиктора вектора движения. Когда бипрогнозирование применяется, список возможных MVP-вариантов для извлечения L0-информации движения и список возможных MVP-вариантов для извлечения L1-информации движения могут формироваться и использоваться отдельно. Вышеописанная информация прогнозирования (или информация относительно прогнозирования) может включать в себя информацию выбора (например, MVP-флаг или MVP-индекс), указывающую оптимальный возможный вариант предиктора вектора движения, выбранный из возможных вариантов предикторов векторов движения, включенных в список. В этом случае, модуль прогнозирования может выбирать предиктор вектора движения текущего блока из возможных вариантов предикторов векторов движения, включенных в список возможных вариантов векторов движения, с использованием информации выбора. Модуль прогнозирования оборудования кодирования может получать разность векторов движения (MVD) между вектором движения текущего блока и предиктором вектора движения, кодировать ее и выводить означенное в форме потока битов. Таким образом, MVD может получаться в качестве значения, полученного посредством вычитания предиктора вектора движения из вектора движения текущего блока. В этом случае, модуль прогнозирования оборудования декодирования может получать разность векторов движения, включенную в информацию относительно прогнозирования, и извлекать вектор движения текущего блока посредством суммирования разности векторов движения и предиктора вектора движения. Модуль прогнозирования оборудования декодирования может получать или извлекать индекс опорного кадра, указывающий опорный кадр, из информации относительно прогнозирования.[119] When a motion vector prediction (MVP) mode is applied, a motion vector predictor (MVP) candidate list may be generated using the motion vector of the reconstructed spatial neighbor block (which may be the neighbor block of FIG. 4) and/or the motion vector of the temporal neighboring block (or Col-block). Thus, the motion vector corresponding to the reconstructed spatial neighbor block and/or the motion vector corresponding to the temporal neighbor block can be used as a motion vector predictor candidate. When bi-prediction is applied, a list of MVP candidates for extracting L0 motion information and a list of MVP candidates for extracting L1 motion information may be generated and used separately. The above-described prediction information (or prediction information) may include selection information (eg, MVP flag or MVP index) indicating the best motion vector predictor candidate selected from among the motion vector predictor candidates included in the list. In this case, the prediction module may select the motion vector predictor of the current block from the motion vector predictor candidates included in the motion vector candidate list using the selection information. The coding equipment predictor may obtain a motion vector difference (MVD) between the motion vector of the current block and the motion vector predictor, encode it, and output the meaning in the form of a bitstream. Thus, MVD may be obtained as a value obtained by subtracting the motion vector predictor from the motion vector of the current block. In this case, the prediction unit of the decoding equipment can obtain the motion vector difference included in the prediction information, and extract the motion vector of the current block by summing the motion vector difference and the motion vector predictor. The decoding equipment predictor may obtain or extract a reference frame index indicating the reference frame from the prediction information.

[120] Возможные варианты объединения для MVP на основе предыстории (HMVP) могут добавляться в список для объединения после пространственного MVP и TMVP. В этом способе, информация движения ранее кодированного блока сохраняется в таблице и используется в качестве MVP для текущей CU. Таблица с несколькими возможными HMVP-вариантами поддерживается во время процесса кодирования/декодирования. Таблица сбрасывается (опустошается), когда встречается новая CTU-строка. Каждый раз, когда имеется несубблочно взаимно кодированная CU, ассоциированная информация движения добавляется в последнюю запись таблицы в качестве нового возможного HMVP-варианта.[120] Merge candidates for history-based MVP (HMVP) may be added to the merge list after spatial MVP and TMVP. In this method, the motion information of a previously encoded block is stored in a table and used as an MVP for the current CU. A table with multiple HMVP options is maintained during the encoding/decoding process. The table is reset (emptied) when a new CTU row is encountered. Each time there is a non-subblock inter-coded CU, the associated motion information is added to the last table entry as a new HMVP candidate.

[121] Размер S HMVP-таблицы задается равным 6, что указывает то, что вплоть до 6 возможных вариантов MVP на основе предыстории (HMVP) могут добавляться в таблицу. При вставке нового возможного варианта движения в таблицу, используется ограниченное правило "первый на входе - первый на выходе" (FIFO), при этом контроль по избыточности во-первых применяется, чтобы обнаруживать то, имеется или нет идентичное HMVP в таблице. Если обнаружено, идентичное HMVP удаляется из таблицы, и все возможные HMVP-варианты после него перемещаются вперед,[121] The HMVP table size S is set to 6, indicating that up to 6 history-based MVP (HMVP) candidates can be added to the table. When inserting a new move candidate into a table, a limited first-in-first-out (FIFO) rule is used, with redundancy check first applied to detect whether or not there is an identical HMVP in the table. If found, the identical HMVP is removed from the table and all possible HMVPs after it are moved forward,

[122] Возможные HMVP-варианты могут использоваться в процессе конструирования списков возможных вариантов объединения. Последние несколько возможных HMVP-вариантов в таблице проверяются по порядку и вставляются в список возможных вариантов после возможного TMVP-варианта. Контроль по избыточности применяется для возможных HMVP-вариантов относительно пространственного или временного возможного варианта объединения.[122] HMVP candidates can be used in the process of constructing lists of possible combinations. The last few HMVP candidates in the table are checked in order and inserted into the candidate list after the TMVP candidate. Redundancy control is applied to HMVP candidates relative to the spatial or temporal pooling candidate.

[123] Чтобы сокращать число операций контроля по избыточности, следующие упрощения вводятся:[123] To reduce the number of redundancy check operations, the following simplifications are introduced:

[124] 1) Число возможных HMPV-вариантов, используемых для формирования списков для объединения, задается как (N<=4)? M: (8-N), при этом N указывает число существующих возможных вариантов в списке для объединения, и M указывает число доступных возможных HMVP-вариантов в таблице.[124] 1) Is the number of HMPV candidate cases used to generate merge lists given as (N<=4)? M: (8-N), where N indicates the number of existing candidates in the list to merge, and M indicates the number of available HMVP candidates in the table.

[125] 2) После того как общее число доступных возможных вариантов объединения достигает максимально разрешенных возможных вариантов объединения минус 1, процесс конструирования списков возможных вариантов объединения из HMVP завершается.[125] 2) After the total number of available join candidates reaches the maximum allowed join candidate minus 1, the process of constructing the join candidate lists from the HMVP ends.

[126] Попарные средние возможные варианты формируются посредством усреднения предварительно заданных пар возможных вариантов в существующем списке возможных вариантов объединения, и предварительно заданные пары задаются как {(0, 1), (0, 2), (1, 2), (0, 3), (1, 3), (2, 3)}, где числа обозначают индексы объединения в список возможных вариантов объединения. Усредненные векторы движения вычисляются отдельно для каждого опорного списка. Если оба вектора движения доступны в одном списке, эти два вектора движения усредняются, даже когда они указывают на различные опорные кадры; если только один вектор движения доступен, следует использовать его непосредственно; если вектор движения не доступен, следует поддерживать этот список недопустимым.[126] Pairwise averages of the possibilities are formed by averaging the predefined pairs of possibilities in the existing pooling candidate list, and the predefined pairs are defined as {(0, 1), (0, 2), (1, 2), (0, 3), (1, 3), (2, 3)}, where numbers denote join indices into the list of possible join options. The average motion vectors are calculated separately for each reference list. If both motion vectors are available in the same list, the two motion vectors are averaged even when they point to different reference frames; if only one motion vector is available, use it directly; if a motion vector is not available, this list should be kept invalid.

[127] Когда список для объединения не является полным после того, как попарные средние возможные варианты объединения добавляются, нулевые MVP вставляются в список до тех пор, пока не встречается максимальное число возможных вариантов объединения.[127] When the merge list is not complete after pairwise averages of merge options are added, zero MVPs are inserted into the list until the maximum number of merge options is encountered.

[128] В дальнейшем в этом документе, приводится подробное описание IBC, которое может выполняться посредством модуля прогнозирования оборудования по фиг. 2 или фиг. 3. IBC может использоваться для кодирования изображений/видео контента игры и т.п., например, для кодирования экранного контента (SCC). IBC по существу выполняет прогнозирование в текущем кадре, но может выполняться аналогично взаимному прогнозированию, в котором опорный блок извлекается в текущем кадре. Таким образом, IBC может использовать, по меньшей мере, одну из технологий взаимного прогнозирования, описанных в настоящем документе. Например, IBC может использовать, по меньшей мере, один из вышеописанных способов для извлечения информации движения (вектора движения). IBC может ссылаться на текущий кадр и в силу этого может называться "ссылкой на текущие кадры (CPR)". Когда вышеописанные способы прогнозирования применяются в IBC, вектор движения (информация движения), в общем, может называться (заменяться или смешиваться) "блочным вектором (информацией блоков)".[128] Hereinafter, a detailed description is given of IBC, which can be performed by the equipment prediction module of FIG. 2 or fig. 3. IBC can be used for image/video game content coding and the like, such as screen content coding (SCC). The IBC essentially performs prediction in the current frame, but may be performed similar to inter prediction in which the reference block is retrieved in the current frame. Thus, the IBC may use at least one of the inter-prediction technologies described herein. For example, the IBC may use at least one of the methods described above to extract motion information (motion vector). The IBC may refer to the current frame and may therefore be referred to as "Current Frame Reference (CPR)". When the above-described prediction methods are applied in IBC, the motion vector (motion information) may generally be referred to (replaced or mixed) as "block vector (block information)".

[129] Для IBC, оборудование кодирования может выполнять поблочное сопоставление (BM), чтобы извлекать оптимальный блочный вектор (или вектор движения) для текущего блока (например, CU). Извлеченный блочный вектор (или вектор движения) может передаваться в служебных сигналах в оборудование декодирования через поток битов с использованием способа, аналогичного передаче в служебных сигналах информации блоков (вектора движения) при взаимном прогнозировании, описанной выше. Оборудование декодирования может извлекать опорный блок для текущего блока в текущем кадре через передаваемый в служебных сигналах блочный вектор (вектор движения), за счет этого запуская прогнозный сигнал (прогнозированный блок или прогнозированные выборки) для текущего блока. Здесь, блочный вектор (или вектор движения) может представлять смещение от текущего блока до опорного блока, расположенного в зоне, уже восстановленной в текущем кадре. Таким образом, блочный вектор (или вектор движения) может называться "вектором смещения". В дальнейшем в этом документе, в IBC, вектор движения может соответствовать блочному вектору или вектору смещения. Вектор движения текущего блока может включать в себя вектор движения для компонента сигнала яркости (вектор движения сигнала яркости) или вектор движения для компонента сигнала цветности (вектор движения сигнала цветности). Например, вектор движения сигнала яркости для IBC-кодированной CU может представлять собой целочисленную единицу выборок (т.е. целочисленную точность). Векторы движения сигнала цветности также могут отсекаться в целочисленных единицах выборок. Как упомянуто выше, IBC может использовать, по меньшей мере, одну из технологий взаимного прогнозирования, например, 1-пелная и 4-пелная точность векторов движения может переключаться, когда применяется IBC, к примеру, AMVR.[129] For IBC, the encoding equipment may perform block matching (BM) to extract the optimal block vector (or motion vector) for the current block (eg, CU). The extracted block vector (or motion vector) may be signaled to the decoding equipment via a bit stream using a method similar to signaling block information (motion vector) in inter prediction described above. The decoding equipment can derive a reference block for the current block in the current frame via a signaled block vector (motion vector), thereby triggering a prediction signal (predicted block or predicted samples) for the current block. Here, the block vector (or motion vector) may represent an offset from the current block to a reference block located in an area already reconstructed in the current frame. Thus, a block vector (or motion vector) may be referred to as a "displacement vector". Later in this document, in IBC, the motion vector may correspond to a block vector or a displacement vector. The motion vector of the current block may include a motion vector for a luminance signal component (luminance motion vector) or a motion vector for a chrominance signal component (chroma motion vector). For example, the luminance motion vector for an IBC-coded CU may be an integer unit of samples (ie, integer precision). Chroma motion vectors may also be truncated in integer sample units. As mentioned above, the IBC may use at least one of the inter-prediction technologies, eg, 1-pellet and 4-pellet motion vector accuracy may be switched when an IBC such as AMVR is applied.

[130] Чтобы уменьшать потребление запоминающего устройства и сложность декодера, может использоваться только восстановленная часть предварительно заданной зоны, включающая в себя текущую CTU. Это ограничение обеспечивает возможность реализации IBC-режима с использованием локального внутримикросхемного запоминающего устройства для аппаратных реализаций.[130] In order to reduce memory consumption and complexity of the decoder, only the reconstructed part of the predetermined area including the current CTU can be used. This limitation allows implementation of the IBC mode using local on-chip memory for hardware implementations.

[131] На стороне кодера, оценка движения на основе хэша выполняется для IBC. Кодер выполняет RD-проверку для блоков с шириной или с высотой, не большей 16 выборок сигнала яркости. Для режима без объединения, блочный векторный поиск выполняется с использованием поиска на основе хэша сначала. Если хэш-поиск не возвращает допустимый возможный вариант, то должен выполняться локальный поиск на основе поблочного сопоставления.[131] On the encoder side, hash-based motion estimation is performed for the IBC. The encoder performs an RD check for blocks with a width or height not greater than 16 luma samples. For non-combine mode, a block vector search is performed using a hash-based search first. If the hash lookup does not return a valid candidate, then a local lookup based on block matching must be performed.

[132] В поиске на основе хэша, сопоставление хэш-ключей (32-битовый CRC) между текущим блоком и опорным блоком расширяется на все разрешенные размеры блоков. Вычисление хэш-ключей для каждой позиции в текущем кадре основано на субблоках 4×4. Для текущего блока большего размера, хэш-ключ определяется как совпадающий с хэш-ключом опорного блока, когда все хэш-ключи всех субблоков 4×4 совпадают с хэш-ключами в соответствующих опорных местоположениях. Если обнаружено, что хэш-ключи нескольких опорных блоков совпадают с хэш-ключом текущего блока, затраты в виде блочных векторов каждой совпадающей ссылки вычисляются, и выбирается блочный вектор с минимальными затратами.[132] In a hash-based search, the hash key mapping (32-bit CRC) between the current block and the reference block is extended to all allowed block sizes. The calculation of the hash keys for each position in the current frame is based on 4x4 subblocks. For the current larger block, a hash key is determined to match the hash key of the reference block when all hash keys of all 4×4 sub-blocks match the hash keys at the respective reference locations. If the hash keys of multiple reference blocks are found to match the hash key of the current block, the block vector cost of each matching link is computed, and the block vector with the lowest cost is selected.

[133] В поиск на основе поблочного сопоставления, диапазон поиска задается равным N выборок влево и вверх относительно текущего блока в текущей CTU. В начале CTU, значение N инициализируется равным 128, если отсутствует временной опорной кадр, и инициализируется равным 64, если имеется, по меньшей мере, один временной опорный кадр. Процент хэш-совпадений задается как процентная доля от выборок в CTU, которая обнаруживает совпадение с использованием поиска на основе хэша. При кодировании текущей CTU, если процент хэш-совпадений составляет ниже 5%, N уменьшается наполовину.[133] In block-by-block matching search, the search range is set to N samples left and up relative to the current block in the current CTU. At the beginning of the CTU, the value of N is initialized to 128 if there is no temporal reference frame, and is initialized to 64 if there is at least one temporal reference frame. The hash hit percentage is given as the percentage of samples in the CTU that finds a match using a hash-based lookup. When encoding the current CTU, if the hash hit percentage is below 5%, N is halved.

[134] На уровне CU, IBC-режим передается в служебных сигналах с информацией флага (т.е. с информацией флага, указывающей то, применяется или нет IBC, pred_mode_ibc_flag), и он может передаваться в служебных сигналах в качестве IBC AMVP-режима или режима IBC-пропуска/объединения следующим образом.[134] At the CU level, the IBC mode is signaled with flag information (i.e., with flag information indicating whether or not IBC is applied, pred_mode_ibc_flag), and it may be signaled as the IBC AMVP mode or IBC skip/merge mode as follows.

[135] - Режим IBC-пропуска/объединения: индекс возможного варианта объединения используется для того, чтобы указывать то, какие из блочных векторов в списке из соседних возможных вариантов IBC-кодированных блоков используются для того, чтобы прогнозировать текущий блок. Список для объединения состоит из пространственных, HMVP- и попарных возможных вариантов.[135] - IBC skip/merge mode: A merge candidate index is used to indicate which of the block vectors in the list of adjacent IBC-coded block candidates are used to predict the current block. The pooling list consists of spatial, HMVP, and pairwise possibilities.

[136] - IBC AMVP-режим: разность блочных векторов кодируется аналогично разности векторов движения. Способ прогнозирования блочных векторов использует два возможных варианта в качестве предикторов, один из левого соседнего узла и один из вышележащего соседнего узла (в случае IBC-кодирования). Когда любой соседний узел не доступен, блочный вектор по умолчанию используется в качестве модуля прогнозирования. Флаг передается в служебных сигналах, чтобы указывать индекс предиктора блочного вектора.[136] - IBC AMVP mode: block vector difference is encoded similarly to motion vector difference. The block vector prediction method uses two candidates as predictors, one from the left neighbor and one from the upstream neighbor (in the case of IBC coding). When no neighbor is available, the default block vector is used as the predictor. A flag is signaled to indicate the block vector predictor index.

[137] Фиг. 5 и фиг. 6 иллюстрируют способ кодирования изображений на основе режима IBC-прогнозирования и модуль прогнозирования оборудования кодирования, осуществляющий способ кодирования изображений.[137] FIG. 5 and FIG. 6 illustrate an image encoding method based on the IBC prediction mode and an encoding equipment prediction unit implementing the image encoding method.

[138] Оборудование кодирования может извлекать режим прогнозирования и вектор движения текущего блока и формировать прогнозные выборки текущего блока. Режим прогнозирования может включать в себя, по меньшей мере, один из режимов взаимного прогнозирования, описанных выше. Здесь, определение режима прогнозирования, извлечение векторов движения и процедура формирования прогнозных выборок могут выполняться одновременно, или одна процедура может выполняться перед другой. Например, модуль прогнозирования оборудования кодирования может включать в себя модуль определения режима прогнозирования, модуль извлечения векторов движения и модуль извлечения прогнозных выборок. Модуль определения режима прогнозирования может определять режим прогнозирования для текущего блока, модуль извлечения векторов движения может извлекать вектор движения текущего блока, и модуль 183 извлечения прогнозных выборок может извлекать прогнозные выборки текущего блока. Как описано выше, вектор движения может называться "блочным вектором". Например, модуль прогнозирования оборудования кодирования может выполнять поиск блока, аналогичного текущему блоку, в восстановленной области (либо в предварительно определенной области (области поиска)) посредством поблочного сопоставления (BM), и извлекать опорный блок, разность которого с текущим блоком составляет минимум либо определенное опорное значение или меньше. Модуль прогнозирования может извлекать вектор движения на основе разности смещений между опорным блоком и текущим блоком. Оборудование кодирования может определять режим, применяемый к текущему блоку, из различных режимов прогнозирования. Оборудование кодирования может сравнивать RD-затраты на основе различных режимов прогнозирования и определять оптимальный режим прогнозирования для текущего блока.[138] The encoding equipment may extract the prediction mode and motion vector of the current block, and generate prediction samples of the current block. The prediction mode may include at least one of the inter prediction modes described above. Here, the prediction mode determination, the motion vector extraction, and the prediction sampling procedure may be performed simultaneously, or one procedure may be performed before the other. For example, the encoding equipment prediction module may include a prediction mode determination module, a motion vector extraction module, and a prediction sample extraction module. The prediction mode determination module may determine the prediction mode for the current block, the motion vector extractor may extract the motion vector of the current block, and the prediction sample extractor 183 may extract the prediction samples of the current block. As described above, the motion vector may be referred to as a "block vector". For example, the coding equipment predictor may search for a block similar to the current block in the reconstructed area (or in a predetermined area (search area)) by block-by-block matching (BM), and extract a reference block whose difference with the current block is at least or a certain reference value or less. The prediction module may derive a motion vector based on an offset difference between the reference block and the current block. The encoding equipment may determine the mode applied to the current block from various prediction modes. The encoding equipment can compare RD costs based on different prediction modes and determine the optimal prediction mode for the current block.

[139] Например, когда режим пропуска или режим объединения применяется к текущему блоку, оборудование кодирования может конфигурировать список возможных вариантов объединения, описанный выше, и извлекать опорный блок, имеющий разность относительно текущего блока, равную или меньшую минимума или предварительно определенного критерия. В этом случае, возможный вариант объединения, ассоциированный с извлеченным опорным блоком, может выбираться, и информация индекса объединения, указывающая выбранный возможный вариант объединения, может формироваться и передаваться в служебных сигналах в оборудование декодирования. Вектор движения текущего блока может извлекаться с использованием вектора движения выбранного возможного варианта объединения.[139] For example, when the skip mode or merge mode is applied to the current block, the encoding equipment may configure the merge candidate list described above and extract a reference block having a difference with respect to the current block equal to or less than a minimum or a predetermined criterion. In this case, the combining candidate associated with the extracted reference block may be selected, and combining index information indicating the selected combining candidate may be generated and signaled to the decoding equipment. The motion vector of the current block may be extracted using the motion vector of the selected join candidate.

[140] В качестве другого примера, когда (A)MVP-режим применяется к текущему блоку, оборудование кодирования может конфигурировать список возможных (A)MVP-вариантов, описанный выше, и использовать вектор движения возможного MVP-варианта, выбранного из числа возможных вариантов MVP (предикторов векторов движения), включенных в список возможных (A)MVP-вариантов, в качестве MVP текущего блока. В этом случае, например, вектор движения, указывающий опорный блок, извлекаемый посредством вышеописанной оценки движения, может использоваться в качестве вектора движения текущего блока, и возможный MVP-вариант, имеющий вектор движения, разность которого относительно вектора движения текущего блока, из возможных MVP-вариантов, является наименьшей, может представлять собой выбранный возможный MVP-вариант. Разность векторов движения (MVP), которая представляет собой разность, из которой вычтен MVP, может извлекаться из вектора движения текущего блока. В этом случае, информация относительно MVD может передаваться в служебных сигналах в оборудование декодирования.[140] As another example, when the (A)MVP mode is applied to the current block, the encoding equipment may configure the (A)MVP candidate list described above and use the motion vector of the MVP candidate selected from among the candidates MVPs (motion vector predictors) included in the list of possible (A)MVP options as the MVP of the current block. In this case, for example, a motion vector indicating a reference block derived by the above-described motion estimation may be used as the motion vector of the current block, and an MVP candidate having a motion vector whose difference with respect to the motion vector of the current block, of the candidate MVPs of options, is the smallest, may represent the selected MVP option. A motion vector difference (MVP), which is a difference from which the MVP is subtracted, can be extracted from the motion vector of the current block. In this case, information regarding the MVD may be signaled to the decoding equipment.

[141] Оборудование кодирования может извлекать остаточные выборки на основе прогнозных выборок (S510). Оборудование кодирования может извлекать остаточные выборки посредством сравнения исходных выборок текущего блока с прогнозными выборками.[141] The encoding equipment may derive residual samples based on the predictive samples (S510). The encoding equipment can extract residual samples by comparing the original samples of the current block with the predictive samples.

[142] Оборудование кодирования кодирует информацию изображений, включающую в себя информацию прогнозирования и остаточную информацию (S520). Оборудование кодирования может выводить кодированную информацию изображений в форме потока битов. Информация прогнозирования может включать в себя вектор режима прогнозирования (т.е. флаг пропуска, флаг объединения или индекс режима) и информацию относительно вектора движения в качестве информации, связанной с процедурой прогнозирования. Информация относительно вектора движения может включать в себя информацию выбора возможных вариантов (например, индекс объединения, MVP-флаг или MVP-индекс), которая представляет собой информацию для извлечения вектора движения. Помимо этого, информация относительно вектора движения может включать в себя информацию относительно MVD, описанную выше. Информация относительно вектора движения может включать в себя информацию, указывающую то, применяется L0-прогнозирование, L1-прогнозирование или бипрогнозирование. Остаточная информация представляет собой информацию относительно остаточных выборок. Остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования для остаточных выборок.[142] The encoding equipment encodes image information including prediction information and residual information (S520). The encoding equipment may output the encoded image information in the form of a bitstream. The prediction information may include a prediction mode vector (ie, a skip flag, a join flag, or a mode index) and information on a motion vector as information associated with a prediction procedure. The motion vector information may include candidate selection information (eg, merge index, MVP flag, or MVP index), which is information for extracting the motion vector. In addition, the motion vector information may include the MVD information described above. The motion vector information may include information indicating whether L0 prediction, L1 prediction, or bi-prediction is applied. The residual information is information about the residual samples. The residual information may include information regarding quantized transform coefficients for the residual samples.

[143] Выходной поток битов может сохраняться на (цифровом) носителе хранения данных и доставляться в оборудование декодирования либо может доставляться в оборудование декодирования через сеть.[143] The output bit stream may be stored on a (digital) storage medium and delivered to the decoding equipment, or may be delivered to the decoding equipment via a network.

[144] Между тем, как описано выше, оборудование кодирования может формировать восстановленный кадр (включающий в себя восстановленные выборки и восстановленный блок) на основе опорных выборок и остаточных выборок. Это обусловлено тем, что оборудование кодирования должно извлекать результат прогнозирования, идентичный результат прогнозирования, выполняемому в оборудовании декодирования, и в силу этого эффективность кодирования может повышаться. Следовательно, оборудование кодирования может сохранять восстановленный кадр (либо восстановленные выборки, восстановленный блок) в запоминающем устройстве и использовать его в качестве опорного кадра для взаимного прогнозирования.[144] Meanwhile, as described above, the encoding equipment may generate a reconstructed frame (including the reconstructed samples and the reconstructed block) based on the reference samples and the residual samples. This is because the encoding equipment needs to extract a prediction result identical to the prediction result performed in the decoding equipment, and thus encoding efficiency can be improved. Therefore, the encoding equipment can store the reconstructed frame (or reconstructed samples, reconstructed block) in a memory and use it as a reference frame for inter prediction.

[145] Фиг. 7 и фиг. 8 иллюстрируют способ декодирования изображений на основе режима IBC-прогнозирования и модуль прогнозирования оборудования декодирования, осуществляющий способ декодирования изображений.[145] FIG. 7 and FIG. 8 illustrates an image decoding method based on the IBC prediction mode and a decoding equipment prediction unit implementing the image decoding method.

[146] Оборудование декодирования может выполнять операцию, соответствующую операции, выполняемой в оборудовании кодирования. Оборудование декодирования может выполнять IBC-прогнозирование для текущего блока на основе принимаемой информации прогнозирования и извлекать прогнозные выборки.[146] The decoding equipment may perform an operation corresponding to the operation performed in the encoding equipment. The decoding equipment may perform IBC prediction for the current block based on the received prediction information and extract prediction samples.

[147] В частности, оборудование декодирования может определять режим прогнозирования для текущего блока на основе принимаемой информации прогнозирования (S700). Оборудование декодирования может определять то, какой режим взаимного прогнозирования применяется к текущему блоку, на основе информации режима прогнозирования в информации прогнозирования.[147] In particular, the decoding equipment may determine the prediction mode for the current block based on the received prediction information (S700). The decoding equipment can determine which inter prediction mode is applied to the current block based on the prediction mode information in the prediction information.

[148] Например, оборудование декодирования может определять то, применяется или нет режим объединения к текущему блоку, либо то, определяется или нет (A)MVP-режим, на основе флага объединения. Альтернативно, один из различных возможных вариантов режимов взаимного прогнозирования может выбираться на основе индекса режима. Возможные варианты режима взаимного прогнозирования могут включать в себя режим пропуска, режим объединения и/или (A)MVP-режим либо могут включать в себя различные режимы взаимного прогнозирования, описанные на фиг. 4.[148] For example, the decoding equipment may determine whether or not the combining mode is applied to the current block, or whether or not the (A)MVP mode is determined based on the combining flag. Alternatively, one of the various possible inter-prediction modes may be selected based on the mode index. The inter prediction mode options may include skip mode, merge mode, and/or (A)MVP mode, or may include various inter prediction modes described in FIG. 4.

[149] Оборудование декодирования извлекает вектор движения текущего блока на основе определенного режима прогнозирования (S710). Как описано выше, вектор движения может называться "блочным вектором". Например, когда режим пропуска или режим объединения применяется к текущему блоку, оборудование декодирования может конфигурировать список возможных вариантов объединения, как описано выше, и выбирать один из возможных вариантов объединения, включенных в список возможных вариантов объединения. Выбор может выполняться на основе вышеприведенной информации выбора (индекса объединения). Вектор движения текущего блока может извлекаться с использованием вектора движения выбранного возможного варианта объединения. Вектор движения выбранного возможного варианта объединения может использоваться в качестве вектора движения текущего блока.[149] The decoding equipment extracts the motion vector of the current block based on the determined prediction mode (S710). As described above, the motion vector may be referred to as a "block vector". For example, when the skip mode or merge mode is applied to the current block, the decoding equipment may configure the merge candidate list as described above and select one of the merge candidates included in the merge candidate list. The selection may be performed based on the above selection information (combination index). The motion vector of the current block may be extracted using the motion vector of the selected join candidate. The motion vector of the selected join candidate may be used as the motion vector of the current block.

[150] В качестве другого примера, когда (A)MVP-режим применяется к текущему блоку, оборудование декодирования может конфигурировать список возможных (A)MVP-вариантов, как описано выше, и использовать вектор движения возможного MVP-варианта, выбранного из числа возможных MVP-вариантов, включенных в список возможных (A)MVP-вариантов, в качестве MVP текущего блока. Выбор может выполняться на основе вышеописанной информации выбора (MVP-флага или MVP-индекса). В этом случае, MVD текущего блока может извлекаться на основе информации относительно MVD, и вектор движения текущего блока может извлекаться на основе MVP и MVD текущего блока. Помимо этого, индекс опорного кадра текущего блока может извлекаться на основе информации индекса опорного кадра. Кадр, указываемый посредством индекса опорного кадра в списке опорных кадров для текущего блока, может извлекаться в качестве опорного кадра, на который ссылаются для взаимного прогнозирования текущего блока.[150] As another example, when the (A)MVP mode is applied to the current block, the decoding equipment may configure a list of (A)MVP candidates as described above, and use the motion vector of the MVP candidate selected from among the possible MVP options included in the list of possible (A)MVP options, as the MVP of the current block. The selection may be made based on the selection information (MVP flag or MVP index) described above. In this case, the MVD of the current block may be derived based on the information regarding the MVD, and the motion vector of the current block may be derived based on the MVP and MVD of the current block. In addition, the index of the key frame of the current block may be derived based on the information of the index of the key frame. The frame indicated by the reference frame index in the reference frame list for the current block may be retrieved as the reference frame referenced for inter-prediction of the current block.

[151] Между тем, как описано выше, вектор движения текущего блока может извлекаться без конфигурирования списка возможных вариантов, и в этом случае, вектор движения текущего блока может извлекаться согласно процедуре, раскрытой в соответствующем режиме прогнозирования. В этом случае, конфигурирование списка возможных вариантов, как описано выше, может опускаться.[151] Meanwhile, as described above, the motion vector of the current block can be extracted without configuring the candidate list, in which case, the motion vector of the current block can be extracted according to the procedure disclosed in the corresponding prediction mode. In this case, the option list configuration as described above may be omitted.

[152] Оборудование декодирования может формировать прогнозные выборки для текущего блока на основе вектора движения для текущего блока (S720). Оборудование декодирования может извлекать прогнозные выборки текущего блока с использованием выборок опорного блока, указываемого посредством вектора движения текущего блока в текущем кадре. В этом случае, процедура фильтрации прогнозных выборок дополнительно может выполняться для всех или некоторых прогнозных выборок текущего блока.[152] The decoding equipment may generate predictive samples for the current block based on the motion vector for the current block (S720). The decoding equipment may derive the prediction samples of the current block using the reference block samples indicated by the motion vector of the current block in the current frame. In this case, the prediction sample filtering procedure may further be performed on all or some of the prediction samples of the current block.

[153] Например, модуль прогнозирования оборудования декодирования может включать в себя модуль определения режима прогнозирования, модуль извлечения векторов движения и модуль извлечения прогнозных выборок. Режим прогнозирования для текущего блока может определяться на основе вектора режима прогнозирования, принимаемого из модуля определения режима прогнозирования, вектор движения текущего блока может извлекаться на основе информации относительно вектора движения, принимаемой из модуля 262 извлечения векторов движения, и модуль извлечения прогнозных выборок может извлекать прогнозные выборки текущего блока.[153] For example, the decoding equipment prediction module may include a prediction mode determination module, a motion vector extraction module, and a prediction sample extraction module. The prediction mode for the current block may be determined based on the prediction mode vector received from the prediction mode determination module, the motion vector of the current block may be derived based on the motion vector information received from the motion vector extractor 262, and the prediction sample extractor may extract the prediction samples. current block.

[154] Оборудование декодирования формирует остаточные выборки для текущего блока на основе принимаемой остаточной информации (S730). Оборудование декодирования может формировать восстановленные выборки для текущего блока на основе прогнозных выборок и остаточных выборок и формировать восстановленный кадр на их основе (S740). После этого, процедура внутриконтурной фильтрации и т.п. дополнительно может применяться к восстановленному кадру, как описано выше.[154] The decoding equipment generates residual samples for the current block based on the received residual information (S730). The decoding equipment may generate reconstructed samples for the current block based on the predictive samples and residual samples, and generate a reconstructed frame based on them (S740). After that, the in-loop filtration procedure, etc. may additionally be applied to the reconstructed frame as described above.

[155] В дальнейшем описываются варианты осуществления, связанные с режимом объединения и режимом пропуска, из режимов IBC-прогнозирования, вместе со следующими таблицами. В частности, показывается способ для определения максимального числа возможных вариантов режимов объединения, извлекаемых для того, чтобы находить вектор движения текущего блока, когда IBC используется.[155] In the following, embodiments related to the combining mode and skip mode of the IBC prediction modes are described along with the following tables. In particular, a method is shown for determining the maximum number of possible combination modes to be extracted in order to find the motion vector of the current block when IBC is used.

[156] Следующая таблица представляет собой примерный синтаксис заголовка группы плиток.[156] The following table is an exemplary tile group header syntax.

[157] Табл. 1[157] Tab. 1

Figure 00000001
Figure 00000001

[158] В технологии на основе видеокодеков следующего поколения, когда тип групп плиток (tile_group_type) представляет собой P (однонаправленное прогнозирование) или B (двунаправленное прогнозирование), максимальное число общих возможных вариантов режимов объединения определяется посредством синтаксического элемента six_minus_max_num_merge_cand, и максимальное число возможных вариантов режимов объединения для IBC может определяться с его помощью.[158] In the technology based on next generation video codecs, when the type of tile groups (tile_group_type) is P (unidirectional prediction) or B (bidirectional prediction), the maximum number of common possible combination modes is determined by the syntax element six_minus_max_num_merge_cand, and the maximum number of possible variants combination modes for IBC can be determined using it.

[159] Когда тип групп плиток (tile_group_type) представляет собой I (внутреннее прогнозирование), общий режим объединения не присутствует, в силу чего идентичный синтаксис, six_minus_max_num_merge_cand, передается, чтобы определять максимальное число возможных вариантов режимов объединения для IBC.[159] When the type of tile groups (tile_group_type) is I (internal prediction), no common merge mode is present, whereby the identical syntax, six_minus_max_num_merge_cand, is transmitted to determine the maximum number of possible merge modes for IBC.

[160] IBC-технология представляет собой технологию для выполнения компенсации движения в кадре и может иметь различные характеристики по сравнению с режимом объединения существующего взаимного прогнозирования, и способ для конструирования возможных вариантов режимов объединения может отличаться. Следовательно, использование идентичного числа возможных вариантов объединения может не быть эффективным с точки зрения производительности сжатия.[160] The IBC technology is a technology for performing motion compensation in a frame, and may have different characteristics compared to the combination mode of the existing inter-prediction, and the method for constructing combination mode candidates may be different. Therefore, using the same number of possible combinations may not be efficient in terms of compression performance.

[161] В одном примере, синтаксис заголовка группы плиток может быть таким, как показано в следующей таблице.[161] In one example, the tile group header syntax may be as shown in the following table.

[162] Табл. 2[162] Tab. 2

Figure 00000002
Figure 00000002

[163] Семантика синтаксических элементов, включенных в синтаксис таблицы 2, может выражаться, например, так, как показано в следующей таблице.[163] The semantics of the syntax elements included in the syntax of Table 2 may be expressed, for example, as shown in the following table.

[164] Табл. 3[164] Tab. 3

- six_minus_max_num_ibc_merge_cand указывает максимальное число возможных вариантов прогнозирования векторов движения (MVP) для объединения, поддерживаемых в группе плиток, вычитаемое из 6. Максимальное число возможных MVP-вариантов для объединения, MaxNumibcMergeCand, извлекается следующим образом:- six_minus_max_num_ibc_merge_cand specifies the maximum number of merge motion vector prediction (MVP) candidates supported in a tile group, subtracted from 6. The maximum merge MVP candidate, MaxNumibcMergeCand, is retrieved as follows:

MaxNumibcMergeCand=6-six_minus_max_num_ibc_merge_candMaxNumibcMergeCand=6-six_minus_max_num_ibc_merge_cand

Значение MaxNumibcMergeCand должно составлять в диапазоне от 1 до 6, включительно.MaxNumibcMergeCand must be between 1 and 6, inclusive.

[165] В другом примере, синтаксис заголовка группы плиток может быть таким, как показано в следующей таблице.[165] In another example, the tile group header syntax may be as shown in the following table.

[166] Табл. 4[166] Tab. 4

Figure 00000003
Figure 00000003

[167] Семантика синтаксических элементов, включенных в синтаксис таблицы 4, может выражаться, например, так, как показано в следующей таблице.[167] The semantics of the syntax elements included in the syntax of Table 4 may be expressed, for example, as shown in the following table.

[168] Табл. 5[168] Tab. 5

- five_minus_max_num_ibc_merge_cand указывает максимальное число возможных вариантов прогнозирования векторов движения (MVP) для объединения, поддерживаемых в группе плиток, вычитаемое из 5. Максимальное число возможных MVP-вариантов для объединения, MaxNumibcMergeCand, извлекается следующим образом:- five_minus_max_num_ibc_merge_cand specifies the maximum number of merge motion vector prediction (MVP) candidates supported in a tile group, subtracted from 5. The maximum merge MVP candidate, MaxNumibcMergeCand, is retrieved as follows:

MaxNumibcMergeCand=5-five_minus_max_num_ibc_merge_candMaxNumibcMergeCand=5-five_minus_max_num_ibc_merge_cand

Значение MaxNumibcMergeCand должно составлять в диапазоне от 1 до 5, включительно.MaxNumibcMergeCand must be between 1 and 5, inclusive.

[169] В другом примере, синтаксис заголовка группы плиток может быть таким, как показано в следующей таблице.[169] In another example, the tile group header syntax may be as shown in the following table.

[170] Табл. 6[170] Tab. 6

Figure 00000004
Figure 00000004

[171] Семантика синтаксических элементов, включенных в синтаксис таблицы 6, может выражаться, например, так, как показано в следующей таблице.[171] The semantics of the syntax elements included in the syntax of Table 6 may be expressed, for example, as shown in the following table.

[172] Табл. 7[172] Tab. 7

- four_minus_max_num_ibc_merge_cand указывает максимальное число возможных вариантов прогнозирования векторов движения (MVP) для объединения, поддерживаемых в группе плиток, вычитаемое из 4. Максимальное число возможных MVP-вариантов для объединения, MaxNumibcMergeCand, извлекается следующим образом:- four_minus_max_num_ibc_merge_cand specifies the maximum number of merge motion vector prediction (MVP) candidates supported in a tile group, subtracted from 4. The maximum merge MVP candidate, MaxNumibcMergeCand, is retrieved as follows:

MaxNumibcMergeCand=4-four_minus_max_num_ibc_merge_candMaxNumibcMergeCand=4-four_minus_max_num_ibc_merge_cand

Значение MaxNumibcMergeCand должно составлять в диапазоне от 1 до 4, включительно.MaxNumibcMergeCand must be between 1 and 4, inclusive.

[173] В другом примере, синтаксис заголовка группы плиток может быть таким, как показано в следующей таблице.[173] In another example, the tile group header syntax may be as shown in the following table.

[174] Табл. 8[174] Tab. 8

Figure 00000005
Figure 00000005

[175] Семантика синтаксических элементов, включенных в синтаксис таблицы 8, может выражаться, например, так, как показано в следующей таблице.[175] The semantics of the syntax elements included in the syntax of table 8 may be expressed, for example, as shown in the following table.

[176] Табл. 9[176] Tab. 9

- three_minus_max_num_ibc_merge_cand указывает максимальное число возможных вариантов прогнозирования векторов движения (MVP) для объединения, поддерживаемых в группе плиток, вычитаемое из 3. Максимальное число возможных MVP-вариантов для объединения, MaxNumibcMergeCand, извлекается следующим образом:- three_minus_max_num_ibc_merge_cand specifies the maximum number of merge motion vector prediction (MVP) candidates supported in a tile group, subtracted from 3. The maximum merge MVP candidate, MaxNumibcMergeCand, is retrieved as follows:

MaxNumibcMergeCand=3-three_minus_max_num_ibc_merge_candMaxNumibcMergeCand=3-three_minus_max_num_ibc_merge_cand

Значение MaxNumibcMergeCand должно составлять в диапазоне от 1 до 3, включительно.MaxNumibcMergeCand must be between 1 and 3, inclusive.

[177] В другом примере, синтаксис заголовка группы плиток может быть таким, как показано в следующей таблице.[177] In another example, the tile group header syntax may be as shown in the following table.

[178] Табл. 10[178] Tab. 10

Figure 00000006
Figure 00000006

[179] Семантика синтаксических элементов, включенных в синтаксис таблицы 10, может выражаться, например, так, как показано в следующей таблице.[179] The semantics of the syntax elements included in the syntax of table 10 may be expressed, for example, as shown in the following table.

[180] Табл. 11[180] Tab. eleven

- two_minus_max_num_ibc_merge_cand указывает максимальное число возможных вариантов прогнозирования векторов движения (MVP) для объединения, поддерживаемых в группе плиток, вычитаемое из 2. Максимальное число возможных MVP-вариантов для объединения, MaxNumibcMergeCand, извлекается следующим образом:- two_minus_max_num_ibc_merge_cand specifies the maximum number of merge motion vector prediction (MVP) candidates supported in a tile group, subtracted from 2. The maximum merge MVP candidate, MaxNumibcMergeCand, is retrieved as follows:

MaxNumibcMergeCand=2-two_minus_max_num_ibc_merge_candMaxNumibcMergeCand=2-two_minus_max_num_ibc_merge_cand

Значение MaxNumibcMergeCand должно составлять в диапазоне от 1 до 2, включительно.MaxNumibcMergeCand must be between 1 and 2, inclusive.

[181] Когда вышеуказанные примеры описываются в формате документа по стандартизации, они могут выражаться следующим образом, и подробности являются очевидными для специалистов в данной области техники.[181] When the above examples are described in the format of a standardization document, they can be expressed as follows, and the details are obvious to those skilled in the art.

[182] Табл. 12[182] Tab. 12

8.6.2. Процесс извлечения для компонентов вектора движения для IEC-блоков8.6.2. Extraction Process for Motion Vector Components for IEC Blocks

8.6.2.1. Общие сведения8.6.2.1. General information

Вводы в этот процесс представляют собой следующее:The inputs to this process are the following:

- местоположение (xCb, yCb) сигнала яркости левой верхней выборки текущего блока кодирования сигналов яркости относительно левой верхней выборки сигнала яркости текущего кадра,- location (xCb, yCb) of the luminance signal of the upper left sample of the current luminance coding block relative to the upper left sample of the luminance signal of the current frame,

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

- переменная cbHeight, указывающая высоту текущего блока кодирования в выборках сигнала яркости.cbHeight variable indicating the height of the current coding block in luma samples.

Выводы этого процесса представляют собой:The outputs of this process are:

- вектор mvL движения сигнала яркости с 1/16 дробновыборочной точностью.- motion vector mvL of the luminance signal with 1/16 fractional accuracy.

Вектор mvL движения сигнала яркости извлекается следующим образом:The luminance motion vector mvL is extracted as follows:

Если merge_flag[xCb][yCb] равен 1, процесс извлечения для векторов движения сигнала яркости для режима объединения, как указано в разделе 8.6.2.2, активируется с вводами в качестве местоположения (xCb, yCb) сигнала яркости, переменных cbWidth и cbHeight, и выводом, представляющим собой вектор mvL движения сигнала яркости.If merge_flag[xCb][yCb] is equal to 1, the extraction process for the luminance motion vectors for the merge mode, as specified in section 8.6.2.2, is activated with the inputs as the location (xCb, yCb) of the luminance signal, the variables cbWidth and cbHeight, and output representing the motion vector mvL of the luminance signal.

Иначе, применимо следующее:Otherwise, the following applies:

1. Переменная mvd извлекается следующим образом:1. The mvd variable is retrieved like this:

mvd[0]=MvdL0[xCb][yCb][0] (8-967)mvd[0]=MvdL0[xCb][yCb][0] (8-967)

mvd[1]=MvdL0[xCb][yCb][1] (8-210)mvd[1]=MvdL0[xCb][yCb][1] (8-210)

2. Процесс извлечения для прогнозирования векторов движения сигнала яркости в разделе 8.6.2.6 активируется с местоположением (xCb, yCb) блока кодирования сигналов яркости, шириной cbWidth блока кодирования и высотой cbHeight блока кодирования в качестве вводов и с выводом, представляющим собой MVP.2. The extraction process for predicting luminance motion vectors in section 8.6.2.6 is invoked with the location (xCb, yCb) of the luminance coding block, the width cbWidth of the coding block, and the height cbHeight of the coding block as inputs, and with the output being the MVP.

3. Вектор mvL движения сигнала яркости извлекается следующим образом:3. The motion vector mvL of the luminance signal is extracted as follows:

u[0]=(mvp[0]+mvd[0]+218)%218 (8-968)u[0]=(mvp[0]+mvd[0]+2 18 )%2 18 (8-968)

mvL[0]=(u[0]>=217)?(u[0]-218):u[0] (8-969)mvL[0]=(u[0]>=2 17 )?(u[0]-2 18 ):u[0] (8-969)

u[1]=(mvp[1]+mvd[1]+218)%218 (8-970)u[1]=(mvp[1]+mvd[1]+2 18 )%2 18 (8-970)

mvL[l]=(u[l]>=217)?(u[1]-218):u[l] (8-971)mvL[l]=(u[l]>=2 17 )?(u[1]-2 18 ):u[l] (8-971)

Примечание 1. Результирующие значения mvL[0] и mvL[1], как указано выше, всегда должны составлять в диапазоне от -217 до 217-1, включительно.Note 1: The resulting values of mvL[0] and mvL[1] as above should always be between -2 17 and 2 17 -1, inclusive.

Процесс обновления для списка предикторов векторов движения на основе предыстории, как указано в разделе 8.6.2.10, активируется с вектором mvL движения сигнала яркости.The update process for the history-based motion vector predictor list, as specified in section 8.6.2.10, is activated with the luminance motion vector mvL.

Требование соответствия потока битов заключается в том, что вектор mvL движения сигнала яркости должен подчиняться следующим ограничениям:The bitstream conformance requirement is that the luminance motion vector mvL must obey the following constraints:

Когда процесс извлечения для доступности блоков, как указано в разделе 6.4.X [Ed. (BB): Процесс проверки доступности соседних блоков, подлежит уточнению] активируется с текущим местоположением (xCurr, yCurr) сигнала яркости, заданным равным (xCb, yCb), и соседним местоположением сигнала яркости (xCb+(mvL[0]>>4), yCb+(mvL[1]>>4)) в качестве вводов, и вывод должен быть равным "истина".When the extraction process for block availability, as specified in section 6.4.X of [Ed. (BB): Adjacent block availability check process, tbd] is activated with the current luma location (xCurr, yCurr) set to (xCb, yCb) and the adjacent luma location (xCb+(mvL[0]>>4), yCb+(mvL[1]>>4)) as inputs, and the output should be true.

Когда процесс извлечения для доступности блоков, как указано в разделе 6.4.X [Ed. (BB): Процесс проверки доступности соседних блоков, подлежит уточнению] активируется с текущим местоположением (xCurr, yCurr) сигнала яркости, заданным равным, (xCb, yCb), и соседним местоположением сигнала яркости (xCb+(mvL[0]>>4)+cbWidth-1, yCb+(mvL[1]>>4)+cbHeight-1) в качестве вводов, и вывод должен быть равным "истина".When the extraction process for block availability, as specified in section 6.4.X of [Ed. (BB): Adjacent block availability check process, tbd] is activated with the current luma location (xCurr, yCurr) set to (xCb, yCb) and the adjacent luma location (xCb+(mvL[0]>>4) +cbWidth-1, yCb+(mvL[1]>>4)+cbHeight-1) as inputs, and the output must be true.

[183] Один или оба следующие условия должны представлять собой "истина":[183] One or both of the following conditions must be true:

Значение (mvL[0]>>4)+cbWidth меньше или равно 0.The value (mvL[0]>>4)+cbWidth is less than or equal to 0.

Значение (mvL[1]>>4)+cbHeight меньше или равно 0. Следующие условия должны представлять собой "истина":The value (mvL[1]>>4)+cbHeight is less than or equal to 0. The following conditions must be true:

(yCb+(mvL[1]>>4))>>CtbLog2SizeY=yCb>>CtbLog2SizeY (8-972)(yCb+(mvL[1]>>4))>>CtbLog2SizeY=yCb>>CtbLog2SizeY (8-972)

(yCb+(mvL[1]>>4)+cbHeight-1)>>CtbLog2SizeY=yCb>>CtbLog2SizeY (8-973)(yCb+(mvL[1]>>4)+cbHeight-1)>>CtbLog2SizeY=yCb>>CtbLog2SizeY (8-973)

(xCb+(mvL[0]>>4))>>CtbLog2SizeY>=(xCb>>CtbLog2SizeY)-1 (8-974)(xCb+(mvL[0]>>4))>>CtbLog2SizeY>=(xCb>>CtbLog2SizeY)-1 (8-974)

(xCb+(mvL[0]>>4)+cbWidth-1)>>CtbLog2SizeY<=(xCb>>CtbLog2SizeY) (8-975)(xCb+(mvL[0]>>4)+cbWidth-1)>>CtbLog2SizeY<=(xCb>>CtbLog2SizeY) (8-975)

[Ed. (SL): условия (8-218) и (8-216), возможно, проверены посредством 6.4.X][Ed. (SL): Conditions (8-218) and (8-216) possibly checked by 6.4.X]

- Когда (xCb+(mvL[0]>>4))>>CtbLog2SizeY равен (xCb>>CtbLog2SizeY)-1, процесс извлечения для доступности блоков, как указано в разделе 6.4.X [Ed. (BB): Процесс проверки доступности соседних блоков, подлежит уточнению], активируется с текущим местоположением (xCurr, yCurr) сигнала яркости, заданным равным (xCb, yCb), и соседним местоположением (((xCb+(mvL[0]>>4)+CtbSizeY)>>(CtbLog2SizeY-1))<<(CtbLog2SizeY-1), ((yCb+(mvL[1]>>4))>>(CtbLog2SizeY-1))<<(CtbLog2SizeY-1)) сигнала яркости в качестве вводов, и вывод должен быть равным "ложь".- When (xCb+(mvL[0]>>4))>>CtbLog2SizeY is equal to (xCb>>CtbLog2SizeY)-1, the extraction process for block availability as specified in section 6.4.X of [Ed. (BB): Adjacent block availability check process, TBD] is activated with the current luma location (xCurr, yCurr) set to (xCb, yCb) and the adjacent location (((xCb+(mvL[0]>>4) +CtbSizeY)>>(CtbLog2SizeY-1))<<(CtbLog2SizeY-1), ((yCb+(mvL[1]>>4))>>(CtbLog2SizeY-1))<<(CtbLog2SizeY-1)) luminance signal as inputs, and the output should be false.

8.6.2.2. Процесс извлечения для вектора движения сигнала яркости для режима объединения8.6.2.2. Extraction Process for Luminance Motion Vector for Combining Mode

Этот процесс активируется только тогда, когда merge_flag[xCb][yPb] равен 1, и CuPredMode[xCb][yPb] равен MODE_IBC, где (xCb, yCb) указывает левую верхнюю выборку текущего блока кодирования сигналов яркости относительно левой верхней выборки сигнала яркости текущего кадра.This process is only enabled when merge_flag[xCb][yPb] is equal to 1 and CuPredMode[xCb][yPb] is equal to MODE_IBC where (xCb, yCb) indicates the top left sample of the current luminance coding block relative to the top left sample of the current luminance coding block. frame.

Вводы в этот процесс представляют собой следующее:The inputs to this process are the following:

- местоположение (xCb, yCb) сигнала яркости левой верхней выборки текущего блока кодирования сигналов яркости относительно левой верхней выборки сигнала яркости текущего кадра,- location (xCb, yCb) of the luminance signal of the upper left sample of the current luminance coding block relative to the upper left sample of the luminance signal of the current frame,

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

- переменная cbHeight, указывающая высоту текущего блока кодирования в выборках сигнала яркости.cbHeight variable indicating the height of the current coding block in luma samples.

Выводы этого процесса представляют собой:The outputs of this process are:

- векторы mvL движения сигнала яркости с 1/16 дробновыборочной точностью.- vectors mvL of motion of the luminance signal with 1/16 fractional precision.

Вектор mvL движения сигнала яркости извлекается посредством следующих упорядоченных этапов:The motion vector mvL of the luminance signal is extracted through the following ordered steps:

1. Процесс извлечения для возможных вариантов объединения из соседних единиц кодирования, как указано в разделе 8.6.2.3, активируется с местоположением (xCb, yCb) блока кодирования сигналов яркости, шириной cbWidth блока кодирования сигналов яркости и высотой cbHeight блока кодирования сигналов яркости в качестве вводов и выводами, представляющими собой флаги availableFlagA0, availableFlagA1, availableFlagB0, availableFlagB1 и availableFlagB2 доступности и векторы mvA0, mvA1, mvB0, mvB1 и mvB2 движения.1. The extraction process for merging options from neighboring coding units, as specified in section 8.6.2.3, is invoked with the location (xCb, yCb) of the luminance coder, the width cbWidth of the luminance coder, and the height cbHeight of the luminance coder as inputs. and pins representing availability flags availableFlagA0, availableFlagA1, availableFlagB0, availableFlagB1 and availableFlagB2 and motion vectors mvA0, mvA1, mvB0, mvB1 and mvB2.

2. Список возможных вариантов векторов движения для объединения, mergeMvCandList, конструируется следующим образом:2. The list of possible motion vectors to merge, mergeMvCandList, is constructed as follows:

i=0i=0

if(availableFlagA1)if(availableFlagA1)

mergeMvCandList [i++]=mvA1mergeMvCandList[i++]=mvA1

if(availableFlagB1)if(availableFlagB1)

mergeMvCandList [i++]=mvB1mergeMvCandList[i++]=mvB1

if(availableFlagB0) (8-976)if(availableFlagB0) (8-976)

mergeMvCandList [i++]=mvB0mergeMvCandList[i++]=mvB0

if(availableFlagA0)if(availableFlagA0)

mergeMvCandList [i++]=mvA0mergeMvCandList[i++]=mvA0

[184] if(availableFlagB2)[184] if(availableFlagB2)

mergeMvCandList [i++]=mvB2mergeMvCandList[i++]=mvB2

3. Переменная numCurrMergeCand задается равной числу возможных вариантов объединения в mergeMvCandList.3. The numCurrMergeCand variable is set to the number of possible merge options in mergeMvCandList.

4. Когда numCurrMergeCand меньше (MaxNumibcMergeCand-1), и NumHmvpIbcCand превышает 0, процесс извлечения возможных вариантов объединения на основе предыстории, как указано в 8.6.2.5, активируется с mergeMvCandList и numCurrMergeCand в качестве вводов и модифицированными mergeMvCandList и numCurrMergeCand в качестве выводов.4. When numCurrMergeCand is less than (MaxNumibcMergeCand-1) and NumHmvpIbcCand is greater than 0, the history-based merge candidate extraction process as specified in 8.6.2.5 is invoked with mergeMvCandList and numCurrMergeCand as inputs and modified mergeMvCandList and numCurrMergeCand as outputs.

5. Когда numCurrMergeCand меньше MaxNumibcMergeCand и больше 1, процесс извлечения для попарного среднего возможного варианта объединения, указываемый в разделе 8.6.2.4, активируется с mergeMvCandList и numCurrMergeCand в качестве вводов, и выводы назначаются mergeMvCandList и numCurrMergeCand.5. When numCurrMergeCand is less than MaxNumibcMergeCand and greater than 1, the extraction process for the pairwise average merge candidate specified in Section 8.6.2.4 is invoked with mergeMvCandList and numCurrMergeCand as inputs, and outputs are assigned to mergeMvCandList and numCurrMergeCand.

6. Следующие назначения осуществляются:6. The following appointments are made:

mvL[0]=mergeMvCandList[merge_idx[xCb][yCb]][0] (8-977)mvL[0]=mergeMvCandList[merge_idx[xCb][yCb]][0] (8-977)

mvL[1]=mergeMvCandList[merge_idx[xCb][yCb]][1] (8-978)mvL[1]=mergeMvCandList[merge_idx[xCb][yCb]][1] (8-978)

[185] Чертежи создаются для того, чтобы пояснять конкретный пример настоящего документа. Поскольку название конкретного оборудования, описанного на чертежах, либо название конкретного сигнала/сообщения/поля представляется в качестве примера, технические признаки настоящего документа не ограничены конкретным названием, используемым на чертежах.[185] The drawings are created in order to explain a specific example of this document. Since the name of the particular equipment described in the drawings, or the name of a particular signal/message/field is given as an example, the technical features of this document are not limited to the specific name used in the drawings.

[186] Фиг. 9 и фиг. 10 схематично показывают пример способа кодирования видео/изображений и связанных компонентов согласно варианту(ам) осуществления настоящего документа. Способ, раскрытый на фиг. 9, может осуществляться посредством оборудования кодирования, раскрытого на фиг. 2. В частности, например, S900 и S910 по фиг. 9 могут выполняться посредством модуля 220 прогнозирования оборудования кодирования, и S920 и S930 по фиг. 9 могут выполняться посредством энтропийного кодера 240 оборудования кодирования. Способ, раскрытый на фиг. 9, может включать в себя варианты осуществления, описанные выше в настоящем документе.[186] FIG. 9 and FIG. 10 schematically show an example of a video/image coding method and related components according to the embodiment(s) of the present document. The method disclosed in FIG. 9 may be performed by the encoding equipment disclosed in FIG. 2. In particular, for example, S900 and S910 of FIG. 9 can be performed by the coding equipment predictor 220, and S920 and S930 of FIG. 9 may be performed by the entropy encoder 240 of the encoding equipment. The method disclosed in FIG. 9 may include the embodiments described above herein.

[187] Ссылаясь на фиг. 9, оборудование кодирования может извлекать режим прогнозирования для текущего блока в текущем кадре в качестве режима IBC-прогнозирования (S900). Режим IBC-прогнозирования может включать в себя режим IBC-объединения, IBC (A)MVP-режим, IBC HMVP-режим и режим попарного среднего IBC-объединения. В одном примере, режим IBC-прогнозирования может представлять собой режим IBC-объединения (режим объединения для IBC).[187] Referring to FIG. 9, the encoding equipment may derive the prediction mode for the current block in the current frame as the IBC prediction mode (S900). The IBC prediction mode may include an IBC pooling mode, an IBC (A)MVP mode, an IBC HMVP mode, and a pairwise average IBC pooling mode. In one example, the IBC prediction mode may be an IBC pooling mode (IBC pooling mode).

[188] Оборудование кодирования может извлекать список возможных вариантов для режима IBC-прогнозирования (S910). Список возможных вариантов для режима IBC-прогнозирования может включать в себя возможные варианты блочных векторов, указывающие опорный блок в текущем кадре. В одном примере, список возможных вариантов для режима IBC-прогнозирования может представлять собой список возможных вариантов объединения для режима IBC-прогнозирования. Таблица 12, описанная выше, показывает mvL[0] и mvL[1] в качестве примерных списков возможных вариантов.[188] The encoding equipment may extract a list of candidates for the IBC prediction mode (S910). The candidate list for the IBC prediction mode may include block vector candidates indicating a reference block in the current frame. In one example, the candidate list for the IBC prediction mode may be a list of join candidates for the IBC prediction mode. Table 12, described above, shows mvL[0] and mvL[1] as exemplary lists of options.

[189] Оборудование кодирования может формировать информацию индекса, указывающую (представляющую, задающую) блочный вектор текущего блока на основе списка возможных вариантов для режима IBC-прогнозирования (S920). Например, информация индекса может представлять собой merge_idx[xCb][yCb], включенный в таблицу 12, описанную выше.[189] The coding equipment may generate index information indicating (representing, specifying) a block vector of the current block based on the list of options for the IBC prediction mode (S920). For example, the index information may be merge_idx[xCb][yCb] included in table 12 described above.

[190] Оборудование кодирования может кодировать информацию видео/изображений (S930). Информация изображений/видео может включать в себя информацию индекса, указывающую блочный вектор текущего блока. Информация для формирования выборок сигнала яркости может включать в себя, например, связанную с прогнозированием информацию (информацию режима прогнозирования) и остаточную информацию. Связанная с прогнозированием информация включает в себя информацию относительно различных режимов прогнозирования (т.е. режим объединения взаимного прогнозирования, MVP-режим взаимного прогнозирования, режим IBC-прогнозирования (режим IBC-объединения, IBC (A)MVP-режим, IBC HMVP-режим) и т.д.). MVD-информация, информация относительно списка возможных вариантов, информация относительно максимального числа блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования, информация относительно максимального числа блочных векторов, включенных в список возможных вариантов для режима IBC-объединения, информация режима взаимного прогнозирования относительно максимального числа блочных векторов, включенных в список возможных вариантов, информация относительно максимального числа векторов движения, включенных в список возможных вариантов для режима объединения взаимного прогнозирования, информация относительно блочных векторов (векторов движения) и т.д. может включаться. Кроме того, информация изображений может включать в себя информацию флага (т.е. pred_mode_ibc_flag), указывающую то, применяется или нет режим IBC-прогнозирования.[190] The encoding equipment may encode video/image information (S930). The image/video information may include index information indicating a block vector of the current block. The luminance sampling information may include, for example, prediction-related information (prediction mode information) and residual information. The prediction-related information includes information on various prediction modes (i.e., inter-prediction combining mode, MVP mutual prediction mode, IBC prediction mode (IBC combining mode, IBC(A)MVP mode, IBC HMVP mode ) etc.). MVD information, candidate list information, information about the maximum number of block vectors included in the candidate list for the IBC prediction mode, information about the maximum number of block vectors included in the candidate list for the IBC combining mode, information about the inter prediction mode about the maximum number of block vectors included in the candidate list, information about the maximum number of motion vectors included in the candidate list for the inter-prediction combining mode, information about block vectors (motion vectors), and so on. may turn on. In addition, the image information may include flag information (ie, pred_mode_ibc_flag) indicating whether or not the IBC prediction mode is applied.

[191] В одном варианте осуществления, информация изображений может включать в себя набор параметров последовательности (SPS), и SPS включает в себя флаг активации IBC, указывающий то, активируется или нет режим IBC-прогнозирования. Например, когда значение флага активации IBC равно 1, информация относительно максимального числа возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования, может формироваться.[191] In one embodiment, the image information may include a sequence parameter set (SPS), and the SPS includes an IBC activation flag indicating whether or not the IBC prediction mode is activated. For example, when the value of the IBC activation flag is 1, information regarding the maximum number of possible block vectors included in the candidate list for the IBC prediction mode may be generated.

[192] В одном варианте осуществления, максимальное число возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования, может извлекаться на основе разности между 6 и значением информации относительно максимального числа возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования. Например, максимальное число возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования, может извлекаться на основе уравнения, включенного в таблицу 3 (MaxNumibcMergeCand=6-six_minus_max_num_ibc_merge_cand). В уравнении, MaxNumibcMergeCand может представлять максимальное число возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования, и six_minus_max_num_ibc_merge_cand может представлять значение информации относительно максимального числа возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования.[192] In one embodiment, the maximum number of block vector candidates included in the candidate list for the IBC prediction mode may be derived based on the difference between 6 and the information value regarding the maximum number of block vector candidates included in the candidate list for IBC-prediction mode. For example, the maximum number of possible block vectors included in the candidate list for the IBC prediction mode may be derived based on the equation included in Table 3 (MaxNumibcMergeCand=6-six_minus_max_num_ibc_merge_cand). In the equation, MaxNumibcMergeCand may represent the maximum number of block vector candidates included in the candidate list for the IBC prediction mode, and six_minus_max_num_ibc_merge_cand may represent the value of information regarding the maximum number of block vector candidates included in the candidate list for the IBC prediction mode.

[193] В одном варианте осуществления, информация изображений может включать в себя информацию относительно максимального числа возможных вариантов векторов движения, включенных в список возможных вариантов для режима взаимного прогнозирования, и информация относительно максимального числа возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования, (например, six_minus_max_num_merge_cand), может отличаться от информации относительно максимального числа возможных вариантов векторов движения, включенных в список возможных вариантов для режима взаимного прогнозирования (например, six_minus_max_num_ibc_merge_cand).[193] In one embodiment, the image information may include information regarding the maximum number of motion vector candidates included in the candidate list for the inter prediction mode, and information regarding the maximum number of block vector candidates included in the candidate list for the inter prediction mode. IBC predictions (eg, six_minus_max_num_merge_cand) may differ from the information regarding the maximum number of possible motion vectors included in the candidate list for the inter-prediction mode (eg, six_minus_max_num_ibc_merge_cand).

[194] В одном варианте осуществления, когда число возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования, меньше максимального числа и больше 1, процесс извлечения попарных средних возможных вариантов объединения может выполняться. Альтернативно, когда число возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования, меньше максимального числа (либо максимального числа-1, MaxNumMergeCand-1), и число возможных вариантов прогнозирования векторов движения на основе предыстории (HMVP) превышает 0, процесс извлечения возможных вариантов объединения на основе предыстории может выполняться.[194] In one embodiment, when the number of possible block vectors included in the list of possible options for the IBC prediction mode is less than the maximum number and greater than 1, a process of extracting pairwise means of pooling possibilities may be performed. Alternatively, when the number of block vector candidates included in the candidate list for the IBC prediction mode is less than the maximum number (or the maximum number-1, MaxNumMergeCand-1), and the number of history-based motion vector prediction (HMVP) candidates is greater than 0 , a history-based merge candidate extraction process can be performed.

[195] Кодированная информация изображений/видео может выводиться в форме потока битов. Поток битов может передаваться в оборудование декодирования через сеть или (цифровой) носитель хранения данных.[195] The encoded image/video information may be output in the form of a bitstream. The bit stream may be transmitted to the decoding equipment via a network or a (digital) storage medium.

[196] Информация изображений может включать в себя различную информацию согласно варианту осуществления настоящего документа. Например, информация изображений может включать в себя, по меньшей мере, одну информацию или, по меньшей мере, один синтаксический элемент, раскрытый, по меньшей мере, в одной из таблиц 1, 2, 4, 6, 8 и 10, описанных выше.[196] The image information may include various information according to an embodiment of the present document. For example, the image information may include at least one information or at least one syntax element disclosed in at least one of Tables 1, 2, 4, 6, 8, and 10 described above.

[197] В одном примере, оборудование кодирования может извлекать остаточные выборки на основе прогнозных выборок и исходных выборок. В этом случае, остаточная информация может извлекаться на основе остаточных выборок. Восстановленные выборки могут формироваться на основе остаточной информации. Восстановленный блок и восстановленный кадр могут извлекаться на основе восстановленных выборок.[197] In one example, the encoding equipment may derive residual samples based on the predictive samples and the original samples. In this case, the residual information may be derived based on the residual samples. Reconstructed samples may be formed based on the residual information. The reconstructed block and the reconstructed frame may be derived based on the reconstructed samples.

[198] Фиг. 11 и фиг. 12 схематично показывают пример способа декодирования изображений/видео и связанных компонентов согласно варианту осуществления настоящего документа. Способ, раскрытый на фиг. 11, может осуществляться посредством оборудования декодирования, проиллюстрированного на фиг. 3. В частности, например, S1100 по фиг. 11 может выполняться посредством энтропийного декодера 310 оборудования декодирования, S1110-S1140 могут выполняться посредством модуля 330 прогнозирования оборудования декодирования, и S1150 может выполняться посредством сумматора 340 оборудования декодирования. Способ, раскрытый на фиг. 11, может включать в себя варианты осуществления, описанные выше в настоящем документе.[198] FIG. 11 and FIG. 12 schematically show an example of an image/video decoding method and related components according to an embodiment of the present document. The method disclosed in FIG. 11 may be performed by the decoding equipment illustrated in FIG. 3. In particular, for example, the S1100 of FIG. 11 may be performed by the entropy decoder 310 of the decoding equipment, S1110 to S1140 may be performed by the prediction unit 330 of the decoding equipment, and S1150 may be performed by the adder 340 of the decoding equipment. The method disclosed in FIG. 11 may include the embodiments described above herein.

[199] Ссылаясь на фиг. 11, оборудование декодирования может принимать/получать информацию изображений/видео. Например, оборудование декодирования может принимать/получать информацию изображений/видео через поток битов. Оборудование декодирования может получать информацию индекса для извлечения блочного вектора через поток битов (S1100). Например, информация индекса может представлять собой merge_idx[xCb][yCb], включенный в таблицу 12, описанную выше. Помимо этого, оборудование декодирования дополнительно может получать информацию флага (т.е. pred_mode_ibc_flag), указывающую то, применяется или нет режим IBC-прогнозирования через поток битов.[199] Referring to FIG. 11, the decoding equipment can receive/acquire image/video information. For example, the decoding equipment may receive/receive image/video information via a bitstream. The decoding equipment may obtain index information for extracting the block vector via the bitstream (S1100). For example, the index information may be merge_idx[xCb][yCb] included in table 12 described above. In addition, the decoding equipment may further obtain flag information (ie, pred_mode_ibc_flag) indicating whether or not the IBC prediction mode via bitstream is applied.

[200] Информация изображений/видео может включать в себя различную информацию согласно варианту осуществления настоящего документа. Например, информация изображений/видео может включать в себя информацию, раскрытую, по меньшей мере, в одну из таблиц 1, 2, 4, 6, 8 и 10, описанных выше.[200] The image/video information may include various information according to an embodiment of the present document. For example, the image/video information may include information disclosed in at least one of Tables 1, 2, 4, 6, 8, and 10 described above.

[201] Оборудование декодирования может извлекать режим прогнозирования для текущего блока в текущем кадре в качестве режима IBC-прогнозирования (S1110). Режим IBC-прогнозирования может включать в себя режим IBC-объединения, IBC (A)MVP-режим, IBC HMVP-режим и режим попарного среднего IBC-объединения. В одном примере, режим IBC-прогнозирования может представлять собой режим IBC-объединения (режим объединения для IBC).[201] The decoding equipment may derive a prediction mode for the current block in the current frame as an IBC prediction mode (S1110). The IBC prediction mode may include an IBC pooling mode, an IBC (A)MVP mode, an IBC HMVP mode, and a pairwise average IBC pooling mode. In one example, the IBC prediction mode may be an IBC pooling mode (IBC pooling mode).

[202] Оборудование декодирования может извлекать список возможных вариантов для режима IBC-прогнозирования (S1120). Список возможных вариантов для режима IBC-прогнозирования может включать в себя возможные варианты блочных векторов, указывающие опорный блок в текущем кадре. В одном примере, список возможных вариантов для режима IBC-прогнозирования может представлять собой список возможных вариантов объединения для режима IBC-прогнозирования. Таблица 12, описанная выше, показывает mvL[0] и mvL[1] в качестве примерных списков возможных вариантов.[202] The decoding equipment may extract a list of candidates for the IBC prediction mode (S1120). The candidate list for the IBC prediction mode may include block vector candidates indicating a reference block in the current frame. In one example, the candidate list for the IBC prediction mode may be a list of join candidates for the IBC prediction mode. Table 12, described above, shows mvL[0] and mvL[1] as exemplary lists of options.

[203] Оборудование декодирования может извлекать блочный вектор для текущего блока на основе списка возможных вариантов для режима IBC-прогнозирования и информации индекса (S1130).[203] The decoding equipment may derive a block vector for the current block based on the candidate list for the IBC prediction mode and the index information (S1130).

[204] Оборудование декодирования может формировать прогнозные выборки текущего блока на основе блочного вектора (S1140). Прогнозные выборки для текущего блока могут формироваться на основе опорных выборок в опорном блоке, указываемом посредством блочного вектора. Здесь, опорный блок может включаться в текущий кадр.[204] The decoding equipment may generate current block prediction samples based on the block vector (S1140). The prediction samples for the current block may be generated based on the reference samples in the reference block, indicated by the block vector. Here, the reference block may be included in the current frame.

[205] Оборудование декодирования может формировать восстановленные выборки на основе прогнозных выборок (S1150). Оборудование декодирования может получать остаточную информацию из информации изображений и может извлекать остаточные выборки на основе остаточной информации. Оборудование декодирования может формировать (извлекать) восстановленные выборки на основе остаточных выборок и прогнозных выборок. Например, оборудование декодирования может формировать (извлекать) восстановленные выборки посредством суммирования остаточных выборок с прогнозными выборками.[205] The decoding equipment may generate reconstructed samples based on the predictive samples (S1150). The decoding equipment may obtain residual information from the image information and may extract residual samples based on the residual information. The decoding equipment may generate (extract) reconstructed samples based on the residual samples and the predictive samples. For example, the decoding equipment may generate (extract) recovered samples by summing the residual samples with the predictive samples.

[206] В одном варианте осуществления, информация изображений может включать в себя набор параметров последовательности (SPS), и SPS включает в себя флаг активации IBC, указывающий то, активируется или нет режим IBC-прогнозирования. Например, когда значение флага активации IBC равно 1, информация относительно максимального числа возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования, может передаваться в служебных сигналах/синтаксически анализироваться.[206] In one embodiment, the image information may include a sequence parameter set (SPS), and the SPS includes an IBC activation flag indicating whether or not the IBC prediction mode is activated. For example, when the value of the IBC activation flag is 1, information regarding the maximum number of possible block vectors included in the candidate list for the IBC prediction mode may be signaled/parsed.

[207] В одном варианте осуществления, максимальное число возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования, может извлекаться на основе разности между 6 и значением информации относительно максимального числа возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования. Например, максимальное число возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования, может извлекаться на основе уравнения, включенного в таблицу 3 (MaxNumibcMergeCand=6-six_minus_max_num_ibc_merge_cand). В уравнении, MaxNumibcMergeCand может представлять максимальное число возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования, и six_minus_max_num_ibc_merge_cand может представлять значение информации относительно максимального числа возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования.[207] In one embodiment, the maximum number of block vector candidates included in the candidate list for the IBC prediction mode may be derived based on the difference between 6 and the information value regarding the maximum number of block vector candidates included in the candidate list for IBC-prediction mode. For example, the maximum number of possible block vectors included in the candidate list for the IBC prediction mode may be derived based on the equation included in Table 3 (MaxNumibcMergeCand=6-six_minus_max_num_ibc_merge_cand). In the equation, MaxNumibcMergeCand may represent the maximum number of block vector candidates included in the candidate list for the IBC prediction mode, and six_minus_max_num_ibc_merge_cand may represent the value of information regarding the maximum number of block vector candidates included in the candidate list for the IBC prediction mode.

[208] В одном варианте осуществления, информация изображений может включать в себя информацию относительно максимального числа возможных вариантов векторов движения, включенных в список возможных вариантов для режима взаимного прогнозирования, и информация относительно максимального числа возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования, (например, six_minus_max_num_merge_cand), может отличаться от информации относительно максимального числа возможных вариантов векторов движения, включенных в список возможных вариантов для режима взаимного прогнозирования (например, six_minus_max_num_ibc_merge_cand).[208] In one embodiment, the image information may include information regarding the maximum number of motion vector candidates included in the candidate list for the inter prediction mode and information regarding the maximum number of block vector candidates included in the candidate list for the inter prediction mode. IBC predictions (eg, six_minus_max_num_merge_cand) may differ from the information regarding the maximum number of possible motion vectors included in the candidate list for the inter-prediction mode (eg, six_minus_max_num_ibc_merge_cand).

[209] В одном варианте осуществления, когда число возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования, меньше максимального числа и больше 1, процесс извлечения попарных средних возможных вариантов объединения может выполняться. Альтернативно, Когда число возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования, меньше максимального числа (или максимальное число 1, MaxNumMergeCand-1), и число возможных вариантов прогнозирования векторов движения на основе предыстории (HMVP) превышает 0, процесс извлечения возможных вариантов объединения на основе предыстории может выполняться.[209] In one embodiment, when the number of block vector candidates included in the candidate list for the IBC prediction mode is less than the maximum number and greater than 1, a process of extracting pairwise means of combining possibilities may be performed. Alternatively, When the number of block vector candidates included in the candidate list for the IBC prediction mode is less than the maximum number (or the maximum number of 1, MaxNumMergeCand-1), and the number of history-based motion vector prediction (HMVP) candidates exceeds 0, a history-based join candidate extraction process may be performed.

[210] В вышеописанном варианте осуществления, способы описываются на основе блок-схемы последовательности операций способа, имеющей последовательность этапов или блоков. Настоящее раскрытие сущности не ограничено порядком вышеуказанных этапов или блоков. Некоторые этапы или блоки могут возникать одновременно или в порядке, отличном от других этапов или блоков, как описано выше. Дополнительно, специалисты в данной области техники должны понимать, что этапы, показанные на вышеприведенной блок-схеме последовательности операций способа, не являются исчерпывающими, и другие этапы могут включаться, либо один или более этапов на блок-схеме последовательности операций способа могут удаляться без влияния на объем настоящего раскрытия сущности.[210] In the above embodiment, the methods are described based on a flowchart having a sequence of steps or blocks. The present disclosure is not limited to the order of the above steps or blocks. Some steps or blocks may occur simultaneously or in a different order than other steps or blocks, as described above. Additionally, those skilled in the art should understand that the steps shown in the above flowchart are not exhaustive, and other steps may be included, or one or more steps in the flowchart may be removed without affecting the scope of this disclosure.

[211] Способ согласно вышеописанным вариантам осуществления настоящего документа может реализовываться в программной форме, и оборудование кодирования и/или оборудование декодирования согласно настоящему документу, например, может включаться в оборудование, которое выполняет обработку изображений, для телевизора, компьютера, смартфона, абонентской приставки, устройства отображения и т.д.[211] The method according to the above-described embodiments of this document may be implemented in software form, and the encoding equipment and/or decoding equipment according to this document, for example, may be included in equipment that performs image processing for a TV, computer, smartphone, set-top box, display devices, etc.

[212] Когда варианты осуществления в настоящем документе реализуются в программном обеспечении, вышеописанный способ может реализовываться как модуль (процесс, функция и т.д.), который выполняет вышеописанную функцию. Модуль может сохраняться в запоминающем устройстве и выполняться посредством процессора. Запоминающее устройство может быть внутренним или внешним для процессора и может соединяться с процессором посредством различных известных средств. Процессор может включать в себя специализированную интегральную схему (ASIC), другие наборы микросхем, логические схемы и/или устройства обработки данных. Запоминающее устройство может включать в себя постоянное запоминающее устройство (ROM), оперативное запоминающее устройство (RAM), флэш-память, карты памяти, носители хранения данных и/или другие устройства хранения данных. Таким образом, варианты осуществления, описанные в настоящем документе, могут выполняться посредством реализации на процессоре, микропроцессоре, контроллере или микросхеме. Например, функциональные модули, показанные на каждом чертеже, могут реализовываться и выполняться на компьютере, процессоре, микропроцессоре, контроллере или микросхеме. В этом случае, информация относительно инструкций или алгоритма для реализации может сохраняться в цифровом носителе хранения данных.[212] When the embodiments herein are implemented in software, the above-described method may be implemented as a module (process, function, etc.) that performs the above-described function. The module may be stored in a storage device and executed by a processor. The storage device may be internal or external to the processor and may be connected to the processor through various known means. The processor may include an application specific integrated circuit (ASIC), other chipsets, logic circuits, and/or data processing devices. The storage device may include Read Only Memory (ROM), Random Access Memory (RAM), flash memory, memory cards, storage media, and/or other data storage devices. Thus, the embodiments described herein may be implemented by implementation on a processor, microprocessor, controller, or chip. For example, the functional modules shown in each figure may be implemented and executed on a computer, processor, microprocessor, controller, or chip. In this case, information regarding the instructions or algorithm to be implemented may be stored in the digital storage medium.

[213] Помимо этого, оборудование декодирования и оборудование кодирования, к которому применяется настоящее раскрытие сущности, могут включаться в мультимедийное широковещательное приемо-передающее оборудование, терминал мобильной связи, видеооборудование системы домашнего кинотеатра, видеооборудование системы цифрового кинотеатра, камеру наблюдения, оборудование проведения видеочатов, оборудование связи в реальном времени, к примеру, видеосвязи, мобильное оборудование потоковой передачи, носитель хранения данных, записывающую видеокамеру, оборудование предоставления VoD-услуг, видеооборудование поверх сетей (OTT), оборудование предоставления услуг потоковой передачи по Интернету, трехмерное видеооборудование, видеооборудование телеконференц-связи, транспортировочное абонентское устройство (т.е. абонентское устройство в транспортном средстве, абонентское устройство в самолете, абонентское устройство в морском судне и т.д.) и медицинское видеооборудование, и могут использоваться для того, чтобы обрабатывать видеосигналы и сигналы данных. Например, видеоборудование поверх сетей (OTT) может включать в себя игровую приставку, Blu-Ray-проигрыватель, телевизор с доступом в Интернет, систему домашнего кинотеатра, смартфон, планшетный PC, цифровое записывающее видеоустройство (DVR) и т.п.[213] In addition, the decoding equipment and encoding equipment to which the present disclosure applies can be included in multimedia broadcast transceiver equipment, a mobile communication terminal, a home theater system video equipment, a digital cinema system video equipment, a surveillance camera, a video chat equipment, real-time communication equipment such as video communication, mobile streaming equipment, storage media, video camera recording, VoD service equipment, video over network (OTT) equipment, Internet streaming service equipment, 3D video equipment, teleconferencing video equipment communications, mobile subscriber unit (i.e. vehicle subscriber unit, aircraft subscriber unit, marine vessel subscriber unit, etc.) and medical video equipment, and can be used to o to process video and data signals. For example, video over network (OTT) equipment may include a game console, Blu-ray player, Internet access TV, home theater system, smartphone, tablet PC, digital video recorder (DVR), and the like.

[214] Дополнительно, способ обработки, к которому применяется настоящий документ, может формироваться в форме программы, которая должна выполняться посредством компьютера, и может сохраняться на машиночитаемом носителе записи. Мультимедийные данные, имеющие структуру данных согласно настоящему раскрытию сущности, также могут сохраняться на машиночитаемых носителях записи. Машиночитаемые носители записи включают в себя все типы устройств хранения данных, на которых сохраняются данные, считываемые посредством компьютерной системы. Машиночитаемые носители записи, например, могут включать в себя BD, универсальную последовательную шину (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, магнитную ленту, гибкий диск и оптическое устройство хранения данных. Кроме того, машиночитаемые носители записи включают в себя среды, реализованные в форме несущих волн (т.е. как передача через Интернет). Помимо этого, поток битов, сформированный посредством способа кодирования, может сохраняться на машиночитаемом носителе записи или может передаваться по сетям проводной/беспроводной связи.[214] Additionally, the processing method to which the present document applies may be formed in the form of a program to be executed by a computer, and may be stored in a computer-readable recording medium. Multimedia data having a data structure according to the present disclosure may also be stored on computer-readable recording media. Computer-readable recording media includes all types of data storage devices that store data readable by a computer system. Computer-readable recording media, for example, may include BD, Universal Serial Bus (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical storage. In addition, computer-readable recording media includes media implemented in the form of carrier waves (ie, as transmission over the Internet). In addition, the bitstream generated by the encoding method may be stored in a computer-readable recording medium, or may be transmitted over wired/wireless communication networks.

[215] Помимо этого, варианты осуществления настоящего документа могут реализовываться с компьютерным программным продуктом согласно программным кодам, и программные коды могут выполняться в компьютере посредством вариантов осуществления настоящего документа. Программные коды могут сохраняться на носителе, который может считываться посредством компьютера.[215] In addition, embodiments of this document may be implemented with a computer program product according to program codes, and the program codes may be executed on a computer through embodiments of this document. The program codes may be stored on a medium that can be read by a computer.

[216] Фиг. 13 показывает пример системы потоковой передачи контента, к которой могут применяться варианты осуществления, раскрытые в настоящем документе.[216] FIG. 13 shows an example of a content streaming system to which the embodiments disclosed herein may be applied.

[217] Ссылаясь на фиг. 13, система потоковой передачи контента, к которой применяется вариант(ы) осуществления настоящего документа, может включать в себя, главным образом, сервер кодирования, потоковый сервер, веб-сервер, хранилище мультимедиа, пользовательское устройство и устройство ввода мультимедиа.[217] Referring to FIG. 13, the content streaming system to which the embodiment(s) of the present document is applied may mainly include an encoding server, a streaming server, a web server, a media storage, a user device, and a media input device.

[218] Сервер кодирования сжимает контент, вводимый из устройств ввода мультимедиа, таких как смартфон, камера, записывающая видеокамера и т.д., в цифровые данные для того, чтобы формировать поток битов и передавать поток битов на потоковый сервер. В качестве другого примера, когда устройства ввода мультимедиа, такие как смартфоны, камеры, записывающие видеокамеры и т.д., непосредственно формируют поток битов, сервер кодирования может опускаться.[218] The encoding server compresses content input from media input devices such as a smartphone, a camera, a camcorder, etc. into digital data in order to generate a bitstream and transmit the bitstream to the streaming server. As another example, when media input devices such as smartphones, cameras, camcorder recorders, etc. directly generate a bitstream, the encoding server may be omitted.

[219] Поток битов может формироваться посредством способа кодирования или способа формирования потока битов, к которому применяется вариант(ы) осуществления настоящего документа, и потоковый сервер может временно сохранять поток битов в процессе передачи или приема потока битов.[219] The bit stream may be generated by the encoding method or the bit stream generation method to which the embodiment(s) of the present document is applied, and the stream server may temporarily store the bit stream in the process of transmitting or receiving the bit stream.

[220] Потоковый сервер передает мультимедийные данные в пользовательское устройство на основе запроса пользователя через веб-сервер, и веб-сервер служит в качестве среды для информирования пользователя в отношении услуги. Когда пользователь запрашивает требуемую услугу из веб-сервера, веб-сервер доставляет ее на потоковый сервер, и потоковый сервер передает мультимедийные данные пользователю. В этом случае, система потоковой передачи контента может включать в себя отдельный сервер управления. В этом случае, сервер управления служит для того, чтобы управлять командой/ответом между устройствами в системе потоковой передачи контента.[220] The streaming server transmits media data to the user device based on the user's request through the web server, and the web server serves as a medium for informing the user about the service. When a user requests a desired service from a web server, the web server delivers it to the streaming server, and the streaming server transmits media data to the user. In this case, the content streaming system may include a separate control server. In this case, the control server serves to manage the command/response between devices in the content streaming system.

[221] Потоковый сервер может принимать контент из хранилища мультимедиа и/или сервера кодирования. Например, когда контент принимается из сервера кодирования, контент может приниматься в реальном времени. В этом случае, чтобы предоставлять плавную услугу потоковой передачи, потоковый сервер может сохранять поток битов в течение предварительно определенного времени.[221] The streaming server may receive content from a media store and/or an encoding server. For example, when content is received from an encoding server, the content may be received in real time. In this case, in order to provide a smooth streaming service, the streaming server may keep the bitstream for a predetermined time.

[222] Примеры пользовательского устройства могут включать в себя мобильный телефон, смартфон, переносной компьютер, цифровой широковещательный терминал, персональное цифровое устройство (PDA), портативный мультимедийный проигрыватель (PMP), навигационное устройство, грифельный планшетный PC, планшетные PC, ультрабуки, носимые устройства (например, интеллектуальные часы, интеллектуальные очки, наголовные дисплеи), цифровые телевизоры, настольные компьютеры, систему цифровых информационных табло и т.п. Каждый сервер в системе потоковой передачи контента может работать в качестве распределенного сервера, причем в этом случае данные, принимаемые из каждого сервера, могут распределяться.[222] Examples of a user device may include a mobile phone, smartphone, laptop computer, digital broadcast terminal, personal digital assistant (PDA), portable media player (PMP), navigation device, stylus tablet PC, tablet PCs, ultrabooks, wearable devices (e.g., smart watches, smart glasses, head-mounted displays), digital TVs, desktop computers, digital signage system, etc. Each server in the content streaming system may operate as a distributed server, in which case the data received from each server may be distributed.

[223] Каждый сервер в системе потоковой передачи контента может работать в качестве распределенного сервера, причем в этом случае данные, принимаемые из каждого сервера, могут распределяться.[223] Each server in the content streaming system may operate as a distributed server, in which case the data received from each server may be distributed.

[224] Формула изобретения, описанная в данном документе, может комбинироваться различными способами. Например, технические признаки формулы изобретения на способ настоящего документа могут комбинироваться и реализовываться в качестве оборудования, и технические признаки формулы изобретения на оборудование настоящего документа могут комбинироваться и реализовываться в качестве способа. Помимо этого, технические признаки пункта формулы изобретения на способ настоящего документа и технические признаки пункта формулы изобретения на оборудование могут комбинироваться для реализации в качестве оборудования, и технические признаки пункта формулы изобретения на способ настоящего документа и технические признаки пункта формулы изобретения на оборудование могут комбинироваться и реализовываться в качестве способа.[224] The claims described herein may be combined in various ways. For example, the technical features of the claims for the method of this document may be combined and implemented as an equipment, and the technical features of the claims for the equipment of this document may be combined and implemented as a method. In addition, the technical features of the method claim of this document and the technical features of the equipment claim can be combined to be implemented as equipment, and the technical features of the method claim of this document and the technical features of the equipment claim can be combined and implemented. as a way.

Claims (47)

1. Способ декодирования изображений, осуществляемый посредством оборудования декодирования, при этом способ содержит этапы, на которых:1. An image decoding method carried out by means of decoding equipment, the method comprising the steps of: получают информацию изображений, включающую в себя информацию флага для режима прогнозирования на основе внутриблочного кодирования (IBC) и информацию индекса для извлечения блочного вектора через поток битов;obtaining image information including flag information for intra-block coding (IBC) prediction mode and index information for extracting a block vector via a bitstream; извлекают режим прогнозирования для текущего блока в текущем кадре как режим IBC-прогнозирования на основе информации флага;extracting a prediction mode for the current block in the current frame as an IBC prediction mode based on the flag information; извлекают список возможных вариантов для режима IBC-прогнозирования, при этом список возможных вариантов включает в себя возможные варианты блочных векторов;extracting a candidate list for the IBC prediction mode, wherein the candidate list includes block vector candidates; извлекают блочный вектор для текущего блока на основе списка возможных вариантов для режима IBC-прогнозирования и информации индекса;extracting a block vector for the current block based on the IBC prediction mode candidate list and the index information; формируют прогнозные выборки текущего блока на основе блочного вектора; иgenerating predictive samples of the current block based on the block vector; And формируют восстановленные выборки на основе прогнозных выборок,form restored samples based on predictive samples, при этом информация изображений содержит информацию относительно максимального числа возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования и информацию относительно максимального числа возможных вариантов векторов движения, включенных в список возможных вариантов для режима взаимного прогнозирования, иwherein the image information contains information regarding the maximum number of block vector candidates included in the candidate list for the IBC prediction mode and information regarding the maximum number of motion vector candidates included in the candidate list for the inter prediction mode, and при этом максимальное значение для максимального числа возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования, предварительно определено как 6.wherein the maximum value for the maximum number of possible block vectors included in the candidate list for the IBC prediction mode is predetermined as 6. 2. Способ по п. 1, в котором максимальное число возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования, извлекают на основе разности между 6 и значением информации относительно максимального числа возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования.2. The method of claim 1, wherein the maximum number of block vector candidates included in the candidate list for the IBC prediction mode is derived based on the difference between 6 and an information value regarding the maximum number of block vector candidates included in the candidate list for the IBC forecasting mode. 3. Способ по п. 2, в котором максимальное число возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования, извлекают на основе следующего уравнения: 3. The method of claim 2, wherein the maximum number of block vector candidates included in the candidate list for the IBC prediction mode is derived based on the following equation: MaxNumibcMergeCand=6-six_minus_max_num_ibc_merge_cand, при этом MaxNumibcMergeCand представляет максимальное число возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования, и six_minus_max_num_ibc_merge_cand представляет значение информации относительно максимального числа возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования.MaxNumibcMergeCand=6-six_minus_max_num_ibc_merge_cand, wherein MaxNumibcMergeCand represents the maximum number of block vector candidates included in the candidate list for the IBC prediction mode, and six_minus_max_num_ibc_merge_cand represents the value of information regarding the maximum number of block vector candidates included in the candidate list for the IBC-prediction mode. forecasting. 4. Способ по п. 1, в котором на основе случая, когда число возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования, меньше максимального числа и больше 1, выполняют процесс извлечения попарных средних возможных вариантов объединения.4. The method of claim 1, wherein, based on the case where the number of block vector candidates included in the candidate list for the IBC prediction mode is less than the maximum number and greater than 1, a process of extracting pairwise averages of combining possibilities is performed. 5. Способ по п. 1, в котором на основе случая, когда число возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования, меньше максимального числа, и число возможных вариантов прогнозирования векторов движения на основе предыстории (HMVP) больше 0, выполняют процесс извлечения возможных вариантов объединения на основе предыстории.5. The method of claim 1, wherein based on the case where the number of block vector candidates included in the candidate list for the IBC prediction mode is less than the maximum number and the number of history-based motion vector prediction (HMVP) candidates is greater than 0 perform a history-based merge candidate extraction process. 6. Способ кодирования изображений, осуществляемый посредством оборудования кодирования, при этом способ содержит этапы, на которых:6. An image encoding method carried out by means of encoding equipment, the method comprising the steps of: извлекают режим прогнозирования для текущего блока в текущем кадре как режим прогнозирования на основе внутриблочного кодирования (IBC);extracting a prediction mode for the current block in the current frame as an intra-block coding (IBC) prediction mode; формируют информацию флага для режима IBC-прогнозирования;generating flag information for the IBC prediction mode; извлекают список возможных вариантов для режима IBC-прогнозирования, при этом список возможных вариантов включает в себя возможные варианты блочных векторов для опорного блока в текущем кадре;retrieving a candidate list for the IBC prediction mode, wherein the candidate list includes block vector candidates for the reference block in the current frame; формируют информацию индекса для блочного вектора текущего блока на основе списка возможных вариантов для режима IBC-прогнозирования; иgenerating index information for the block vector of the current block based on the candidate list for the IBC prediction mode; And кодируют информацию изображений, включающую в себя информацию флага и информацию индекса,encoding image information including flag information and index information, при этом информация изображений содержит информацию относительно максимального числа возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования и информацию относительно максимального числа возможных вариантов векторов движения, включенных в список возможных вариантов для режима взаимного прогнозирования,wherein the image information contains information on the maximum number of possible block vectors included in the list of possible options for the IBC prediction mode and information on the maximum number of possible options for motion vectors included in the list of possible options for the inter prediction mode, при этом информация относительно максимального числа возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования, отличается от информации относительно максимального числа возможных вариантов векторов движения, включенных в список возможных вариантов для режима взаимного прогнозирования,wherein the information regarding the maximum number of candidate block vectors included in the candidate list for the IBC prediction mode differs from the information regarding the maximum number of motion vector candidates included in the candidate list for the inter prediction mode, при этом максимальное значение для максимального числа возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования, предварительно определено как 6.wherein the maximum value for the maximum number of possible block vectors included in the candidate list for the IBC prediction mode is predetermined as 6. 7. Способ по п. 6, в котором максимальное число возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования, извлекают на основе разности между 6 и значением информации относительно максимального числа возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования.7. The method of claim 6, wherein the maximum number of block vector candidates included in the candidate list for the IBC prediction mode is derived based on the difference between 6 and an information value regarding the maximum number of block vector candidates included in the candidate list. for the IBC forecasting mode. 8. Способ по п. 7, в котором максимальное число возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования, извлекают на основе следующего уравнения:8. The method of claim 7, wherein the maximum number of block vector candidates included in the candidate list for the IBC prediction mode is derived based on the following equation: MaxNumibcMergeCand=6-six_minus_max_num_ibc_merge_cand, при этом MaxNumibcMergeCand представляет максимальное число возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования, и six_minus_max_num_ibc_merge_cand представляет значение информации относительно максимального числа возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования.MaxNumibcMergeCand=6-six_minus_max_num_ibc_merge_cand, wherein MaxNumibcMergeCand represents the maximum number of block vector candidates included in the candidate list for the IBC prediction mode, and six_minus_max_num_ibc_merge_cand represents the value of information regarding the maximum number of block vector candidates included in the candidate list for the IBC-prediction mode. forecasting. 9. Способ по п. 6, в котором на основе случая, когда число возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования, меньше максимального числа и больше 1, выполняют процесс извлечения попарных средних возможных вариантов объединения.9. The method of claim 6, wherein, based on the case where the number of block vector candidates included in the list of candidates for the IBC prediction mode is less than the maximum number and greater than 1, a process of extracting pairwise averages of combining possibilities is performed. 10. Способ по п. 6, в котором на основе случая, когда число возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования, меньше максимального числа, и число возможных вариантов прогнозирования векторов движения на основе предыстории (HMVP) больше 0, выполняют процесс извлечения возможных вариантов объединения на основе предыстории.10. The method of claim 6, wherein based on the case where the number of block vector candidates included in the candidate list for the IBC prediction mode is less than the maximum number and the number of history-based motion vector prediction (HMVP) candidates is greater than 0 perform a history-based merge candidate extraction process. 11. Энергонезависимый машиночитаемый цифровой носитель хранения данных, хранящий поток битов информации изображений, сформированной способом, при этом способ содержит этапы, на которых:11. A non-volatile computer-readable digital storage medium storing a bit stream of image information generated by the method, the method comprising the steps of: извлекают режим прогнозирования для текущего блока в текущем кадре как режим прогнозирования на основе внутриблочного кодирования (IBC);extracting a prediction mode for the current block in the current frame as an intra-block coding (IBC) prediction mode; формируют информацию флага для режима IBC-прогнозирования;generating flag information for the IBC prediction mode; извлекают список возможных вариантов для режима IBC-прогнозирования, при этом список возможных вариантов включает в себя возможные варианты блочных векторов для опорного блока в текущем кадре;retrieving a candidate list for the IBC prediction mode, wherein the candidate list includes block vector candidates for the reference block in the current frame; формируют информацию индекса для блочного вектора текущего блока на основе списка возможных вариантов для режима IBC-прогнозирования; иgenerating index information for the block vector of the current block based on the candidate list for the IBC prediction mode; And кодируют информацию изображений, включающую в себя информацию флага и информацию индекса,encoding image information including flag information and index information, при этом информация изображений содержит информацию относительно максимального числа возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования и информацию относительно максимального числа возможных вариантов векторов движения, включенных в список возможных вариантов для режима взаимного прогнозирования,wherein the image information contains information on the maximum number of possible block vectors included in the list of possible options for the IBC prediction mode and information on the maximum number of possible options for motion vectors included in the list of possible options for the inter prediction mode, при этом информация относительно максимального числа возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования, отличается от информации относительно максимального числа возможных вариантов векторов движения, включенных в список возможных вариантов для режима взаимного прогнозирования,wherein the information regarding the maximum number of candidate block vectors included in the candidate list for the IBC prediction mode differs from the information regarding the maximum number of motion vector candidates included in the candidate list for the inter prediction mode, при этом максимальное значение для максимального числа возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования, предварительно определено как 6.wherein the maximum value for the maximum number of possible block vectors included in the candidate list for the IBC prediction mode is predetermined as 6. 12. Способ для передачи данных для информации изображений, содержащий этапы, на которых:12. A method for transmitting data for image information, comprising the steps of: получают поток битов информации изображений, при этом поток битов сформирован на основе извлечения режима прогнозирования для текущего блока в текущем кадре как режим прогнозирования на основе внутриблочного кодирования (IBC);obtaining a bitstream of image information, the bitstream being generated based on extracting a prediction mode for a current block in the current frame as an intra-block coding (IBC) prediction mode; формируют информацию флага для режима IBC-прогнозирования;generating flag information for the IBC prediction mode; извлекают список возможных вариантов для режима IBC-прогнозирования, при этом список возможных вариантов включает в себя возможные варианты блочных векторов для опорного блока в текущем кадре;retrieving a candidate list for the IBC prediction mode, wherein the candidate list includes block vector candidates for the reference block in the current frame; формируют информацию индекса для блочного вектора текущего блока на основе списка возможных вариантов для режима IBC-прогнозирования; иgenerating index information for the block vector of the current block based on the candidate list for the IBC prediction mode; And кодируют информацию изображений, включающую в себя информацию флага и информацию индекса; иencoding image information including flag information and index information; And передают данные, содержащие поток битов,transmit data containing a stream of bits, при этом информация изображений содержит информацию относительно максимального числа возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования, и информацию относительно максимального числа возможных вариантов векторов движения, включенных в список возможных вариантов для режима взаимного прогнозирования,wherein the image information contains information on the maximum number of possible block vectors included in the list of possible options for the IBC prediction mode, and information on the maximum number of possible options for motion vectors included in the list of possible options for the inter prediction mode, при этом информация относительно максимального числа возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования, отличается от информации относительно максимального числа возможных вариантов векторов движения, включенных в список возможных вариантов для режима взаимного прогнозирования,wherein the information regarding the maximum number of candidate block vectors included in the candidate list for the IBC prediction mode differs from the information regarding the maximum number of motion vector candidates included in the candidate list for the inter prediction mode, при этом максимальное значение для максимального числа возможных вариантов блочных векторов, включенных в список возможных вариантов для режима IBC-прогнозирования, предварительно определено как 6.wherein the maximum value for the maximum number of possible block vectors included in the candidate list for the IBC prediction mode is predetermined as 6.
RU2022115978A 2019-03-04 2020-03-04 Video or image encoding based on in-block coding RU2789454C2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US62/813,731 2019-03-04

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
RU2021128678A Division RU2774673C1 (en) 2019-03-04 2020-03-04 Video or image encoding based on in-block coding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
RU2023102199A Division RU2816199C1 (en) 2019-03-04 2023-02-01 Video or image encoding based on intra-block encoding

Publications (2)

Publication Number Publication Date
RU2022115978A RU2022115978A (en) 2022-07-22
RU2789454C2 true RU2789454C2 (en) 2023-02-03

Family

ID=

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120134412A1 (en) * 2009-08-06 2012-05-31 Youji Shibahara Encoding method, decoding method, encoding device and decoding device
US20150264386A1 (en) * 2014-03-17 2015-09-17 Qualcomm Incorporated Block vector predictor for intra block copying
US20150271515A1 (en) * 2014-01-10 2015-09-24 Qualcomm Incorporated Block vector coding for intra block copy in video coding
WO2015143395A1 (en) * 2014-03-21 2015-09-24 Qualcomm Incorporated Using a current picture as a reference for video coding
WO2015194913A1 (en) * 2014-06-20 2015-12-23 성균관대학교 산학협력단 Method for encoding/decoding image and device using same
US20170118484A1 (en) * 2014-06-12 2017-04-27 Canon Kabushiki Kaisha Image encoding apparatus, image encoding method and program, image decoding apparatus, and image decoding method and program
US9661338B2 (en) * 2010-07-09 2017-05-23 Qualcomm Incorporated Coding syntax elements for adaptive scans of transform coefficients for video coding

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120134412A1 (en) * 2009-08-06 2012-05-31 Youji Shibahara Encoding method, decoding method, encoding device and decoding device
US9661338B2 (en) * 2010-07-09 2017-05-23 Qualcomm Incorporated Coding syntax elements for adaptive scans of transform coefficients for video coding
US20150271515A1 (en) * 2014-01-10 2015-09-24 Qualcomm Incorporated Block vector coding for intra block copy in video coding
US20150264386A1 (en) * 2014-03-17 2015-09-17 Qualcomm Incorporated Block vector predictor for intra block copying
WO2015143395A1 (en) * 2014-03-21 2015-09-24 Qualcomm Incorporated Using a current picture as a reference for video coding
US20170118484A1 (en) * 2014-06-12 2017-04-27 Canon Kabushiki Kaisha Image encoding apparatus, image encoding method and program, image decoding apparatus, and image decoding method and program
WO2015194913A1 (en) * 2014-06-20 2015-12-23 성균관대학교 산학협력단 Method for encoding/decoding image and device using same

Similar Documents

Publication Publication Date Title
US11722659B2 (en) Affine motion prediction-based image decoding method and apparatus using affine MVP candidate list in image coding system
AU2020335843B2 (en) Apparatus and method for coding image
US12034917B2 (en) Affine motion prediction-based video decoding method and device using subblock-based temporal merge candidate in video coding system
US11902565B2 (en) Inter-prediction-based image or video coding using sbTMVP
US11695923B2 (en) Image decoding method and device using DPB parameter for OLS
US11800089B2 (en) SbTMVP-based inter prediction method and apparatus
US11871029B2 (en) Apparatus for performing image coding on basis of ATMVP candidate
US11909997B2 (en) Image decoding method for chroma component and device therefor
AU2020232109C1 (en) Intra block coding-based video or image coding
US20240137491A1 (en) Sbtmvp-based image or video coding
US11659166B2 (en) Method and apparatus for coding image by using MMVD based on CPR
RU2789454C2 (en) Video or image encoding based on in-block coding
RU2774673C1 (en) Video or image encoding based on in-block coding
RU2816199C1 (en) Video or image encoding based on intra-block encoding
RU2793902C1 (en) Image decoding method to perform inter frame prediction when prediction mode for current block cannot be selected and device for this method
RU2787884C1 (en) Equipment and method for image coding based on filtering